DMVPNフェーズ2を使用する場合、スポーク間トラフィックはハブルータを経由せず、直接通信します。
それでは、DMVPN フェーズ2上でOSPFのnon-Broadcastネットワークタイプの動作を確認します。non-broadcastネットワークタイプの特徴は、ネイバーを動的に検出せず、スタティックに設定しないといけないことです。
では、以下の構成でOSPFのネットワークタイプをnon-broadcastにします。DMVPNの構成は以下の記事を参照してください。
また、OSPFの基本設定は以下を参照してください。
R2(config)#interface tunnel0 R2(config-if)#ip ospf network non-broadcast
R5(config)#interface tunnel 0 R5(config-if)#ip ospf network non-broadcast R5(config-if)#ip ospf priority 0
R6(config)#interface tunnel 0 R6(config-if)#ip ospf network non-broadcast R6(config-if)#ip ospf priority 0
トンネルインタフェースのOSPF状態を確認します。ネットワークタイプがNON_BROADCASTで、Helloインターバルが30秒、Deadインターバルが120秒であることが確認できます。
R2#show ip ospf interface tunnel 0 Tunnel0 is up, line protocol is up Internet Address 192.168.0.2/24, Area 0, Attached via Network Statement Process ID 1, Router ID 2.2.2.2, Network Type NON_BROADCAST, Cost: 1000 Topology-MTID Cost Disabled Shutdown Topology Name 0 1000 no no Base Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 2.2.2.2, Interface address 192.168.0.2 No backup designated router on this network Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 oob-resync timeout 120 Hello due in 00:00:06
設定後、R2のネイバー状態を確認します。
R2# show ip ospf neighbor R2#
ネイバーが全くリスト化されていません。non-broadcastネットワークでは、ネイバーを自動検出しないので、neighborコマンドで静的にネイバーを設定する必要があります。
R2(config)# router ospf 1 R2(config-router)# neighbor 192.168.0.5 R2(config-router)# neighbor 192.168.0.6
すると、ネイバーがアップします。neighborコマンドはルータ間のどちらか一方だけ設定すれば良いです。
%OSPF-5-ADJCHG: Process 1, Nbr 6.6.6.6 on Tunnel0 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 5.5.5.5 on Tunnel0 from LOADING to FULL, Loading Done
R6のネイバー状態を見るとハブルータであるR2がDRとしてFULL状態の隣接関係であることが確認できます。
R6#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:01:56 192.168.0.2 Tunnel0
スポークルータであるR6では、ハブルータ(R2)とスポークルータ(R5)のループバックアドレスを学習しています。R5のループバックアドレス(5.5.5.5)宛のネクストホップのアドレスがR5(192.168.0.5)であることを確認してください(ハブルータであるR2(192.168.0.2)ではありません)
R6# show ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/1001] via 192.168.0.2, 00:01:57, Tunnel0
5.0.0.0/32 is subnetted, 1 subnets
O 5.5.5.5 [110/1001] via 192.168.0.5, 00:01:57, Tunnel0
スポーク間の通信
事前にR6のDMVPN状態を確認すると、ハブルータであるR2とトンネル接続できていることが確認できます。
R6# show dmvpn Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete N - NATed, L - Local, X - No Socket # Ent --> Number of NHRP entries with same NBMA peer NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting UpDn Time --> Up or Down Time for a Tunnel ================================================ Interface: Tunnel0, IPv4 NHRP Details Type:Spoke, NHRP Peers:1, # Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb ----- --------------- --------------- ----- -------- ----- 1 169.254.23.2 192.168.0.2 UP 04:37:29 S
R6のループバックアドレスからR5のループバックアドレスにPIngを実行します。
R6# ping 5.5.5.5 source 6.6.6.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 6.6.6.6
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/65/164 ms
疎通ができました。再度、R6のDMVPN状態を確認すると、R5とのトンネル接続が確立されていることがわかります。
R6#show dmvpn
Legend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket
# Ent --> Number of NHRP entries with same NBMA peer
NHS Status: E --> Expecting Replies, R --> Responding, W --> Waiting
UpDn Time --> Up or Down Time for a Tunnel
===========================================
Interface: Tunnel0, IPv4 NHRP Details
Type:Spoke, NHRP Peers:2,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 169.254.23.2 192.168.0.2 UP 04:38:20 S
1 169.254.35.5 192.168.0.5 UP 00:00:18 D
では、R6からR5のループバックアドレスにトレースルートを実行します。
R6# traceroute 5.5.5.5
Type escape sequence to abort.
Tracing the route to 5.5.5.5
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.0.5 20 msec 20 msec 20 msec
ルーティングテーブルでは、5.5.5.5のネクストホップはスポークのアドレスである192.168.0.5であり、ハブルータを経由せず、直接R5へ転送していることが確認できます。
コメント