Giải thích hoạt động của VXLAN | Series Lab VXLAN 8

15/10/2026
Bởi Kai Nguyen
Mục này là phần 9 của 9 trong series Series Lab VXLAN

Nếu bạn lười đọc và muốn nghe thay vì đọc, có thể xem video hướng dẫn bên dưới:

Giải thích hoạt động của VXLAN là bài 8 (bài tổng kết) trong series Lab VXLAN EVPN, thực hiện trên Cisco Nexus (GNS3) — tổng hợp lại toàn bộ lộ trình CCNP ENCOR tại KAI NETWORKS. Nếu bạn muốn học bài bản từ đầu, hãy xem toàn bộ series lab VXLAN EVPN trên nền tảng LMS của KAI NETWORKS.

Giải thích hoạt động của VXLAN qua 4 tình huống thực tế

Bài này mô tả trạng thái fabric SAU khi đã hoàn thành bài 7, tức là: gateway là Anycast Gateway trên các Leaf (không còn gateway tập trung trên C7200 như bài 5), và BUM traffic dùng Multicast (không còn ingress replication như bài 4). Nếu bạn đang dừng ở trạng thái của bài 5, các output sẽ khác với bài này.

Bài này tóm tắt và giải thích lại toàn bộ packet flow trong VXLAN EVPN, tập trung vào: khi packet đi tới Leaf, Leaf làm gì, tra bảng nào để forward, biết gửi tới Leaf nào bằng cách nào, thông tin đó đến từ đâu, và dùng lệnh show nào để kiểm tra.

💡 Chưa xem các bài cấu hình trước? Bài này giải thích cách VXLAN hoạt động dựa trên cấu hình đã làm ở các bài 2-7 — nếu bạn mới bắt đầu, tham khảo khóa học CCNA/CCNP ENCOR tại KAI NETWORKS hoặc xem lịch khai giảng gần nhất.

Phần 1 — Hai PC khác VLAN, cùng switch Leaf

PC-1 (VLAN 10, 192.168.10.100/24) và PC-2 (VLAN 20, 192.168.20.100/24) cùng cắm vào Leaf-1, Leaf-1 là gateway (Anycast) cho cả hai VLAN. Vì khác subnet, PC-1 không ARP trực tiếp MAC của PC-2 mà ARP hỏi MAC gateway trước — đây chính là inter-VLAN routing mà các bạn đã biết, chỉ khác là MAC gateway giờ là MAC anycast:

ubuntu
ubuntu$ arp
Address        HWtype   HWaddress           Flags Mask   Iface
192.168.10.1   ether    00:00:22:22:33:33.  C            ens3

Sau ARP, gói tin được routing ngay tại Leaf-1 — không đi qua VXLAN Tunnel, vì cả hai PC đều nằm dưới cùng một Leaf.

Phần 2 — Hai PC cùng VLAN, khác switch Leaf

PC-1 (192.168.10.100, dưới Leaf-1) và PC-3 (192.168.10.200, dưới Leaf-2) cùng VLAN — đây là forwarding Layer 2 over VXLAN.

PC-1 gửi ARP Request để tìm MAC của PC-3. ARP Request là broadcast — một loại BUM traffic. Vì ở bài 6 đã chuyển BUM sang Multicast, Leaf-1 gửi gói này vào group multicast của VNI 10010:

Leaf-1
Leaf-1# show nve vni
Interface VNI      Multicast-group   State Mode Type [BD/VRF]      Flags
--------- -------- ----------------- ----- ---- ------------------ -----
nve1      10010    239.1.1.10        Up    CP   L2 [10]
nve1      10020    239.1.1.20        Up    CP   L2 [20]
nve1      50000    n/a               Up    CP   L3 [TENANT_A]

Các Leaf trong group nhận packet, gỡ VXLAN header, forward xuống VLAN 10. PC-3 trả lời ARP Reply — đây là unicast, nên Leaf-2 đóng gói thẳng vào VXLAN tunnel unicast tới VTEP Leaf-1 (không cần multicast nữa).

Vì sao Leaf-1 biết phải gửi cho Leaf-2?

1. Leaf-2 học MAC/IP của PC-3 (local learning) — khi thấy ARP reply trên port local, Leaf-2 học vào MAC table và L2RIB:

Leaf-2
Leaf-2# show l2route evpn mac-ip evi 10
Topology    Mac Address    Host IP           Prod   Flags
10          5046.3c00.dd00 192.168.10.200    HMM    L,
            0         Local

2. Leaf-2 quảng bá MAC/IP này qua BGP EVPN Route Type-2 (MAC/IP Advertisement) — chứa MAC PC-3, IP PC-3, next-hop = VTEP Leaf-2, RD/RT tương ứng VNI 10010. Route gửi qua iBGP tới Spine (route reflector), Spine đẩy tiếp tới Leaf-1. Đây chính là câu trả lời: Leaf-1 biết gửi cho Leaf-2 vì nhận được Type-2 route cho biết “MAC PC-3 nằm sau VTEP có loopback = Leaf-2”.

Leaf-1
Leaf-1# show bgp l2vpn evpn route-type 2 | i 5046.3c00.dd00
BGP routing table entry for [2]:[0]:[0]:[48]:[5046.3c00.dd00]:[0]:[0.0.0.0]/216
  Imported from 10.4.4.4:32777:...
BGP routing table entry for [2]:[0]:[0]:[48]:[5046.3c00.dd00]:[32]:[192.168.10.200]/272
  Imported from 10.4.4.4:32777:...

NLRI Route Type-2 đọc như sau: [Route Type]:[ESI]:[Ethernet Tag]:[MAC length]:[MAC]:[IP length]:[IP]. Khi IP length = 0 → route MAC-only (chỉ phục vụ bridging). Khi IP length = 32 → route mang cả MAC lẫn IP, phục vụ cả bridging (L2) lẫn routing/ARP-suppression (L3) — nhờ route MAC-IP này mà Anycast Gateway ở Leaf khác có thể route thẳng đến PC-3 mà không cần broadcast ARP lại.

3. Leaf-1 cài route này vào bảng MAC/L2RIB, nhờ đó packet có destination MAC 5046.3c00.dd00 được đóng gói vào VXLAN Tunnel gửi đến Leaf-2:

Leaf-1
Leaf-1# show l2route evpn mac-ip evi 10
Topology    Mac Address    Host IP           Prod   Flags
10          507b.a400.db00 192.168.10.100    HMM    L,
            0         Local
10          5046.3c00.dd00 192.168.10.200    BGP    --
            0         10.4.4.4 (Label: 10010)

Lệnh show nve peers hiển thị danh sách VTEP peer mà Leaf có khả năng trao đổi VXLAN unicast — entry chỉ xuất hiện sau khi nhận được Type-2/Type-3 route, nên đây là bằng chứng trực tiếp control-plane đã build xong đường unicast VTEP-to-VTEP:

Leaf-1
Leaf-1# show nve peers
Interface Peer-IP      State LearnType Uptime   Router-Mac
nve1      10.4.4.4     Up    CP        1w5d     5000.d900.1b08
nve1      10.5.5.5     Up    CP        1w5d     5000.da00.1b08

Nếu peer không xuất hiện dù đã có route Type-2, khả năng cao là RT mismatch hoặc peering BGP EVPN gặp vấn đề.

Route Type-2 mang MAC-IP có 2 route-target (RT:65000:10010 khớp L2VNI 10010, RT:65000:50000 khớp L3VNI/VRF), nên được import cùng lúc vào 3 nơi: L2-10010 (MAC-VRF, bridge/ARP-suppression), L3-50000 (L3VNI transit) và TENANT_A (VRF khách hàng, host-route được cài trực tiếp vào bảng định tuyến IP). Đây chính là cơ chế symmetric IRB: 1 route Type-2 mang IP dùng đồng thời cho cả bridging lẫn routing.

Phần 3 — Hai PC khác VLAN, khác switch Leaf

PC-1 (VLAN 10) và PC-4 (VLAN 20, 192.168.20.200, dưới Leaf-2). Khác Phần 2, vì khác VLAN nên PC-1 gửi tới default gateway trước — nhờ Anycast Gateway, gateway MAC giống hệt nhau trên mọi Leaf nên PC-1 luôn ARP ra được gateway ngay tại Leaf-1. Phần này tập trung vào cách Leaf-1 (đóng vai gateway) định tuyến gói IP tiếp đến 192.168.20.200.

Leaf-1 nhận frame tại SVI VLAN 10, thấy Dst MAC = MAC gateway của chính nó → route (không bridge) dựa trên Dst IP. Route đến host 192.168.20.200 đã được học tương tự Phần 2 (Route Type-2 từ Leaf-2, RT khớp cả L2VNI 10020 lẫn L3VNI 50000), và được cài vào VRF TENANT_A:

Leaf-1
Leaf-1# show ip route vrf TENANT_A
192.168.20.200/32, ubest/mbest: 1/0
    *via 10.4.4.4%default, [200/0], bgp-65000, internal, segid: 50000 encap: VXLAN

Điểm dễ nhầm nhất: gói tin đi qua VXLAN với VNI = 50000 (L3VNI), chứ không phải VNI = 10020 (L2VNI của VLAN 20) — vì đây là routing (L3), symmetric IRB luôn dùng L3VNI cho traffic inter-VLAN bất kể VLAN nguồn/đích là gì.

Src IP/Dst IP giữ nguyên là PC-1/PC-4, nhưng Src MAC/Dst MAC ở outer+inner header đổi thành Router MAC của Leaf-1 và Leaf-2 (không phải MAC cổng vật lý, mà là MAC đại diện cho chính VTEP đó — xem cột Router-Mac trong show nve peers).

Phần 4 — Gửi dữ liệu ra Internet

PC-1 ping 8.8.8.8. Tương tự Phần 3, nhưng lúc này quan tâm đến route 0.0.0.0/0:

  1. Border-Leaf có static default route trong VRF TENANT_A trỏ về C7200 (ip route 0.0.0.0/0 192.168.99.2 — bài 7, mục 5), redistribute static vào BGP EVPN.
  2. Border-Leaf tạo Route Type-5 (IP Prefix Route), gắn RT:65000:50000, kèm Router MAC của Border-Leaf, advertise qua BGP EVPN.
  3. Leaf-1 nhận route, RT khớp VRF TENANT_A + L3VNI 50000 → import trực tiếp vào VRF, cài vào bảng định tuyến.
Leaf-1
Leaf-1# show ip route vrf TENANT_A
0.0.0.0/0, ubest/mbest: 1/0
    *via 10.5.5.5%default, [200/0], bgp-65000, internal, segid: 50000 encap: VXLAN

Gói tin đi qua VXLAN với VNI = 50000 (L3VNI, giống Phần 3), outer header hướng đến Border-Leaf, inner header giữ Src IP = PC-1 / Dst IP = 8.8.8.8. Từ Border-Leaf trở đi, gói tin đi theo cấu hình NAT overload sẵn có trên C7200 ra Internet.

Học CCNA & CCNP ENCOR bài bản cùng KAI NETWORKS

Series Lab VXLAN EVPN này là một phần trong lộ trình đào tạo thực chiến của KAI NETWORKS, giúp bạn nắm vững cấu hình Underlay, Overlay và VXLAN EVPN trên Cisco Nexus từ cơ bản đến nâng cao.

Điều hướng Loạt<< Anycast Gateway | Series Lab VXLAN 7
Chia sẻ bài viết:
HotlineZalo
→ Chỉ mục