OSPFの処理の流れ

OSPFの仕組みを把握するためには、まずは、OSPFの全体的な処理の流れをしっかりと抑えておくことが重要です。OSPFの処理の流れは以下のようになります。

  1. OSPFネイバーの発見
  2. LSDBの同期
  3. SPFアルゴリズムを実行して、ルーティングテーブルに最適ルートを登録
  4. ネイバーの維持

OSPFネイバーの発見

RIPの場合は、いきなりRIPルートをマルチキャストで送りつけています。「同一ネットワーク上にRIPルータがいれば受け取ってくれるだろう」といった少しいい加減なRIPルートの送信を行っています。それに対して、OSPFはまずネイバーを発見します。ネイバーとは同じネットワーク上の他のOSPFルータです。OSPF Helloパケットによって、他のOSPFルータを見つけてネイバーとして認識し、ネイバーとの間でOSPFのやり取りを行います。

LSDBの同期

そして、ネイバーとの間でLSAを交換して、LSDBの同期を取ります。そのときには、DDパケット、LSRパケット、LSUパケット、LSAckパケットを利用します。LSDBの同期をとるのは、基本的にネイバーなので同一ネットワーク上のOSPFルータ間です。同一ネットワーク上のOSPFルータでLSDBの同期を取っていき、最終的に同じエリアに所属するすべてのOSPFルータは同じLSDBを保持します。

イーサネットのネットワークではすべてのネイバー間でLSDBの同期をとるわけではありません。DRとの間でLSDBの同期を取り、最終的に同一ネットワーク上のOSPFルータでLSDBは同期します。

SPFアルゴリズムを実行して、ルーティングテーブルに最適ルートを登録

LSDBの同期が完了すると、各OSPFルータはSPFアルゴリズムを実行して、それぞれ最適ルートを決定します。その際、メトリックとしてOSPFコストを利用します。最適ルートをルーティングテーブルに登録して、IPパケットのルーティングができるようにします。

ネイバーの維持

その後、定期的にHelloパケットを交換することでネイバーが正常に稼働しているかどうかを確認しています。

図 OSPFの処理の流れ
図 OSPFの処理の流れ

もし、障害や新しいネットワークの追加など、ネットワーク構成の変化があった場合は、トリガードアップデートでその変更を通知します。その際には、LSUパケットを利用します。


関連記事

より詳細なOSPFの処理について、以下の記事をご覧ください。

OSPFの仕組み