ルータIDが重複したらどうなる?

OSPFでは、ルータIDによってそれぞれのルータを識別します。ルータIDは重複してしまってはいけません。デフォルトで決まるIPv4アドレスに由来するルータIDであれば、ルータIDが重複する心配はほとんどありません。ルータIDを手動設定するときには、重複しないように注意してください。

ここでは、「もし、ルータIDが重複したらどうなってしまうのか」について解説します。ルータIDが重複してしまっている状況を知っておけば、万が一、誤ってルータIDを重複する設定をしてしまってもすぐに対処できるしょう。Ciscoルータで以下のケースについて、あえてルータIDを重複させてみます。

  • 同一ネットワーク上でルータIDが重複
  • 同一エリア内でルータIDが重複
  • 他のエリアでルータIDが重複

そもそもルータIDを割り当てられないとOSPFの処理はできない

ルータIDが重複した場合を考える前に、そもそもルータIDが割り当てられないとOSPFの処理ができないこともきちんと知っておきましょう。アクティブなインタフェースがない状態で、OSPFプロセスを有効化しようとすると、以下のようなエラーメッセージが表示されます。

*Mar  1 00:01:05.715: %OSPF-4-NORTRID: OSPF process 1 failed to allocate unique router-id and cannot start

「ユニークなルータIDを割り当てられないのでOSPFプロセスを起動できない」という意味です。

ネットワーク構成

以下の簡単なネットワーク構成で、OSPFルータIDを重複させます。

正常なOSPFについての設定

R1~R4のOSPFに関する設定の抜粋は以下の通りです。

R1

interface FastEthernet0/0
 ip address 192.168.12.1 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.1.1 255.255.255.0
!
router ospf 1
 router-id 1.1.1.1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R2

interface FastEthernet0/0
 ip address 192.168.12.2 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.23.2 255.255.255.0
!
router ospf 1
 router-id 2.2.2.2
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R3

interface FastEthernet0/0
 ip address 192.168.23.3 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.34.3 255.255.255.0
!
router ospf 1
 router-id 3.3.3.3
 log-adjacency-changes
 network 192.168.23.0 0.0.0.255 area 0
 network 192.168.34.0 0.0.0.255 area 1

R4

interface FastEthernet0/0
 ip address 192.168.34.4 255.255.255.0
!
interface FastEthernet0/1
 ip address 192.168.4.4 255.255.255.0
!
router ospf 1
 router-id 4.4.4.4
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 1

同一ネットワーク上でルータIDが重複

R1と同一ネットワーク上に接続されているR2のルータIDを2.2.2.2から1.1.1.1に変更します。

R2

router ospf 1
 router-id 1.1.1.1

ルータIDの設定を反映させるために、いったんclear ip ospf processコマンドでOSPFプロセスを再起動します。

R1とR2のルータIDが重複してしまうと、すぐに以下のようなエラーメッセージが表示されます。

*Mar  1 00:40:33.911: %OSPF-4-DUP_RTRID_NBR: OSPF detected duplicate router-id 1.1.1.1 from 192.168.12.2 on interface FastEthernet0/0

同一ネットワーク上のOSPFルータとHelloパケットを交換します。そのため、ルータIDが重複してしまっているとすぐにわかります。

R2のルータIDをもとの2.2.2.2に戻しておきます。

R2

router ospf 1
 router-id 2.2.2.2

同一エリア内でルータIDが重複

続いて、同一エリア内でルータIDが重複してしまっているときについて見ていきます。R1と同じエリア0のR3のルータIDを3.3.3.3から1.1.1.1に変更します。

R3

router ospf 1
 router-id 1.1.1.1

ルータIDの設定を反映させるために、いったんclear ip ospf processコマンドでOSPFプロセスを再起動します。

直接Helloパケットをやり取りしないと、ルータIDが重複してしまっていることを検出するのに少し時間がかかります。同一エリア内でルータIDが重複してしまっていると、そのルータIDのLSA Type1がフラッピングします。LSA Type1のフラッピングが起こると、Sequence番号がどんどん増加していきます。何度かフラッピングを繰り返すと、ルータIDが重複してしまっていることを検出します。

R1でshow ip ospf databaseコマンドを見ると、見るたびに重複したルータIDのLSA Type1のAgeがリフレッシュされ、Seq#が増加していきます。

R1

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         2           0x8000005B 0x00A8AD 2
2.2.2.2         2.2.2.2         370         0x80000003 0x006BA0 2

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.12.1    1.1.1.1         7           0x80000057 0x001B42
192.168.23.2    2.2.2.2         370         0x80000001 0x00168D

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.34.0    1.1.1.1         3601        0x8000004E 0x00A7B8
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         1           0x8000005F 0x00A0B1 2
2.2.2.2         2.2.2.2         388         0x80000003 0x006BA0 2

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.12.1    1.1.1.1         6           0x8000005B 0x001346
192.168.23.2    2.2.2.2         388         0x80000001 0x00168D

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.34.0    1.1.1.1         3600        0x80000052 0x009FBC

そして、しばらくすると、以下のようにエリア内に重複したルータIDのルータがいるというエラーメッセージが表示されます。

*Mar  1 00:49:10.435: %OSPF-4-DUP_RTRID_AREA: Detected router with duplicate router ID 1.1.1.1 in area 0

R3のルータIDをもとの3.3.3.3に戻しておきます。

R3

router ospf 1
 router-id 3.3.3.3

他のエリアでルータIDが重複

最後に他のエリアでルータIDが重複してしまっている場合です。エリア1のR4でルータIDをR1と同じ1.1.1.1に変更します。

R4

router ospf 1
 router-id 1.1.1.1

ルータIDの設定を反映させるために、いったんclear ip ospf processコマンドでOSPFプロセスを再起動します。

他のエリアでルータIDが重複してしまっていても特に問題は起こりません。エリア外については、詳細なネットワーク構成を把握する必要がないからです。そのため、他のエリアでルータIDが重複してしまっているルータが存在していても、そのことを検出できません。そして、他のエリアにルータIDが重複したルータがいても、SPF計算には影響しません。

R1でshow ip ospf databaseコマンドやルーティングテーブルを見ても、ルータIDが重複していないときと同じように、何も問題はありません。

R1

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         227         0x800000F9 0x006B4C 2
2.2.2.2         2.2.2.2         1349        0x80000003 0x006BA0 2
3.3.3.3         3.3.3.3         188         0x80000002 0x009F6A 1

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.12.1    1.1.1.1         232         0x800000F5 0x00DDE0
192.168.23.2    2.2.2.2         187         0x80000002 0x007822

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.4.0     3.3.3.3         29          0x80000001 0x001A95
192.168.34.0    3.3.3.3         29          0x80000001 0x006A31
R1#show ip route ospf
O IA 192.168.4.0/24 [110/40] via 192.168.12.2, 00:00:31, FastEthernet0/0
O    192.168.23.0/24 [110/20] via 192.168.12.2, 00:22:28, FastEthernet0/0
O IA 192.168.34.0/24 [110/30] via 192.168.12.2, 00:00:31, FastEthernet0/0

他のエリアだったら、ルータIDが重複しても大丈夫なのです。でも、エリアが違っていたとしてもOSPFのルータIDは重複しないように注意してください。ルータIDの目的は、OSPFルータを識別することです。重複したルータIDの設定は、たとえ問題が起きないとしても望ましくはありません。

R4のルータIDをもとの4.4.4.4に戻しておきます。

R4

router ospf 1
 router-id 4.4.4.4

まとめ

ポイント

  • ルータIDによってOSPFルータを識別します。そのため、特に手動設定する場合は重複しないように注意してください。
  • ルータIDが重複してしまったら・・・
    • 同一ネットワーク:すぐに検出できます。
    • 同一エリア内:重複したルータIDのLSA Type1がフラッピングします。
    • 他のエリア:特に問題はないですが、重複したルータIDの設定はさけるべきです。

OSPFの仕組み