Thursday, March 12, 2015

DMVPN NHRP in NBMA


Cho topo nhu hinh ve:
 network NBMA: 192.254.100.x/24
 network tun     : 155.1.0.x/24
R1,R2 Spoke.  R5 hub

Trên  R1, R2 tạo default route trỏ đến R5 sử dụng ip next-hop
Trên R5 tạo 2 đường static route trỏ lần lượt đến L0 của R1, R2 qua ipnexthop

R1#show run | se ip route
ip route 0.0.0.0 0.0.0.0 155.1.0.5

R2#show run | se ip route
ip route 0.0.0.0 0.0.0.0 155.1.0.5

R5#show run | se ip route
ip route 150.1.1.1 255.255.255.255 155.1.0.1
ip route 150.1.2.2 255.255.255.255 155.1.0.2

Thực hiện kiểm tra bảng NHRP trên R1 và R5 ta có:

R1#show ip nhrp
155.1.0.5/32 via 155.1.0.5
   Tunnel0 created 00:51:27, never expire
   Type: static, Flags: used
   NBMA address: 169.254.100.5
R5#show ip nhrp
155.1.0.1/32 via 155.1.0.1
   Tunnel0 created 00:00:48, expire 00:04:11
   Type: dynamic, Flags: unique registered used nhop
   NBMA address: 169.254.100.1
155.1.0.2/32 via 155.1.0.2
   Tunnel0 created 00:00:48, expire 00:04:12
   Type: dynamic, Flags: unique registered used nhop
   NBMA address: 169.254.100.2

Trên R1 ping 150.1.2.2 R2
R1#ping 150.1.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 6/9/15 ms

=> ping thành công 100%

Giải thích: (chú ý ping trong GRE yêu cầu phải có đầy đủ địa chỉ tunnel source and tunnel dest, bằng cách router sử dụng giao thức nhrp để tiềm kiếm trong NBMA)
khi ping 150.1.2.2, R1 tra trong bảng định tuyến với default- route trỏ qua R5 với next-hop 155.1.0.5 tương ứng với địa chỉ NBMA trong bảng nhrp là 169.254.100.5.quá trình đóng gói tin thành công,  gói tin sẽ được gửi sang R5. tương tự R5 cũng có static route đến 150.1.2.2 qua R2 với nexhop tương ứng với NBMA trong bảng nhrp: 169.254.100.2 -> gói tin đóng gói thành công.

Trên R5 thay đổi đường static route trỏ qua R2 bằng exit interface.

R5#show run | se ip route
ip route 150.1.1.1 255.255.255.255 155.1.0.1
ip route 150.1.2.2 255.255.255.255 Tunnel0


Từ R1 ping 150.1.2.2. và debug ip nhrp trên R5

R1#ping 150.1.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.2.2, timeout is 2 seconds:

%NHRP-3-PAKERROR: Received Error Indication from 155.1.0.5, code: protocol generic error(7), (trigger src: 155.1.0.1 (nbma: 169.254.100.1) dst: 150.1.2.2), offset: 0, data: 00 01 08 00 00 00 00 00 00 FF 00 58 D8 C0 00 34 ...
%NHRP-3-PAKERROR: Received Error Indication from 155.1.0.5, code: protocol generic error(7), (trigger src: 155.1.0.1 (nbma: 169.254.100.1) dst: 150.1.2.2), offset: 0, data: 00 01 08 00 00 00 00 00 00 FF 00 58 D8 C0 00 34

R5#debug ip nhrp
NHRP: nhrp_ifcache: Avl Root:A46837D0
NHRP: NHRP could not map 150.1.1.1 to NBMA, cache entry not found
NHRP: MACADDR: if_in null netid-in 0 if_out Tunnel0 netid-out 1
NHRP: Checking for delayed event NULL/150.1.1.1 on list (Tunnel0).
NHRP-MPLS:  tableid: 0 vrf:
NHRP: No delayed event node found.
NHRP: nhrp_ifcache: Avl Root:A46837D0
NHRP: No cache for forwarding(0)
NHRP-MPLS: AVL node found tableid: 0 vrf:
NHRP: swidb Tunnel0, nhrp_cache_update
NHRP-MPLS:  tableid: 0 vrf:
NHRP: nhrp_ifcache: Avl Root:A46837D0
NHRP: Enqueued NHRP Resolution Request for destination: 150.1.1.1
NHRP-MPLS:  tableid: 0 vrf:
IP: s=155.1.0.5 (local), d=150.1.1.1 (Tunnel0), len 100, encapsulation failed
    ICMP type=8, code=0
NHRP: Checking for delayed event NULL/150.1.1.1 on list (Tunnel0).
NHRP-MPLS:  tableid: 0 vrf:
NHRP: No delayed event node found.
NHRP: nhrp_ifcache: Avl Root:A46837D0
NHRP: nhrp_ifcache: Avl Root:A46837D0
NHRP: Sending NHRP Resolution Request for dest: 150.1.1.1 to nexthop: 150.1.1.1 using our src: 155.1.0.5
NHRP-MPLS:  tableid: 0 vrf:
NHRP: Attempting to send packet through interface Tunnel0 via DEST  dst 150.1.1.1
NHRP: Send Resolution Request via Tunnel0 vrf 0, packet size: 88
      src: 155.1.0.5, dst: 150.1.1.1
NHRP: nhrp_ifcache: Avl Root:A46837D0
NHRP: NHRP could not map 150.1.1.1 to NBMA, cache entry not found
NHRP: Encapsulation failed for destination 150.1.1.1 out Tunnel0.
Success rate is 0 percent (0/1)

Quá trình ping không thành công.

Giải thích: quá trình gói tin đi từ R1-R5 ok
Khi gói tin từ R5, thấy dest 150.1.2.2 nó tra trong bảng NHRP để tìm địa chỉ NBMA nhưng k thấy. Vì nó chính là HUB hay NHS nên k thể request nên quá trình ping fail.

Solution: sử dụng static trỏ qua ip next-hop , lúc đó R5 sẽ thấy trong bảng nhrp để đến địa chỉ 150.1.2.2 nó sẽ có địa chỉ NBMA
269.254.100.2
      hoặc sử dụng map static

#ip nhrp map 150.1.2.2 269.254.100.2

No comments:

Post a Comment