VXLAN Overlay Network for Broadcast/Unknown-Unicast/Multicast (BUM) Overlay Traffic
Bài thực hành này mô tả cách thức mạng overlay xử lý các loại lưu lượng thuộc về nhóm broadcast/unknow-unicast/multicast. Nhóm lưu lượng này còn gọi là BUM.
Với các lưu lượng trong nhóm BUM này sẽ phải được xử lý và gửi thông qua nhiều trạm VTEP.
Để xác định được tất cả các VTEPs nào cần phải xử lý các lưu lượng dạng này, mạng lưới các VTEPs sẽ xây dựng một cây multicast bao phủ các virtual network VN tương ứng. Ý tưởng cơ bản là mỗi mạng ảo virtual network VN sẽ là một multicast group trên tất cả các VTEPs liên quan.
Một cây Multicast (Multicast Tree) được xây dựng bằng cách sử dụng giao thức PIM. Các trạm VTEP sẽ tham gia vào cây multicast này. Mỗi VN sẽ có một địa chỉ nhóm multicast được gọi là Delivery Group (DG). Khi VTEP gửi 1 gói tin dạng non-unicast trên một VNI thông qua mạng Overlay, gói tin được đóng gói bên trong một VxLAN Header và được gửi đến địa chỉ multicast DG thay vì gửi đến 1 địa chỉ IP VTEP.Cũng nhắc lại rằng, trong trường hợp của lưu lượng unicast, lưu lượng này sẽ được gửi đến địa chỉ VTEP.
VxLAN đóng gói dữ liệu và xác định gửi đến DG để lấy đường đi trong Overlay Network thông qua sử dụng cây multicast đã được xây dựng dành cho DG. Bài thực hành này sử dụng PIM BIDIR. Router RP cho BIDIR group có thể là bất cứ router nào trong mạng lưới lớp 3 Overlay Network. Nhiều địa chỉ mạng ảo VNIs có thể sử dụng cho cùng một DG và do đó lưu lượng cho những VNI này được gửi thông qua Overlay Network sẽ sử dụng cùng cây PIM BIDIR. Thiết bị Cisco Nexus có thể hỗ trợ tối đa là 200 DGs trên 1 VTEP được gửi đi.
Các note và lưu ý ở trang cuối LAB
TRÊN SWITCH NX01:
Tiến hành bật các feature ospf và pim trên switch nexus
NX01(config)#feature ospf NX01(config)#feature pim |
Lúc bật tính năng feature pim có thể sẽ hiện dòng thông báo, không cần quan tâm
Cấu hình tạo ospf 1
NX01(config)#router ospf 1 NX01(config-router)#router-id 100.100.100.1 |
Ta tiến hành cấu hình RP address và gán ospf 1 vừa tạo lên các cổng.
NX01(config)#ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4 bidir NX01(config)#int lo0 NX01(config-if)#ip add 100.100.100.1/32 NX01(config-if)#ip router ospf 1 area 0.0.0.0 NX01(config-if)#ip pim sparse-mode NX01(config)#int e2/1 NX01(config-if)#no switchport NX01(config-if)#ip add 20.1.1.1/30 NX01(config-if)#no sh NX01(config-if)#ip router ospf 1 area 0 NX01(config-if)#ip pim sparse-mode |
Bật tính năng VxLan trên Nexus
NX01(config)#feature nv overlay NX01(config)#feature vn-segment-vlan-based |
Tiến hành tạo vlan 10 và int nve1, tạo vni 10000 cũng như ánh xạ vni này cho multicast-group 230.1.1.1
NX01(config)#int e2/2 NX01(config-if)#switchport NX01(config-if)#switchport access vlan 10 NX01(config-if)#no shut NX01(config)#int nve1 NX01(config-if-nve)#no shut NX01(config-if-nve)#source-interface lo0 NX01(config-if-nve)#member vni 10000 mcast-group 230.1.1.1 NX01(config)#vlan 10 NX01(config-vlan)#vn-segment 10000 |
TRÊN SWITCH NX02:
Trên switch nexus NX02 ta thực hiện tương tự như NX01.
NX02(config)#feature ospf NX02(config)#feature pim NX02(config)#router ospf 1 NX02(config-router)#router-id 100.100.100.2 |
Đây sẽ là địa chỉ RP cho tất cả các multicast group, BIDIR là Bidirectional PIM
NX02(config)#ip pim rp-address 10.1.1.1 group-list 224.0.0.0/4 bidir NX02(config)#int lo0 NX02(config-if)#ip add 100.100.100.2/32 NX02(config-if)#ip router ospf 1 area 0 NX02(config-if)#ip pim sparse-mode NX02(config)#interface e2/1 NX02(config-if)#no switchport NX02(config-if)#ip add 30.1.1.1/30 NX02(config-if)#ip router ospf 1 area 0 NX02(config-if)#ip pim sparse-mode NX02(config-if)#no sh NX02(config)#feature nv overlay NX02(config)#feature vn-segment-vlan-based NX02(config)#int e2/2 NX02(config-if)#switchport NX02(config-if)#switchport access vlan 10 NX02(config-if)#no shut NX02(config)#int nve1 NX02(config-if-nve)#no shut NX02(config-if-nve)#source-interface loopback 0 NX02(config-if-nve)# member vni 10000 mcast-group 230.1.1.1 NX02(config)#vlan 10 NX02(config-vlan)#vn-segment 10000 |
Trên 3 router R,R3 và R4, chúng ta thực hiện định tuyến ospf kết hợp multicast routing là pim với chế độ sparse mode.
TRÊN R3:
Thực hiện bật chế độ multicast routing trên router, và trên interface đấu nối giữa các router, chúng ta gán interface đó vào ip multicast group 230.1.1.1 thông qua giao thực IGMP với lệnh ip igmp join-group 230.1.1.1.
R3(config)#ip multicast-routing R3(config)#int e0/0 R3(config-if)#ip add 20.1.1.2 255.255.255.252 R3(config-if)#ip ospf 1 area 0 R3(config-if)#ip pim sparse-mode R3(config-if)#no shut R3(config)#router ospf 1 R3(config-router)#router-id 3.3.3.3 R3(config)#int e0/1 R3(config-if)#ip add 10.1.1.2 255.255.255.252 R3(config-if)#ip pim sparse-mode R3(config-if)#ip ospf 1 area 0 R3(config-if)#no shut R3(config)#ip pim rp-address 10.1.1.1 R3(config)#int e0/1 R3(config-if)#ip igmp join-group 230.1.1.1 |
TRÊN R4:
R4(config)#ip multicast-routing R4(config)#int e0/0 R4(config-if)#ip add 30.1.1.2 255.255.255.252 R4(config-if)#ip ospf 1 area 0 R4(config-if)#ip pim sparse-mode R4(config-if)#no shut R4(config)#router ospf 1 R4(config-router)#router-id 4.4.4.4 R4(config)#int e0/1 R4(config-if)#ip address 50.1.1.2 255.255.255.252 R4(config-if)#ip ospf 1 area 0 R4(config-if)#ip pim sparse-mode R4(config-if)#ip igmp join-group 230.1.1.1 R4(config-if)#no shut R4(config)#ip pim rp-address 10.1.1.1 |
TRÊN R5:
Cổng interface e0/0 của R chính là Rendezvous Point.
R1(config)#int e0/0 R1(config-if)#ip add 10.1.1.1 255.255.255.252 R1(config-if)#no shut R1(config)#int e0/1 R1(config-if)#ip add 50.1.1.1 255.255.255.252 R1(config-if)#no shut R1(config)#router ospf 1 R1(config-router)#router-id 1.1.1.1 R1(config)#int range e0/0-1 R1(config-if-range)#ip ospf 1 area 0 R1(config-if-range)#ip pim spare-mode R1(config-if-range)#ip igmp join-group 230.1.1.1 R1(config)#ip pim rp-address 10.1.1.1 |
Trên 2 router biên là R3 và R4,thực hiện câu lệnh show ip pim neigbor để có thể xem các neigbor pim đã thiết lập định tuyến multicast.
R3#show ip pim neighbor PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, P - Proxy Capable, S - State Refresh Capable, G - GenID Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 20.1.1.1 Ethernet0/0 00:25:01/00:01:28 v2 1 / G 10.1.1.1 Ethernet0/1 00:26:47/00:01:31 v2 1 / S P G |
R4#show ip pim neighbor PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, P - Proxy Capable, S - State Refresh Capable, G - GenID Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 30.1.1.1 Ethernet0/0 00:26:28/00:01:42 v2 1 / G 50.1.1.1 Ethernet0/1 00:28:12/00:01:37 v2 1 / S P G |
Quay lại với switch nexus, chúng ta thực hiện các lệnh show nve vni, show nve peers và show mac address-table để kiểm tra xem vxlan đã hoạt động hay chưa.
NX02#show nve vni Codes: CP - Control Plane DP - Data Plane UC - Unconfigured SA - Suppress ARP SU - Suppress Unknown Unicast
Interface VNI Multicast-group State Mode Type [BD/VRF] Flags --------- -------- ----------------- ----- ---- ---------------- nve1 10000 230.1.1.1 Up DP L2 [10] |
NX02# show nve peers Interface Peer-IP State LearnType Uptime Router-Mac --------- --------------- ----- --------- -------- ------------ nve1 100.100.100.1 Down DP 00:03:13 n/a |
Có thể thấy trên NX02 ta đã có thể thấy được địa chỉ loopback của NX01 là địa chỉ nve peers.
Lần đầu show sẽ không thấy, sau khi lấy PC1 ping qua PC2 show lại sẽ thấy
NX01#show mac address-table Note: MAC table entries displayed are getting read from software. Use the 'hardware-age' keyword to get information related to 'Age' Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen,+ - primary entry using vPC Peer-Link, E - EVPN entry (T) - True, (F) - False , ~~~ - use 'hardware-age' keyword to retrieve age info VLAN/BD MAC Address Type age Secure NTFY Ports/SWID.SSID.LID ---------+-----------------+--------+---------+------+----+----- G - 5029.0001.002f static - F F sup-eth1(R) G 10 5029.0001.002f static - F F sup-eth1(R) |
NX02# show mac address-table VLAN/BD MAC Address Type age Secure NTFY Ports/SWID.SSID.LID ---------+-----------------+--------+---------+------+----+------ G - 5029.0002.002f static - F F sup-eth1(R) G 10 5029.0002.002f static - F F sup-eth1(R) |
Hai switch đã có thể thấy mac address của nhau trong mac address table.Thực hiện đặt ip và ping test giữa 2 pc thuộc 2 LAN của core switch NX01 và NX02. Hai PC được gán địa chỉ là 192.168.10 và 192.168.1.11.
Lưu ý: đặc điểm của vxlan là các host thuộc các vxlan không cần đặt gateway.
Chúng ta có thể thấy 2 PC trong 2 LAN đã có thể ping thấy nhau.
Một số lưu ý
- Trường hợp mở NXOS gặp boot loader thì thực hiện như sau:
Gõ dir để show
Tìm trong các file thấy file .bin thì nhập ( trường hợp ở đây nxos.9.3.1.bin )
boot bootflash:nxos.9.3.1.bin
- Note : Trong boot loader không cho copy, không cho tab, không cho nhấn mũi tên lên, không cho backspace ( gõ sai thì enter gõ lại )
Nếu gặp trường hợp sau thì nhập skip --> enter
Trường hợp yêu cầu login nhập thì username là admin password không nhập, chỉ nhấn enter ( nếu không được thì thử với admin/admin)
Lỗi thường mắc phải: vn-segment 10000 ( 4 số 0 )
Trên con Nexos SW bật tính năng ip routing multicast sofwa…
Khi gặp lỗi:
Thử ping từ loop nexos1 đến loop nexos 2 --> không được ---> lên các con SW, Router Show ip route xem mạng đã hội tụ chưa.
Nếu show ip pim neighboor không thấy --> kiểm tra trên các con SW, Router đã gõ đầy đủ các dòng ip pim spare-mode , ip igmp join-group , gõ đúng tên grop ( 230.1.1.1)