OSPFの処理の流れ
OSPFの仕組みを把握するためには、まずは、OSPFの全体的な処理の流れをしっかりと抑えておくことが重要です。OSPFの処理の流れは以下のようになります。
- OSPFネイバーの発見
- LSDBの同期
- SPFアルゴリズムを実行して、ルーティングテーブルに最適ルートを登録
- ネイバーの維持
OSPFネイバーの発見
RIPの場合は、いきなりRIPルートをマルチキャストで送りつけています。「同一ネットワーク上にRIPルータがいれば受け取ってくれるだろう」といった少しいい加減なRIPルートの送信を行っています。それに対して、OSPFはまずネイバーを発見します。ネイバーとは同じネットワーク上の他のOSPFルータです。OSPF Helloパケットによって、他のOSPFルータを見つけてネイバーとして認識し、ネイバーとの間でOSPFのやり取りを行います。
LSDBの同期
そして、ネイバーとの間でLSAを交換して、LSDBの同期を取ります。そのときには、DDパケット、LSRパケット、LSUパケット、LSAckパケットを利用します。LSDBの同期をとるのは、基本的にネイバーなので同一ネットワーク上のOSPFルータ間です。同一ネットワーク上のOSPFルータでLSDBの同期を取っていき、最終的に同じエリアに所属するすべてのOSPFルータは同じLSDBを保持します。
SPFアルゴリズムを実行して、ルーティングテーブルに最適ルートを登録
LSDBの同期が完了すると、各OSPFルータはSPFアルゴリズムを実行して、それぞれ最適ルートを決定します。その際、メトリックとしてOSPFコストを利用します。最適ルートをルーティングテーブルに登録して、IPパケットのルーティングができるようにします。
ネイバーの維持
その後、定期的にHelloパケットを交換することでネイバーが正常に稼働しているかどうかを確認しています。
もし、障害や新しいネットワークの追加など、ネットワーク構成の変化があった場合は、トリガードアップデートでその変更を通知します。その際には、LSUパケットを利用します。
関連記事
より詳細なOSPFの処理について、以下の記事をご覧ください。
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]