OSPF(経路学習プロセス)

 OSPF がルータに設定されると、OSPF プロセスに参加している全てのインタフェースからHelloパケットが送信し、隣接ルータを検出し、ネイバーテーブルに登録します。

 隣接関係を形成したら、LSA(Link State Advertisement)というIPアドレスやサブネットマスク、メトリックなど、リンクの情報を隣接ルータにマルチキャストで送信します。

 OSPFルータは、この LSA を収集して自分のリンクステートデータベースに登録します。全ての LSA を学習し終わったら、ダイクストラ(Dijkstra)のSPF (Shortest Path First algorithm)を実行して各宛先ネットワークの最短パスを計算します。

 このSPFの計算の際には、コストという、「108/帯域幅」で求められる値が使われます。求めた最短パスは、ルーティングテーブルに登録されます。

帯域幅コスト
56kbps1785
1.544Mbps(T1)64
10Mbps10
100Mbps1

 OSPF の学習プロセスが実行され、ルーティングテーブルが完成すると隣接関係を維持するために、マルチキャストアドレス「224.0.0.5」を使ってHello パケットを送信するようになります。

この Hello パケットを送信する間隔は、ネットワークの種類によって違ってきます。

ブロードキャストネットワーク

  • デフォルトの Hello 間隔 ・・・ 10秒
  • デフォルトの Dead 間隔 ・・・ 40秒

NBMA ネットワーク

  • デフォルトの Hello 間隔 ・・・ 30秒
  • デフォルトの Dead 間隔 ・・・ 120秒

 デフォルトでは、Dead 間隔は、Hello 間隔の値の4倍の値に設定されています。Dead 間隔とは、OSPFF ルータが停止していると見なす時間です。Hello パケットが4回受信されないと無効であると判断します。

 Hello 間隔、Dead 間隔の設定は、管理者が自由に設定することができますが、隣接ルータ間で一致していなければなりません。EIGRP では、異なる値でも問題ありませんでしたが、OSPF では、合わせておく必要があるので注意して下さい。

Hello 間隔・Dead 間隔の設定

Hello 間隔、Dead 間隔を設定するには、インタフェースコンフィグレーションモードで下のコマンドを実行します。

Router(config-if)#ip ospf hello-interval {秒数}

Router(config-if)#ip ospf dead-interval {秒数}

 OSPF は、リンクステートルーティングプロトコルですから、RIP や IGRP などのディスタンスベクタルーティングプロトコルと違い、頻繁にルーティングアップデートは行いませんが、情報を維持するために 30分間隔で LSA パケットを送信しています。コンバージェンス後も定期的に LSA が交換されることを覚えておいて下さい。

 次の「OSPF(DR・BDRの選出)」では、OSPF ネットワークで重要になってくる DR、BDR の選出の仕組みについて紹介します。

関連コンテンツ