【ネットワーク】OSPF ①

特徴

 ・マルチベンダ対応(EIGRPのようにCisco独自ではない)

 ・メトリックはコスト

 ・エリア概念

 ・LSAとLSDBを用いて、経路情報を学習

 ・プロトコル番号89

 ・OSPFルーター間は、マルチキャストで通信

 

マルチキャストアドレス

・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)