
QoS (Quality of Service): จัดลำดับความสำคัญของ Traffic บน Network
QoS (Quality of Service) คือชุดเทคนิคที่ใช้จัดลำดับความสำคัญของ traffic บน network เพื่อให้ applications ที่สำคัญ (voice, video, business-critical apps) ได้รับ bandwidth, latency และ jitter ที่เหมาะสม แม้ในช่วงที่ network congested
ถ้าไม่มี QoS ทุก traffic ถูกปฏิบัติเท่าเทียมกัน (best-effort) เมื่อ network congested voice call จะกระตุก video conference จะค้าง เพราะ bandwidth ถูกแย่งโดย file download หรือ backup traffic QoS แก้ปัญหานี้โดยจัดลำดับความสำคัญ บทความนี้จะอธิบายพื้นฐาน QoS ที่ network engineer ต้องรู้
ทำไมต้อง QoS
| Application | ต้องการ | ถ้าไม่มี QoS |
|---|---|---|
| VoIP (Voice) | Latency < 150ms, Jitter < 30ms, Loss < 1% | เสียงกระตุก ขาดหาย delay |
| Video Conference | Latency < 200ms, Jitter < 50ms | ภาพค้าง pixelated |
| Business Apps (ERP, CRM) | Low latency, reliable | ช้า timeout |
| File Transfer/Backup | Bandwidth (ไม่ sensitive ต่อ latency) | ใช้ bandwidth ทั้งหมด |
| Web Browsing | Moderate latency OK | ช้าบ้างไม่เป็นไร |
QoS Mechanisms
3 ขั้นตอนหลัก
1. Classification & Marking: จำแนก traffic ว่าเป็น application อะไร แล้ว mark ด้วย DSCP value เช่น VoIP = EF (46), Video = AF41 (34), Business = AF31 (26) 2. Queuing: จัด traffic เข้า queue ตาม priority Low Latency Queue (LLQ) สำหรับ voice, CBWFQ สำหรับ data 3. Congestion Management: เมื่อ queue เต็ม ใช้ WRED (Weighted Random Early Detection) drop traffic ที่สำคัญน้อยก่อน
DSCP Values
| DSCP | PHB | Value | ใช้กับ |
|---|---|---|---|
| EF | Expedited Forwarding | 46 | VoIP (voice) |
| AF41 | Assured Forwarding 41 | 34 | Video conferencing |
| AF31 | Assured Forwarding 31 | 26 | Business-critical apps |
| AF21 | Assured Forwarding 21 | 18 | Transactional data |
| AF11 | Assured Forwarding 11 | 10 | Bulk data |
| CS1 | Scavenger | 8 | Non-business (YouTube, social) |
| Default | Best Effort | 0 | Everything else |
Classification Methods
| Method | วิธี | ข้อดี/ข้อเสีย |
|---|---|---|
| Port-based | TCP/UDP port (เช่น port 5060 = SIP) | ง่าย แต่ apps อาจใช้ port ไม่ standard |
| IP-based | Source/Destination IP | ง่าย แต่ไม่รู้ว่าเป็น app อะไร |
| NBAR | Deep Packet Inspection (Cisco) | แม่นยำ จำแนก app ได้ แต่ใช้ CPU |
| DSCP Trust | Trust DSCP marking จาก endpoint | เร็ว แต่ endpoint อาจ mark ผิด |
Queuing Models
LLQ + CBWFQ (แนะนำ)
LLQ (Low Latency Queue): Priority queue สำหรับ voice/video ส่ง packets ทันทีก่อน traffic อื่น จำกัด bandwidth (เช่น 33% ของ link) เพื่อป้องกัน starvation CBWFQ (Class-Based Weighted Fair Queuing): แบ่ง bandwidth ให้แต่ละ class ตาม weight เช่น Business = 30%, Bulk = 20%, Default = 17%
QoS Policy ตัวอย่าง
Cisco IOS Configuration
Class-map (Classification): class-map match-any VOICE match dscp ef class-map match-any VIDEO match dscp af41 class-map match-any BUSINESS match dscp af31 af21
Policy-map (Queuing): policy-map WAN-QOS class VOICE priority percent 20 class VIDEO bandwidth percent 25 class BUSINESS bandwidth percent 25 class class-default bandwidth percent 30 random-detect dscp-based
Apply: interface GigabitEthernet0/0 service-policy output WAN-QOS
QoS Design
| Where | ทำอะไร |
|---|---|
| Access Layer (switch port) | Classification + Marking (trust DSCP จาก IP Phone, mark อื่นๆ) |
| Distribution Layer | Re-mark ถ้าจำเป็น, enforce policies |
| WAN Edge | Queuing + Scheduling (สำคัญที่สุดเพราะ bandwidth จำกัด) |
Trust Boundary
Trust boundary คือจุดที่ network เริ่ม trust DSCP marking: IP Phone: trust DSCP (phone marks EF) PC behind IP Phone: re-mark เป็น default (ไม่ trust PC) Server: trust DSCP (ถ้า server mark ถูกต้อง) อย่า trust DSCP จาก untrusted endpoints
Bandwidth Allocation
แนวทาง Cisco (RFC 4594)
| Class | % Bandwidth | Queue Type |
|---|---|---|
| Voice (EF) | 10-20% | LLQ (priority) |
| Video (AF4x) | 20-30% | CBWFQ |
| Business Critical (AF3x) | 20-25% | CBWFQ |
| Transactional (AF2x) | 10-15% | CBWFQ |
| Bulk Data (AF1x) | 5-10% | CBWFQ |
| Scavenger (CS1) | 1-5% | CBWFQ (lowest) |
| Default (BE) | 25% | CBWFQ + WRED |
ทิ้งท้าย: QoS จำเป็นเมื่อ Bandwidth ไม่พอ
QoS ไม่ได้สร้าง bandwidth เพิ่ม แต่จัดลำดับความสำคัญให้ apps ที่สำคัญได้ bandwidth ก่อน จำเป็นสำหรับ WAN links ที่ bandwidth จำกัด เริ่มจาก classify + mark ที่ access layer แล้ว queue ที่ WAN edge ทดสอบด้วย traffic generator ก่อน deploy production
อ่านเพิ่มเติมเกี่ยวกับ SD-WAN และ MPLS VPN ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com