ルータIDとは

ルータIDとは、OSPFルータを識別するための32ビットの数値です。IPv4アドレスと同じように8ビットの10進数を「.(ドット)」で区切って4つ並べて表記します。

ルータIDは、いわば、OSPFルータの名前で、OSPFの処理を行うには必ず一意なルータIDが必要です。ルータIDでネイバーを認識します。また、LSAには生成したルータのルータIDが記されています。

表記のフォーマットがIPv4アドレスと同じですし、また、デフォルトではルータのIPv4アドレスからルータIDが決まります。そのため、勘違いしやすいのですが、ルータIDとIPアドレスは別ものです。
IPv6用のOSPFv3でもルータIDは32ビットです。
OSPFだけでなく、EIGRPやBGPでもルータIDがあります。ネイバーを認識するルーティングプロトコルは、それぞれのルータを識別するためにルータIDを利用しています。EIGRP/BGPでもルータIDの決定方法は、OSPFの場合と同じです。

ルータIDの決め方

ルータIDは次のように決定されます。

  1. router-idコマンドによる手動設定
  2. アクティブなループバックインタフェースのうち最大のIPアドレス
  3. ループバック以外のアクティブなインタフェースのうち最大のIPアドレス
図 OSPFルータIDの決定(Cisco)
図 OSPFルータIDの決定(Cisco)

上から順に優先度が高いルータIDの決定方法です。ルータIDが変わってしまうと、ネイバーの確立からOSPFの処理をやり直さなければいけなくなります。そのため、ルータIDがころころと変更されることがないように上記の優先度が決まっています。

router-idコマンドによる手動設定

ルータIDを手動で設定することができます。Ciscoルータでは、OSPFのルーティングプロセス内で、次のコマンドでルータIDを設定します。

ルータIDの手動設定

(config)#router ospf <process-id>
(config-router)#router-id <router-id>

<process-id> : プロセスID
<router-id> : ルータID

設定するルータIDは、他のルータのルータIDと重複しないようにしてください。重複しなければ、ルータ自身のIPアドレスである必要は特にありません。router-idコマンドで手動設定しておけば、設定を変更しない限りルータIDが変わることはありません。

すでにルータIDが割り当てられている状態で、router-idコマンドで新しくルータIDを設定した場合はすぐに反映されません。ルータIDの設定を反映させるためにclear ip ospf processでOSPFプロセスを再起動してください。

アクティブなループバックインタフェースのうち最大のIPアドレス

ループバックインタフェースは、設定で作成する仮想的なインタフェースです。ルータのインタフェースが1つでもアクティブであれば、明示的にshutdownしない限りダウンしない安定したインタフェースです。安定しているループバックインタフェースのIPアドレスを自動的にルータIDとして利用することができます。ループバックインタフェースは複数作成することもできます。もし、複数のループバックインタフェースが存在すると、最大のIPアドレスをルータIDとして利用します。

ループバックインタフェースのIPアドレスからルータIDを決定すれば、特定のインタフェースの状態によってルータIDが変わってしまう可能性が少なくなります。ただし、ループバックインタフェースがあとから追加されると、それに伴ってルータIDが変わってしまう可能性があります。

ループバックインタフェースが追加されてもすぐにルータIDが変わってしまうわけではありません。

ループバック以外のアクティブなインタフェースのうち最大のIPアドレス

ループバックインタフェースの作成は任意です。ループバックインタフェースがないルータでは、アクティブなインタフェースの最大のIPアドレスをルータIDとして利用します。

ルータIDとして使っているIPアドレスのインタフェースがダウンすると、ルータIDが変わってしまう可能性があります。

インタフェースがダウンしてもすぐにルータIDが変わってしまうわけではありません。

ルータIDの確認(Cisco)

CiscoルータでルータIDを確認するためのshowコマンドとして、主に以下のものがあります。

  • show ip protocols
  • show ip ospf
  • show ip ospf interface

それぞれのshowコマンドについてサンプルの出力例を挙げます。

show ip protocols

R1#show ip protocols
Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 1.1.1.1
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    192.168.12.0 0.0.0.255 area 0
 Reference bandwidth unit is 100 mbps
  Routing Information Sources:
    Gateway         Distance      Last Update
  Distance: (default is 110)

show ip ospf

R1#show ip ospf
 Routing Process "ospf 1" with ID 1.1.1.1
 Start time: 00:00:02.000, Time elapsed: 00:03:16.636
 Supports only single TOS(TOS0) routes
 Supports opaque LSA
 Supports Link-local Signaling (LLS)
 Supports area transit capability
 Router is not originating router-LSAs with maximum metric
 Initial SPF schedule delay 5000 msecs
 Minimum hold time between two consecutive SPFs 10000 msecs
 Maximum wait time between two consecutive SPFs 10000 msecs
 Incremental-SPF disabled
 Minimum LSA interval 5 secs
 Minimum LSA arrival 1000 msecs
 LSA group pacing timer 240 secs
 Interface flood pacing timer 33 msecs
 Retransmission pacing timer 66 msecs
 Number of external LSA 0. Checksum Sum 0x000000
 Number of opaque AS LSA 0. Checksum Sum 0x000000
 Number of DCbitless external and opaque AS LSA 0
 Number of DoNotAge external and opaque AS LSA 0
 Number of areas in this router is 1. 1 normal 0 stub 0 nssa
 Number of areas transit capable is 0
 External flood list length 0
    Area BACKBONE(0)
        Number of interfaces in this area is 2
        Area has no authentication
        SPF algorithm last executed 00:00:56.772 ago
        SPF algorithm executed 4 times
        Area ranges are
        Number of LSA 3. Checksum Sum 0x01F21D
        Number of opaque link LSA 0. Checksum Sum 0x000000
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0

show ip ospf interface

FastEthernet0/0 is up, line protocol is up
  Internet Address 192.168.12.1/24, Area 0
  Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 2.2.2.2, Interface address 192.168.12.2
  Backup Designated router (ID) 1.1.1.1, Interface address 192.168.12.1
  Flush timer for old DR LSA due in 00:00:27
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:00
  Supports Link-local Signaling (LLS)
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2  (Designated Router)
  Suppress hello for 0 neighbor(s)

まとめ

ポイント

  • ルータIDとは、OSPFルータを識別するための32ビットの数値です。OSPFの処理を行うためには、一意なルータIDが必要です。
  • ルータIDは以下の優先度に基づいて決定されます。
    • router-idコマンドによる手動設定
    • アクティブなループバックインタフェースの最大のIPアドレス
    • ループバック以外のアクティブなインタフェースのうち最大のIPアドレス

OSPFの仕組み