第 8 章 IP 服務:DHCP、NAT、NTP 與網管

QoS 深入:讓語音與視訊優先

頻寬永遠不夠用時,誰該先走?這一節把 QoS 從「知道有這回事」帶到「說得出整套機制」。

14 分鐘


第 3 節介紹了 QoS 的基本名詞。這一節把整套機制串起來 —— 這是考綱 4.7 的完整範圍,也是實務上語音電話品質好壞的關鍵。

為什麼需要 QoS:不同流量的需求天差地別

流量類型對延遲對抖動對丟包對頻寬
語音 VoIP極敏感極敏感敏感需求小(固定)
視訊會議敏感敏感敏感需求大
一般資料(網頁/檔案)不敏感不敏感可重傳有彈性

QoS 的四大工具

  1. 分類與標記(Classification & Marking) —— 辨識流量是什麼,打上標記。越靠近來源標記越好。
  2. 佇列與排程(Queuing / Scheduling) —— 塞車時決定誰先送出去。
  3. 壅塞避免(Congestion Avoidance) —— 佇列快滿之前就先丟一些,避免整批一起爆掉。
  4. 管制與整形(Policing / Shaping) —— 限制某類流量的速率上限。

① 標記:CoS 與 DSCP

標記在哪一層位元數範圍存活範圍
CoS第 2 層(802.1Q 標籤)3 bit0~7只在 trunk 上,離開就沒了
DSCP第 3 層(IP 標頭)6 bit0~63端到端都在
DSCP 名稱對應流量
EF(Expedited Forwarding)46語音
AF4134視訊
AF3126呼叫控制訊號
CS648路由協定等網路控制
DF / BE(Default)0一般流量(盡力而為)

信任邊界(Trust Boundary)

QoS 標記應該在越靠近來源、越可信的地方完成。如果讓使用者的電腦自己標記,任何人都能把自己的流量標成「語音優先」來插隊。所以標記通常在接入層交換器進行 —— 但 IP 電話是例外,它是可信的設備,交換器會信任 IP 電話送來的標記。

② 佇列:語音走低延遲佇列

塞車時,交換器/路由器把封包依標記分到不同佇列,再依規則排程送出。關鍵機制是 LLQ(Low Latency Queue,低延遲佇列)

  • PQ(Priority Queue,優先佇列) —— 這個佇列裡的封包永遠先送。語音放這裡。
  • LLQ = 優先佇列 + 頻寬保證 —— 給語音一個「永遠先送、且保證一定頻寬」的佇列,這是語音的標準做法。
  • CBWFQ(Class-Based Weighted Fair Queuing) —— 依類別分配頻寬比例給其他流量。

③ 壅塞避免:WRED

佇列滿了才丟包,會造成「尾部丟棄(tail drop)」—— 一瞬間丟掉一大批,導致很多 TCP 連線同時重傳、然後又同時湧入,形成波動(TCP 全域同步)。WRED(Weighted Random Early Detection)在佇列還沒滿時就隨機提早丟一些低優先權的封包,把丟包分散開來,避免整批爆掉。

④ 管制 vs 整形

比較Policing(管制)Shaping(整形)
超量時直接丟棄(或重新標記)緩衝延後送
對延遲不增加增加(要排隊)
典型方向入口出口(WAN)
對 TCP造成重傳較平順

立即測驗這一節(3 題)