🐈

OSPFの挙動の確認

2024/04/14に公開

シングルエリア構成

以下の構成で、OSPFを有効化する。

R1

R1(config)#interface loopback 0
R1(config-if)#ip address 1.1.1.1 255.255.255.255

R1(config)#router ospf 1
R1(config-router)#network 192.168.0.254 0.0.0.0 area 0
R1(config-router)#network 192.168.1.254 0.0.0.0 area 0

R2

R2(config)#interface loopback 0
R2(config-if)#ip address 2.2.2.2 255.255.255.255

R2(config)#router ospf 1
R2(config-router)#network 192.168.1.253 0.0.0.0 area 0
R2(config-router)#network 192.168.2.254 0.0.0.0 area 0

R3

R3(config)#interface loopback 0
R3(config-if)#ip address 3.3.3.3 255.255.255.255

R3(config)#router ospf 1
R3(config-router)#network 192.168.2.253 0.0.0.0 area 0  
R3(config-router)#network 192.168.3.254 0.0.0.0 area 0

このとき、OSPFのネイバーは以下の通り。

R1は2.2.2.2のみがネイバー

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/DR         00:00:39    192.168.1.253   FastEthernet0/1

ルーティングテーブルは以下の通り。

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/2] via 192.168.1.253, 00:08:34, FastEthernet0/1
O    192.168.3.0/24 [110/3] via 192.168.1.253, 00:08:34, FastEthernet0/1

ここから、以下のことがわかる。

  • ネイバーは直接接続されているインターフェースのみ。
    • ルーティングの設定がないのだから当然。
      • 静的に設定されていたらどうなる?

このとき、192.168.3.0/24へのルートを静的に設定してみる
192.168.3.0/24のOSPFのルートは削除された。

R1#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/2] via 192.168.1.253, 00:14:29, FastEthernet0/1
S    192.168.3.0/24 [1/0] via 192.168.1.253

R3への静的なルートがあっても、あくまでネイバーはR2のみ。

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/DR         00:00:31    192.168.1.253   FastEthernet0/1

余談

他のルータのループバックインターフェースへの通信は可能か検証する。
現在、デフォルトルートが設定されていないから、設定してあげる。

R1#show ip route
Gateway of last resort is 192.168.1.253 to network 0.0.0.0

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
C    192.168.0.0/24 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, FastEthernet0/1
O    192.168.2.0/24 [110/2] via 192.168.1.253, 00:19:05, FastEthernet0/1
O    192.168.3.0/24 [110/3] via 192.168.1.253, 00:00:43, FastEthernet0/1
S*   0.0.0.0/0 [1/0] via 192.168.1.253

アクセスできた!

R1#ping 2.2.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/20/20 ms

さらに、R2のR1側インターフェースをダウンさせてみる。
すると、流石にアクセスできなくなる。

R1#ping 2.2.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

等コスト負荷分散

以下のトポロジで、等コスト負荷分散を観察する。
※シングルエリア構成。設定は省略

以下、R1のルーティングテーブル

R1#show ip route
     172.16.0.0/24 is subnetted, 6 subnets
O       172.16.4.0 [110/2] via 172.16.2.254, 00:00:47, FastEthernet0/1
O       172.16.5.0 [110/2] via 172.16.3.254, 00:00:47, FastEthernet1/0
O       172.16.6.0 [110/3] via 172.16.2.254, 00:00:47, FastEthernet0/1
                   [110/3] via 172.16.3.254, 00:00:47, FastEthernet1/0
C       172.16.1.0 is directly connected, FastEthernet0/0
C       172.16.2.0 is directly connected, FastEthernet0/1
C       172.16.3.0 is directly connected, FastEthernet1/0

これを見ると、172.16.6.0へのルートとして、OSPFによってR2とR3経路が登録されていることがわかる。
また、AD(Administrative Distance)値は110, コストはいずれも3であることがわかる。

この状態でPC1からPC2へのtracerouteを何回か打ってみる。

エコー要求はすべてR2, エコー応答はすべてR3を経由する形になった。
まあ、戻りのパケット含めて負荷分散されていると言えるのかな。。。

パッシブインターフェース

OSPFのHelloパケットはOSPFが有効なすべてのインターフェースから送信される。
このとき、以下のR1→PC1とR4→PC2の経路のHelloパケットは不要(ネイバーがいないため)

上記の、不要なパケットの送信をやめる(=パッシブインターフェース)

PC1とR1の間のパケットキャプチャをすると、以下のようにマルチキャストアドレス宛にHelloパケットが来ている。

PC4とR4の間も同様。

このとき、OSPFでパッシブインターフェースを設定する。

R1(config-router)#passive-interface FastEthernet 0/0
R4(config-router)#passive-interface fastEthernet 1/0

すると、Helloパケットが来なくなる。

トポロジ変更への対応

R2のインターフェースをダウンさせてみて、ちゃんとルートが更新されることを確認する。

Before

R1#show ip route      
     172.16.0.0/24 is subnetted, 6 subnets
O       172.16.4.0 [110/2] via 172.16.2.254, 00:02:29, FastEthernet0/1
O       172.16.5.0 [110/2] via 172.16.3.254, 00:02:29, FastEthernet1/0
O       172.16.6.0 [110/3] via 172.16.2.254, 00:02:29, FastEthernet0/1
                   [110/3] via 172.16.3.254, 00:02:29, FastEthernet1/0
C       172.16.1.0 is directly connected, FastEthernet0/0
C       172.16.2.0 is directly connected, FastEthernet0/1
C       172.16.3.0 is directly connected, FastEthernet1/0

After

O       172.16.4.0 [110/3] via 172.16.3.254, 00:00:01, FastEthernet1/0
O       172.16.5.0 [110/2] via 172.16.3.254, 00:00:01, FastEthernet1/0
O       172.16.6.0 [110/3] via 172.16.3.254, 00:00:01, FastEthernet1/0
C       172.16.1.0 is directly connected, FastEthernet0/0
C       172.16.2.0 is directly connected, FastEthernet0/1
C       172.16.3.0 is directly connected, FastEthernet1/0

ものの数秒で切り替わった。
このとき、R3-R4間では以下のようにOSPFのUpdateパケットが飛び交い、経路のアップデートがされている

Discussion