目次
概要
OSPFのネットワークタイプについて設定ミスの切り分けと修正を行います。
ネットワーク構成
下記のネットワーク構成でOSPFの設定を行っています。シングルエリア構成で、エリアは0です。

トラブルの状況
ネットワークの一部で通信ができない状況が発生しています。ルーティングのトラブルが発生しているようです。ルーティングが正常に行われているかを確認するために、各ルータでshow ip ospf neighborをみたところ、すべてFULL状態になっているのでネイバーは問題なく確立されているようです。
R1 show ip ospf neighbor
R1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.3.3 0 FULL/ - 00:00:38 192.168.123.3 FastEthernet0/0 192.168.2.2 0 FULL/ - 00:00:33 192.168.123.2 FastEthernet0/0
R2 show ip ospf neighbor
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.1.1 1 FULL/DROTHER 00:00:34 192.168.123.1 FastEthernet0/0 192.168.3.3 1 FULL/BDR 00:00:32 192.168.123.3 FastEthernet0/0
R3 show ip ospf neighbor
R3#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.1.1 1 FULL/DROTHER 00:00:37 192.168.123.1 FastEthernet0/0 192.168.2.2 1 FULL/DR 00:00:30 192.168.123.2 FastEthernet0/0
ところが、ルーティングテーブルには必要なルート情報が登録されていません。
R1 show ip route
R1#show ip route ~省略~ Gateway of last resort is not set C 192.168.123.0/24 is directly connected, FastEthernet0/0 192.168.1.0/32 is subnetted, 1 subnets C 192.168.1.1 is directly connected, Loopback0
R2 show ip route
R2#show ip route ~省略~ Gateway of last resort is not set C 192.168.123.0/24 is directly connected, FastEthernet0/0 192.168.2.0/32 is subnetted, 1 subnets C 192.168.2.2 is directly connected, Loopback0 192.168.3.0/32 is subnetted, 1 subnets O 192.168.3.3 [110/2] via 192.168.123.3, 00:18:37, FastEthernet0/0
R3 show ip route
R3#show ip route ~省略~ Gateway of last resort is not set C 192.168.123.0/24 is directly connected, FastEthernet0/0 192.168.2.0/32 is subnetted, 1 subnets O 192.168.2.2 [110/2] via 192.168.123.2, 00:19:33, FastEthernet0/0 192.168.3.0/32 is subnetted, 1 subnets C 192.168.3.3 is directly connected, Loopback0
もう少し詳しい状況を確認するために、show ip ospf interfaceコマンドの出力を見ると、次のようになりました。
R1 show ip ospf interface
R1#show ip ospf interface Loopback0 is up, line protocol is up Internet Address 192.168.1.1/32, Area 0 Process ID 1, Router ID 192.168.1.1, Network Type LOOPBACK, Cost: 1 Loopback interface is treated as a stub Host FastEthernet0/0 is up, line protocol is up Internet Address 192.168.123.1/24, Area 0 Process ID 1, Router ID 192.168.1.1, Network Type POINT_TO_MULTIPOINT, Cost: 1 Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:07 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 2, Adjacent neighbor count is 2 Adjacent with neighbor 192.168.3.3 Adjacent with neighbor 192.168.2.2 Suppress hello for 0 neighbor(s)
R2 show ip ospf interface
R2#show ip ospf interface Loopback0 is up, line protocol is up Internet Address 192.168.2.2/32, Area 0 Process ID 1, Router ID 192.168.2.2, Network Type LOOPBACK, Cost: 1 Loopback interface is treated as a stub Host FastEthernet0/0 is up, line protocol is up Internet Address 192.168.123.2/24, Area 0 Process ID 1, Router ID 192.168.2.2, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 192.168.2.2, Interface address 192.168.123.2 Backup Designated router (ID) 192.168.3.3, Interface address 192.168.123.3 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:07 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 4 msec Neighbor Count is 2, Adjacent neighbor count is 2 Adjacent with neighbor 192.168.1.1 Adjacent with neighbor 192.168.3.3 (Backup Designated Router) Suppress hello for 0 neighbor(s)
R3 show ip ospf interface
R3#show ip ospf interface Loopback0 is up, line protocol is up Internet Address 192.168.3.3/32, Area 0 Process ID 1, Router ID 192.168.3.3, Network Type LOOPBACK, Cost: 1 Loopback interface is treated as a stub Host FastEthernet0/0 is up, line protocol is up Internet Address 192.168.123.3/24, Area 0 Process ID 1, Router ID 192.168.3.3, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 192.168.2.2, Interface address 192.168.123.2 Backup Designated router (ID) 192.168.3.3, Interface address 192.168.123.3 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:08 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 1 Last flood scan time is 0 msec, maximum is 4 msec Neighbor Count is 2, Adjacent neighbor count is 2 Adjacent with neighbor 192.168.1.1 Adjacent with neighbor 192.168.2.2 (Designated Router) Suppress hello for 0 neighbor(s)
問題
show ip ospf interfaceの出力を見ることで、あるルータでの設定ミスが判明しました。その設定ミスを修正すると、正常にルーティングが行えるようになりました。
- どのルータでどのような設定ミスのため、このトラブルが起こっているでしょうか?
- その設定ミスに関わらずなぜネイバーはすべてFULL状態になるのでしょうか?
解答
[どのルータでどのような設定ミスのため、このトラブルが起こっているでしょうか?]
R1のFastEthernet0/0に次の設定ミスがあります。
R1
interface FastEthernet0/0 ip ospf network point-to-multipoint ip ospf hello-interval 10
トラブルを解決するためには、次のコマンドでネットワークタイプをデフォルトのBROADCASTに戻します。
R1
interface FastEthernet0/0 no ip ospf network
[その設定ミスに関わらずなぜネイバーはすべてFULL状態になるのでしょうか?]
ネットワークタイプの一致は、ネイバーを確立するための条件ではないので、ネイバーを確立することができます。しかし、DR/BDRの要/不要の認識が違っていると、LSDBの同期をうまくとれなかったり、LSDBの同期がとれてFULL状態になってもSPF計算がうまくできなくなります。
解説
R1のshow ip ospf neighborを見ると、Steteが「FULL/ – 」の表示になっています。
R1 show ip ospf neighbor
R1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.2.2 0 FULL/ - 00:00:32 192.168.123.2 FastEthernet0/0 192.168.3.3 0 FULL/ - 00:00:33 192.168.123.3 FastEthernet0/0
これは、R1はFastEthernet0/0上にはDR/BDRは存在しないとしています。DR/BDRが存在しないようなインタフェースはPOINT_TO_POINTまたはPOINT_TO_MULTIPOINTのネットワークタイプのインタフェースです。FastEthernet0/0のデフォルトのネットワークタイプはBROADCASTなので、設定によってPOINT_TO_POINTまたはPOINT_TO_MULTIPOINTに変更されていることがわかります。
POINT_TO_POINTの場合は、インタフェース上のネイバーはただ一つになるはずです。FastEthernet0/0上で2つのネイバーを認識していて、DR/BDRが存在しないと言うことはPOINT_TO_MULTIPOINTのネットワークタイプになっています。R1のshow ip ospf interfaceを見ると、FastEthernet0/0がPOINT_TO_MULTIPOINTになっていることが確認できます。POINT_TO_MULTIPOINTのデフォルトのHelloインターバルは30秒です。Helloインターバルがデフォルトの30秒から10秒に変更されていることもわかります。つまり、R1ではFa0/0で次のような設定がされていることになります。
R1 Fa0/0の設定
interface FastEthernet0/0 ip ospf network point-to-multipoint ip ospf hello-interval 10
この設定により、ネットワークタイプが「POINT_TO_MULTIPOINT」になり、Hello/Deadインターバルはデフォルトの組み合わせの10/40となります。
R1 show ip ospf interface
R1#show ip ospf interface Loopback0 is up, line protocol is up Internet Address 192.168.1.1/32, Area 0 Process ID 1, Router ID 192.168.1.1, Network Type LOOPBACK, Cost: 1 Loopback interface is treated as a stub Host FastEthernet0/0 is up, line protocol is up Internet Address 192.168.123.1/24, Area 0 Process ID 1, Router ID 192.168.1.1, Network Type POINT_TO_MULTIPOINT, Cost: 1 Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT 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 4 msec Neighbor Count is 2, Adjacent neighbor count is 2 Adjacent with neighbor 192.168.2.2 Adjacent with neighbor 192.168.3.3 Suppress hello for 0 neighbor(s)
これがこのトラブルの原因です。
R1のFa0/0はPOINT_TO_MULTIPOINTのネットワークタイプで、DR/BDRは存在しないとみなします。一方、R2とR3のFa0/0はデフォルトのBROADCASTでDR/BDRが存在します。各ルータのネイバーのStateはFULLなので、LSDBの同期自体はとれています。ですが、R1はDR/BDRが存在しないはずのFa0/0のネットワークを表すLSAタイプ2があり、SPF計算を正常に行うことができなくなっています。そのため、R1のルーティングテーブルにはR2やR3のLoopbackインタフェースのルート情報がありません。
OSPFのネットワークタイプは、ネイバーを確立する条件には直接関係していないということをきちんと認識しておきましょう。ネイバーを確立する条件は、Helloパケット内の下記のパラメータが一致していることが条件です。
- エリア番号
- ネットマスク
- Hello/Deadインターバル
- 認証情報
- スタブエリアフラグ
ネットワークタイプによって、Hello/Deadインターバルのデフォルト値が決まるので間接的にはネイバーを確立する条件に関わっています。ですが、ネットワークタイプが違っていてもネイバーにはなれます。ネットワークタイプが違っていてもネイバーになれるのですが、DR/BDRの要/不要の認識がきちんと一致していなければいけません。そうしなければ、この問題のようにネイバーになれてもLSDBの同期がとれなかったり、SPF計算がうまくできなくなります。
つまり、以下の組み合わせであればネットワークタイプが異なっていても問題ありません。
- POINT_TO_POINTとPOINT_TO_MULTIPOINT
- BROADCASTとNON_BROADCAST
「ネイバー」とは、同一ネットワーク上のOSPFルータなので、ネットワークタイプはほとんどの場合、一致しているはずです。そのため、実環境ではあまりネットワークタイプが一致しているかどうかは気にしないですし、あえてネットワークタイプを変更することもまずないでしょう。ですが、CCIEラボ試験ではOSPFのネットワークタイプに関する問題は、もうお決まりと言っていいぐらいです。CCIEラボ試験を受験する方は、OSPFのネットワークタイプの理解を深めてください。
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]