今回はOSPFネイバーの確立が失敗した際の様子を観察します。
座学
OSPFネイバー確立のための条件
前回の記事で、2台のルータ間でOSPFネイバーを確立するためには、2台のルータで以下の値が一致している必要があると解説しました。
- Area ID
- Hello Interval
- Dead Interval
- Authentication Type
- Subnet Mask
- Option(E bit , N bit)
上記のパラメータは、下図はHelloパケットを使用して、ネイバーに通知されます。ルータは受信したHelloパケットの上記パラメータが自身の設定値と異なる場合、Helloパケットの送信元のルータとはネイバーを確立しません。
今回は2台のルータ間でOSPFネイバー確立のためのパラメータが異なっている場合の様子を確認します。
実機での動作確認
検証内容1(Area IDの不一致)
R1のg2をOSPF Area 1、R2のg2をOSPF Area 2に所属さます。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 1
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 2
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、Area IDの不一致が発生していることが確認できます。
R1#debug ip ospf adj
*May 3 06:25:22.037: OSPF-1 ADJ Gi2: Rcv pkt from 10.1.1.2, area 0.0.0.1, mismatched area 0.0.0.2 in the header
検証内容2(Hello Intervalの不一致)
R1とR2でOSPF Area 0を有効にします。
R1のg2のHello Intervalをデフォルト値の10秒から5秒に変更します。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
ip ospf dead-interval 40
ip ospf hello-interval 5
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 0
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、Hello Intervalの不一致が発生していることが確認できます。
R1#debug ip ospf hello
*May 3 05:58:00.010: OSPF-1 HELLO Gi2: Rcv hello from 2.2.2.2 area 1 10.1.1.2
*May 3 05:58:00.010: OSPF-1 HELLO Gi2: Mismatched hello parameters from 10.1.1.2
*May 3 05:58:00.010: OSPF-1 HELLO Gi2: Dead R 40 C 40, Hello R 10 C 5 Mask R 255.255.255.0 C 255.255.255.060
検証内容3(Dead Intervalの不一致)
R1とR2でOSPF Area 0を有効にします。
R1のg2のDead Intervalをデフォルト値の40秒から60秒に変更します。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
ip ospf dead-interval 60
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 0
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、Area IDの不一致が発生していることが確認できます。
R1#debug ip ospf hello
*May 3 05:58:28.909: OSPF-1 HELLO Gi2: Rcv hello from 2.2.2.2 area 1 10.1.1.2
*May 3 05:58:28.909: OSPF-1 HELLO Gi2: Mismatched hello parameters from 10.1.1.2
*May 3 05:58:28.909: OSPF-1 HELLO Gi2: Dead R 40 C 60, Hello R 10 C 10 Mask R 255.255.255.0 C 255.255.255.0
検証内容4(Authentication Typeの不一致)
R1とR2でOSPF Area 0を有効にします。
R1のg2でクリアテキスト認証を有効にします。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
ip ospf authentication
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 0
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、Authentication Typeの不一致が発生していることが確認できます。
R1#debug ip ospf adj
*May 3 06:02:38.113: OSPF-1 ADJ Gi2: Rcv pkt from 10.1.1.2 : Mismatched Authentication type. Input packet specified type 0, we use type 1
検証内容5(Subnet Maskの不一致)
R1のg2のIPアドレスを10.1.1.1/23、R2のg2のIPアドレスを10.1.1.2/24とします。
R1とR2でOSPF Area 0を有効にします。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.254.0
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 0
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、Subnet Maskの不一致が発生していることが確認できます。
R1#debug ip ospf hello
*May 3 06:03:35.391: OSPF-1 HELLO Gi2: Rcv hello from 2.2.2.2 area 1 10.1.1.2
*May 3 06:03:35.391: OSPF-1 HELLO Gi2: Mismatched hello parameters from 10.1.1.2
*May 3 06:03:35.391: OSPF-1 HELLO Gi2: Dead R 40 C 40, Hello R 10 C 10 Mask R 255.255.255.0 C 255.255.254.0
検証内容6(OptionのEビットの不一致)
R1とR2でOSPF Area 1を有効にします。
R1のArea 1でStub Areaを有効にします。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
router ospf 1
router-id 1.1.1.1
area 1 stub
network 10.1.1.0 0.0.0.255 area 1
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 1
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、OptionのEビットの不一致が発生している旨が表示されていることが確認できます。
R1#debug ip ospf hello
*May 3 06:04:51.755: OSPF-1 HELLO Gi2: Rcv hello from 2.2.2.2 area 1 10.1.1.2
*May 3 06:04:51.755: OSPF-1 HELLO Gi2: Hello from 10.1.1.2 with mismatched Stub/Transit area option bit
検証内容7(OptionのNビットの不一致)
R1とR2でOSPF Area 1を有効にします。
R1のArea 1でNSSAを有効にします。
設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
router ospf 1
router-id 1.1.1.1
area 1 nssa
network 10.1.1.0 0.0.0.255 area 1
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 1
Helloパケット受信時のOSPFのデバック
R1のOSPFのデバックから、Area IDの不一致が発生していることが確認できます。
R1#debug ip ospf hello
*May 3 06:05:29.595: OSPF-1 HELLO Gi2: Rcv hello from 2.2.2.2 area 1 10.1.1.2
*May 3 06:05:29.595: OSPF-1 HELLO Gi2: Hello from 10.1.1.2 with mismatched NSSA option bit
コメント