OSPF

本項は、ルーティングの実現方法として中〜大規模向けと言えるOSPF(Open Shortest Path First)について説明します。

OSPFとは

OSPFにはエリアの概念があります。

OSPFのバックボーンエリアと他のエリア

エリアは必ずエリア0を作り、他のエリアはエリア0と接続されている必要があります。エリア0をバックボーンエリアと呼びます。

OSPFでは、ルーターに以下の呼び方があります。

ABR
ABR(Area Border Router)は、エリア間を接続するルーターです。図のルーターBとCがABRになります。
ASBR
ASBR(Autonomous System Boundary Router)は、RIPなど他のルーティングプロトコルと接続するルーターです。図のルーターEがASBRになります。RIPなどの経路情報を、OSPFに反映させることができます。
内部ルーター
内部ルーターは、ABRでもASBRでもないルーターです。すべてのインターフェースがエリア内に属しています。図のルーターA、D、Fが内部ルーターになります。
バックボーンルーター
バックボーンルーターは、バックボーンエリアに接続するインターフェースがあるルーターです。図のルーターA、B、Cがバックボーンルーターになります。

OSPFのしくみ

OSPFは、ルーターが起動されると互いにマルチキャストアドレスである224.0.0.5宛てにHelloパケットを送信し、同一サブネット内の他のルーターとネイバー関係を結びます。

ネイバー関係を結ぶ途中、設定された優先度に従ってDR(Designated Router:指定ルーター)とBDR(Backup Designated Router:バックアップ指定ルーター)というルーターを選出します。DRとBDRはサブネット単位に1台ずつ選出されます。

ルーター間でHelloパケットを送信する。

DRとBDRが選出された後、各ルーターはDR、およびBDRと隣接関係を結ぶため、DRとBDRに対してマルチキャストアドレスである224.0.0.6宛てにLSU(Link State Update)というパケットを送信し、経路情報などを教えます。

DRとBDRにLSUを送信する。

DRは、各ルーターから教えて貰った経路情報などをマルチキャストアドレスである224.0.0.5宛てにLSUパケットを送信します。LSUを受信した各ルーターはルーティングテーブルに反映します。

DRから他ルーターへまとめて経路情報が送信される。

つまり、RIPが各ルーターで独自に経路情報を収集するのに対し、OSPFではDRがまとめて各ルーターに教えます。

BDRは、DRが故障した場合にDRの代わりになります。

コスト

OSPFのメトリックはコストです。

RIPではルーターを経由する数(ホップ数)ですが、OSPFではインターフェースの帯域を基準にしています。

デフォルトは、10Base-Tは10、100Base-TXは1になります。1000Base-Tも1になりますが、コストを設定で変えて10Base-Tを100、100Base-TXを10、1000Base-Tを1などにすることも可能です。

経路制御

経路制御は、その経路までコストの合計が一番小さいルートが選択されます。

経由するルーター段数が多くても、コストが小さい経路が選択される。

インターフェースダウンなどで経路が無効になった場合、ルーターはLSUにより経路がなくなったことをDRに送信し、DRから各ルーターに伝達されます。このため、切り替えは数秒程度で行われます。

ルート集約

バックボーンエリアで172.16.32.0〜172.16.63.0/24のサブネットが使われていた場合、バックボーンエリアとエリア1を接続するABRは、エリア1に172.16.32.0/19というサブネットとしてLSUを送信します。

経路が172.16.32.0/19に集約して送信される。

172.16.32.0/19は172.16.32.0〜172.16.63.0までの各サブネットをCIDRのように結合し、1つのサブネットとして表現しています。このように、サブネットを1つにまとめることをルート集約と言います。

ルート集約しない場合、エリア1からバックボーンエリアへの経路として32個のサブネットがルーティンングテーブルに必要になりますが、ルート集約すると1つのサブネットだけで済みます。ルーティングテーブル数は装置によって限りがあるため、サブネットがこの数を越えるとルーティングできなくなります。OSPFではエリアを分けることでルーティングテーブルの肥大化を少なくできるため、比較的大規模なネットワークにも対応可能です。

また、ASBRでもRIPなどで受信した経路を集約してOSPF側に流すことが可能です。

関連ページ

追補版「OSPF詳細
OSPFの動作やパケット構造などを詳細に説明しています。
設定編「OSPFの設定 - Catalyst
CatalystでのOSPFの設定方法を説明しています。