特徴
・マルチベンダ対応(EIGRPのようにCisco独自ではない)
・メトリックはコスト
・エリア概念
・LSAとLSDBを用いて、経路情報を学習
・プロトコル番号89
マルチキャストアドレス
・224.0.0.5 MAC: 01:00:5E:00:00:05
→OSPF起動中の全てのルーターが受信する
・224.0.0.6 MAC: 01:00:5E:00:00:06
→DRルーターが利用する
OSPFパケットの種類
・Hello →ネイバー関係維持で利用。マルチキャスト(224.0.0.5)で定期的に送信
・DBD/DDP(DataBase Description) →LSDBの同期で利用。LSDBに保存してるLSA一覧を交換して、同期する
・LSR(Link State Request)→LSAを要求するために利用
・LSU(Lins State Update)→LSRに応答するために利用
・LSAck(Link State Acknowledgement)→確認応答。DBDやLSUを受信した事を通知するために利用
Helloパケットの中身
・RID(Router ID)
→32bit、ユニークな値で、OSPFルーターを識別する。
OSPFの出力コマンドでは、ネイバーIDとRIDが同じ場合もある。
OSPFネットワーク内や1台のルーター上で複数のOSPFプロセスを起動している場合も
RIDの重複はNG。
・Authentication options
・Area ID
・IP address / mask
・Interface priority
・Hello interval
・Deal interval
・DR and Backup DR
・Active neighbor
【OSPF テーブル】
・ネイバーテーブル→確立したネイバーの一覧が記載されている。
・トポロジテーブル→LSDB。LSAを保存するデータベース。
・ルーティングテーブル→最適経路情報が登録されている。ルーティング時に参照する。
【用語】
LSA(Link State Advertisement)→インタフェース情報やネットワークタイプなどが含まれている。
LSDB(Link State Data Base)→LSAを保存するデータベース。
ネイバーの種類・状態
・ネイバー →OSPFルータ同士の関係を表す
・隣接(アジャセンシー)→ネイバー関係の中で、実際にLSAを交換してLSDBを同期する関係
①DOWN状態
OSPFルータ同士でHelloパケットを交換していない状態。
ルータ起動直後や、IFのリンクアップ直後など。マルチキャスト224.0.0.5を送信開始する。
①' Attempt状態
NBMAネットワークで、明示的にネイバーで設定された場合のみ有効
Helloパケットなど情報を受け取っていないが、通信しようと試みている状態。
②INIT状態
片方のルータがHelloパケットを受信した状態。対向ルータのルータIDをネイバーテーブルに保存する。
③2WAY状態
双方でHelloパケットを受信し、お互い存在を認識している状態。
DRまたはBDRの選出が発生する。
④EXSTART状態
OSPFルータの「マスター」「スレーブ」の役割を決めるます。
(ルータIDが大きいほうが「マスター」になります。)
また、DBDパケットのシーケンス番号も決めます。
⑤EXCHANGE状態
DBDパケット交換を始めます。DBDパケットには、LSAが含まれています。
⑥LOADING状態
双方でLSDBの同期を行っている状態。
DBDを送受信し、LSDBと相違がある場合は、必要な情報を要求します。
(LSRパケットで要求、LSUパケットで受信、LSAckで確認応答)
⑦FULL状態
LSDBの同期が終了し、ルーティングテーブルを更新(最適経路登録)
OSPFルータの役割
DR(Designated Router)→LSAを交換と取りまとめる代表ルータ
BDR(Backup Designated Router)→DRのバックアップルータ
DROTHER →DR/BDR以外のルータ
DR/BDRを選出しない場合、全てのOSPFルータと隣接関係を構築し、LSAを送信する必要がある。
DR/BDRを選出した場合、DR/BDRのみと隣接関係を構築し、DROTHER同士は、ネイバー関係を構築する。
DROTHER同士は、ネイバー関係なのでLSAは送信しない。よってLSAのトラフィックが減少し、効率良くLSAを交換できる。
DR/BDR/DROTHERの選出
選出されるタイミングは、2-way状態の最後の段階もしくはExstart状態に遷移するの直前。
DR→Priorityが一番高いルータ
BDR→Priorityが二番目に高いルータ
DROTHER→DR/BDRに選出されなかったルータ and Priorityが0のルータ
・Priorityが同じの場合は、比較対象がルータIDになる。
※DR/BDRなどの選出は、OSPFプロセスの再起動や障害発生時に、行われる。
ルータIDの選出
①「router-id」コマンドで指定
R1(config-router)#router-id ?
A.B.C.D OSPF router-id in IP address format
②Up/Upの「LoopBackIF」のIPアドレスで一番大きいルータ
③Up/Upの物理IFでIPアドレスgが一番大きなルータ
LSAの配布ルール
1.全てのOSPFルーターは、DR/BDRと隣接関係を形成する。
2.OSPFルーターが新しい経路を学習した場合、全てのDRに更新したLSAを送信する。(224.0.0.6)
3.DRは、LSAを送ってきたルーターに対して、確認応答をユニキャストで送信。
4.DRは、全てのOSPFルーターに、LSAをフラッディングする。(224.0.0.5)