OSPFネットワークタイプとは

OSPFネットワークタイプとは、OSPFが有効なインタフェースの分類です。主なネットワークタイプは以下の通りです。

  • BROADCAST
  • POINT_TO_POINT
  • NON_BROADCAST
  • POINT_TO_MULTIPOINT
  • LOOPBACK
show ip ospf interfaceで確認できるネットワークタイプの表記です。

OSPFを有効にしたインタフェースによって、デフォルトのネットワークタイプが決まります。

インタフェースの種類OSPFネットワークタイプ
イーサネット BROADCAST
ポイントツーポイント POINT_TO_POINT
フレームリレー/ATMのメジャーインタフェース NON_BROADCAST
ループバックLOOPBACK
表 インタフェースの種類によるデフォルトのネットワークタイプ

明示的に設定しない限り、POINT_TO_MULTIPOINTのネットワークタイプになることはありません。また、フレームリレー/ATMを利用することは、もうほとんどありません。ネットワークタイプとしては、BROADCASTとPOINT_TO_POINTだけ知っておけば十分です。

ネットワークタイプによって決まること

ネットワークタイプによって、以下の3点が決まります。

  • ネイバーの発見方法(自動/手動)
  • Hell/Deadインターバルのデフォルト値
  • DR/BDRの選出の有無

ネイバーの発見方法(自動/手動)

ネイバーの発見方法とは、Helloパケットの宛先IPアドレスです。

自動:Helloパケットの宛先IPアドレス 224.0.0.5
手動:Helloパケットの宛先IPアドレス neighborコマンドで指定したIPアドレス

自動的なネイバーの発見とは、ネイバーのIPアドレスを知らなくてもいいということです。Helloパケットの宛先IPアドレスをネイバーになるルータの個別のIPアドレスではなく、すべてのOSPFルータを表す224.0.0.5を宛先IPアドレスとします。

一方、手動のネイバーの発見は、あらかじめネイバーになるルータのIPアドレスを設定で指定することを意味しています。そのための設定は、OSPFのコンフィグレーションモードの以下のコマンドです。

ネイバーの指定

(config)#router ospf <process-id>
(config-router)#neighbor <ip-address>

<process-id> : OSPFプロセスID
<ip-address> : ネイバーのIPアドレス

Hello/Deadインターバルのデフォルト値

ネットワークタイプによって、Hello/Deadインターバルのデフォルト値が2通りあります。

  • 10/40秒
  • 30/120秒

BROADCASTおよびPOINT_TO_POINTのネットワークタイプでは、Hello/Deadインターバルのデフォルト値が10/40秒です。NON_BROADCASTのネットワークタイプでは、Hello/Deadインターバルのデフォルト値が30/120秒です。

DR/BDRの選出

DR/BDRは、マルチアクセスネットワーク上でLSDBの同期を効率よく行うためのルータです。マルチアクセスネットワークの例は、イーサネットやフレームリレー/ATMで、ネットワークタイプはBROADCASTまたはNON_BROADCASTです。そのため、ネットワークタイプがBROADCASTまたはNON_BROADCASTのときに、DR/BDRを選出します。

一方、シリアルポイントツーポイントインタフェースは、同一ネットワーク内にOSPFルータが2台しかいないはずです。POINT_TO_POINTのネットワークタイプでは、DR/BDRを選出する必要はありません。

ネットワークタイプによって決まることのまとめ

ネットワークタイプによって決まることを以下の表にまとめています。

ネットワークタイプネイバー発見Hello/DeadDR/BDR
BROADCAST 自動 10/40 選出する
POINT_TO_POINT 自動 10/40 不要
NON_BROADCAST 手動 30/120 選出する
POINT_TO_MULTIPOINT自動30/120不要

「LOOPBACK」のネットワークタイプは特殊です。LOOPBACKの先には、他のOSPFルータが存在しないので、ネイバーの発見やHello/Deadインターバル、DR/BDRは関係ありません。また、LOOPBACKのネットワークタイプのルートは/32のホストルートになります。詳しくは、以下の記事をご覧ください。

ネットワークタイプの設定と確認

ネットワークタイプの設定

OSPFを有効にしたインタフェースによってネットワークタイプは自動的に決まりますが、設定によって変更することもできます。ネットワークタイプを変更するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

ネットワークタイプの設定

(config)#interface <interface-name>
(config-if)#ip ospf network {broadcast|point-to-point|non-broadcast|point-to-multipoint}

ネットワークタイプを変更すると、Hello/Deadインターバルのデフォルト値が変わってしまう場合があります。ネイバーになるためには、Hello/Deadインターバルが一致していなければいけないので、注意してください。

また、ネイバー同士でDR/BDRの選出するかどうかも一致していなければいけません。DR/BDRの選出するかどうかの認識が一致していないと、SPFの計算が正常にできません。ネットワークタイプを変更するときには、ネイバー同士でDR/BDRの選出するかどうかも一致するようにしてください。

デフォルトのネットワークタイプであれば、原則としてネイバー同士でネットワークタイプは一致します。

ネットワークタイプの確認

ネットワークタイプを確認するためには、show ip ospf interfaceコマンドを利用します。

R1#show ip ospf interface FastEthernet 0/0
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 DR, Priority 1
  Designated Router (ID) 1.1.1.1, Interface address 192.168.12.1
  No backup designated router on this network
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:01
  Supports Link-local Signaling (LLS)
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 0, maximum is 0
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 0
  Suppress hello for 0 neighbor(s)

OSPFの仕組み