Sổ tay kỹ thuật

QoS – classification, marking, queuing, policing và shaping

concept#qos#mpls#dscp· cập nhật 2026-11-06

Ôn nhanh các khối của QoS (phân loại, đánh dấu DSCP/EXP, hàng đợi, policer, shaper) và mô hình DiffServ trong backbone MPLS trước khi cấu hình.

Sửa trang này
Mục lục

QoS không tạo thêm băng thông. Nó chỉ quyết định gói nào bị trễ hoặc bị bỏ trước khi link nghẽn. Mô hình phổ biến là DiffServ: phân loại và đánh dấu ở biên mạng, core chỉ đọc nhãn (DSCP hoặc MPLS TC/EXP) rồi xếp hàng đợi tương ứng. Cấu hình thực tế xem QoS trên IOS XR và Junos.

Luồng hoạt động

flowchart LR IN["Gói vào từ khách"] --> CL["Classification (ACL, DSCP, interface)"] CL --> PO["Policing theo hợp đồng"] PO --> MK["Marking DSCP / EXP / qos-group"] MK --> FW["Chuyển tiếp"] FW --> Q["Queuing: priority, bandwidth, WRED"] Q --> SH["Shaping / scheduler"] SH --> OUT["Ra interface"]

Ingress thường làm: phân loại, policing, marking. Egress làm: queuing, scheduling, shaping, WRED. Hàng đợi chỉ có tác dụng khi interface ra bị nghẽn.

Trường đánh dấu

Trường Vị trí Số bit Giá trị
DSCP Byte ToS (IPv4) / Traffic Class (IPv6) 6 0-63
IP Precedence 3 bit đầu của ToS (cũ) 3 0-7, tương ứng CSx
MPLS TC (EXP) Trong mỗi label 3 0-7
802.1p (PCP) Tag VLAN 802.1Q 3 0-7

DSCP thường dùng

PHB DSCP Nhị phân Dùng cho EXP thường map
Default / BE 0 000000 Internet 0
AF11 / AF12 / AF13 10 / 12 / 14 001010 ... Dữ liệu ưu tiên thấp 1
AF21 / AF31 18 / 26 010010 / 011010 Dữ liệu doanh nghiệp 2 / 3
AF41 34 100010 Video 4
EF 46 101110 Thoại 5
CS6 48 110000 Giao thức điều khiển (BGP, IGP) 6
CS7 56 111000 Dự phòng cho network control 7

Công thức AF: AFxy = 8x + 2y (x là lớp 1-4, y là mức drop 1-3; y càng lớn càng dễ bị bỏ khi nghẽn).

Policing và shaping

Tiêu chí Policing Shaping
Vượt ngưỡng thì Drop hoặc remark ngay Giữ lại trong buffer, gửi sau
Hướng Ingress và egress Chỉ egress
Ảnh hưởng Không thêm delay, TCP thấy loss và giảm tốc kiểu răng cưa Thêm delay/jitter, traffic mượt
Tham số CIR, burst (Bc), có thể PIR/Be (2 rate 3 color) Rate trung bình, burst
Dùng khi Ép khách đúng hợp đồng ở biên, giới hạn hàng priority Khách mua 500M trên port 1G, khớp tốc độ với thiết bị phía sau

Hàng đợi

Thành phần Vai trò
Priority queue (LLQ, strict-high) Phục vụ trước mọi hàng khác, delay thấp nhất. Phải giới hạn bằng policer để không bỏ đói hàng khác
Bandwidth / bandwidth remaining Chia phần băng thông còn lại theo tỷ lệ khi nghẽn
Queue limit / buffer Độ sâu hàng đợi; sâu quá gây bufferbloat, nông quá gây drop với burst
WRED Bỏ gói ngẫu nhiên trước khi đầy hàng để TCP giảm tốc sớm, có thể khác ngưỡng theo mức drop
Tail drop Mặc định khi không bật WRED: đầy là bỏ

DiffServ qua MPLS

Mode Cách xử lý ToS khách Ghi chú
Uniform EXP copy từ DSCP, khi pop thì đánh lại DSCP theo EXP Một miền QoS thống nhất
Pipe DSCP khách giữ nguyên; PE egress xếp hàng theo EXP của ISP Phổ biến cho L3VPN
Short pipe DSCP khách giữ nguyên; PE egress xếp hàng theo DSCP khách Khi khách tự quản lý QoS

Với PHP, label ngoài bị pop trước PE egress nên EXP ở label ngoài mất. Mã EXP vẫn nằm trong label VPN; muốn giữ EXP trên label transport tới tận egress thì dùng explicit null (xem MPLS LDP và RSVP-TE).

Khi nào dùng

  • Link biên khách hàng: policing ingress theo hợp đồng, shaping egress khi tốc độ bán nhỏ hơn tốc độ port.
  • Backbone: thường dư băng thông, chỉ cần vài lớp (network control, voice, business, best-effort) để bảo vệ BGP/IGP và thoại khi có sự cố làm dồn traffic.
  • Không nên tạo quá nhiều lớp: mỗi platform chỉ có 8 hàng đợi/port và vận hành càng nhiều lớp càng khó kiểm tra.