
Mục lục bài viết 10 phần
1. Câu hỏi kiểm thử cần trả lời 2. Topology và điểm đo 3. Biến số phải kiểm soát 4. KPI và bằng chứng đầu ra 5. Ma trận quyết định 6. Test plan theo từng pha 7. Fairness và các kết luận dễ sai 8. Runbook thực hành 9. Giới hạn kết luận
Bài viết giúp bạn
- Câu hỏi kiểm thử cần trả lời
- Topology và điểm đo
- Biến số phải kiểm soát
Câu hỏi kiểm thử cần trả lời
#Test phải trả lời bottleneck bắt đầu mark/drop ở điều kiện nào, queue delay được giữ ra sao, sender có phản ứng với CE hay không và các flow chia sẻ capacity thế nào. Tách hỗ trợ ECN trong packet format khỏi việc ECN thực sự hoạt động end-to-end.
Định nghĩa mục tiêu service: latency p99, packet loss, throughput tối thiểu và fairness dưới steady load lẫn burst. Không đặt mục tiêu “zero loss” nếu transport và AQM được thiết kế để dùng loss hoặc mark làm tín hiệu congestion.
Topology và điểm đo
#Lab gồm nhiều sender, bottleneck có queue/AQM cấu hình được, receiver và đường return path. Capture trước và sau bottleneck; thu queue occupancy/sojourn time, ECN counters, drop counters, per-flow throughput và sender congestion-control telemetry.
Đặt network emulator ngoài DUT nếu cần kiểm soát base RTT, jitter và loss không do queue. Đồng bộ clock; đo one-way delay khi có time accuracy đủ, nếu không dùng RTT và nêu giới hạn.

Biến số phải kiểm soát
#Khóa link rate, buffer size, AQM algorithm/target/interval, scheduler, ECN mode và DSCP mapping. Với endpoint, ghi OS/kernel, congestion control, offload, pacing, initial window và ECN negotiation.
Traffic profile phải nêu flow count, duration, object size, start-time distribution, RTT mix, long/short flow ratio, UDP/background load và burst. Ghi frame size, MTU và encapsulation; không so cấu hình nếu một bên có shaping hoặc offload khác.
KPI và bằng chứng đầu ra
#KPI · Cách đo · Bằng chứng Queue delay · RTT trừ baseline hoặc sojourn · Histogram/timeline CE marking ratio · CE/ECT packet · Pcap + counter Packet loss · Drop/Rx gap theo flow · DUT + generator Throughput/goodput · Bit/s và payload/s · Per-flow raw data Fairness · Jain index và phân phối · Per-flow series Flow completion · p50/p95/p99 theo size · Application log Recovery · Burst kết thúc → delay ổn định · Timeline
Đối chiếu packet capture với device counter và sender response. CE tăng mà sending rate không đổi có thể là endpoint không phản ứng hoặc phép đo không thấy feedback; không vội kết luận AQM sai.
Ma trận quyết định
#Tình huống · So sánh · Câu hỏi chính Tail drop · Baseline · Delay/loss khi buffer đầy? AQM drop · Không ECN · Delay đổi với cost loss nào? AQM + ECN · ECT flow · CE có thay loss? Mixed ECN · ECT và non-ECT · Có starvation/unfairness? RTT mix · Ngắn và dài · Bias theo RTT? Short + long flow · Completion vs throughput · Flow ngắn có lợi? Synchronized burst · Recovery · Queue thoát burst bao lâu?
Chạy nhiều seed và thứ tự start khác nhau. Fairness trung bình có thể che starvation tạm thời; lưu time series thay vì chỉ tổng kết cuối run.
Test plan theo từng pha
#Pha baseline đo propagation RTT và throughput khi chưa congestion. Pha ramp tăng offered load qua bottleneck; ghi thời điểm queue, mark, drop và latency đổi. Pha mixed-flow thêm endpoint không ECN và congestion-control khác.
Pha burst dùng on/off hoặc incast có kiểm soát; pha impairment thay base RTT và random loss tách biệt. Pha soak tìm queue/counter drift. Mỗi cấu hình AQM phải được lặp với cùng traffic seed và warm-up.
Fairness và các kết luận dễ sai
#Fairness không chỉ là chia đều throughput. Flow có RTT, congestion control hoặc application demand khác nhau có thể không nên nhận capacity bằng nhau; cần công bố tập flow và metric. Jain index cao cũng không chứng minh tail latency thấp.
ECN-capable không có nghĩa không drop: packet non-ECT, buffer exhaustion hoặc chính sách AQM vẫn có thể tạo loss. L4S, DCTCP và classic ECN có semantics/feedback khác nhau; không trộn vào một kết luận nếu chưa kiểm soát classifier và endpoint support.

Runbook thực hành
#- [ ] Ghi link rate, buffer, scheduler và AQM parameters.
- [ ] Xác nhận ECT negotiation và congestion-control từng endpoint.
- [ ] Đo baseline RTT/throughput khi queue rỗng.
- [ ] Chạy tail drop, AQM drop và AQM+ECN riêng.
- [ ] Tăng tải theo bậc; lưu queue, CE, loss và throughput.
- [ ] Chạy mixed ECN, RTT mix, short/long flow và burst.
- [ ] Đối chiếu pcap, device counters và sender telemetry.
- [ ] Lặp nhiều seed; báo percentile và time series.
- [ ] Lưu cấu hình, raw results và giới hạn phép đo.
Giới hạn kết luận
#Kết quả phụ thuộc AQM algorithm, parameters, scheduler, endpoint congestion control, RTT, flow mix và bottleneck placement. Một cấu hình tốt cho long-lived TCP có thể không tối ưu cho RPC ngắn hoặc traffic không phản ứng congestion.
Không biến target của thuật toán thành SLA end-to-end. Queue delay tại một bottleneck chỉ là một phần latency; offload và sampling có thể làm sai packet/counter nếu không được kiểm tra.
Khái niệm cần nhớ
#- ECN: Tín hiệu congestion bằng bit IP thay vì chỉ drop.
- ECT: Codepoint cho biết transport hỗ trợ ECN.
- CE: Congestion Experienced marking.
- AQM: Chủ động mark/drop trước khi buffer cạn.
- Queue delay: Thời gian packet chờ tại hàng đợi.
- Goodput: Payload hữu ích nhận được theo thời gian.
- Fairness: Mức độ chia sẻ tài nguyên giữa các flow theo tiêu chí đã chọn.
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ảo6 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.
