华为数通笔记-QOS
背景
QOS(服務質量)技術本身不會增加帶寬,而是在有限的帶寬,針對不同業務合理分配帶寬,提供端到端的服務質量保證。資金充足就可以考慮直接增加帶寬。
度量標準
帶寬
帶寬也叫吞吐量,是指在1s內,從網絡一端傳到另一端最大數據位數,單位bit/s。一般帶寬越高,服務質量越好,但是相應的運營和維護成本也就越高。
帶寬和網速不是一回事,帶寬的1M是1024k位,網速的1M是1024k字節。大約1M的帶寬的下載速度為128Kb/s,網速單位為字節/s。1Mbps=1024kbps=1024/8kBps=128KB/s
時延
是指一個報文從或分組從一端到另一端所需要的延遲時間,由傳輸延遲和處理延遲組成。例如打電話的時延是指一個人開始說話到另一個人聽到所要的時間,時延小于100ms,人們察覺不到,100-300ms輕微延遲,大于300ms,延遲明顯。就比如直播會有延時,但是畫面是流暢的。
傳輸時延
?? ?取決于傳輸介質(雙絞線、光纖、銅纜、無線)
處理時延
?? ?取決于設備性能,和對報文的處理方式(加解密、壓縮解壓)
隊列時延
?? ?取決于隊列的繁忙程度以及隊列的調度機制
串行化時延
?? ?取決于接口類型(電口、光口)
抖動
網絡擁塞導致通過同一傳輸連接的分組延遲不同,抖動就是最大延遲和最小延遲的時間差,抖動會造成語音和視頻像的斷續。比如說直播,玩游戲很卡
丟包率
丟包率是指在網絡傳輸過程中的丟失的報文數量占傳輸總報文的數量的百分比。用TCP可以處理少量的丟包,它有重傳機制,但大量丟包會影響傳輸效率,所以QOS中關注丟包率應控制在一定范圍
PHB
每跳行為,四類標準PDB:CS EF AF BE
Qos服務模型
Best Effort:盡力而為服務模型
Best-Effort是最簡單,最早的的模型,除了保證網絡設備之間的路由可達,不需要部署其他的功能。應用程序可以在任何時候發出任意數量的報文,而且不需要通知網絡,網絡設備盡最大的努力轉發他們,對時延,可靠性沒有保證。
在理想狀態下,如果有足夠的帶寬,Best-Effort是最簡單的服務模式。而實際上,這種“簡單“帶來一定的限制。因此,Best-Effort適用于對時延、可靠性等性能要求不高的業務,如FTP、E-Mail等。
可以通過增大網絡帶寬和升級網絡設備來來提高端到端的通信質量
增大網絡帶寬:可以增大單位時間內傳輸的數據量,使其按照傳統先進先出的方式在單位時間內傳輸更多的數據,改善網絡擁塞問題。
升級網絡設備:可以增大數據處理能力,使其按照傳統先進先出的方式在單位時間內能夠處理更多的數據,改善網絡擁塞問題。
Integrated Serverce Model:綜合服務模型
IntServ(綜合服務模型)網絡在發送報文前,會首先通過RSVP信令向網絡描述他的流量參數。網絡在流量參數范圍內預留資源(如帶寬,優先級)。在收到確認消息,確定網絡已經為該應用程序的報文預留了資源,應用程序才開始發送報文。網絡節點需要為每條數據流維護一個狀態,并基于這個狀態執行相應的QOS狀態,來滿足對應用程序的承諾。
缺點
1.網路實現難度大,需要端到端每個網絡節點都支持IntServ模型,網絡中的設備不一定都支持
2.資源利用率低,為每一條數據流預留一條路徑,而其他數據流服務不能占用,使得有限的網絡資源不能得到充分利用
3.帶來額外帶寬占用,為了不讓這條路徑被占用,RSVP會發送大量協議報文進行刷新探測,使得網絡負擔加重。
Differentiated Services Model:差分服務模型
DIffServ模型中網絡中的流量可以被分成不同的類或優先級,當網絡出現擁塞時,不同的類按不同的優先級獲得不同的優先處理,從而實現差分服務,同一類的業務會聚合一起同一發送,保證相同的延遲、抖動、丟包率等QOS指標
優點
1.不需要預先提出網絡資源申請
2.業務分類和標記在邊緣節點進行,內部節點只要識別這些表記,然后對其進行相應的資源分配和流量控制。
DS域
?? ?一組采用相同服務提供策略和實現相同PHB的相連DS節點組成
DS節點
?? ?實現區分功能的網絡節點
DS邊界節點
?? ??負責連接另一個DS域或者連接一個沒有DS功能域的節點,負責將進入此域的流量進行分類
?DS內部節點
?? ???連接邊界DS和域內其他內部節點,進行簡單流分類
信任邊界
?? ?DS域的邊界,越靠近用戶越好,執行復雜流分類,為了避免域內設備都進行復雜流分類,在邊界執行復雜流分類后,打上標記值,域內設備根據這個標記值執行簡單流分類,不僅避免域內設備負擔重,還方便域內進行統一QOS策略的實施。
QoS實現的相關技術
流分類
依據一定的匹配規則識別出對象。流分類是有區別地實施服務的前提。
簡單流分類
根據各報文頭部中的優先級字段,來將外部優先級映射成內部優先級。vlan-8021.p,mpls-exp,ip-ip pre/dscp
復雜流分類
根據報文頭中的優先級字段,或者SIP,DIP,Sport,Dport,TCP/UDP報文五元組進行分類,然后打上優先級(使用MQC來實現-流分類、流行為、流策略)
流量分類的規則可以按照:
- IP報文頭的信息(如 IP源地址、IP目的地址、協議類型、DSCP/IP-PRE、TCP/UDP 的端口號、TCP同步標志、報文分片的標志等)
- 二層報文信息(如: 源MAC地址、目的MAC地址、 三層報文的封裝類型、 VLAN PRI等)
- MPLS報文頭信息(如EXP、 LSP等)來分類。
標記
對分類的流量打上標簽,據此分級別對待不同的流量
本地優先級和報文優先級:
標記是對分類的流量打上不同的標簽,據此分級別對待不同的數據,稱為優先級標記。根據優先級標記的作用,華為設備可分為設備內部優先級(又稱為本地優先級)和報文優先級(又稱外部優先級)。設備內部優先級是對進到設備內部的數據報文給予的一個內部優先級標記值,根據該值可在設備內部分配或優化資源分配,如選擇隊列。
設備內部優先級和報文優先級的關系:
●設備內部優先級是用于內部資源分配和調度使用的值,每個進到設備的報文一定都會得到一個值,該值根據入接口配置的信任或Remark功能而生成。
●報文優先級是報文本身所攜帶的OoS標記值。兩層報文使用802.1p或EXP而三層報文多使用IP Precedence和DSCP。報文在離開設備時,報文優先級可能會被重寫,把內部優先級作為報文優先級攜帶出去。
內部優先級
進到設備內部的數據報文給予一個內部優先級標記值,根據該值可在設備內部分配資源,如選擇隊列,該值根據接口配置的信任或Remark功能生成。取值范圍為0-7,DSCP-LP映射時,根據DSCP前三比特值來選擇內部隊列。
報文優先級
VLAN
8021.Q頭部中的8021.p字段,8021.Q=TPID+PRI(3bits)+CFI+Vlan ID
MPLS
使用Label中的EXP字段,Label=label+EXP(3bits)+s+TTL
IP報文
ipp
TOS=IP-Precedence+D+T+R+C?
?? ?ip-precedence(3bits):優先級字段
?? ?D(1bit):?D=1低延時,D=0正常延時
?? ?T(1bit):?T=1高吞吐量,T=0正常吞吐
? ??R(1bit): ?R=1高可靠,R=0正常可靠
?? ?C(2bit): ?保留未使用
以前使用IP-precedence字段標識優先級(TOS中前三bits,取值范圍0-7)標記的種類太少
?? ???
DSCP
TOS=DSCP+C
DSCP(6bits)-優先級字段,C(2bits)-未使用
DSCP是IPP的擴展,取值范圍0-63。
ipv4和IPv6中的TOS區別?
多了20比特的流標簽字段,不同的流標簽加源地址就可以唯一確定一條流,ipv4需要6元組才能確定一條流,所以在ipv6中設備可以更加高效區分數據流。
DSCP表現形勢
數字形式
取值范圍為0-63
關鍵字形式
EF(46)
快速轉發,用于提供低延時,低抖動服務,同時需要監管帶寬,適用于語音流量,DSCP取值為46,適用于vioce,video。
CS
類選擇器,用于DSCP兼容IPP,只用前三比特。取值范圍CS0-CS7,CS7(BFD),CS6(路由協議)預留給協議使用。后三個字段為000
?
?AF
確保轉發,滿足需要帶寬保證的關鍵業務,AF字段只用了前5bit,前三個比特作為X取值范圍1-4(前三個比特只能為001、010、011、100),越大表示轉發優先級越大。后面兩個bit為Y取值范圍1-3,越大表示擁塞時,丟棄的優先級越大。Y為0,AF4表示CS4。對延時抖動要求不高,FTP,file server,sql。
BE(CS0)
DSCP取值范圍為0,盡力而為,不作任何服務保證。
?
優先級映射
比如從IP域進入MPLS域的報文,優先級映射就是從DSCP到MPLS EXP;
生成內部優先級工具一:信任關系(trust+qos map-table)?
1.信任報文的802.1p優先級——trust 8021p
對于帶VLANTag的報文,設備根據報文攜帶的802.1p優先級查找優先級映射表,生成內部優先級,確定報文進入的隊列,并修改報文的優先級值。
對于不帶VLAN Tag的報文,設備將使用端口優先級作為802.1p 優先級,查找優先級映射表,確定報文進入的隊列,并可以修改報文的優先級值。建議LAN中使用信任802.1p生成內部優先級。進到設備的802.1p為3的報文,在設備內部使用內部優先級AF31。同理, 802.1p為5的報文。在設備內部分配內部優先級EF。
當報文從出口離開設備時,報文優先級沒有被改寫。
2.信任的報文的DSCP優先級一一trust dscp
設備按照報文攜帶的DSCP值查找DSCP優先級映射表,生成內部優先級。默認情況下,報文的DSCP優先級和內部優先級是一一對應的關系,可以使用命令qos map-tab1e dscp-dscp進行修改。
3.信任的報文的exp優先級一一trust exp
設備按照報文攜帶的exp值查找DSCP優先級映射表,生成內部優先級。eNSP模擬器上無法修改其與內部優先級的對應關系,但是可以在接口上設置信任。
4.設置override參數——trust dscp override和trust 8021p override
配置override與否,不影響內部優先級的生成,但會影響經過設備的報文優先級,報文優先級會被改寫成內部優先級。
未配置override關鍵詞時,進入的報文按照指定優先級映射生成內部優先級,但離開時報文優先級并不修改,報文優先級透傳。
?在AR2的g0/0/1口抓包,發現dscp優先級為af13。
當配置override參數后,發現dscp優先級為af12
配置override屬性時,報文按照指定優先級映射后,報文的802.1p值、DSCP值均被修改成映射后的值。
5.端口優先級
每個進入設備的報文都需要內部優先級,如果端口信任802.1p,但報文本身沒有對應的Vlan Tag, 此種情況下,會使用到端口優先級。每個端口的默認端口優先級為0,使用規則如下:
端口處于信任802.1p狀態時,若收到不帶Vlan Tag的報文,設備將根據端口優先級生成內部優先級并轉發。
端口處于不信任狀態時,即沒有配置任何Trust 命令,所有報文都將根據端口優先級進入一個隊列,無法實現差分服務。
生成內部優先級工具二:MQC的Remark工具(traffic classifier,traffic behavior,traffic policy)
在報文進入設備時,除配置信任外,接口還有其他方式生成內部優先級,如MQC和CAR等Remark工具,使用這些機制在報文進入設備時生成的QoS標記即是內部優先級,同時也是報文離開設備時的報文優先級。
MQC:模塊化QoS命令行接口(優勢:可讀性強,可移植性強,可編輯能力強)
?? ??? ??? ?分為四步:
?? ??? ??? ?1.流類別 ?traffic class ? ? ?抓取特定的流量類別
?? ??? ??? ?2.流行為 ?traffic behavior ? 設定流量操作的行為
?? ??? ??? ?3.流策略 ?traffic policy ? ? 將流量和行為進行關聯,形成相應的QoS策略
?? ??? ??? ?4.在接口inbound或outbound方向 引用流策略
若接口同時配置信任和其他Remark(出去的流量為remark后的)工具,Remark配置優于信任起作用。
流量監管
對進入路由器的特定流量的規格進行監管。當流量超出規格時,可以采取限制或懲罰措施,以保護運營商的商業利益和網絡資源不受損害。
流量監管優點
1.可以實現對不同類別的報文進行限速
2.支持重標記,不需要額外緩沖
3.通過令牌桶技術對流量規格進行評估
流量監管缺點:
1.當鏈路空閑,造成帶寬浪費
2.沒有緩沖機制,超出流量會被丟棄,丟包率高,丟棄的流量可能進行重傳
?
流量監管的作用:
在帶寬足夠/不足時做限速,保證帶寬不被濫用,保證其他業務有可用帶寬
監管場景??
1.ISP對客戶流量進行限速,可以在出方向和入方向做,來限制上傳和下載的速率(一般在用戶邊緣或者ISP邊緣設備實施)
2.企業網絡根據業務分類實現監管
3.上下游鏈路帶寬不匹配,可以使用監管或者整形來避免下游鏈路擁塞
4.運營商的光端機或者協議轉化器可以直接實現硬件級限速
承諾訪問速率
承諾訪問速率,CAR(Committed Access Rate)利用令牌桶來衡量每個數據報文是超過還是遵守所規定的報文速率。
監管類型? ??
基于接口的流量監管
監管可以在出接口,入接口,整形只能在出接口
interface g0/0/0
qos car outbound cir 8000 pir 10000 green pass yellow pass remark-dscp default red discard?
?
配置MQC實現流量監管
traffic classifier test
if-match dscp cs6
traffic behavior test
car cir 8000 pir 10000 cbs 16000 pbs 20000
traffic policy test
classifier test behavior test
interface g0/0/0
traffic policy test outbound
超過限定速率的報文處理方法
1.直接丟棄或是降低優先級,再將報文轉發
2.流量監管
Meter
通過令牌桶機制對網絡流量進行度量,向marker輸出度量結果
marker
根據度量結果對報文進行染色
action
根據染色結果,進行一些動作:
?? ??? ?pass:對測量結果“符合”的報文繼續轉發
?? ??? ?remark + pass:對測量“不符合”的報文修改內部優先級后再轉發
?? ??? ?discard:對測量“不符合”的報文進行丟棄
流量整形
一種主動調整流的輸出速率的流控措施,通常是為了使流量適配下游路由器可供給的網絡資源,避免不必要的報文丟棄和擁塞。
流量整形的優缺點? ??
1.可實現對不同報文進行限速
2.緩沖機制可減少帶寬浪費,避免重傳
3.可能會增加延時
配置整形命令? ??
基于接口流量整形
1.當報文的發送速率超過限制速率時,超出的那部分會進入緩存隊列,當緩存隊列已滿,直接丟棄
2.當令牌桶中的令牌足夠時,在均勻的向外發送緩存的報文;
?限制接口發送的所有報文的總速率,是對整個出接口進行流量整形,不區分優先級。
??步驟:在出隊的時候,對所有隊列的數據包總和進行令牌桶評估:
?如果數據包總速率符合要求,標記為綠色,并轉發。 ?如果數據包總速率超標(即令牌桶中的令牌不足),標記為紅色,接口暫停調度,等令牌足夠時再繼續調度。基于隊列流量整形
1.通過在接口下應用隊列模塊,可以實現針對各隊列的流量整形,接口收到的報文根據優先級映射,進入不同的隊列,針對不同的優先級隊列設置不同的流量整形參數,可以實現對不同業務的差分服務。
?對接口的隊列進行流量整形,區分優先級。
?
步驟:在出隊的時候,不需要整形的報文,直接轉發;對于需要進行整形的報文,則先進行令牌桶評估:
?如果數據包速率符合要求,標記為綠色,并轉發。
?如果數據包速率超標,則當前正在出隊的數據包仍然轉發出去,同時,將該數據包所在隊列的狀態改為不可調度,等令牌桶填充了新的令牌時再調度此隊列。隊列的狀態改為不可調度后,該隊列允許報文繼續入隊,但入隊滿了的時候會丟棄報文。因此,雖然流量整形使超額的數據能夠從接口平滑地輸出,但并不表示流量整形永遠不會丟包。
基于MQC流量整形
(traffic class 、traffic behavior (gts cir )、traffic policy )
基于接口自適應流量整形
?華為特有:用于下游接口速率小于上游接口速率,且上游設備不確定下游接口速率時,通過聯動NQA來動態調整上游設備整形速率來適應下游設備速率不確定的情況
基于MQC自適應流量整形
建立自適應模板 rate-range low ?high )(traffic class 、traffic behavior (gts 建立的自適應模板 )、traffic policy )
流量整形? ??
1.當報文到來的時候,首先對報文進行分類,使報文進入不同的隊列
2. 如果報文進入的隊列沒有配置隊列整形功能,則直接發送該隊列的報文,否則進行下一步處理
3. 按用戶的設定隊列整形速率向令牌桶放置令牌
# 如果令牌桶中有足夠的令牌可以用來發送報文,則報文直接被發送,報文被發送的同時,令牌做相應減少
# 如果令牌桶沒有足夠的令牌,則將報文放入緩存隊列;如果緩存隊列滿了,報文則被丟棄。緩存隊列中有報文的時候,會與令牌桶中的令牌數作比較,如果令牌數足夠發送報文則轉發報文,直到緩存隊列中的全部報文被發送完畢為止
華為流量整形技術? ?
?LR(接口限速)
?? ??? ?針對所有流量
?? ??? ?只能基于接口整形,也就是出接口的所有流量
?? ??? ?可以在路由器接口使用,只是用于限速,配置接口速率百分比,必須結合隊列才能生效
?? ??? ?在交換機出接口做整形,入接口做監管
?GTS(通用流量整形)
?? ??? ?只針對IP流量,只能用于出方向,只能用于路由器接口
?? ??? ?基于接口
?? ??? ?基于對列
?? ??? ?基于類
令牌桶
單速單桶? ??
CIR:承諾信息速率,單位是kbps,表示向令牌桶中投放令牌的速率
CBS:承諾突發尺寸,單位為byte,用來定義在部分流量超過CIR之前的最大突發流量,即為令牌桶的容量
在單速單桶模式中,系統按照CIR向C桶中投放令牌。(C桶中已有的令牌數使用Tc表示)
令牌投放
1.如果Tc小于CBS,則令牌數增加
2.如果Tc等于CBS,則令牌數不增加
報文轉發:報文的大小使用 B 表示
1.Tc>=B,報文標記為綠色并轉發,Tc減少B
2.Tc<B,報文標記為紅色并丟棄,Tc不減少
華為不支持單數單桶,但是EBS=0;Pir=Cir,相當于單速單桶,不允許流量突發
單桶單速雙色標記法,不允許突發流量,只有承諾流量
單速雙桶??
EBS:峰值突發尺寸,單位為byte,用來定義每次突發所允許的最大的流量尺寸。
存在兩個令牌桶——C桶、E桶 ? ?是對報文的大小來適當突發(即針對報文的長度)
系統按照CIR向C桶中投放令牌,當C桶中的令牌裝滿,如果E桶中的令牌沒有裝滿,則向E桶中繼續投放。
?? ???
? ?令牌投放
?? ??? ??? ?1.Tc<CBS,Tc增加
?? ??? ??? ?2.Tc=CBS,Te<EBS,Te增加
?? ??? ??? ?3.Tc=CBS,Te=CBS,不增加
?? ?報文轉發
?? ??? ??? ?1.B<=Tc,報文被標記為綠色并轉發,Tc減少B
?? ??? ??? ?2.Tc<B<=Te,報文被標記為黃色并轉發,Tc不減少,Te減少B
?? ??? ??? ?3.Tc<B,Te<B,報文被標記為紅色并丟棄,Tc、Te都不減少?
雙速雙桶? ?
?
PIR:峰值信息速率,單位為kbps,表示端口允許的突發流量的最大速率,表示向令牌桶中投放令牌的速率,大于CIR。
PBS:峰值突發尺寸,單位為byte,用來定義每次突發所允許的最大的流量尺寸,即為令牌桶的容量,大于CBS。
?存在兩個令牌桶——C桶、P桶 ? ? 是對報文的轉發速率來進行突發(即報文轉發的速度)
令牌投放
當Tp<PBS時,P桶中令牌數增加,否則不增加。
當Tc<CBS時,C桶中令牌數增加,否則不增加
報文轉發
1.Tp<B,報文被標記為紅色,兩個桶都不減少令牌
2.Tc<B<=Tp,報文被標記為黃色,C桶中令牌不減少,P桶中令牌減少B
3.Tc=>B、Tp=>B,報文被標記為綠色,C桶和P桶中的令牌都減少B
?如果只是為了限制帶寬,使用單速單桶。
?如果在限制帶寬的基礎上,還要對輸入流量的突發情況進行區分,做不同的標記處理,則使用單速雙桶。注意:標記為yellow的動作一定要同標記為green的配置的不一樣,否則限速效果與單速單桶一樣。
?如果在限制帶寬的基礎上,還要對輸入流量的帶寬情況進行區分,區分出帶寬是小于CIR還是在CIR~PIR之間,則使用雙速雙桶。注意:標記為yellow的動作也要同標記為green的動作配置得不一樣,否則限速效果與單速單桶一樣。
擁塞管理
網絡擁塞時必須采取的解決資源競爭的措施。通常是將報文放入隊列中緩存,并采取某種調度算法安排報文的轉發次序。
硬件隊列未滿,報文進入硬件隊列,并采用FIFO,硬件隊列滿了,發生擁塞時,進入軟件隊列,分類并被調度。
硬件隊列
該隊列始終是FIFO調度,硬件隊列未滿(未擁塞),不會進入軟件隊列。
軟件隊列
工作機制
分類機制
?? ?報文進入到緩存時,先要進行分類
?
插入機制
?? ?如果緩存中的隊列未滿,則繼續對報文進行分類;如果滿了進行尾丟棄
調度機制
FIFO
先進先出,不會引入額外延遲,延遲只與隊列長度有關,不提供任何差分服務
PQ
更高優先級隊列為空時,才會調度低優先級隊列,PQ用于占用帶寬小,低延時,低抖動業務。
RR
?輪詢調度,對每個隊列進行輪詢調度,跳過隊列為空的隊列·,剩余帶寬能被其他隊列平均分配。單隊列還是先進先出。從7號隊列開始
?
WRR
在進行WRR調度時,設備根據每個隊列的權值進行輪循調度。一輪發送一個數據包,調度一輪 權值減一權值減到零的隊列不參加調度,當所有隊列的權限減到0時,開始下一輪的調度。適用于對帶寬有要求,對延時沒要求的業務 。從7號隊列開始
特點:
1.權重小的,延時很大,很久得不到輪詢。
2.以報文為單位,導致每個隊列沒有固定帶寬,同等調度機會下大尺寸獲得的帶寬要大于小尺寸
3.每個隊列都能得到帶寬,不會餓死
DRR
差額輪詢調度,解決了WRR只關心報文,不關心長度的問題。Deficit表示帶寬赤字,初始值為0,每次調度前,系統按權重分配帶寬,計算Deficit值,隊列的Deficit值小于0,就不參與本輪調度。
?? ???
WFQ
與FQ相比加了優先權的考慮。FQ:不同的隊列獲得公平的調度機會,每個隊列獲得的帶寬一樣,不同隊列同時存在多個長報文和短報文,讓短報文優先獲得調度;WFQ使高優先權報文獲得優先調度機會多于低優先權報文,WFQ調度在報文入隊列時,先進行分類。
按流的會話信息分類
按TCP/UDP+Sport+Dport+SIP+DIP+TOS優先級,六元組進行Hash運算,結果一樣的則認為是同一個流,進入同一個隊列。WFQ按流的優先級(precedence)來分配每個流應占有帶寬。華為WFQ根據會話信息分類分配的隊列有256個。
假設有5個流,A流優先級=5,B流優先級=3,C流優先級=5,D流優先級=2,E流優先級=0
由于5個流不一樣,分配到5個不同的隊列(流越多,產生隊列越多),
每個流優先級+1(防止優先級為0的隊列帶寬比例為0),A=6,B=4,C=6,D=3,E=1,再算出5個流之和:6+4+6+3+1=20
那么 A流分到的帶寬比例=6/20
? ? ? ? B流分到的帶寬比例=4/20
? ? ? ? C流分到的帶寬比例=6/20
? ? ? ? D流分到的帶寬比例=3/20
? ? ? ? ?E流分到的帶寬比例=1/20
按優先級分類
通過優先級映射把流量標記為本地優先級,每個本地優先級對應一個隊列號。每個接口預分配8個隊列,報文根據隊列號進入隊列。默認情況,隊列的WFQ權重相同,流量平均分配接口帶寬。用戶可以通過配置修改權重,高優先權和低優先權按權重比例分配帶寬。? ?
PQ+WFQ/WRR
PQ隊列先調度,調度完再進行WFQ/WRR調度。重要的協議報文以及有低延時需求的業務報文應放入需要進行PQ調度的隊列中,得到優先調度的機會,其他報文放入以WFQ方式調度的各隊列中。 ?
CBQ
為用戶提供定義類的支持,CBQ首先根據IP優先級或DSCP優先級,輸入接口,IP報文的5元組等規則進行分類,然后讓不同的類別報文進入不同隊列,不匹配任何類別的報文進入系統定義的缺省。隊列數量不依賴接口默認的8個隊列,而是可以手動配置。配置CBQ依賴于MQC,MQC一定是將traffic policy用在outbound上。
CBQ支持的四種隊列
EF隊列
滿足低延時業務,例如語音等,高優先級隊列。若EF隊列有報文優先獲得調度,空閑時可以搶占AF,BE的空閑帶寬擁塞時,EF隊列報文優先發送。但是可以設置帶寬限速,防止低優先級隊列餓死
?
AF隊列
滿足帶寬需要保證的業務,隊列滿了執行RED,可以配置WRED,設置帶寬參數用于保證帶寬。隊列滿了執行RED,沒滿,按權重分配空閑帶寬。
?
BE隊列
滿足不需要嚴格QOS保證的業務的盡力發送業務,當報文不匹配用戶設定的所有類別時,默認進入BE,也可以配置默認進入AF。BE隊列使用WFQ調度,基于流的會話信息分類,滿了執行RED,也可以配置為WRED。
?
LLQ隊列
比EF更好的低延時業務,不論接口是否擁塞,流量帶寬都不會超過設置的帶寬,可以用于限速
?? ??? ???
緩存隊列
擁塞時,數據先進入隊列,經過隊列調度,調度過程中,令牌數不夠,超出接口速率的那部分放入緩存隊列。當令牌數夠的時候,在調度出去。
擁塞避免
產生原因
速率不匹配,報文從高速鏈路進入低速鏈路
匯聚問題,報文從多個接口同時進入設備,由一個沒有足夠帶寬接口轉發出去
過度的擁塞會對網絡資源造成損害。擁塞避免監督網絡資源的使用情況,當發現擁塞有加劇的趨勢時采取主動丟棄報文的策略,通過調整流量來解除網絡的過載。
避免擁塞的方法
傳統方法(尾丟棄)
當軟件隊列滿了時,會把后續進入的報文丟棄
RED(早期隨機檢測)
為了避免TCP全局同步,在隊列未滿時,先隨機丟棄一部分報文,通過預先降低一部份TCP連接的傳輸速率,來延緩TCP全局同步到來,也就是減少了TCP全局同步發生的頻率
WRED(加權隨機檢測)
對不同IPP/DSCP優先級的報文進行不同的丟棄行為,通過設置上下門限以及丟包率,使之有區分的丟棄流量。達到最低門限才開始丟包
尾丟棄的影響
TCP全局同步
TCP協議具有流控機制,即滑動窗口機制
?兩臺主機進行TCP的三次握手時,會攜帶一個win=3字段,說明自身只有3個報文的緩存容量,2臺主機就會協商好每次發TCP報文數量=3個。當A主機發送3個報文給B主機,B主機將一個報文將給上層協議處理,此時緩存只有1個報文的緩存容量,B主機回復A主機,WIN=1字段,那么下次主機A就會只發1個TCP報文。
??
?TCP協議具有鏈路感知能力,通過重傳機制來感知鏈路的好壞
??如果有重傳,則降低win字段的大小
??如果沒有重傳,增加win字段的大小
??導致帶寬利用率不高,波動幅度大
TCP餓死
當軟件隊列裝滿UDP的報文,TCP報文由于沒有進入到隊列而被尾丟棄;服務器沒有收到確認報文仍然需要TCP重傳報文,還是由于沒有進入到隊列而被尾丟棄。服務器的窗口機制會降低win大小,重新進行TCP重傳,但是由于UDP報文不會減少,就算服務器再降低win大小重傳TCP報文,也還是會被尾丟棄。所以概率上TCP報文進入到隊列的幾率很低,導致TCP轉發的機會很低。
尾丟棄無區別丟棄流量,無法保證關鍵業務不被丟棄
解決方法
RED只能解決傳統方法引起TCP全局同步;
WRED可以解決:
1. 引起TCP全局同步
2.TCP餓死的現象
3.無差別的尾丟棄
擁塞管理是擁塞發生時(硬件隊列滿),采用軟件隊列進行調度,擁塞避免是在擁塞發生時或隊列有擁塞加劇時主動丟棄報文。擁塞管理是擁塞發生時(硬件隊列滿),采用軟件隊列進行調度
總結
以上是生活随笔為你收集整理的华为数通笔记-QOS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021大学生创业计划书范例
- 下一篇: 华为项目管理法10大模板【Excel和W