Qos


Quality of Service,在帶寬有限的情況下應用一個”有保證”的策略對流量進行管理,並實現不同的流量獲得不同的優先服務。

基本職能:

  • 分類和標識
  • 擁塞管理
  • 限速(監管、整形)
  • 鏈路效率

22.1 基本概念

基本參數:

  • 帶寬(bandwidth)

    木桶理論:最大帶寬等於數據傳輸路徑上的最小帶寬。

  • 時延(delay)

    端到端傳輸所用的時間,等於所有傳輸時延、處理時延、串行化時延與隊列時延之和。

    隊列時延指駐留在出方向隊列的時間。

    隊列又分為軟件隊列和硬件隊列(FIFO,先進先出)

  • 抖動(jitter)

    時延不平穩,不平均

  • 丟包(drop)

    任何情況下都有可能丟包

Qos的解決方案:

  • 如何增加可用帶寬和降低時延

    • 優先傳輸重要的報文
    • 壓縮幀
    • 壓縮報頭
    • 隊列
  • 如何防止丟包

    • 對丟包敏感的數據流提供足夠的帶寬(例如語音流量),采取隊列機制
    • 在擁塞發生之前提前丟棄一些不重要的數據包

22.2 服務模型

  • 盡力而為模型

    默認的,沒有Qos保證

  • 綜合/集成服務模型

    在發送報文之前需要向網絡申請特定的服務,和RSVP(資源預留協議)聯用。

    很強,但實現復雜,應用率不高,且基於軟件,本身沒有Qos保證

  • 區別/差分服務模型

    通過報頭的Qos信息將網絡中的流量分成多個類,然后為每個類定義相應的行為。

    目前應用最廣的模型。

22.3 區別/差分服務模型

  • DS節點:實現DS功能的節點,只需根據DSCP進行轉發。

    ​ DSCP:DiffServ Code Point,區分服務代碼點。

    ​ 3層IPv4頭部有個Tos,其中前3位的IP優先級位,最高優先級是7,

    ​ 前6位稱為DSCP:

​ D位表示延遲(0代表正常延遲,1表示低延遲)

​ T位表示吞吐量(0表示正常吞吐量,1表示高吞吐量)

​ R位表示可靠性(0代表正常可靠性,1代表高可靠性)

​ C表示傳輸開銷(0表示正常開銷,1表示低開銷)

​ 一般C和最后一位一般不使用保留給網絡控制信息

  • DS邊界節點:對業務流進行分類和標記的路由器,與沒有DS功能的域直接相連

  • DS域:由采用相同策略和PHB的相同節點組成

    ​ PHB(每一條行為),目前定義了4種分類:

    ​ Default PHB:默認行為,DSCP為000000

    ​ Class-Selector PHB:CS類選擇行為,兼容IP優先級,DSCP的后三位為000

    ​ Expedited Forwarding PHB:EF快速轉發,DSCP為101110 ,優先轉發,超出管制流量的則丟棄

    ​ Assured Forwarding PHB:AF保證轉發,DSCP格式為aaadd0,DD越大,丟棄的可能性越高

    ​ 這只是分類,設備具體如何處理,要看后續的策略

22.4 流量監管

流量監管就是對流量進行控制。要實現流量的控制,就要有一種機制可以對設備的流量進行度量

22.4.1 令牌桶技術

系統按照設定好的速度向桶中放置令牌,令牌滿了則溢出,不再增加。桶中令牌的數量作為轉發報文的依據。

現在有兩種常用標記算法:

  • 單速率三色標記(單速雙桶算法)算法,主要關注報文尺寸的突發。
  • 雙速率三色標記(雙速雙桶算法)算法,主要關注報文速率的突發。

兩種算法都是為報文打上紅、黃、綠三種顏色的標記,Qos根據顏色進行處理。

分為兩種模式,色盲模式和色敏模式,接下來以色盲模式為例。

單速雙筒

  • CIR:承諾信息速率,表示向C桶中投放令牌的速率,即C桶允許傳輸或轉發報文的平均速率
  • CBS:承諾突發尺寸,表示C桶的容量,即C桶瞬間能夠通過的承諾突發流量
  • EBS:超額突發尺寸,表示E桶的容量,即E桶瞬間能夠通過的超出突發流量,

用B表示到達報文的大小:

  • 若B≤Tc,報文被標記為綠色,且Tc減少B;
  • 若Tc<B≤Te,報文被標記為黃色,且Te減少B;
  • 若Tc<B並且Te<B,報文被標記為紅色,且Tc和Te都不減少。

雙速雙桶

  • PIR:峰值信息速率,表示向P桶中投放令牌的速率,即P桶允許傳輸或轉發報文的峰值速率,PIR大於CIR;
  • CIR:承諾信息速率,表示向C桶中投放令牌的速率,即C桶允許傳輸或轉發報文的平均速率;
  • PBS(Peak Burst Size):峰值突發尺寸,表示P桶的容量,即P桶瞬間能夠通過的峰值突發流量;
  • CBS:承諾突發尺寸,表示C桶的容量,即C桶瞬間能夠通過的承諾突發流量。

用B表示到達報文的大小:

  • 若B>Tp,報文被標記為紅色;
  • 若Tc<B≤Tp,報文被標記為黃色,且Tp減少B;
  • 若B≤Tp並且B≤Tc,報文被標記為綠色,且Tp和Tc都減少B。

色敏模式

色敏模式下,如果到達報文已被標記顏色,則遵循以下原則:

  • 被標記為綠色,與色盲模式一致。
  • 已被標記為黃色,則令牌桶根據報文長度和令牌數的大小,為符合流量規定的報文標記為黃色,為不符合的報文標記為紅色。
  • 被標記為紅色,則令牌桶直接將到達報文標記為紅色。

22.4.2 流量監管原理

  • Meter:通過令牌桶機制對網絡流量進行度量,向Marker輸出度量結果。

  • Marker:根據Meter的度量結果對報文進行染色,將報文染成green、yellow、red三種顏色。

  • Action:根據染色結果對報文進行動作,動作包括:

    • pass:對測量結果為“符合”的報文繼續轉發。
    • remark + pass:修改報文內部優先級后再轉發。
    • discard:對測量結果為“不符合”的報文進行丟棄。

    默認情況下,green報文、yellow報文進行轉發,red報文丟棄。

22.5 流量整形

流量整形是一種主動調整流量輸出速率來限制流量與突發的措施,使報文以均勻的速率發送。

通常使用緩沖區和令牌桶來完成,當報文的發送速度過快時,首先在緩沖區進行緩存,在令牌桶的控制下,再均勻地發送被緩沖的報文。

當下游接口速率不確定時,上游設備無法確定整形參數,這時可以開啟NQA檢測,進行自適應流量整形。

22.6 擁塞避免

通過監視網絡資源的使用情況,在發生擁塞或有產生趨勢時主動丟棄報文。

根據情況可分為

  • 尾部丟棄:隊列滿了則丟棄

  • WRED(加權隨機先期檢測):基於參數進行丟棄,可以為不同業務的報文指定不同的丟棄策略

    WRED會為每個隊列的長度設置閾值范圍,

    • 隊列長度小於閾值下限時不丟棄報文,

    • 上下限之間會為每個報文賦予一個隨機數,並將此數與當前隊列的丟棄概率比較,如果大於則丟棄。隊列越長,報文被丟棄的概率越高。

    • 隊列長度大於閾值上限時丟棄所有新到的報文

22.7 擁塞管理

擁塞管理一般會采用隊列技術,使用不同的調度算法。

設備上每個接口出方向都有4或8個隊列,根據優先級和隊列間的映射關系自動將分類后的報文流送各隊列。

常見調度算法:

  • PQ

    針對於關鍵業務類型應用設計,維護一個優先級遞減的隊列,只有高優先級的隊列為空時才服務低優先級隊列,可以使低延時業務及時調度。

    缺點:使低優先級隊列中的報文得不到調度機會

  • WRR

    加權循環調度算法,在隊列之間進行輪流調度,根據每個隊列的權重來調度各隊列中的報文流。

    設備根據每個隊列的權值進行輪循調度。調度一輪權值減一,權值減到零的隊列不參加調度,當所有隊列的權限減到0時,開始下一輪的調度。

    缺點:只關心報文,同等調度機會下大報文獲得的實際帶寬要大於小報文獲得的帶寬,低延時需求業務得不到及時調度。

    LAN口默認使用WRR。

  • DRR

    在調度過程中考慮包長的因素以達到調度的速率公平性。

    缺點:解決了WRR的報文問題,但低延時需求業務依然得不到及時調度。

  • WFQ

    公平隊列調度算法,盡量公平地分享網絡資源,使所有流地延遲和抖動達到最優。

    在報文入列之前對流量進行分類,有兩種分類方式:

    • 按報頭中地信息分類:優先級越高,所得帶寬越多
    • 按優先級分類:通過優先級映射把流量標記為本地優先級,每個本地優先級對應一個隊列號。每個接口預分配4或8個隊列,報文根據隊列號進入隊列。默認情況,隊列的WFQ權重相同,流量平均分配接口帶寬。用戶可配置權重。

    缺點:低延時需求業務得不到優先調度。

    WAN口默認使用WFQ。

  • PQ+WRR

  • PQ+DRR

  • PQ+WFQ

  • CBQ算法

    基於類的加權公共隊列,是對WFQ的擴展。

    根據IP優先級或DSCP優先級、入接口、IP報文的五元組等規則來對報文進行分類,讓不同類別的報文進入不同的隊列。對於不匹配任何類別的報文,送入缺省類。

    • EF:高優先級隊列,優先調用,可以對應多類報文,不同類別的報文可設定占用不同的帶寬,滿足低時延需求。其中還有一種時延更低的隊列-LLQ隊列。
    • AF:每個隊列對應一類報文,用戶可設置每類報文占用的帶寬,滿足需要關鍵數據業務。
    • BE:一般是系統缺省類配置成BE隊列,會尾部丟棄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM