【OSPF】サブネットマスクが異なるとネイバー関係になれない

 OSPFネイバー間でサブネットマスク値が同じ場合と違う場合の動作についてまとめます。

ルータ間でサブネットマスク値が異なるとOSPFのネイバーが張れません。

スポンサーリンク

サブネットマスク値が同じ場合

 以下の構成で、R2とR3間でOSPFを有効にし、隣接関係を結びます。

R2(config)#router ospf 1
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0
R2(config-router)#network 192.168.23.0 0.0.0.255 area 0
R3(config)#router ospf 1
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
R3(config-router)#network 192.168.23.0 0.0.0.255 area 0

 設定後、隣接関係が確立されます。

R2
%OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/0.23 from LOADING to FULL,
 Loading Done
R3
%OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0.23 from LOADING to FULL,
 Loading Done

 Helloパケットの中身を確認します。各ルータはHelloパケットに自身のサブネットマスク値を埋め込んで、他ルータに通知します。

スポンサーリンク

サブネットマスク値が違う場合

 では、R2の設定でサブネットマスクを255.255.255.0 から 255.255.255.128に変更します。

R2(config)# interface fastEthernet 0/0.23
R2(config-subif)#no ip address 192.168.23.2 255.255.255.0

%OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/0.23 from FULL to DOWN, 
Neighbor Down: Interface down or detached

R2(config-subif)#ip address 192.168.23.2 255.255.255.128

 では、OSPFネイバーを確認します。

R2# show ip ospf neighbor 
R2#

この通り、ネイバーが見えません。中で何が起こっているのか debug ip ospf hello で確認します。

R2# debug ip ospf hello 
OSPF hello debugging is on

OSPF-1 HELLO Fa0/0.23: Send hello to 224.0.0.5 area 0 from 192.168.23.2
OSPF-1 HELLO Fa0/0.23: Rcv hello from 3.3.3.3 area 0 192.168.23.3
OSPF-1 HELLO Fa0/0.23: Mismatched hello parameters from 192.168.23.3
OSPF-1 HELLO Fa0/0.23: Dead R 40 C 40, Hello R 10 C 10 Mask R 255.255.255.0 C 255.255.255.128

 サブネットマスクに不一致があることがわかります。これが原因でネイバー関係にはなれませんでした。

スポンサーリンク

ネットワークタイプをpoint-to-pointに変更

 先ほどのネットワークタイプはbroadcastでしたが、これをサブネットマスクが不一致のまま、point-to-pointに変更してみます。

R2(config)# interface FastEthernet0/0.23
R2(config-subif)# ip ospf network point-to-point
R3(config)# interface fastEthernet 0/0.23
R3(config-subif)# ip ospf network point-to-point

 すると隣接関係が確立されます。

R2
%OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/0.23 from LOADING to FULL,
 Loading Done

R3
%OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0.23 from LOADING to FULL,
 Loading Done

 R2のネイバー状態を確認します。

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    FastEthernet0/0.23

point-to-point ネットワークタイプではサブネットマスクのチェックは行われません。

コメント