Loading...

VXLAN là gì? Nguyên lý hoạt động và cấu hình trên Cisco Nexus kèm LAB

VXLAN (Virtual Extensible LAN) là công nghệ overlay đóng gói frame Ethernet Layer 2 vào gói UDP/IP, cho phép mở rộng mạng Layer 2 trên hạ tầng Layer 3. VXLAN dùng định danh VNI (VXLAN Network Identifier) dài 24 bit (khoảng 16 triệu segment) thay cho VLAN ID 12 bit (khoảng 4.000 VLAN), nên rất phù hợp với Data Center spine-leaf và môi trường multi-tenant.

Điểm nhanh

  • Đóng gói: Outer Ethernet + Outer IP + UDP (cổng đích 4789) + VXLAN header (8 byte) + frame gốc. Overhead khoảng 50 byte.
  • VTEP: thiết bị đóng/giải đóng gói; trên Cisco Nexus đại diện bởi interface NVE, nên bind vào một loopback riêng dành cho VXLAN.
  • VNI: mã định danh segment 24 bit, map với VLAN cục bộ.
  • Underlay: mạng IP routed (OSPF/IS-IS/BGP), chỉ cần đảm bảo reachability giữa các VTEP.
  • Control plane: flood-and-learn (multicast) hoặc BGP EVPN (khuyến nghị cho production).
  • LAB trong bài: 2 switch Cisco Nexus 9000, OSPF + PIM + multicast flood-and-learn.

Mô hình VXLAN: ba VTEP nối qua mạng IP underlay, VLAN 10/20/30 ánh xạ sang VNI 10010/10020/10030

1. VXLAN giải quyết vấn đề gì?

VLAN truyền thống bộc lộ ba hạn chế khi lên quy mô Data Center:

  1. Số lượng segment: VLAN ID 12 bit giới hạn khoảng 4.000 VLAN, không đủ cho môi trường nhiều tenant. VNI 24 bit của VXLAN cho phép khoảng 16 triệu segment.
  2. Khó kéo giãn Layer 2: VLAN gắn chặt với hạ tầng Layer 2 vật lý, khó mở rộng qua nhiều rack, pod hoặc site.
  3. Không hợp với routed fabric: Data Center hiện đại ưu tiên Layer 3 ở underlay để tận dụng ECMP và hội tụ nhanh. VXLAN cho phép Layer 3 ở dưới, Layer 2 logic ở trên.

2. Các thành phần chính

Thành phầnVai trò
VTEP Điểm đầu cuối tunnel: encapsulate khi gửi, decapsulate khi nhận.
VNI Mã định danh segment VXLAN 24 bit, ví dụ VLAN 10 ↔ VNI 10010.
NVE interface Interface logic của VTEP trên Nexus: khai báo source-interface, member vni, multicast group (flood-and-learn).
Underlay Mạng IP vật lý chuyển gói giữa các VTEP; quảng bá loopback VTEP.
Overlay Mạng logic VXLAN chứa các VNI/tenant chạy trên underlay.

3. VXLAN hoạt động như thế nào?

Cấu trúc gói tin VXLAN: Outer Ethernet, Outer IP, UDP cổng 4789, VXLAN header chứa VNI và frame gốc

  1. Leaf nhận frame Ethernet từ host tại cổng access (ví dụ VLAN 10).
  2. Leaf tra bảng VLAN → VNI (VLAN 10 → VNI 10010).
  3. VTEP đóng gói: thêm VXLAN header, UDP, Outer IP (nguồn/đích là loopback các VTEP) và Outer Ethernet.
  4. Underlay chỉ định tuyến gói IP từ VTEP nguồn tới VTEP đích, không cần biết MAC của tenant.
  5. VTEP đích đọc VNI, giải đóng gói và chuyển frame gốc ra cổng access tới host đích.

Vì VXLAN thêm khoảng 50 byte header, MTU underlay cần lớn hơn MTU của host (thực tế thường đặt 9216 trên Nexus) để tránh phân mảnh hoặc drop.

4. Control plane: flood-and-learn và BGP EVPN

  • Flood-and-learn dùng multicast: mỗi VNI gắn với một multicast group để xử lý BUM traffic (broadcast, unknown unicast, multicast). Dễ hiểu, phù hợp để học nguyên lý và dựng LAB. Cần PIM và một Rendezvous Point (RP).
  • BGP EVPN: quảng bá MAC/IP qua BGP, giảm flooding, scale tốt hơn; là hướng thiết kế phổ biến cho production. Xem thêm L2 VXLAN và L3 VXLAN để hiểu L2VNI/L3VNI trong fabric EVPN.

Phần LAB bên dưới dùng flood-and-learn để dễ theo dõi từng bước.

5. LAB: VXLAN giữa 2 Cisco Nexus

5.1 Sơ đồ

Sơ đồ LAB VXLAN giữa 2 Cisco Nexus: loopback VTEP, VLAN 10 ánh xạ VNI 10010, multicast 239.1.1.10

5.2 Thông số

Thành phầnLeaf-1Leaf-2
Eth1/1 (underlay) 192.168.12.1/30 192.168.12.2/30
Loopback0 (router-id, RP) 10.10.10.1/32 10.10.10.2/32
Loopback1 (VTEP) 10.20.20.1/32 10.20.20.2/32
VLAN / VNI 10 / 10010 10 / 10010
Multicast group 239.1.1.10 239.1.1.10
Host Host-A 192.168.10.11/24 Host-B 192.168.10.22/24

Mục tiêu: Host-A và Host-B ở hai switch khác nhau nhưng cùng VLAN 10 ping được nhau qua VXLAN.

Lưu ý theo tài liệu Cisco (NX-OS 10.6(x)):

  • Interface NVE nên bind vào loopback riêng cho VXLAN, không dùng chung với loopback của các giao thức Layer 3 (router-id, RP…). Vì vậy LAB dùng Loopback0 cho OSPF/RP và Loopback1 làm VTEP.
  • Flood-and-learn dùng multicast PIM ASM; Cisco ghi PIM BiDir không hỗ trợ flood-and-learn.
  • Flood-and-learn chỉ hỗ trợ gateway tập trung (cặp vPC + FHRP), không có anycast gateway. Anycast gateway chỉ dùng được với BGP EVPN.
  • Không phải dòng Nexus 9000 nào cũng hỗ trợ flood-and-learn (ví dụ 9364E-SG2, 9300-SE1 và N9300 Smart không hỗ trợ). Hãy tra Nexus Switch Platform Support Matrix trước khi dựng LAB trên phần cứng thật.

Lưu ý khi triển khai LAB: mô hình multicast cần có RP (ip pim rp-address). Nếu thiếu, BUM traffic không được chuyển tiếp giữa các VTEP và ping/ARP sẽ thất bại. Trong LAB này dùng RP tĩnh đặt trên Loopback0 của Leaf-1; trong production thường đặt RP (Anycast RP) trên spine.

5.3 Cấu hình Leaf-1

configure terminal
feature ospf
feature pim
feature nv overlay
feature vn-segment-vlan-based

! --- Underlay
router ospf 1
  router-id 10.10.10.1

interface Ethernet1/1
  no switchport
  mtu 9216
  ip address 192.168.12.1/30
  ip router ospf 1 area 0
  ip pim sparse-mode
  no shutdown

interface loopback0
  ip address 10.10.10.1/32
  ip router ospf 1 area 0
  ip pim sparse-mode

! --- Loopback riêng cho VTEP
interface loopback1
  ip address 10.20.20.1/32
  ip router ospf 1 area 0
  ip pim sparse-mode

! --- RP tĩnh cho multicast (LAB)
ip pim rp-address 10.10.10.1 group-list 239.1.1.0/24

! --- VLAN -> VNI
vlan 10
  vn-segment 10010

interface Ethernet1/10
  switchport
  switchport mode access
  switchport access vlan 10
  no shutdown

! --- VTEP
interface nve1
  no shutdown
  source-interface loopback1
  member vni 10010
    mcast-group 239.1.1.10

5.4 Cấu hình Leaf-2

Giống Leaf-1, chỉ khác địa chỉ IP và router-id:

configure terminal
feature ospf
feature pim
feature nv overlay
feature vn-segment-vlan-based

router ospf 1
  router-id 10.10.10.2

interface Ethernet1/1
  no switchport
  mtu 9216
  ip address 192.168.12.2/30
  ip router ospf 1 area 0
  ip pim sparse-mode
  no shutdown

interface loopback0
  ip address 10.10.10.2/32
  ip router ospf 1 area 0
  ip pim sparse-mode

interface loopback1
  ip address 10.20.20.2/32
  ip router ospf 1 area 0
  ip pim sparse-mode

ip pim rp-address 10.10.10.1 group-list 239.1.1.0/24

vlan 10
  vn-segment 10010

interface Ethernet1/10
  switchport
  switchport mode access
  switchport access vlan 10
  no shutdown

interface nve1
  no shutdown
  source-interface loopback1
  member vni 10010
    mcast-group 239.1.1.10

5.5 Ý nghĩa các lệnh quan trọng

LệnhÝ nghĩa
feature nv overlay Bật chức năng network virtualization overlay (VXLAN).
feature vn-segment-vlan-based Cho phép map VLAN sang VNI (vn-segment).
feature pim + ip pim sparse-mode Bật multicast routing trên underlay và loopback.
ip pim rp-address ... group-list ... Chỉ định RP cho dải multicast group dùng cho VNI.
mtu 9216 (Eth1/1) Nâng MTU underlay để chứa thêm khoảng 50 byte VXLAN.
vn-segment 10010 Gắn VLAN 10 với VNI 10010.
source-interface loopback1 Dùng loopback riêng (/32, nằm trong default VRF) làm IP nguồn VTEP; ổn định hơn cổng vật lý và không dùng chung với loopback của giao thức Layer 3.
member vni 10010 / mcast-group 239.1.1.10 Khai báo VNI trên NVE và gắn multicast group xử lý BUM.

5.6 Cấu hình IP cho host

  • Host-A: 192.168.10.11/255.255.255.0
  • Host-B: 192.168.10.22/255.255.255.0

Không cần default gateway vì hai host cùng subnet.

6. Kiểm tra và đọc kết quả

Các kết quả dưới đây là ví dụ minh họa; MAC, uptime và định dạng cột có thể khác tùy phiên bản NX-OS.

Underlay và multicast (kiểm tra trước):

show ip ospf neighbors     ! hai leaf phải ở trạng thái FULL
show ip route 10.20.20.2   ! Leaf-1 phải có route tới loopback VTEP của Leaf-2
show ip pim neighbor       ! PIM neighbor phải lên trên Eth1/1
show ip pim rp             ! RP 10.10.10.1 phải được nhận diện

Overlay:

show nve interface
Interface: nve1, State: Up, encapsulation: VXLAN
Source-Interface: loopback1 (primary: 10.20.20.1)

State: Up và đúng source-interface nghĩa là VTEP đã sẵn sàng.

show nve vni
Interface VNI      Multicast-group  State Mode Type [BD/VRF]
--------- -------- ---------------- ----- ---- -------------
nve1      10010    239.1.1.10       Up    DP   L2 [10]

Mode DP (data plane learning) là đặc trưng của flood-and-learn; với BGP EVPN, cột này sẽ là CP (control plane). Type L2 [10] cho biết đây là L2VNI gắn với VLAN 10.

show nve peers
Interface Peer-IP       State LearnType Uptime
--------- ------------- ----- --------- --------
nve1      10.20.20.2    Up    DP        00:18:42

Với flood-and-learn, peer chỉ xuất hiện sau khi có traffic (ví dụ sau lần ping/ARP đầu tiên). Nếu chưa có traffic từ host, danh sách peer rỗng là bình thường.

show mac address-table vlan 10
vlan   mac address     type      ports
10     0050.56aa.1111  dynamic   Eth1/10
10     0050.56bb.2222  dynamic   nve1(10.20.20.2)

MAC học trên Eth1/10 là Host-A (local); MAC học qua nve1 là Host-B ở VTEP bên kia.

Ping test

Host-A# ping 192.168.10.22
64 bytes from 192.168.10.22: icmp_seq=1 ttl=64 time=1.2 ms
...
4 packets transmitted, 4 packets received, 0.0% packet loss

Ping thành công chứng tỏ hai host ở hai switch khác nhau hoạt động như trong cùng một LAN, còn hạ tầng giữa chúng chỉ là mạng IP Layer 3.

7. Lỗi thường gặp khi dựng LAB VXLAN

Hiện tượngNguyên nhân thường gặpKiểm tra
NVE Down Thiếu feature, loopback VTEP chưa up hoặc chưa quảng bá vào OSPF, no shutdown chưa bật show nve interface, show run interface nve1
Không thấy peer dù đã ping Không có route tới loopback đối tác, hoặc multicast không thông show ip route, show ip pim neighbor, show ip mroute 239.1.1.10
ARP không resolve Thiếu RP hoặc PIM chưa bật trên loopback/underlay show ip pim rp, kiểm tra ip pim sparse-mode
Ping nhỏ được, gói lớn mất MTU underlay chưa đủ cho overhead VXLAN Nâng mtu 9216 trên underlay
MAC không học qua nve1 VNI hoặc multicast group hai đầu không khớp show nve vni ở cả hai leaf

8. Từ LAB lên production

LAB 2 điểm cho thấy các nguyên lý cốt lõi: VTEP dùng loopback, underlay chỉ cần IP reachability, segment tách bằng VNI, MAC remote học qua overlay. Tuy nhiên thiết kế production thường khác ở các điểm sau:

  • Dùng BGP EVPN thay cho multicast flood-and-learn để giảm flooding, scale tốt hơn và dùng được anycast gateway.
  • Có hai spine (Cisco khuyến nghị đặt RP chỉ ở lớp spine và dùng Anycast RP nếu còn dùng multicast), nhiều leaf, ECMP ở underlay.
  • Có L3VNI/VRF và anycast gateway để routing phân tán tại leaf.
  • Thiết kế vPC, kết nối ra ngoài fabric, bảo mật và giám sát.

Chi tiết xem thêm tại L2 VXLAN và L3 VXLAN: khác biệt và ứng dụng.

9. Câu hỏi thường gặp (FAQ)

VXLAN dùng cổng UDP nào? VXLAN dùng UDP, cổng đích chuẩn là 4789 (RFC 7348).

VXLAN thêm bao nhiêu byte overhead? Khoảng 50 byte (Outer Ethernet, Outer IP, UDP và VXLAN header). Vì vậy MTU underlay cần lớn hơn MTU của host.

VXLAN khác VLAN ở điểm nào? VLAN dùng ID 12 bit (khoảng 4.000 segment) và gắn với hạ tầng Layer 2. VXLAN dùng VNI 24 bit (khoảng 16 triệu segment) và chạy trên hạ tầng IP Layer 3.

VXLAN có bắt buộc dùng EVPN không? Không. VXLAN có thể chạy với flood-and-learn dùng multicast hoặc static ingress replication, nhưng BGP EVPN là lựa chọn phổ biến cho production.

Dòng switch Cisco nào dùng để triển khai VXLAN Data Center? Bài LAB dùng Cisco Nexus 9000 (NX-OS). Tham khảo thêm switch Cisco Nexus tại VNExperts; khả năng hỗ trợ VXLAN và license cụ thể cần đối chiếu theo datasheet của từng model/phiên bản phần mềm.

10. Kết luận

VXLAN giúp mở rộng Layer 2 trên nền Layer 3 và vượt giới hạn VLAN trong Data Center hiện đại. Trên Cisco Nexus, cần nắm: loopback VTEP, ánh xạ VLAN-to-VNI, interface NVE, underlay có reachability (và multicast + RP nếu dùng flood-and-learn), MTU đủ lớn, cùng các lệnh show nve interface, show nve vni, show nve peers để kiểm tra.

Tham khảo: Cisco Nexus 9000 Series NX-OS VXLAN Configuration Guide, Release 10.6(x) (các chương Overview, Configure VXLAN, Configure VXLAN BGP EVPN) và Cisco – "Configure VXLAN Flood and Learn Using Multicast Core" (Doc ID 200262).

Tìm hiểu thêm