OSPF関係の確認コマンド、基礎編(CCNA/CCNPレベル)

この記事は約11分で読めます。
スポンサーリンク

前回書いた以下の記事の続きです。

OSPFのネイバーを張るコマンドのおさらい
OSPFのネイバーを張るコマンドの説明です。主にCCNA/CCNPのチャレンジャー対象です。 CCIE勉強中の方には分かりやすすぎですかね? 隣接ルーターでネイバーを張るコマンドについて説明します。 OSPFのネイバーを張るコ...

OSPFを有効にするコマンドについて紹介したので、今回はOSPFの確認コマンドでよく使うものを中心に紹介したいと思います。

前回同様、CCNAとCCNPのチャレンジャーを想定して書いています。

また、この手の話は実例があった方が分かりやすいと思いますので、前回と同様に実例を兼ねて説明します。

トポロジは前回と同様に以下の図を利用します。

topology1_trim

  • R21とR2でOSPFを有効にする。それ以外は今回は無視してください。何もしないので。
  • Areaは1とする

Area間でのやりとりがなければ、別に初めに指定するAreaが0じゃなくても構いません。

その証明の為にも今回はArea1で行こうと思います。

OSPFを有効にする

R21側の設定

まずは、事前にOSPFが有効になっているか確認してみましょう。

R21#sh ip protocol
 *** IP Routing is NSF aware ***

このコマンドで、EIGRP/OSPF/BGP等のルーティングプロトコルが有効になっているかを確認できます。(CCNPまではBGPは対象じゃないですが)

OSPFが表示されていないので、まだ有効になっていないですね。

有効になっていないという事は「sh ip ospf interface brief」でも何も表示されないはずです。

R21#sh ip ospf interface brief
 R21#

前回も説明しましたが、このコマンドでOSPFが有効になっているインターフェースの確認が出来ます。

今回は何も表示されません。想定通りです。

では、さっそくR21側の各インターフェースにOSPFを有効化しましょう。

R21側はF0/0,Lo2,Lo3,Lo4とOSPFを有効にしたいインターフェースが多いので、networkコマンドで一気にOSPFを有効にしちゃいましょう。

R21#conf t
 Enter configuration commands, one per line.  End with CNTL/Z.
 R21(config)#router ospf 1
 R21(config-router)#network 0.0.0.0 255.255.255.255 area 1
 R21(config-router)#end

OSPFが有効になったインターフェースを確認してみましょう。このコマンド、CCIEの勉強では1万回くらい打ちます。

 R21#sh ip ospf interface brief
 Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
 Lo2          1     1               10.20.2.21/24      1     LOOP  0/0
 Lo3          1     1               10.20.3.21/24      1     LOOP  0/0
 Lo4          1     1               10.20.4.21/24      1     LOOP  0/0
 Fa0/0        1     1               10.20.1.21/24      1     WAIT  0/0

想定通り、全ての(IPを持っている)インターフェースでOSPFが有効になりました。

では、R2側とネイバーが張れているでしょうか?現時点ではR2側の設定を行っていないので、もちろんネイバー関係にはなっていないはずですね。

ネイバーが存在しているかはsh ip ospf neighborで確認します。

R21#sh ip ospf neighbor
 R21#

何も表示されないので、ネイバー関係は一切ありません。

R2側の設定

続いてR2側の設定を行います。

その前に同様の確認をしましょう。

R2#sh ip protocol
 *** IP Routing is NSF aware ***

R2#sh ip ospf interface brief
 R2#

では、設定を行います。今回はR21対向のインターフェースだけでOSPFを有効にしてみます。

R2#sh ip int bri
 Interface              IP-Address      OK? Method Status                Protocol
 FastEthernet0/0        10.20.1.2       YES NVRAM  up                    up
 FastEthernet0/1        172.16.20.2     YES NVRAM  up                    up
 Tunnel0                10.0.123.2      YES NVRAM  up                    up
 R2#conf t
 Enter configuration commands, one per line.  End with CNTL/Z.
 R2(config)#int f0/0
 R2(config-if)#ip ospf 1 area 1
 R2(config-if)#
 *Oct 15 18:50:33.205: %OSPF-5-ADJCHG: Process 1, Nbr 10.20.4.21 on FastEthernet0/0 from LOADING to FULL, Loading Done
 R2(config-if)#end
 R2#

「ip ospf 1 area 1」を実行した瞬間に、ネイバーが張られたメッセージが表示されました。
R2側でネイバー状態を確認してみます。
(この辺からコマンド省略させてください)

R2#sh ip o nei

Neighbor ID     Pri   State           Dead Time   Address         Interface
 10.20.4.21        1   FULL/DR         00:00:38    10.20.1.21      FastEthernet0/0

R2は「10.20.4.21」というノードとネイバー関係にあることが分かります。このノード名はルーターIDです。IPアドレスではないですよ。

この時点でF0/0のインターフェースがOPSF有効となっていることが確定しているのですが、念のためコマンドで確認してみましょう。

R2#sh ip o int bri
 Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
 Fa0/0        1     1               10.20.1.2/24       1     BDR   1/1

想定通り、F0/0はOSPFが有効になっていますね。

R2からPINGテストしてみましょう

では、実際にR2からR21のLo2(10.20.2.21)へ疎通テストをしてみます。

R2のルーティングテーブルをsh ip routeで確認します。後ろにospfを含めると、ospfで受け取ったルートだけを表示できます。

R2#sh ip route ospf
 Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2
 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
 ia - IS-IS inter area, * - candidate default, U - per-user static route
 o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
 + - replicated route, % - next hop override

Gateway of last resort is 172.16.20.100 to network 0.0.0.0

10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
 O        10.20.2.21/32 [110/2] via 10.20.1.21, 00:25:09, FastEthernet0/0
 O        10.20.3.21/32 [110/2] via 10.20.1.21, 00:25:09, FastEthernet0/0
 O        10.20.4.21/32 [110/2] via 10.20.1.21, 00:25:09, FastEthernet0/0

10.20.2.21のルートが入っています。PINGしてみます。

R2#ping 10.20.2.21
 Type escape sequence to abort.
 Sending 5, 100-byte ICMP Echos to 10.20.2.21, timeout is 2 seconds:
 !!!!!
 Success rate is 100 percent (5/5), round-trip min/avg/max = 48/76/92 ms

無事PINGが成功しました。

また、Area0がなくてArea1だけでもネイバーが張れて、プレフィックス(正確にはLSDB)が交換できることが証明されました。

SPFデータベースを見てみる

当記事はCCNA/CCNPの方が対象なので、細かい事は解説しませんが、せっかくなのでOSPFデータベースの触りを見てみましょう。

OSPFはLinkState型のルーティングプロトコルです。参考書では「LinkState型プロトコルは皆同じ地図を持っている」と表現しているものもあると思います。

その地図を見ていきましょう。sh ip ospf databaseで見れます。

まずは、R2から

R2#sh ip ospf database

OSPF Router with ID (172.16.20.2) (Process ID 1)

Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
 10.20.4.21      10.20.4.21      1674        0x80000015 0x000C66 4
 172.16.20.2     172.16.20.2     1800        0x80000001 0x0095A2 1

Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
 10.20.1.21      10.20.4.21      1801        0x80000001 0x00E3E0
 R2#

 

繰り返しますが、今回はデータベースの細かい説明は割愛します。

次に、R21です。

R21#sh ip o d

OSPF Router with ID (10.20.4.21) (Process ID 1)

Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
 10.20.4.21      10.20.4.21      1734        0x80000015 0x000C66 4
 172.16.20.2     172.16.20.2     1863        0x80000001 0x0095A2 1

Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
 10.20.1.21      10.20.4.21      1861        0x80000001 0x00E3E0
 R21#

 

R2とR21の出力結果について、「Router Link States (Area 1)」から下を比べてみてください。どこが違うか、お分かりですか?

「Age」の数値だけですね?

それ以外は完全に一致していますよね?

これが、「みんな同じ地図を持っている」という事です。

RIPやEIGRP等のDistanceVector型プロトコルだったら、NextHopの値とか、集約ルートとか、ルーターごとに違う個所が多数ありますが、OSPFは同じエリア内なら同じ地図(データベース)を持っている訳です。

このデータベースから目的のルートまでの最適パスを各々のルーターが計算するのです。

コメント

タイトルとURLをコピーしました