OFPSとは
OSPFとはダイナミックルーティングのプロトコルの一つです。ダイナミックルーティングは大きく2つにわけることが出来ます。ディスタンスベクタ型(RIP)、リンクステート型(OSPF、IS-IS)があります。OSPFはリンクステート型のダイナミックルーティングプロトコルになります。
ディスタンスベクタ型(RIP)
ディスタンスベクタ型のRIPは最大ホップ数に制限があり、ルーティング情報を常に交換し非効率です。
RIPでは受信したルーティングにHop数を追加し、さらに自身のルーティング情報を追加し隣接に情報伝達を30秒単位で実施しています。30秒単位で情報を伝達する仕組みのため、経路収束に時間がかかります。
R1 RIP ルーティングテーブル
1 2 3 4 5 6 7 |
R1#show ip route rip 2.0.0.0/32 is subnetted, 1 subnets R 2.2.2.2 [120/1] via 192.168.12.2, 00:00:08, GigabitEthernet0/1 3.0.0.0/32 is subnetted, 1 subnets R 3.3.3.3 [120/2] via 192.168.12.2, 00:00:08, GigabitEthernet0/1 R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:08, GigabitEthernet0/1 R1# |
R2 RIP ルーティングテーブル
1 2 3 4 5 6 |
R2#show ip route rip 1.0.0.0/32 is subnetted, 1 subnets R 1.1.1.1 [120/1] via 192.168.12.1, 00:00:17, GigabitEthernet0/1 3.0.0.0/32 is subnetted, 1 subnets R 3.3.3.3 [120/1] via 192.168.23.3, 00:00:28, GigabitEthernet0/2 R2# |
R3 RIP ルーティングテーブル
1 2 3 4 5 6 7 |
R3#show ip route rip 1.0.0.0/32 is subnetted, 1 subnets R 1.1.1.1 [120/2] via 192.168.23.2, 00:00:05, GigabitEthernet0/1 2.0.0.0/32 is subnetted, 1 subnets R 2.2.2.2 [120/1] via 192.168.23.2, 00:00:05, GigabitEthernet0/1 R 192.168.12.0/24 [120/1] via 192.168.23.2, 00:00:05, GigabitEthernet0/1 R3# |
R1〜R2間RIP パケットキャプチャファイル

リンクステート型(OSPF)
neighbor(隣接関係)を確立する。
OSPFのHello間隔時間はNETWORK Typeで異なりますが、10秒もしくは30秒毎にhelloパケットを送信することでneighbor関係を維持します。
R1 OSPF neighbor
1 2 3 4 5 |
R1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 0 FULL/ - 00:00:39 192.168.12.2 GigabitEthernet0/1 R1# |
R2 OSPF neighbor
1 2 3 4 5 6 |
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 3.3.3.3 0 FULL/ - 00:00:32 192.168.23.3 GigabitEthernet0/2 1.1.1.1 0 FULL/ - 00:00:36 192.168.12.1 GigabitEthernet0/1 R2# |
R3 OSPF neighbor
1 2 3 4 5 |
R3#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 0 FULL/ - 00:00:35 192.168.23.2 GigabitEthernet0/1 R3# |
※今回はLSAの数を減らすためにルータ間のOSPFのNetwork Typeは POINT_TO_POINTで設定しています。
LSA交換によるデータベース同期
neighborを確立すると保持しているLSA(Link State Advertisement)情報を交換し、自身が保持していないLSAを要求し取得することで、LSAを同期します。
下記がR1〜R2間でパケットキャプチャしたパケット一部です。R1がLSA Type1 で 1.1.1.1/32 および19.168.12.0/24 のLinkを持っていてる情報を送信しています。このようなLSAを互いに交換します。※今回はLSAの数を減らすためにルータ間のOSPFのNetwork Typeは POINT_TO_POINTで設定およびコスト1を設定しています。
一度交換すると以降は30分間隔で同期を行います。ただし障害などトポロジーが変化があれば即時にLSAをアップデートして各ルータに伝達します。
LSDBを作成しトポロジーマップを作成
LSAを交換した後にLSDB(Link State Database)を展開し、ルータのトポロジーマップを作成する。トポロジーは同期している為、全て同じ結果になります。
下記は OSPF databaaseの結果ですが、同じ状態になります。(Ageは学習してからの経過時間なのでルータ毎に異なる)
1 2 3 4 5 6 7 8 9 10 11 |
R1#show ip ospf database OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 1696 0x8000002F 0x009053 3 2.2.2.2 2.2.2.2 1663 0x80000032 0x005850 5 3.3.3.3 3.3.3.3 1741 0x8000002C 0x00F6BF 3 R1# |
1 2 3 4 5 6 7 8 9 10 11 |
R2#show ip ospf database OSPF Router with ID (2.2.2.2) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 1769 0x8000002F 0x009053 3 2.2.2.2 2.2.2.2 1734 0x80000032 0x005850 5 3.3.3.3 3.3.3.3 1812 0x8000002C 0x00F6BF 3 R2# |
1 2 3 4 5 6 7 8 9 10 11 |
R3#show ip ospf database OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 1800 0x8000002F 0x009053 3 2.2.2.2 2.2.2.2 1765 0x80000032 0x005850 5 3.3.3.3 3.3.3.3 1841 0x8000002C 0x00F6BF 3 R3# |
SPFツリーを作成してルーティングテーブルの作成
LSDBのトポロジー情報を元に、自身を起点した最短ルートを計算し、ルーティングテーブルを作成する。
R1
1 2 3 4 5 6 7 8 |
R1#show ip route ospf 2.0.0.0/32 is subnetted, 1 subnets O 2.2.2.2 [110/2] via 192.168.12.2, 1d01h, GigabitEthernet0/1 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/3] via 192.168.12.2, 1d01h, GigabitEthernet0/1 O 192.168.23.0/24 [110/2] via 192.168.12.2, 1d01h, GigabitEthernet0/1 R1# |
R2
1 2 3 4 5 6 7 |
R2#show ip route ospf 1.0.0.0/32 is subnetted, 1 subnets O 1.1.1.1 [110/2] via 192.168.12.1, 1d01h, GigabitEthernet0/1 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/2] via 192.168.23.3, 1d01h, GigabitEthernet0/2 R2# |
R3
1 2 3 4 5 6 7 8 |
R3#show ip route ospf 1.0.0.0/32 is subnetted, 1 subnets O 1.1.1.1 [110/3] via 192.168.23.2, 1d01h, GigabitEthernet0/1 2.0.0.0/32 is subnetted, 1 subnets O 2.2.2.2 [110/2] via 192.168.23.2, 1d01h, GigabitEthernet0/1 O 192.168.12.0/24 [110/2] via 192.168.23.2, 1d01h, GigabitEthernet0/1 R3# |
Configファイルおよびパケットキャプチャファイル
R1,R2,R3のConfigファイル



R1〜R2間のOSPFパケットをキャプチャーしたファイルを添付しています。neighborの確立とLSAの交換を確認出来ます。

その他ネットワーク解説ページ
-
-
ネットワーク解説
ネットワークの動作やプロトコルを解説していきます。主にCiscoIOSを利用して解説します。できる限りパケットキャプチャーファイルなどを添付して、プロトコルのシーケンスなどを確認できるようにしたいと思 ...