
Mục lục bài viết 9 phần
Một fabric VXLAN có thể hội tụ đúng nhưng vẫn làm ứng dụng treo khi kích thước gói vượt effective MTU. Đóng gói thêm header, MTU không đồng nhất hoặc ICMP bị chặn sẽ biến lỗi cấu hình thành packet loss khó thấy; bài này chuyển vấn đề đó thành ngưỡng đo, ma trận và test plan có thể lặp lại.
Bài viết giúp bạn
- Vì sao VXLAN biến MTU thành lỗi đầu-cuối?
- Topology và điểm quan sát
- Biến số phải kiểm soát
Vì sao VXLAN biến MTU thành lỗi đầu-cuối?
#VTEP đóng gói frame tenant vào UDP/IP/VXLAN trước khi chuyển qua underlay. Phần header bổ sung làm frame ngoài lớn hơn frame trong; VLAN tag, outer IPv4 hay IPv6 và tùy chọn của nền tảng có thể làm headroom thực tế khác nhau. Vì vậy không nên mặc định một con số overhead chung cho mọi topology mà phải tính từ frame bắt được trên wire.
Lỗi thường chỉ xuất hiện với payload lớn, luồng đặt DF hoặc ứng dụng phụ thuộc PMTUD. Ping nhỏ và control-plane adjacency vẫn xanh nên không đủ để kết luận fabric đạt yêu cầu.
Topology và điểm quan sát
#Topology tối thiểu gồm traffic generator A — leaf/VTEP A — underlay — leaf/VTEP B — traffic generator B. Nếu có ECMP, cần đủ số flow để đi qua nhiều path và ghi mapping flow–path. Tách ba điểm capture: trước encapsulation, trên underlay và sau decapsulation.
Đồng bộ thời gian cho generator, VTEP telemetry và capture. Ghi rõ MTU của NIC, port-channel, routed link, tunnel interface và thiết bị trung gian; MTU thấp nhất trên path mới là giới hạn cần kiểm chứng.

Biến số phải kiểm soát
#Giữ cố định outer IP family, số VLAN tag, ECMP hash, offload NIC, DF policy, ICMP filtering, QoS và tốc độ offered load. Với máy chủ thật, TSO/GSO/GRO có thể làm capture trên host không phản ánh frame trên wire; cần ghi trạng thái offload hoặc dùng TAP/packet broker tại đường truyền.
Chạy riêng IPv4 và IPv6 tenant. IPv6 router không phân mảnh gói đang chuyển tiếp; nguồn dựa vào Packet Too Big để điều chỉnh. Với IPv4, hành vi còn phụ thuộc DF và nơi fragmentation diễn ra. Không gộp hai kết quả thành một pass/fail.
KPI và bằng chứng
#KPI chính gồm largest lossless inner frame, throughput/goodput theo kích thước, packet loss, out-of-order, latency p50/p95/p99, số ICMP Too Big/Fragmentation Needed, fragment/reassembly error và thời gian ứng dụng phục hồi. Ghi cả drop counter theo interface, tunnel và ASIC nếu nền tảng cung cấp.
Một kết luận tốt phải nối được: payload kích thước X → outer frame kích thước Y → đi qua path Z → counter/capture nào cho thấy drop → ứng dụng biểu hiện ra sao. Chỉ thấy retransmission TCP ở client chưa đủ xác định vị trí lỗi.
Ma trận kích thước gói
#Không dùng duy nhất frame-size sweep tuyến tính. Cần tăng mật độ mẫu quanh ngưỡng và lặp lại ở offered load thấp/cao để tách lỗi MTU khỏi congestion.
- Nhóm thử: Baseline · Kích thước: Nhỏ hơn ngưỡng rõ rệt · DF/PMTUD: Theo mặc định · Kỳ vọng: Không loss · Bằng chứng bắt buộc: Capture hai đầu, counter sạch
- Nhóm thử: Boundary · Kích thước: Ngưỡng −1, ngưỡng, ngưỡng +1 · DF/PMTUD: Bật DF · Kỳ vọng: Xác định điểm chuyển trạng thái · Bằng chứng bắt buộc: Outer frame và ICMP
- Nhóm thử: Jumbo · Kích thước: Theo MTU tenant dự kiến · DF/PMTUD: Bật/tắt · Kỳ vọng: Theo policy đã công bố · Bằng chứng bắt buộc: Goodput, fragment/drop
- Nhóm thử: ICMP blocked · Kích thước: Quá ngưỡng · DF/PMTUD: Bật DF · Kỳ vọng: Phơi bày PMTUD black hole · Bằng chứng bắt buộc: TCP retransmit, timeout
- Nhóm thử: ECMP · Kích thước: Quanh ngưỡng, nhiều flow · DF/PMTUD: Bật DF · Kỳ vọng: Mọi path đồng nhất · Bằng chứng bắt buộc: Flow–path và loss từng path
Test plan theo từng pha
#- Inventory: xuất MTU và encapsulation của toàn path; chụp cấu hình có timestamp.
- Baseline không tunnel: đo path underlay trực tiếp nếu có thể để xác nhận generator và link.
- Sweep tenant: gửi UDP có sequence number qua dải kích thước; tìm ngưỡng đầu tiên xuất hiện loss.
- Boundary: lặp ngưỡng −1/0/+1 với IPv4 DF, IPv4 không DF và IPv6.
- Ứng dụng: chạy TCP, HTTPS hoặc workload thật; ghi MSS, retransmission, timeout và goodput.
- Failure injection: hạ MTU một link hoặc chặn ICMP trong phạm vi lab; xác nhận monitoring phát hiện.
- Recovery: trả cấu hình, xác nhận counter dừng tăng và baseline trở lại.

Checklist nghiệm thu
#- MTU từng hop và tunnel đã được lưu cùng phiên bản cấu hình.
- Outer frame thực tế được đo, không chỉ ước lượng.
- IPv4 DF, IPv4 fragmentation và IPv6 PMTUD được test riêng.
- ICMP Too Big/Fragmentation Needed không bị chặn ngoài chủ đích.
- ECMP path đều đi qua test set.
- Offload NIC và vị trí capture được ghi rõ.
- Pass/fail có ngưỡng loss, tail latency và application error.
- Có rollback và baseline sau thử lỗi.
Giới hạn kết luận
#Kết quả chỉ áp dụng cho encapsulation, MTU, đường đi, phiên bản NOS/ASIC và traffic profile đã đo. Một path lossless ở 10% line rate không chứng minh không có microburst ở full load; ngược lại, loss khi tải cao chưa chắc do MTU. Nếu underlay đổi route hoặc có service chaining, phải chạy lại path coverage.
Khái niệm cần nhớ
#- VTEP: Điểm đóng/mở gói VXLAN.
- Effective MTU: Payload lớn nhất đi hết path theo điều kiện thực tế.
- PMTUD: Cơ chế nguồn tìm MTU nhỏ nhất trên đường đi.
- DF: Cờ IPv4 yêu cầu không phân mảnh.
- Silent drop: Gói bị bỏ nhưng nguồn không nhận thông báo hữu ích.
- Goodput: Dữ liệu ứng dụng hữu ích, không tính overhead/retransmission.
Khái niệm cần nhớ
- DUT / SUT
- Thiết bị hoặc toàn bộ hệ thống đang là đối tượng của bài kiểm thử.
- Steady state
- Giai đoạn tải đã ổn định và đủ điều kiện để lấy số liệu đại diện.
- Pass / fail
- Kết luận dựa trên ngưỡng đã thống nhất, luôn đi cùng topology, cấu hình và điều kiện đo.
TÀI LIỆU ĐỐI CHIẾUTài liệu tham khảo4 nguồn +
Nội dung được biên soạn độc lập, theo hướng vendor-neutral và đối chiếu các tài liệu gốc dưới đây. Tính năng sản phẩm cần được kiểm tra lại theo phiên bản đang sử dụng.
NetVali ưu tiên nguồn tiêu chuẩn và tài liệu chính thức; phân biệt khuyến nghị triển khai với yêu cầu của tiêu chuẩn; không công bố thông số sản phẩm chưa gắn với phiên bản và điều kiện đo.
