02-QoS配置
本章節下載: 02-QoS配置 (1 MB)
目 錄
設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。
本文中提到的“接口子卡”、“以太網接口板”對應的具體單板型號,請參見產品安裝指導中的附錄。
QoS(Quality of Service)即服務質量。對於網絡業務,服務質量包括傳輸的帶寬、傳送的時延、數據的丟包率等。在網絡中可以通過保證傳輸的帶寬、降低傳送的時延、降低數據的丟包率以及時延抖動等措施來提高服務質量。
網絡資源總是有限的,隻要存在搶奪網絡資源的情況,就會出現服務質量的要求。服務質量是相對網絡業務而言的,在保證某類業務的服務質量的同時,可能就是在損害其它業務的服務質量。例如,在網絡總帶寬固定的情況下,如果某類業務占用的帶寬越多,那麼其他業務能使用的帶寬就越少,可能會影響其他業務的使用。因此,網絡管理者需要根據各種業務的特點來對網絡資源進行合理的規劃和分配,從而使網絡資源得到高效利用。
下麵從QoS服務模型出發,對目前使用最多、最成熟的一些QoS技術逐一進行描述。在特定的環境下合理地使用這些技術,可以有效地提高服務質量。
通常QoS提供以下三種服務模型:
· Best-Effort service(盡力而為服務模型)
· Integrated service(綜合服務模型,簡稱IntServ)
· Differentiated service(區分服務模型,簡稱DiffServ)
Best-Effort是一個單一的服務模型,也是最簡單的服務模型。對Best-Effort服務模型,網絡盡最大的可能性來發送報文。但對時延、可靠性等性能不提供任何保證。
Best-Effort服務模型是網絡的缺省服務模型,通過FIFO隊列來實現。它適用於絕大多數網絡應用,如FTP、E-Mail等。
IntServ是一個綜合服務模型,它可以滿足多種QoS需求。該模型使用資源預留協議(RSVP),RSVP運行在從源端到目的端的每個設備上,可以監視每個流,以防止其消耗資源過多。這種體係能夠明確區分並保證每一個業務流的服務質量,為網絡提供最細粒度化的服務質量區分。
但是,Inter-Serv模型對設備的要求很高,當網絡中的數據流數量很大時,設備的存儲和處理能力會遇到很大的壓力。Inter-Serv模型可擴展性很差,難以在Internet核心網絡實施。
RSVP的相關內容請參見“MPLS配置指導”中的“MPLS TE”。
DiffServ是一個多服務模型,它可以滿足不同的QoS需求。與IntServ不同,它不需要通知網絡為每個業務預留資源。區分服務實現簡單,擴展性較好。
本文提到的技術都是基於DiffServ服務模型。
QoS技術包括流分類、流量監管、流量整形、接口限速、擁塞管理、擁塞避免等。下麵對常用的技術簡單進行一下介紹。
圖1-1 常用QoS技術在網絡中的位置
如圖1-1所示,流分類、流量監管、流量整形、擁塞管理和擁塞避免主要完成如下功能:
· 流分類:采用一定的規則識別符合某類特征的報文,它是對網絡業務進行區分服務的前提和基礎。
· 流量監管:對進入或流出設備的特定流量進行監管。當流量超出設定值時,可以采取限製或懲罰措施,以保護網絡資源不受損害。可以作用在接口入方向和出方向。
· 流量整形:一種主動調整流的輸出速率的流量控製措施,用來使流量適配下遊設備可供給的網絡資源,避免不必要的報文丟棄,通常作用在接口出方向。
· 擁塞管理:就是當擁塞發生時如何製定一個資源的調度策略,以決定報文轉發的處理次序,通常作用在接口出方向。
· 擁塞避免:監督網絡資源的使用情況,當發現擁塞有加劇的趨勢時采取主動丟棄報文的策略,通過調整隊列長度來解除網絡的過載,通常作用在接口出方向。
圖1-2 各QoS技術在同一網絡設備中的處理順序
圖1-2簡要描述了各種QoS技術在網絡設備中的處理順序。
(1) 首先通過流分類對各種業務進行識別和區分,它是後續各種動作的基礎;
(2) 通過各種動作對特性的業務進行處理。這些動作需要和流分類關聯起來才有意義。具體采取何種動作,與所處的階段以及網絡當前的負載狀況有關。例如,當報文進入網絡時進行流量監管;流出節點之前進行流量整形;擁塞時對隊列進行擁塞管理;擁塞加劇時采取擁塞避免措施等。
QoS的配置方式分為QoS策略配置方式和非QoS策略配置方式兩種。
有些QoS功能隻能使用其中一種方式來配置,有些使用兩種方式都可以進行配置。在實際應用中,兩種配置方式也可以結合起來使用。
非QoS策略配置方式是指不通過QoS策略來進行配置。例如,端口限速功能可以通過直接在接口上配置來實現。
QoS策略配置方式是指通過配置QoS策略來實現QoS功能。
QoS策略包含了三個要素:類、流行為、策略。用戶可以通過QoS策略將指定的類和流行為綁定起來,靈活地進行QoS配置。
類的要素包括:類的名稱和類的規則。
用戶可以通過命令定義一係列的規則來對報文進行分類。
流行為用來定義針對報文所做的QoS動作。
流行為的要素包括:流行為的名稱和流行為中定義的動作。
用戶可以通過命令在一個流行為中定義多個動作。
策略用來將指定的類和流行為綁定起來,對分類後的報文執行流行為中定義的動作。
策略的要素包括:策略名稱、綁定在一起的類和流行為的名稱。
用戶可以在一個策略中定義多個類與流行為的綁定關係。
如圖2-1所示:
圖2-1 QoS策略配置方式的步驟
定義類首先要創建一個類名稱,然後在此類視圖下配置其匹配規則。
表2-1 定義類
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
必選 缺省為and,即類視圖下各匹配規則之間的關係為邏輯與 · and:報文隻有匹配了所有的規則,設備才認為報文屬於這個類 · or:報文隻要匹配了類中的任何一個規則,設備就認為報文屬於這個類 |
定義匹配數據包的規則 |
if-match match-criteria |
必選 具體規則請參見QoS命令參考中的命令if-match的介紹 |
當定義類且類操作符是and時,各if-match之間或一個if-match裏參數值之間表達的意義不能相互衝突,且每個類隻允許配置一個ACL。
定義流行為首先需要創建一個流行為名稱,然後可以在此流行為視圖下根據需要配置相應的流行為。每個流行為由一組QoS動作組成。
表2-2 定義流行為
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 |
配置流行為 |
流行為就是對應符合流分類的報文做出相應的QoS動作,例如流量監管、流量過濾、流量重定向、重標記、流量統計等,具體情況請參見本文相關章節 |
在策略視圖下為使用的類指定對應的流行為。以某種匹配規則將流區分為不同的類,再結合不同的流行為就能很靈活的實現各種QoS功能。
表2-3 在策略中為類指定流行為
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義策略並進入策略視圖 |
qos policy policy-name |
必選 |
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
必選
|
如果QoS策略在定義流分類規則時引用了ACL,ACL規則中的deny表示不執行QoS策略中C-B對中的動作,ACL規則中的permit表示執行QoS策略中C-B對中的動作。
QoS策略支持以下應用方式:
· 基於接口應用QoS策略:QoS策略對通過接口接收(發送)的流量生效。
· 基於VLAN應用QoS策略:QoS策略對通過同一個VLAN內所有接口接收(發送)的流量生效。
· 基於全局應用QoS策略:QoS策略對所有流量生效。
· 基於控製平麵應用QoS策略:QoS策略對通過控製平麵接收的流量生效。
· 基於控製平麵的QoS策略,僅在以太網接口板上支持。
· QoS策略應用後,用戶仍然可以修改QoS策略中的流分類規則和流行為,以及二者的對應關係。當流分類規則中匹配的是ACL時,允許刪除或修改該ACL(包括向該ACL中添加、刪除和修改規則)。
· QoS策略的優先級由高到低依次為:全局QoS策略、接口QoS策略、VLAN中的QoS策略。
· 基於VLAN和全局應用的QoS策略需要下發到所有接口板,如果遇到某個接口板硬件資源不足等情況,會導致策略在該接口板下發失敗。此時主控板及其它接口不回退該策略的配置,需要用戶手工將該策略的相關配置清除。類似地,動態修改過程中,如果基於VLAN和全局應用的QoS策略在某個接口板刷新時遇到硬件資源不足等情況,下發失敗,也需要用戶手工將該策略的配置清除。
一個策略可以應用於多個接口。接口的每個方向(出和入兩個方向)隻能應用一個策略。
表2-4 在接口上應用策略
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖、端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
三者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效; |
進入端口組視圖 |
port-group manual port-group-name |
||
在接口上應用關聯的策略 |
qos apply policy policy-name { inbound | outbound } |
必選 |
· 除鏈路層協議為X.25、LAPB協議的接口外,所有物理接口都可以應用QoS策略。
· 如果QoS策略應用在接口的出方向,則QoS策略對本地協議報文不起作用。本地協議報文是設備內部發起的某些報文,它是維持設備正常運行的重要協議報文。為了確保這些報文能夠被不受影響的發送出去,即便在接口的出方向應用了QoS策略,本地協議報文也不會受到QoS策略的限製,從而降低了因配置QoS而誤將這些報文丟棄或進行其他處理的風險。一些常見的本地協議報文如下:鏈路維護報文、IS-IS、OSPF、RIP、BGP、LDP、RSVP、SSH等。
· 將QoS策略應用到RPR邏輯接口上時,在該策略對應的流行為下僅支持filter或mirror-to動作,且這兩個動作不能同時配置。關於RPR邏輯接口的介紹,請參見“可靠性配置指導”中的“RPR”。關於mirror-to配置的詳細介紹,請參見“網絡管理和監控配置指導”中的“流鏡像”。
基於VLAN應用QoS策略可以方便對某個VLAN上的所有流量進行管理。
表2-5 基於VLAN應用的QoS策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
應用QoS策略到指定的VLAN |
qos vlan-policy policy-name vlan vlan-id-list { inbound | outbound } |
必選 |
· 基於VLAN應用的QoS策略不能應用在動態VLAN上。例如,在運行GVRP協議的情況下,設備可能會動態創建VLAN,QoS策略不能應用在該動態VLAN上。
· 當某個單板資源不足導致VLAN應用QoS策略下發或者刷新失敗時,用戶可以執行undo qos vlan-policy vlan命令進行手工刪除。
基於全局應用QoS策略可以方便對設備上的所有流量進行管理。
表2-6 基於全局應用QoS策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
基於全局應用QoS策略 |
qos apply policy policy-name global { inbound | outbound } |
必選 |
當某個單板資源不足導致全局應用QoS策略下發或者刷新失敗時,用戶可以執行undo qos apply policy global命令進行手工刪除。
報文進入設備後主要有兩種處理方式,一種是基於數據平麵的處理,另一種是基於控製平麵的處理:
· 數據平麵(DP,Data Plane):是指對報文進行收發、交換的處理單元,它的主要工作是轉發報文。在設備上,與之相對應的核心物理實體就是各種專用轉發芯片,它們有極高的處理速度和數據吞吐能力。
· 控製平麵(CP,Control Plane):是指運行大部分路由交換協議進程的處理單元,它的主要工作是進行協議報文的解析和協議的計算。在設備上,與之相對應的核心物理實體就是CPU,它具備靈活的報文處理能力,但數據吞吐能力有限。
數據平麵接收到無法識別或處理的報文會送到控製平麵進行進一步處理。如果上送控製平麵的報文速率超過了控製平麵的處理能力,例如設備受到DoS(Denial of Service,拒絕服務)攻擊,那麼上送控製平麵的報文會得不到正確轉發或及時處理,從而影響協議的正常運行。
為了解決此問題,用戶可以把QoS策略應用在控製平麵上,通過對上送控製平麵的報文進行過濾、限速等QoS處理,達到保護控製平麵正常報文的收發、維護控製平麵正常處理狀態的目的。
表2-7 應用控製平麵策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入控製平麵視圖(獨立運行模式) |
control-plane slot slot-number |
必選 |
進入控製平麵視圖(IRF模式) |
control-plane chassis chassis-number slot slot-number |
必選 |
應用QoS策略 |
qos apply policy policy-name inbound |
必選 |
· 基於控製平麵的QoS策略,僅在以太網接口板上支持。
· 缺省情況下,在控製平麵上應用預定義的QoS策略,並默認生效。預定義的QoS策略中通過system-index來標識各種上送控製平麵的報文類型,用戶也可以在流分類視圖下通過if-match命令引用這些system-index來進行報文分類,然後根據需要為這些報文重新配置流行為。係統預定義的QoS策略信息可以通過display qos policy control-plane pre-defined命令查看。
· 在將QoS策略應用在IRF端口所在槽位單板控製平麵時,如果在此QoS策略對應的流分類包含的二層ACL中定義了匹配所有的報文的規則(即配置rule permit命令),那麼請不要在對應的流行下配置流量監管(即car cir命令)或配置丟棄數據包(即filter deny命令)功能,否則可能導致IRF分裂,影響設備正常使用。
在任意視圖下執行display命令可以顯示QoS策略的運行情況,通過查看顯示信息驗證配置的效果。
表2-8 QoS策略顯示和維護
操作 |
命令 |
顯示配置的類信息 |
display traffic classifier user-defined [ tcl-name ] [ | { begin | exclude | include } regular-expression ] |
顯示配置的流行為信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
顯示戶定義策略的配置信息 |
display qos policy user-defined [ policy-name [ classifier tcl-name ] ] [ | { begin | exclude | include } regular-expression ] |
顯示指定接口策略的配置信息和運行情況 |
display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
顯示VLAN應用QoS策略的信息(獨立運行模式) |
display qos vlan-policy { name policy-name | vlan vlan-id } [ slot slot-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
顯示VLAN應用QoS策略的信息(IRF模式) |
display qos vlan-policy { name policy-name | vlan [ vlan-id ] } [ chassis chassis-number slot slot-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
顯示全局應用QoS策略的信息(獨立運行模式) |
display qos policy global [ slot slot-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
顯示全局應用QoS策略的信息(IRF模式) |
display qos policy global [ chassis chassis-number slot slot-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
顯示控製平麵應用QoS策略的信息(獨立運行模式) |
display qos policy control-plane slot slot-number [ inbound ] [ | { begin | exclude | include } regular-expression ] |
顯示控製平麵應用QoS策略的信息(IRF模式) |
display qos policy control-plane chassis chassis-number slot slot-number [ inbound ] [ | { begin | exclude | include } regular-expression ] |
顯示在控製平麵應用的預定義QoS策略的信息(獨立運行模式) |
display qos policy control-plane pre-defined slot slot-number [ | { begin | exclude | include } regular-expression ] |
顯示在控製平麵應用的預定義QoS策略的信息(IRF模式) |
display qos policy control-plane pre-defined chassis chassis-number slot slot-number [ | { begin | exclude | include } regular-expression ] |
清除VLAN應用QoS策略的統計信息 |
reset qos vlan-policy [ vlan vlan-id ] [ inbound | outbound ] |
清除全局應用QoS策略的統計信息 |
reset qos policy global [ inbound | outbound ] |
清空控製平麵應用QoS策略的統計信息(獨立運行模式) |
reset qos policy control-plane slot slot-number [ inbound ] |
清空控製平麵應用QoS策略的統計信息(IRF模式) |
reset qos policy control-plane chassis chassis-number slot slot-number [ inbound ] |
清除指定接口策略的統計信息請使用reset counters interface命令,有關reset counters interface命令的介紹請參見“接口管理命令參考”中的“以太網接口”。
報文在進入設備以後,設備會根據自身情況和相應規則(primap、remark)分配或修改報文的各種優先級的值,為隊列調度和擁塞控製服務。
優先級映射功能通過報文所攜帶的優先級字段來映射其他優先級字段值,就可以獲得各種用以決定報文調度能力的各種優先級字段,從而可以全麵有效的控製報文的轉發調度能力。
優先級用於標識報文傳輸的優先程度,可以分為兩類:報文攜帶優先級和設備調度優先級。
報文攜帶優先級包括:802.1p優先級、DSCP優先級、IP優先級、EXP優先級等。這些優先級都是根據公認的標準和協議生成,體現了報文自身的優先等級。相關介紹請參見16.3 附錄 C 各種優先級介紹。
設備調度優先級是指報文在設備內轉發時所使用的優先級,隻對當前設備自身有效。設備調度優先級包括以下幾種:
· 本地優先級(LP):設備為報文分配的一種具有本地意義的優先級,每個本地優先級對應一個隊列,本地優先級值越大的報文,進入的隊列優先級越高,從而能夠獲得優先的調度。
· 丟棄優先級(DP):在進行報文丟棄時參考的參數,丟棄優先級值越大的報文越被優先丟棄。
· 用戶優先級(UP):設備對於進入的流量,會自動獲取報文的優先級,這種報文優先級稱為用戶優先級。對於不同類型的報文,用戶優先級所代表的優先級字段不同。對於二層報文,用戶優先級取自802.1p優先級;對於三層報文,用戶優先級取自IP優先級;對於MPLS報文,用戶優先級取自EXP。
設備提供了多張優先級映射表,分別對應相應的優先級映射關係。
通常情況下,可以通過查找缺省優先級映射表(16.2 附錄 B 缺省優先級映射表)來為報文分配相應的優先級。如果缺省優先級映射表無法滿足用戶需求,可以根據實際情況對映射表進行修改。
我們常用的方式有三種:配置優先級信任模式、配置端口優先級和通過QoS策略配置(配置Primap)。
如果配置了優先級信任模式,即表示設備信任當前進來流量的報文優先級,會自動解析報文的優先級或者標誌位,然後按照映射表映射到報文的優先級參數。
如果沒有配置優先級信任模式,並且配置了端口優先級值,則表明設備不信任所接收報文的優先級,而是使用端口優先級,按照映射表映射到報文的優先級參數。
建議進行各項配置的時候先整體規劃網絡QoS。
表3-1 優先級映射配置任務簡介
配置任務 |
說明 |
詳細配置 |
配置優先級映射表 |
可選 |
|
配置優先級信任模式 |
可選 |
|
配置端口優先級 |
可選 |
|
配置Primap |
可選 |
設備提供了多張優先級映射表,分別對應相應的優先級映射關係。
· dot1p-dot1p:802.1p優先級到802.1p優先級映射表;
· dot1p-dp:802.1p優先級到丟棄優先級映射表;
· dot1p-dscp:802.1p優先級到DSCP映射表;
· dot1p-exp:802.1p優先級到EXP映射表;
· dot1p-lp:802.1p優先級到本地優先級映射表;
· dscp-dot1p:DSCP到802.1p優先級映射表,僅對IP報文生效;
· dscp-dp:DSCP到丟棄優先級映射表,僅對IP報文生效;
· dscp-dscp:DSCP到DSCP映射表,僅對IP報文生效;
· dscp-exp:DSCP到EXP映射表;
· dscp-lp:DSCP到本地優先級映射表,僅對IP報文生效;
· exp-dot1p:EXP到802.1p優先級映射表;
· exp-dp:EXP到丟棄優先級映射表;
· exp-dscp:EXP到DSCP映射表;
· exp-lp:EXP到本地優先級映射表;
· up-dp:用戶優先級到丟棄優先級映射表;
· up-fc:用戶優先級到轉發類映射表;
· up-lp:用戶優先級到本地優先級映射表;
· up-rpr:用戶優先級到RPR優先級映射表;
· up-up:用戶優先級到用戶優先級映射表。
表3-2 配置優先級映射表(不帶顏色)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入指定的優先級映射表視圖 |
qos map-table { { inbound { dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-lp | up-lp | up-up } } | { outbound { up-lp | up-dp | up-fc | up-rpr } } } |
必選 用戶根據需要進入相應的優先級映射表視圖 |
配置指定優先級映射表參數,定義優先級映射關係 |
import import-value-list export export-value |
必選 新配置的映射項將覆蓋原有映射項 |
經過CAR處理的報文被分成了三種顏色(綠色、黃色、紅色),為了對不同顏色報文進行優先級映射,設備提供了多張帶顏色優先級映射表,分別對應相應顏色的優先級映射關係。
· dot1p-dot1p:802.1p優先級到802.1p優先級映射表;
· dot1p-dp:802.1p優先級到丟棄優先級映射表;
· dot1p-dscp:802.1p優先級到DSCP映射表;
· dot1p-exp:802.1p優先級到EXP映射表;
· dot1p-lp:802.1p優先級到本地優先級映射表;
· dscp-dot1p:DSCP到802.1p優先級映射表;
· dscp-dp:DSCP到丟棄優先級映射表;
· dscp-dscp:DSCP到DSCP映射表;
· dscp-exp:DSCP到EXP映射表;
· dscp-lp:DSCP到本地優先級映射表;
· exp-dot1p:EXP到802.1p優先級映射表;
· exp-dp:EXP到丟棄優先級映射表;
· exp-dscp:EXP到DSCP映射表;
· exp-exp:EXP到EXP映射表;
· exp-lp:EXP到本地優先級映射表;
· up-dscp:用戶優先級到DSCP映射表。
表3-3 配置優先級映射表(帶顏色)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入指定的帶顏色優先級映射表視圖 |
qos map-table color { green | yellow | red } { inbound { dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-exp | exp-lp } | outbound { dot1p-dot1p | dot1p-dscp | dot1p-exp | dscp-dot1p | dscp-dscp | dscp-exp | exp-dot1p | exp-dscp | exp-exp } | up-dscp } |
必選 用戶根據需要進入相應的帶顏色優先級映射表視圖 |
配置指定帶顏色優先級映射表參數,定義優先級映射關係 |
import import-value-list export export-value |
必選 新配置的映射項將覆蓋原有映射項 |
根據報文自身的優先級,查找優先級映射表,為報文分配優先級參數,可以通過配置優先級信任模式的方式來實現。
在配置接口/端口組上的優先級模式時,用戶可以選擇下列信任模式:
· auto:表示根據報文的類型,自動提取報文中的優先級字段進行優先級映射。對於二層報文,采用802.1p優先級;對於三層報文,采用IP優先級;對於MPLS報文,采用EXP優先級。
· dot1p:信任報文自帶的802.1p優先級,以此優先級進行優先級映射。
· dscp:信任IP報文自帶的DSCP優先級,以此優先級進行優先級映射。
· exp:信任MPLS報文自帶的EXP優先級,以此優先級進行優先級映射。
表3-4 配置優先級信任模式
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口(如以太網接口)視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置優先級信任模式 |
qos trust { auto | dot1p | dscp | exp } [ override ] |
必選 缺省情況下,端口信任模式為untrust,信任端口的默認優先級 其中,POS和RPR接口子卡僅支持auto關鍵字 |
按照接收端口的端口優先級,通過一一映射為報文分配相應的優先級。
表3-5 配置端口優先級
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口(以太網接口或WLAN-ESS接口)視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置端口優先級 |
qos priority { dot1p | dp | dscp | exp | lp } priority-value |
必選 缺省情況下,端口lp類型優先級的缺省值為2,dp類型優先級的缺省值為0,其餘類型優先級沒有缺省值 該命令中的關鍵字dot1p 、dp、dscp、exp、lp僅以太網接口板支持 |
Primap配置和類結合,可以將指定流的報文優先級根據映射表進行重新配置。
表3-6 配置Primap(不帶顏色)
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
- |
|
配置使用相應的優先級映射表為報文獲取其他的優先級參數 |
primap pre-defined dscp-dscp |
必選 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
表3-7 配置Primap(帶顏色)
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
- |
|
配置流量監管動作 |
car cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peak-information-rate ] [ red action ] |
必選 |
|
配置使用相應的帶顏色優先級映射表為報文獲取其他的優先級參數 |
primap pre-defined color { dot1p-dot1p | dot1p-exp | dot1p-dp | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-exp | exp-lp | up-dscp } |
必選 |
|
配置使用報文的顏色標記報文的丟棄優先級 |
primap color-map-dp |
可選 映射關係為:紅色對應丟棄優先級2,黃色對應丟棄優先級1,綠色對應丟棄優先級0。此映射關係固定,不能修改 僅應用在出方向 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後優先級映射的運行情況,通過查看顯示信息驗證配置的效果。
表3-8 優先級映射顯示和維護
操作 |
命令 |
顯示指定優先級映射表配置情況 |
display qos map-table [ inbound { dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p| dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-lp | up-lp | up-up } | outbound { up-dp | up-fc | up-lp | up-rpr } ] [ dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p| dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-lp | up-dp | up-fc | up-lp | up-rpr | up-up ] [ | { begin | exclude | include } regular-expression ] |
顯示指定帶顏色優先級映射表配置情況 |
display qos map-table color [ [ green | yellow | red ] [ inbound [ dot1p-dot1p | dot1p-dp | dot1p-dscp | dot1p-exp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp | dscp-exp | dscp-lp | exp-dot1p | exp-dp | exp-dscp | exp-exp | exp-lp ] | outbound [ dot1p-dot1p | dot1p-dscp | dot1p-exp | dscp-dot1p | dscp-dscp | dscp-exp | exp-dot1p | exp-dscp | exp-exp ] ] | up-dscp ] [ | { begin | exclude | include } regular-expression ] |
顯示端口優先級信任模式信息 |
display qos trust interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
· 公司企業網通過設備Switch實現各部門之間的互連,網絡根據部門劃分為不同VLAN;
· 要求設備Switch在進行報文處理時,能夠根據報文的802.1p優先級選擇入隊列;
· 使用用戶自定義的映射關係。
圖3-1 優先級信任模式組網圖
# 進入係統視圖。
<Switch> system-view
# 進入接收報文方向的dot1p-lp優先級映射表視圖,修改映射表參數。
[Switch] qos map-table inbound dot1p-lp
[Switch-maptbl-in-dot1p-lp] import 0 1 export 0
[Switch-maptbl-in-dot1p-lp] import 2 3 export 1
[Switch-maptbl-in-dot1p-lp] import 4 5 export 2
[Switch-maptbl-in-dot1p-lp] import 6 7 export 3
[Switch-maptbl-in-dot1p-lp] quit
# 配置GigabitEthernet3/0/1信任802.1p優先級。
[Switch] interface gigabitethernet 3/0/1
[Switch-GigabitEthernet3/0/1] qos trust dot1p
[Switch-GigabitEthernet3/0/1] quit
# 配置GigabitEthernet3/0/2信任802.1p優先級。
[Switch] interface gigabitethernet 3/0/2
[Switch-GigabitEthernet3/0/2] qos trust dot1p
[Switch-GigabitEthernet3/0/2] quit
# 配置GigabitEthernet3/0/3信任802.1p優先級。
[Switch] interface gigabitethernet 3/0/3
[Switch-GigabitEthernet3/0/3] qos trust dot1p
[Switch-GigabitEthernet3/0/3] quit
# 配置GigabitEthernet3/0/4信任802.1p優先級。
[Switch] interface gigabitethernet 3/0/4
[Switch-GigabitEthernet3/0/4] qos trust dot1p
如果不限製用戶發送的流量,那麼大量用戶不斷突發的數據隻會使網絡更擁擠。為了使有限的網絡資源能夠更好地發揮效用,更好地為更多的用戶服務,必須對用戶的流量加以限製。比如限製每個時間間隔某個流隻能得到承諾分配給它的那部分資源,防止由於過分突發所引發的網絡擁塞。
流量監管和流量整形都可以通過對流量規格的監督來限製流量及其資源的使用,它們有一個前提條件,就是要知道流量是否超出了規格,然後才能根據評估結果實施調控。一般采用令牌桶(Token Bucket)對流量的規格進行評估。
令牌桶可以看作是一個存放一定數量令牌的容器。係統按設定的速度向桶中放置令牌,當桶中令牌滿時,多出的令牌溢出,桶中令牌不再增加。
在用令牌桶評估流量規格時,是以令牌桶中的令牌數量是否足夠滿足報文的轉發為依據的。如果桶中存在足夠的令牌可以用來轉發報文,稱流量遵守或符合這個規格,否則稱為不符合或超標。
評估流量時令牌桶的參數包括:
· 平均速率:向桶中放置令牌的速率,即允許的流的平均速度。通常配置為CIR。
· 突發尺寸:令牌桶的容量,即每次突發所允許的最大的流量尺寸。通常配置為CBS,突發尺寸必須大於最大報文長度。
每到達一個報文就進行一次評估。每次評估,如果桶中有足夠的令牌可供使用,則說明流量控製在允許的範圍內,此時要從桶中取走與報文轉發權限相當的令牌數量;否則說明已經耗費太多令牌,流量超標了。
為了評估更複雜的情況,實施更靈活的調控策略,可以配置兩個令牌桶(簡稱C桶和E桶)。例如TP中有四個參數:
· CIR:表示向C桶中投放令牌的速率,即C桶允許傳輸或轉發報文的平均速率;
· CBS:表示C桶的容量,即C桶瞬間能夠通過的承諾突發流量;
· PIR:表示向E桶中投放令牌的速率,即E桶允許傳輸或轉發報文的最大速率;
· EBS:表示E桶的容量,即E桶瞬間能夠通過的超出突發流量。
CBS和EBS是由兩個不同的令牌桶承載的。每次評估時,依據下麵的情況,可以分別實施不同的流控策略:
· 如果C桶有足夠的令牌,報文被標記為green,即綠色報文;
· 如果C桶令牌不足,但E桶有足夠的令牌,報文被標記為yellow,即黃色報文;
· 如果C桶和E桶都沒有足夠的令牌,報文被標記為red,即紅色報文。
流量監管支持入/出兩個方向,為了方便描述,下文以出方向為例。
流量監管TP(Traffic Policing)就是對流量進行控製,通過監督進入網絡的流量速率,對超出部分的流量進行“懲罰”,使進入的流量被限製在一個合理的範圍之內,以保護網絡資源和運營商的利益。例如可以限製HTTP報文不能占用超過50%的網絡帶寬。如果發現某個連接的流量超標,流量監管可以選擇丟棄報文,或重新配置報文的優先級。
圖4-1 TP示意圖
流量監管廣泛的用於監管進入Internet服務提供商ISP的網絡流量。流量監管還包括對所監管流量的流分類服務,並依據不同的評估結果,實施預先設定好的監管動作。這些動作可以是:
· 轉發:比如對評估結果為“符合”的報文繼續轉發。
· 丟棄:比如對評估結果為“不符合”的報文進行丟棄。
· 改變優先級並轉發:比如對評估結果為“符合”的報文,將之標記為其它的優先級後再進行轉發。
· 改變優先級並進入下一級監管:比如對評估結果為“符合”的報文,將之標記為其它的優先級後再進入下一級的監管。
· 進入下一級的監管:流量監管可以進行分級,每級關注和監管更具體的目標。
流量整形僅支持出方向。
TS(Traffic Shaping,流量整形)是一種主動調整流量輸出速率的措施。一個典型應用是基於下遊網絡節點的TP指標來控製本地流量的輸出。
流量整形與流量監管的主要區別在於,流量整形對流量監管中需要丟棄的報文進行緩存——通常是將它們放入緩衝區或隊列內,如圖4-2所示。當令牌桶有足夠的令牌時,再均勻的向外發送這些被緩存的報文。流量整形與流量監管的另一區別是,整形可能會增加延遲,而監管幾乎不引入額外的延遲。
圖4-2 TS示意圖
例如,在圖4-3所示的應用中,設備Router A向Router B發送報文。Router B要對Router A發送來的報文進行TP監管,對超出規格的流量直接丟棄。
為了減少報文的無謂丟失,可以在Router A的出口對報文進行流量整形處理。將超出流量整形特性的報文緩存在Router A中。當可以繼續發送下一批報文時,流量整形再從緩衝隊列中取出報文進行發送。這樣,發向Router B的報文將都符合Router B的流量規定。
表4-1 流量監管配置
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
- |
|
配置流量監管動作 |
car cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peak-information-rate ] [ red action ] |
必選 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
||
基於控製平麵 |
- |
設備對於流量監管(CAR)是基於Color-Aware模式的,有關Color-Aware的詳細介紹,請參見“RFC 2697”。
· 軟轉發流量整形不支持IPv6。
· 不允許同時在主接口和子接口上配置流量整形。
流量整形配置分為以下幾種:
· 基於隊列的流量整形配置:為某一個隊列的數據包設置整形參數。
· 適配所有流的流量整形配置:為所有的流設置整形參數。
表4-2 基於隊列的流量整形配置
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
在接口配置流量整形 |
qos gts queue queue-number cir committed-information-rate [ cbs committed-burst-size |
必選 |
表4-3 適配所有流的流量整形配置
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
在接口配置流量整形 |
qos gts any cir committed-information-rate [ cbs committed-burst-size ] |
必選 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後流量監管/流量整形的運行情況,通過查看顯示信息驗證配置的效果。
表4-4 流量監管/流量整形顯示和維護
操作 |
命令 |
顯示設備的CAR資源使用情況(獨立運行模式) |
display car resource [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示設備的CAR資源使用情況(IRF模式) |
display car resource [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示流量整形配置運行信息 |
display qos gts interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
所謂擁塞,是指當前供給資源相對於正常轉發處理需要資源的不足,從而導致服務質量下降的一種現象。
在複雜的Internet分組交換環境下,擁塞極為常見。以下圖中的兩種情況為例:
圖5-1 流量擁塞示意圖
擁塞有可能會引發一係列的負麵影響:
· 擁塞增加了報文傳輸的延遲和抖動,可能會引起報文重傳,從而導致更多的擁塞產生。
· 擁塞使網絡的有效吞吐率降低,造成網絡資源的利用率降低。
· 擁塞加劇會耗費大量的網絡資源(特別是存儲資源),不合理的資源分配甚至可能導致係統陷入資源死鎖而崩潰。
在分組交換以及多用戶業務並存的複雜環境下,擁塞又是不可避免的,因此必須采用適當的方法來解決擁塞。
擁塞管理的中心內容就是當擁塞發生時如何製定一個資源的調度策略,以決定報文轉發的處理次序。
對於擁塞管理,一般采用隊列技術,使用一個隊列算法對流量進行分類,之後用某種優先級別算法將這些流量發送出去。每種隊列算法都是用以解決特定的網絡流量問題,並對帶寬資源的分配、延遲、抖動等有著十分重要的影響。
擁塞管理的處理包括隊列的創建、報文的分類、將報文送入不同的隊列、隊列調度等。隊列調度對不同優先級的報文進行分級處理,優先級高的會得到優先發送。
這裏介紹幾種常用的隊列調度機製。
如圖5-2所示,FIFO按照時間到達的先後決定分組的轉發次序,先進的先出,後進的後出,不需要進行流分類和隊列調度,FIFO關心的隻是隊列的長度,隊列的長度對延遲和丟包率的影響。用戶的業務流在某個設備能夠獲得的資源取決於分組的到達時機及當時的負載情況。Best-Effort報文轉發方式采用的就是FIFO的排隊策略。
如果設備的每個端口隻有一個基於FIFO的輸入或輸出隊列,那麼惡性的應用可能會占用所有的網絡資源,嚴重影響關鍵業務數據的傳送。所以還需要配置一些其他的隊列調度機製與FIFO配合對流量進行調度和擁塞控製。
每個隊列內部報文的發送次序缺省是FIFO。
PQ隊列是針對關鍵業務應用設計的。關鍵業務有一個重要的特點,即在擁塞發生時要求優先獲得服務以減小響應的延遲。PQ可以根據網絡協議(比如IP、IPX)、數據流入接口、報文長短、源地址/目的地址等靈活地指定優先次序。如圖5-3所示,優先隊列將報文分成4類,分別為高優先隊列(top)、中優先隊列(middle)、正常優先隊列(normal)和低優先隊列(bottom),它們的優先級依次降低。缺省情況下,數據流進入normal隊列。每個隊列內部又遵循FIFO原則。
在隊列調度時,PQ嚴格按照優先級從高到低的次序,優先發送較高優先級隊列中的分組,當較高優先級隊列為空時,再發送較低優先級隊列中的分組。這樣,將關鍵業務的分組放入較高優先級的隊列,將非關鍵業務的分組放入較低優先級的隊列,可以保證關鍵業務的分組被優先傳送,非關鍵業務的分組在處理關鍵業務數據的空閑間隙被傳送。
PQ的缺點是:擁塞發生時,如果較高優先級隊列中長時間有分組存在,那麼低優先級隊列中的報文將一直得不到服務。
在介紹加權公平隊列前,先要理解公平隊列FQ(Fair Queuing)。FQ是為了公平地分享網絡資源,盡可能使所有流的延遲和抖動達到最優而推出的。它照顧了各方麵的利益,主要表現在:
· 不同的隊列獲得公平的調度機會,從總體上均衡各個流的延遲。
· 短報文和長報文獲得公平的調度:如果不同隊列間同時存在多個長報文和短報文等待發送,應當顧及短報文的利益,讓短報文優先獲得調度,從而在總體上減少各個流的報文間的抖動。
與FQ相比,WFQ在計算報文調度次序時增加了優先權方麵的考慮。從統計上,WFQ使高優先權的報文獲得優先調度的機會多於低優先權的報文。WFQ能夠按流的“會話”信息(協議類型、源和目的TCP或UDP端口號、源和目的IP地址、ToS域中的優先級位等)自動進行流分類,並且盡可能多地提供隊列,以將每個流均勻地放入不同隊列中,從而在總體上均衡各個流的延遲。在出隊的時候,WFQ按流的優先級來分配每個流應占有出口的帶寬。優先級的數值越小,所得的帶寬越少。優先級的數值越大,所得的帶寬越多。
例如:接口中當前共有5個流,它們的優先級分別為0、1、2、3、4,則帶寬總配額為所有(流的優先級+1)的和,即1+2+3+4+5=15。
每個流所占帶寬比例為:(自己的優先級數+1)/(所有(流的優先級+1)的和)。即每個流可得的帶寬分別為:1/15,2/15,3/15,4/15,5/15。
由於WFQ在擁塞發生時能均衡各個流的延遲和抖動,所以WFQ在一些特殊場合得到了有效的應用。比如在使用資源預留協議RSVP(Resource Reservation Protocol)的保證型業務中,通常就是采用WFQ作為調度策略;在流量整形中,也采用WFQ調度緩存的報文。
目前,BE業務對應0號調度隊列、AF業務對應1/2/3/4號調度隊列、EF業務對應5/6號調度隊列、NC業務對應7號調度隊列,不同業務隊列之間進行SP嚴格的優先級調度。同一業務類型的調度隊列,隊列之間按權重進行調度。
CBQ是對WFQ功能的擴展,為用戶提供了定義類的支持。在網絡擁塞時,CBQ根據用戶定義的類規則對報文進行匹配,並使其進入相應的隊列,在入隊列之前必須進行擁塞避免機製和帶寬限製的檢查。在報文出隊列時,加權公平調度每個類對應的隊列中的報文。
CBQ包括以下隊列:
· 緊急隊列:CBQ提供一個緊急隊列,緊急報文入該隊列,該隊列采用FIFO調度,沒有帶寬限製。
· LLQ(Low Latency Queuing,低延遲隊列):即EF隊列。如果CBQ加權公平對待所有類的隊列,實時業務報文(包括語音與視頻業務,對延遲比較敏感)就可能得不到及時發送。為此引入一個EF隊列,為實時業務報文提供嚴格優先發送服務。LLQ將嚴格優先隊列機製與CBQ結合起來使用,用戶在定義類時可以指定其享受嚴格優先服務,這樣的類稱作優先類。所有優先類的報文將進入同一個優先隊列,在入隊列之前需對各類報文進行帶寬限製的檢查。報文出隊列時,將首先發送優先隊列中的報文,直到發送完後才發送其他類對應的隊列的報文。為了不讓其他隊列中的報文延遲時間過長,在使用LLQ時將會為每個優先類指定可用最大帶寬,該帶寬值用於擁塞發生時監管流量。如果擁塞未發生,優先類允許使用超過分配的帶寬。如果擁塞發生,優先類超過分配帶寬的數據包將被丟棄。
· BQ(Bandwidth Queuing,帶寬隊列):即AF隊列。為AF業務提供嚴格、精確的帶寬保證,並且保證各類AF業務之間按一定的比例關係進行隊列調度。最多支持64個AF隊列。
· 缺省隊列:一個WFQ隊列,用來支撐BE業務,使用接口剩餘帶寬進行發送。
係統在為報文匹配規則時,規則如下:
· 先匹配優先類,然後再匹配其他類;
· 對多個優先類,按照配置順序逐一匹配;
· 對其他類,也是按照配置順序逐一匹配;
· 對類中多個規則,按照配置順序逐一匹配。
目前,以太網接口板不支持CBQ,僅業務處理板支持。
設備上提供了以上擁塞管理技術,突破了傳統IP設備的單一FIFO擁塞管理策略,提供了強大的QoS能力,使得IP設備可以滿足不同業務所要求的不同服務質量的要求。為了用戶更好地利用擁塞管理技術,現對各種隊列技術做一比較。
類型 |
隊列數 |
優點 |
缺點 |
FIFO |
1 |
· 不需要配置,易於使用 · 處理簡單,延遲小 |
· 所有的報文均進入一個“先進先出”的隊列,發送報文所占用的帶寬、延遲時間、丟失的概率均由報文到達隊列的先後順序決定 · 對不匹配的數據源(即沒有流控機製的流,如UDP報文發送)無約束力,不匹配的數據源會造成匹配的數據源(如TCP報文發送)帶寬受損失 · 對時間敏感的實時應用(如VoIP)的延遲得不到保證 |
PQ |
4 |
· 可對不同業務的數據提供絕對的優先,對時間敏感的實時應用(如VoIP)的延遲可以得到保證 · 對優先業務的報文的帶寬占用可以絕對優先 |
· 需配置,處理速度慢 · 如果不對高優先級的報文的帶寬加限製,可能會造成低優先級的報文得不到帶寬 |
WFQ |
可配置 |
· 配置容易 · 可以保護配合(交互)的數據源(如TCP報文發送)的帶寬 · 可以減小抖動 · 可以減小數據量小的交互式應用的延遲 · 可以為不同優先級的流分配不同的帶寬 · 當流的數目減少時,能自動增加現存流可占的帶寬 |
處理速度比FIFO要慢,但比PQ、CQ要快 |
CBQ |
可配置(0~4) |
· 可以對數據根據靈活、多樣的分類規則進行劃分,分別為EF(加速轉發)、AF(確保轉發)、BE(盡力轉發)業務提供不同的隊列調度機製 · 可以為AF業務提供嚴格、精確的帶寬保證,並且保證各類AF業務之間根據權值按一定的比例關係進行隊列調度 · 可以為EF業務提供絕對優先的隊列調度,確保實時數據的時延滿足要求;同時通過對高優先級數據流量的限製,克服了PQ的低優先級隊列可能得不到服務的弊病 · 對於盡力轉發的缺省類數據,提供WFQ隊列調度 |
係統開銷比較大 |
如果流量突發較大,可以通過增加隊列長度的方法來改善隊列調度的準確率。
當接口沒有使用WFQ策略時,使用qos wfq命令可以使接口使用WFQ策略,同時指定WFQ的參數。如果接口已經使用了WFQ策略,使用qos wfq命令可以修改WFQ的參數。
表5-2 加權公平隊列配置過程
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置加權隊列 |
qos wfq queue weight schedule-value |
必選 缺省情況下,接口不使用WFQ,而使用FIFO |
顯示接口加權公平隊列的配置統計信息 |
display qos wfq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
可選 display命令可以在任意視圖下執行 |
配置隊列2、3、4的權重分別為5、10、20。
# 進入係統視圖。
<Sysname> system-view
# 配置Pos3/1/1的WFQ隊列。
[Sysname] interface Pos 3/1/1
[Sysname-Pos3/1/1] qos wfq 2 weight 5
[Sysname-Pos3/1/1] qos wfq 3 weight 10
[Sysname-Pos3/1/1] qos wfq 4 weight 20
基於類的隊列CBQ的配置步驟如下:
(1) 定義類
(2) 定義流行為
(3) 定義策略
(4) 在接口視圖下應用QoS策略
定義類首先要創建一個類名稱,然後在此類視圖下配置其匹配規則。
表5-3 定義類
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義類並進入類映射視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
必選 缺省為and,即類視圖下各匹配規則之間的關係為邏輯與 |
定義匹配數據包的規則 |
if-match match-criteria |
必選 |
用戶必須為每個QoS策略配置一個permit any 的缺省類,保證用戶除EF和AF之外的流量入BE隊列,即默認優先級隊列。配置的缺省類還需要放在QoS策略的最後一個CB對。
定義流行為首先需要創建一個流行為名稱,然後在此流行為視圖下配置其特性。
表5-4 配置確保轉發(AF),並配置最小可保證帶寬
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名 |
配置確保轉發(AF),並配置最小可保證帶寬 |
queue af bandwidth bandwidth |
必選 |
· 該行為隻能應用在接口的出方向。
· 在同一流行為視圖下queue af不能與queue ef命令、queue wfq命令同時使用
· 在同一策略下各個類需用同一單位配置queue ef和queue af,或者用bandwidth,或者用百分比進行配置。
· 保證帶寬表示確保轉發流量可占用且肯定轉發成功的流量,無論接口上流量是否擁塞,這部分流量肯定能夠轉發成功;而超過該帶寬限製的多餘AF流量,會跟BE流量競爭帶寬,這部分流量能有多少轉發成功視接口上的擁塞情況而定。
表5-5 配置加速轉發(EF),並配置最大帶寬
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名 |
配置加速轉發(EF) |
queue ef bandwidth bandwidth [ cbs burst ] |
必選 |
· 本配置在流行為視圖下不能與queue af、queue wfq和wred命令同時使用。
· 該行為隻能應用在接口的出方向。
· 對於bandwidth,範圍為64~10000000,單位是kbps;對於cbs,範圍為1600~1000000000,單位是byte;如果不配置,默認為bandwidth的25倍。
· 加速轉發帶寬表示加速轉發流量可占用且肯定轉發成功的流量,無論接口上流量是否擁塞,這部分流量肯定能夠轉發成功;而超過該帶寬限製的多餘EF流量,視接口上的擁塞情況而定,不能保證轉發成功。
· 在同一策略下各個類需用同一單位配置queue ef和queue af,或者用bandwidth,或者用百分比進行配置。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名 |
配置采用公平隊列 |
queue wfq |
必選 |
· 配置了公平隊列的流行為僅可以與缺省類關聯使用。
· 本配置在流行為視圖下不能與queue ef、queue af命令同時使用。
· 該行為隻能應用在接口的出方向。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名,不允許為係統預定義流行為 |
配置丟棄方式為隨機丟棄方式 |
wred [ dscp | ip-precedence ] |
必選 dscp:表明在為一個包計算丟棄概率時使用的是DSCP值 ip-precedence:表明在為一個包計算丟棄概率時使用的是IP優先級值,作為缺省配置 |
· wred [ dscp | ip-precedence ]命令必須在配置了queue af或queue wfq後使用。
· 刪除WRED時將刪除在該隨機丟棄下的其他配置。
· 當接口上應用了包含WRED特性的QoS策略後,原有的接口級的WRED配置失效。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義策略並進入策略視圖 |
qos policy policy-name |
- |
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
必選 tcl-name:類名,必須是已經定義的類,可以是係統定義或用戶定義類 behavior-name:必須是已定義的流行為名,可以是係統定義或用戶定義流行為 |
qos apply policy命令將一個策略映射到具體的物理接口。一個策略映射可以在多個物理端口。
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
在接口上應用關聯的策略 |
qos apply policy policy-name { inbound | outbound } |
必選 |
策略在接口視圖下應用的規格如下:
· 普通物理接口,可以應用配置了各種特性(包括remark、car、queue af、queue ef、queue wfq、wred等)的策略。
· 配置了隊列(queue ef、queue af、queue wfq)特性的策略,不能作為入方向策略應用在入接口上。
在完成上述配置後,在任意視圖下執行display命令可以顯示基於類的隊列的運行情況,通過查看顯示信息驗證配置的效果。
操作 |
命令 |
顯示設備配置的類信息 |
display traffic classifier user-defined [ tcl-name ] [ | { begin | exclude | include } regular-expression ] |
顯示設備配置的流行為信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
顯示指定策略中指定類及與類關聯的流行為的配置信息 |
display qos policy user-defined [ policy-name [ classifier tcl-name ] ] [ | { begin | exclude | include } regular-expression ] |
顯示指定接口或所有接口上策略的配置信息和運行情況 |
display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
在下麵的組網圖中,從Switch C發出的數據流經過Switch A和Switch B到達Switch D,需求如下:
· Switch C發出的數據流根據IP報文的DSCP域分為3類,要求配置QoS策略,對於DSCP域為AF11和AF21的流進行確保轉發(AF),保證帶寬為5M;
· 對於DSCP域為EF的流進行加速轉發(EF),保證帶寬為30M。
在進行配置之前,應保證:
· Switch C發出的流能夠通過Switch A和Switch B可達Switch D。
· 報文的DSCP域在進入Switch A之前已經設置完畢。
圖5-5 基於類的隊列配置組網圖
Switch A上的配置如下。
# 定義三個類,分別匹配DSCP域為EF、AF11、AF21和IP報文。
<SwitchA> system-view
[SwitchA] traffic classifier ef_class
[SwitchA-classifier-ef_class] if-match dscp ef
[SwitchA-classifier-ef_class] quit
[SwitchA] traffic classifier af11_class
[SwitchA-classifier-af11_class] if-match dscp af11
[SwitchA-classifier-af11_class] quit
[SwitchA]traffic classifier af21_class
[SwitchA-classifier-af21_class] if-match dscp af21
[SwitchA-classifier-af21_class] quit
# 定義缺省類,匹配所有的IP報文。
[SwitchA] acl number 3000
[SwitchA] rule 0 permit ip
[SwitchA] traffic classifier be_class
[SwitchA-classifier-be_class] if-match acl 3000
[SwitchA-classifier-be_class] quit
# 定義流行為,配置EF,並分配可用帶寬。
[SwitchA] traffic behavior ef_behav
[SwitchA-behavior-ef_behav] queue ef bandwidth 30720
[SwitchA-behavior-ef_behav] quit
# 定義流行為,配置AF,並分別分配可用帶寬。
[SwitchA] traffic behavior af11_behav
[SwitchA-behavior-af11_behav] queue af bandwidth 5120
[SwitchA-behavior-af11_behav] quit
[SwitchA] traffic behavior af21_behav
[SwitchA-behavior-af21_behav] queue af bandwidth 5120
[SwitchA-behavior-af21_behav] quit
# 定義缺省類流行為,配置WFQ,配置丟棄方式為WRED。
[SwitchA] traffic behavior be_behav
[SwitchA-behavior-be_behav] queue wfq
[SwitchA-behavior-be_behav] wred
[SwitchA-behavior-be_behav] quit
# 定義QoS策略,將已配置的流行為指定給不同的類。
[SwitchA] qos policy dscp
[SwitchA-qospolicy-dscp] classifier ef_class behavior ef_behav
[SwitchA-qospolicy-dscp] classifier af11_class behavior af11_behav
[SwitchA-qospolicy-dscp] classifier af21_class behavior af21_behav
[SwitchA-qospolicy-dscp] classifier be_class behavior be_behav
[SwitchA-qospolicy-dscp] quit
# 定義流模板,並應用在端口上。
[SwitchA]flow-template dscp basic dscp ethernet-protocol
[SwitchA]interface Pos3/1/1
[SwitchA-Pos3/1/1] flow-template dscp
# 將已定義的QoS策略應用在Pos3/1/1出方向。
[SwitchA-Pos3/1/1] qos apply policy dscp outbound
[SwitchA-Pos3/1/1] quit
#配置完成後,顯示QoS策略效果
[SwitchA] display qos policy interface Pos 3/1/1 outbound
Interface: Pos3/1/1
Direction: Outbound
Policy: dscp
Classifier: ef_class
Operator: AND
Rule(s) : If-match dscp ef
Behavior: ef_behav
Expedited Forwarding:
Bandwidth 30720 (Kbps), CBS 768000 (Bytes)
Matched : 100/6400 (Packets/Bytes)
Enqueued : 100/6400 (Packets/Bytes)
Discarded: 0/0 (Packets/Bytes)
Classifier: af11_class
Operator: AND
Rule(s) : If-match dscp af11
Behavior: af11_behav
Assured Forwarding:
Bandwidth 5120 (Kbps)
Matched : 50/3200 (Packets/Bytes)
Enqueued : 50/3200 (Packets/Bytes)
Discarded: 0/0 (Packets/Bytes)
Classifier: af21_class
Operator: AND
Rule(s) : If-match dscp af21
Behavior: af21_behav
Assured Forwarding:
Bandwidth 5120 (Kbps)
Matched : 50/3200 (Packets/Bytes)
Enqueued : 50/3200 (Packets/Bytes)
Discarded: 0/0 (Packets/Bytes)
Classifier: be_class
Operator: AND
Rule(s) : If-match acl 3000
Behavior: be_behav
Flow Based Weighted Fair Queuing
Matched : 1000/128000 (Packets/Bytes)
Discard Method: IP Precedence based WRED
所謂擁塞,是指當前供給資源相對於正常轉發處理需要資源的不足,從而導致服務質量下降的一種現象。
在複雜的Internet分組交換環境下,擁塞極為常見。以下圖中的兩種情況為例:
圖6-1 流量擁塞示意圖
擁塞有可能會引發一係列的負麵影響:
· 擁塞增加了報文傳輸的延遲和抖動,可能會引起報文重傳,從而導致更多的擁塞產生。
· 擁塞使網絡的有效吞吐率降低,造成網絡資源的利用率降低。
· 擁塞加劇會耗費大量的網絡資源(特別是存儲資源),不合理的資源分配甚至可能導致係統陷入資源死鎖而崩潰。
在分組交換以及多用戶業務並存的複雜環境下,擁塞又是不可避免的,因此必須采用適當的方法來解決擁塞。
擁塞管理的中心內容就是當擁塞發生時如何製定一個資源的調度策略,以決定報文轉發的處理次序。擁塞管理的處理包括隊列的創建、報文的分類、將報文送入不同的隊列、隊列調度等。
對於擁塞管理,一般采用隊列技術,使用一個隊列算法對流量進行分類,之後用某種優先級別算法將這些流量發送出去。每種隊列算法都是用以解決特定的網絡流量問題,並對帶寬資源的分配、延遲、抖動等有著十分重要的影響。
隊列調度對不同優先級的報文進行分級處理,優先級高的會得到優先發送。這裏介紹幾種常用的隊列:嚴格優先級SP(Strict-Priority)隊列、加權輪詢WRR(Weighted Round Robin)隊列、加權公平隊列(Weighted Fair Queuing)和基於類的隊列CBQ(Class Based Queuing)。
圖6-2 SP隊列示意圖
SP隊列是針對關鍵業務類型應用設計的。關鍵業務有一個重要的特點,即在擁塞發生時要求優先獲得服務以減小響應的延遲。以圖6-2為例,優先隊列將端口的8個輸出隊列分成8類,依次為7、6、5、4、3、2、1、0隊列,它們的優先級依次降低。
在隊列調度時,SP嚴格按照優先級從高到低的次序優先發送較高優先級隊列中的分組,當較高優先級隊列為空時,再發送較低優先級隊列中的分組。這樣,將關鍵業務的分組放入較高優先級的隊列,將非關鍵業務的分組放入較低優先級的隊列,可以保證關鍵業務的分組被優先傳送,非關鍵業務的分組在處理關鍵業務數據的空閑間隙被傳送。
SP的缺點是:擁塞發生時,如果較高優先級隊列中長時間有分組存在,那麼低優先級隊列中的報文將一直得不到服務。
圖6-3 WRR隊列示意圖
WRR隊列在隊列之間進行輪流調度,保證每個隊列都得到一定的服務時間。以端口有8個輸出隊列為例,WRR可為每個隊列配置一個加權值(依次為w7、w6、w5、w4、w3、w2、w1、w0),加權值表示獲取資源的比重。如一個100Mbps的端口,配置它的WRR隊列的加權值為50、50、30、30、10、10、10、10(依次對應w7、w6、w5、w4、w3、w2、w1、w0),這樣可以保證最低優先級隊列至少獲得5Mbps的帶寬,避免了采用SP調度時低優先級隊列中的報文可能長時間得不到服務的缺點。
WRR隊列還有一個優點是,雖然多個隊列的調度是輪詢進行的,但對每個隊列不是固定地分配服務時間片——如果某個隊列為空,那麼馬上換到下一個隊列調度,這樣帶寬資源可以得到充分的利用。
WRR隊列分為:
· 基本WRR隊列:基本WRR隊列包含多個隊列,用戶可以定製各個隊列的權重、百分比或字節計數,WRR按用戶設定的參數進行加權輪詢調度。
· 分組WRR隊列:所有隊列全部采用WRR調度,用戶可以根據需要將輸出隊列劃分為WRR組1和WRR組2。進行隊列調度時,設備優先在隊列號大的隊列所在的WRR組中進行輪詢調度,隻有當該WRR組中沒有報文發送時,設備才在另一WRR組中進行輪詢調度。
圖6-4 WFQ隊列
WFQ和WRR隊列調度算法類似,在權重算法上都支持weight。主要的區別是WFQ支持帶寬保證,可以保證端口流量擁塞時能夠獲得的最小隊列帶寬。
CBQ為用戶提供了定義類的支持,為每個用戶定義的類分配一個單獨的FIFO預留隊列,用來緩衝同一類的數據。在網絡擁塞時,CBQ對報文根據用戶定義的類規則進行匹配,並使其進入相應的隊列,在入隊列之前必須進行擁塞避免機製和帶寬限製的檢查。在報文出隊列時,加權公平調度每個類對應的隊列中的報文。
CBQ包括以下隊列:
· LLQ(Low Latency Queuing,低延遲隊列):即EF隊列,為實時業務報文提供嚴格優先發送服務。在使用LLQ時將會為每個優先類指定可用最大帶寬,該帶寬值用於擁塞發生時監管流量。如果擁塞未發生,優先類允許使用超過分配的帶寬。如果擁塞發生,優先類超過分配帶寬的數據包將被丟棄。LLQ還可以指定Burst-size。
· BQ(Bandwidth Queuing,帶寬隊列):即AF隊列。為AF業務提供嚴格、精確的帶寬保證,並且保證各類AF業務之間按一定的比例關係進行隊列調度。
· 加權公平調度隊列:一個WFQ隊列,用來支撐BE業務,使用接口剩餘帶寬進行發送。
AF和WFQ兩種隊列缺省采用尾丟棄的策略。用戶還可以選擇用加權隨機早期檢測(Weighted Random Early Detection,WRED)的丟棄策略來進行流量限製。
係統在為報文匹配規則時,規則如下:
· 不同類之間按照C-B對的配置順序逐一匹配,先配置先生效。
· 同一個類內的多個規則也是按照配置順序逐一匹配,先配置先生效。
硬件實現擁塞管理可以通過如下方式實現,可以通過單獨的隊列配置方式,即在接口視圖或端口組視圖下直接完成各隊列的隊列調度配置;可以通過隊列調度策略配置方式,將在“6.4 隊列調度策略配置方式”中進行詳細介紹;可以通過QoS策略配置方式,將在“6.5 基於類的隊列的配置”中進行詳細介紹。
表6-1 硬件實現擁塞管理配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
單獨的隊列配置方式 |
配置WFQ隊列 |
可選 |
|
隊列調度策略配置方式 |
配置隊列調度策略 |
可選 |
|
QoS策略配置方式 |
配置CBQ隊列 |
可選 |
本章內容,僅POS接口子卡支持,以太網接口板不支持。
如果用戶配置一個隊列為WFQ模式,當前接口的隊列調度模式將改變為WFQ,接口上未被配置的隊列使用缺省WFQ調度值,缺省WFQ調度值為1。
(1) WFQ隊列配置過程
表6-2 WFQ隊列配置過程
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置WFQ隊列和權重 |
qos wfq queue-id weight schedule-value |
必選 需要注意的是,如果用戶配置某個隊列為WFQ模式,當前接口的所有隊列調度模式都將改變為WFQ,接口上未被配置的隊列的缺省WFQ調度值為1 |
|
配置WFQ隊列的最小保證帶寬值 |
qos bandwidth queue queue-id min bandwidth-value |
可選 |
|
顯示WFQ隊列配置 |
display qos wfq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
可選 display命令可以在任意視圖下執行 |
(1) 組網需求
配置接口上的WFQ隊列1、3、4、5、6的調度權重值分別為1、5、10、20、10。
(2) 配置步驟
# 進入係統視圖。
<Sysname> system-view
# 配置POS 3/1/1的WFQ隊列。
[Sysname] interface POS 3/1/1
[Sysname-Pos3/1/1] qos wfq 1 weight 1
[Sysname-Pos3/1/1] qos wfq 3 weight 5
[Sysname-Pos3/1/1] qos wfq 4 weight 10
[Sysname-Pos3/1/1] qos wfq 5 weight 20
[Sysname-Pos3/1/1] qos wfq 6 weight 10
隊列調度策略配置方式是在一個策略中配置各個隊列的調度參數,最後通過在接口應用該策略來實現擁塞管理功能。隊列調度策略中隊列的調度參數支持動態修改,從而方便修改已經應用到接口上的隊列調度策略。
隊列調度策略中的隊列支持兩種調度方式:SP、WRR。在一個隊列調度策略中支持各隊列調度方式的混合配置。兩種調度方式混合配置時,SP、WRR分組之間是嚴格優先級調度,調度優先級按隊列號從大到小依次降低,WRR分組內部按權重進行調度。以SP和WRR混合配置為例,調度關係如圖6-5所示。
圖6-5 SP和WRR混合配置圖
· 隊列7(即圖中的Q7,下同)優先級最高,該隊列的報文優先發送。
· 隊列6優先級次之,隊列7為空時發送本隊列的報文。
· 隊列3、4、5之間按照權重輪詢調度,在隊列7、6為空時調度WRR分組0。
· 隊列1、2之間按照權重輪詢調度,在隊列7、6、5、4、3為空時調度WRR分組1。
· 隊列0優先級最低,其它隊列的報文全部發送完畢後調度本隊列。
配置隊列調度策略時,用戶首先要創建一個隊列調度策略,然後進入隊列調度策略視圖進行隊列調度參數的相關配置,最後將隊列調度策略應用到接口。
表6-3 配置隊列調度策略
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
創建隊列調度策略並進入隊列調度策略視圖 |
qos qmprofile profile-name |
必選 |
|
配置隊列調度參數 |
配置嚴格優先級調度 |
queue queue-id sp |
必選 一個隊列時隻能配置一種隊列調度方式 同一個隊列調度策略中的不同隊列,可以配置不同的調度方式 缺省情況下,各隊列使用嚴格優先級調度策略 |
配置加權輪詢調度 |
queue queue-id wrr group group-id weight weight-value |
||
退回係統視圖 |
quit |
- |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
在接口上應用隊列調度策略 |
qos apply qmprofile profile-name |
必選 |
· 每個接口隻能應用一個隊列調度策略。
· 每個WRR組內的隊列號應該連續,否則可能出現調度不準確。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後隊列調度策略的運行情況,通過查看顯示信息驗證配置的效果。
表6-4 隊列調度策略顯示和維護
操作 |
命令 |
顯示隊列調度策略的配置信息 |
display qos qmprofile configuration [ profile-name ] [ | { begin | exclude | include } regular-expression ] |
顯示接口的隊列調度策略應用信息 |
display qos qmprofile interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
接口GigabitEthernet3/0/1的隊列調度方式如下:
· 隊列7優先級最高,該隊列報文優先發送。
· 隊列4、5、6之間按照權重輪詢調度,屬於WRR分組1,調度權重分別為1、5、10,在隊列7為空時調度WRR分組1。
· 隊列1、2、3之間按照權重輪詢調度,屬於WRR分組2,調度權重分別為1、10、20,在隊列7、6、5、4為空時調度WRR分組2。
· 隊列0優先級最低,其它隊列的報文全部發送完畢後調度本隊列。
# 進入係統視圖。
<Sysname> system-view
# 創建隊列調度策略qm1。
[Sysname] qos qmprofile qm1
[Sysname-qmprofile-qm1]
# 配置隊列7為SP隊列。
[Sysname-qmprofile-qm1] queue 7 sp
# 配置隊列4、5、6屬於WRR分組1,權重分別為1、5、10。
[Sysname-qmprofile-qm1] queue 4 wrr group 1 weight 1
[Sysname-qmprofile-qm1] queue 5 wrr group 1 weight 5
[Sysname-qmprofile-qm1] queue 6 wrr group 1 weight 10
# 配置隊列1、2、3屬於WRR分組2,權重分別為1、10、20。
[Sysname-qmprofile-qm1] queue 1 wrr group 2 weight 1
[Sysname-qmprofile-qm1] queue 2 wrr group 2 weight 10
[Sysname-qmprofile-qm1] queue 3 wrr group 2 weight 20
# 配置隊列0為SP隊列。
[Sysname-qmprofile-qm1] queue 0 sp
[Sysname-qmprofile-qm1] quit
# 把隊列調度策略qm1應用到接口GigabitEthernet3/0/1上。
[Sysname] interface gigabitethernet 3/0/1
[Sysname-GigabitEthernet3/0/1] qos apply qmprofile qm1
配置完成後,接口GigabitEthernet3/0/1按指定方式進行隊列調度。
基於類的隊列CBQ的配置步驟如下:
(1) 定義類
(2) 定義流行為
(3) 定義策略
(4) 在接口視圖應用QoS策略
定義類首先要創建一個類名稱,然後在此類視圖下配置其匹配規則。
表6-5 定義類
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義類並進入類映射視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
必選 缺省為and,即類視圖下各匹配規則之間的關係為邏輯與 |
定義匹配數據包的規則 |
if-match match-criteria |
必選 |
用戶必須為每個QoS策略配置一個permit any 的缺省類,保證用戶除EF和AF之外的流量入BE隊列,即默認優先級隊列。配置的缺省類還需要放在QoS策略的最後一個CB對。
定義流行為首先需要創建一個流行為名稱,然後在此流行為視圖下配置其特性。
表6-6 配置確保轉發(AF),並配置最小可保證帶寬
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名,不允許為係統預定義流行為 |
配置確保轉發(AF),並配置最小可保證帶寬 |
queue af bandwidth bandwidth |
必選 |
· 本配置在流行為視圖下不能與queue ef和queue wfq命令同時使用。
· 該行為隻能應用在接口的出方向。
· 保證帶寬表示確保轉發流量可占用且肯定轉發成功的流量,無論接口上流量是否擁塞,這部分流量肯定能夠轉發成功;而超過該帶寬限製的多餘AF流量,會跟BE流量競爭帶寬,這部分流量能有多少轉發成功視接口上的擁塞情況而定。
表6-7 配置加速轉發(EF),並配置最大帶寬
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名,不允許為係統預定義流行為 |
配置加速轉發(EF) |
queue ef bandwidth bandwidth [ cbs burst ] |
必選 |
· 本配置在流行為視圖下不能與queue af、queue wfq和wred命令同時使用。
· 該行為隻能應用在接口的出方向。
· 對於bandwidth,範圍為64~10000000,單位是kbps;對於cbs,範圍為1600~1000000000,單位是byte;如果不配置,默認為bandwidth的25倍。
· 加速轉發帶寬表示加速轉發流量可占用且肯定轉發成功的流量,無論接口上流量是否擁塞,這部分流量肯定能夠轉發成功;而超過該帶寬限製的多餘EF流量,視接口上的擁塞情況而定,不能保證轉發成功。
表6-8 配置采用公平隊列
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名,不允許為係統預定義流行為 |
配置采用公平隊列 |
queue wfq |
必選 |
· 本配置在流行為視圖下不能與queue ef、queue af命令同時使用
· 該行為隻能應用在接口的出方向。
表6-9 配置丟棄方式為隨機丟棄方式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 behavior-name:流行為名,不允許為係統預定義流行為 |
配置丟棄方式為隨機丟棄方式 |
wred [ dscp | ip-precedence ] |
必選 dscp:表明在為一個包計算丟棄概率時使用的是DSCP值 ip-precedence:表明在為一個包計算丟棄概率時使用的是IP優先級值,作為缺省配置 |
· 本配置在流行為視圖下不能與queue ef命令同時使用
· wred [ dscp | ip-precedence ]命令必須在配置了queue af或queue wfq後使用
· 該行為隻能應用在接口的出方向。
表6-10 在策略中為類指定流行為
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義策略並進入策略視圖 |
qos policy policy-name |
- |
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
必選 |
qos apply policy命令將一個策略應用到具體的物理接口、子接口。一個策略可以在多個端口上得到應用。
表6-11 基於接口應用QoS策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖
|
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
|
在接口上應用關聯的策略 |
qos apply policy policy-name { inbound | outbound } |
必選 |
· 根據所配置的classifier匹配的字段不同,某些字段需要用戶在接口上應用QoS策略前先應用流模板;
· 當前,基於CBQ動作的QoS策略隻能應用在接口的出方向,入方向不支持;
· 出方向QoS策略對本地協議報文不起作用;(本地協議報文的含義及其作用如下:某些內部發起的報文是維持設備正常運行的重要的協議報文,為了確保這些報文能夠被不受影響的發送出去,遂將其定義為本地協議報文,使得QoS不對其進行處理,降低了因配置QoS而誤將這些報文丟棄或進行其他處理的風險。一些常見的本地協議報文如下:鏈路維護報文、ISIS、OSPF、RIP、BGP、LDP、RSVP、SSH等。)
· 所有的RPR接口都不支持CBQ的動作;
· CBQ的動作不支持VLAN和Global方式下發,隻支持接口方式下發;
· 接口上如果配置了流量整形(GTS)和隊列(queue ef、queue af、queue wfq)特性的策略,會影響到CBQ的調度效果,不建議客戶這樣組合配置;
· 在一個QoS策略中,由用戶配置保證EF、AF和BE流量的帶寬總和;如果配置的總帶寬超過端口的實際帶寬時會導致CBQ無法達到預期效果。
在完成上述配置後,在任意視圖下執行display命令可以顯示基於類的隊列的運行情況,通過查看顯示信息驗證配置的效果。
表6-12 基於類的隊列的顯示和維護
操作 |
命令 |
顯示設備配置的類信息 |
display traffic classifier user-defined [ tcl-name ] [ | { begin | exclude | include } regular-expression ] |
顯示設備配置的流行為信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
顯示指定策略中指定類及與類關聯的流行為的配置信息 |
display qos policy user-defined [ policy-name [ classifier tcl-name ] ] [ | { begin | exclude | include } regular-expression ] |
顯示指定接口上QoS策略的配置信息和運行信息 |
display qos policy interface [ interface-type interface-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ] |
在下麵的組網圖中,從Switch C發出的數據流經過Switch A和Switch B到達Switch D,需求如下:
· Switch C發出的數據流根據IP報文的DSCP域分為3類,要求配置QoS策略,對於DSCP域為AF11和AF21的流進行確保轉發(AF),保證帶寬為5M;
· 對於DSCP域為EF的流進行加速轉發(EF),保證帶寬為30M。
在進行配置之前,應保證:
· Switch C發出的流能夠通過Switch A和Switch B可達Switch D。
· 報文的DSCP域在進入Switch A之前已經設置完畢。
圖6-6 基於類的隊列配置組網圖
Switch A上的配置如下。
# 定義三個類,分別匹配DSCP域為EF、AF11、AF21和IP報文。
<SwitchA> system-view
[SwitchA] traffic classifier ef_class
[SwitchA-classifier-ef_class] if-match dscp ef
[SwitchA-classifier-ef_class] quit
[SwitchA] traffic classifier af11_class
[SwitchA-classifier-af11_class] if-match dscp af11
[SwitchA-classifier-af11_class] quit
[SwitchA]traffic classifier af21_class
[SwitchA-classifier-af21_class] if-match dscp af21
[SwitchA-classifier-af21_class] quit
# 定義缺省類,匹配所有的IP報文。
[SwitchA] acl number 3000
[SwitchA] rule 0 permit ip
[SwitchA] traffic classifier be_class
[SwitchA-classifier-be_class] if-match acl 3000
[SwitchA-classifier-be_class] quit
# 定義流行為,配置EF,並分配可用帶寬。
[SwitchA] traffic behavior ef_behav
[SwitchA-behavior-ef_behav] queue ef bandwidth 30720
[SwitchA-behavior-ef_behav] quit
# 定義流行為,配置AF,並分別分配可用帶寬。
[SwitchA] traffic behavior af11_behav
[SwitchA-behavior-af11_behav] queue af bandwidth 5120
[SwitchA-behavior-af11_behav] quit
[SwitchA] traffic behavior af21_behav
[SwitchA-behavior-af21_behav] queue af bandwidth 5120
[SwitchA-behavior-af21_behav] quit
# 定義缺省類流行為,配置WFQ,配置丟棄方式為WRED。
[SwitchA] traffic behavior be_behav
[SwitchA-behavior-be_behav] queue wfq
[SwitchA-behavior-be_behav] wred
[SwitchA-behavior-be_behav] quit
# 定義QoS策略,將已配置的流行為指定給不同的類。
[SwitchA] qos policy dscp
[SwitchA-qospolicy-dscp] classifier ef_class behavior ef_behav
[SwitchA-qospolicy-dscp] classifier af11_class behavior af11_behav
[SwitchA-qospolicy-dscp] classifier af21_class behavior af21_behav
[SwitchA-qospolicy-dscp] classifier be_class behavior be_behav
[SwitchA-qospolicy-dscp] quit
# 定義流模板,並應用在端口上。
[SwitchA]flow-template dscp basic dscp ethernet-protocol
[SwitchA]interface Pos3/1/1
[SwitchA-Pos3/1/1] flow-template dscp
# 將已定義的QoS策略應用在Pos3/1/1出方向。
[SwitchA-Pos3/1/1] qos apply policy dscp outbound
[SwitchA-Pos3/1/1] quit
#配置完成後,顯示QoS策略效果
[SwitchA] display qos policy interface Pos 3/1/1 outbound
Interface: Pos3/1/1
Direction: Outbound
Policy: dscp
Classifier: ef_class
Operator: AND
Rule(s) : If-match dscp ef
Behavior: ef_behav
Expedited Forwarding:
Bandwidth 30720 (Kbps), CBS 768000 (Bytes)
Matched : 100/6400 (Packets/Bytes)
Enqueued : 100/6400 (Packets/Bytes)
Discarded: 0/0 (Packets/Bytes)
Classifier: af11_class
Operator: AND
Rule(s) : If-match dscp af11
Behavior: af11_behav
Assured Forwarding:
Bandwidth 5120 (Kbps)
Matched : 50/3200 (Packets/Bytes)
Enqueued : 50/3200 (Packets/Bytes)
Discarded: 0/0 (Packets/Bytes)
Classifier: af21_class
Operator: AND
Rule(s) : If-match dscp af21
Behavior: af21_behav
Assured Forwarding:
Bandwidth 5120 (Kbps)
Matched : 50/3200 (Packets/Bytes)
Enqueued : 50/3200 (Packets/Bytes)
Discarded: 0/0 (Packets/Bytes)
Classifier: be_class
Operator: AND
Rule(s) : If-match acl 3000
Behavior: be_behav
Flow Based Weighted Fair Queuing
Matched : 1000/128000 (Packets/Bytes)
Discard Method: IP Precedence based WRE
過度的擁塞會對網絡資源造成極大危害,必須采取某種措施加以解除。擁塞避免(Congestion Avoidance)是一種流量控製機製,它通過監視網絡資源(如隊列或內存緩衝區)的使用情況,在擁塞產生或有加劇的趨勢時主動丟棄報文,通過調整網絡的流量來解除網絡過載。
與端到端的流量控製相比,這裏的流量控製具有更廣泛的意義,它影響到設備中更多的業務流的負載。設備在丟棄報文時,需要與源端的流量控製動作(比如TCP流量控製)相配合,調整網絡的流量到一個合理的負載狀態。丟包策略和源端流控機製有效的組合,可以使網絡的吞吐量和利用效率最大化,並且使報文丟棄和延遲最小化。
傳統的丟包策略采用尾部丟棄(Tail-Drop)的方法。當隊列的長度達到最大值後,所有新到來的報文都將被丟棄。
這種丟棄策略會引發TCP全局同步現象:當隊列同時丟棄多個TCP連接的報文時,將造成多個TCP連接同時進入擁塞避免和慢啟動狀態以降低並調整流量,而後又會在某個時間同時出現流量高峰。如此反複,使網絡流量忽大忽小,網絡不停震蕩。
為避免TCP全局同步現象,可使用RED(Random Early Detection,隨機早期檢測)或WRED(Weighted Random Early Detection,加權隨機早期檢測)。
RED和WRED通過隨機丟棄報文避免了TCP的全局同步現象,使得當某個TCP連接的報文被丟棄、開始減速發送的時候,其他的TCP連接仍然有較高的發送速度。這樣,無論什麼時候,總有TCP連接在進行較快的發送,提高了線路帶寬的利用率。
在RED類算法中,為每個隊列都設定上限和下限,對隊列中的報文進行如下處理:
· 當隊列的長度小於下限時,不丟棄報文;
· 當隊列的長度超過上限時,丟棄所有到來的報文;
· 當隊列的長度在上限和下限之間時,開始隨機丟棄到來的報文。隊列越長,丟棄概率越高,但有一個最大丟棄概率。
與RED不同,WRED生成的隨機數是基於優先權的,它引入IP優先權區別丟棄策略,考慮了高優先權報文的利益,使其被丟棄的概率相對較小。
直接采用隊列的長度和上限、下限比較並進行丟棄,將會對突發性的數據流造成不公正的待遇,不利於數據流的傳輸。WRED采用平均隊列和設置的隊列上限、下限比較來確定丟棄的概率。
隊列平均長度既反映了隊列的變化趨勢,又對隊列長度的突發變化不敏感,避免了對突發性數據流的不公正待遇。計算隊列平均長度的公式為:平均隊列長度=(以前的平均隊列長度×(1-1/(2的n次方)))+(當前隊列長度×(1/(2的n次方)))。其中n可以通過命令qos wred weighting-constant進行配置。
WRED有兩種配置方式:
· 接口配置方式:在接口上使能WRED。
· WRED表配置方式:在係統視圖下配置WRED表,然後在接口上應用WRED表。
在進行WRED配置時,需要事先確定如下參數:
· 隊列上限和下限:當隊列平均長度小於下限時,不丟棄報文。當隊列平均長度在上限和下限之間時,設備隨機丟棄報文,隊列越長,丟棄概率越高。當隊列平均長度超過上限時,丟棄所有到來的報文。
· 丟棄優先級:在進行報文丟棄時參考的參數,0對應綠色報文、1對應黃色報文、2對應紅色報文,紅色報文將被優先丟棄。
· 計算平均隊列長度的指數:指數越大,計算平均隊列長度時對隊列的實時變化越不敏感。
· 計算丟棄概率的分母:在計算丟棄概率的公式中作為分母。取值越大,計算出的丟棄概率越小。
表7-1 WRED配置過程
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入以太網接口視圖或端口組視圖 |
進入以太網接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
使能WRED |
qos wred enable |
必選 缺省情況下,隊列丟棄方法為尾丟棄 |
在接口GigabitEthernet3/0/1上使能WRED。
# 進入係統視圖。
<Sysname> system-view
# 進入接口視圖。
[Sysname] interface GigabitEthernet 3/0/1
# 使能WRED。
[Sysname-GigabitEthernet3/0/1] qos wred enable
目前,僅POS接口子卡支持該功能。
表7-2 以WRED表配置方式配置WRED配置和應用過程
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置WRED表 |
qos wred queue table table-name |
- |
|
配置計算平均隊列長度的指數 |
queue queue-value weighting-constant exponent |
可選 缺省情況下,該指數取值為9 |
|
配置WRED表的其它參數 |
queue queue-value [ drop-level drop-level ] low-limit low-limit high-limit high-limit [ discard-probability discard-prob ] |
可選 缺省情況下,low-limit為10224,high-limit為10240,discard-prob為100 |
|
進入接口視圖或端口組視圖 |
進入接口視圖 |
interface interface-type interface-number |
二者必選其一 進入接口視圖後,下麵進行的配置隻在當前端口生效;進入端口組視圖後,下麵進行的配置將在端口組中的所有端口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
在接口應用WRED表 |
qos wred apply table-name |
必選 基於隊列的表隻能應用在二層端口上 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後WRED的運行情況,通過查看顯示信息驗證配置的效果。
表7-3 WRED顯示和維護
操作 |
命令 |
顯示接口的WRED配置情況和統計信息 |
display qos wred interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示WRED表配置情況 |
display qos wred table [ table-name ] [ | { begin | exclude | include } regular-expression ] |
在端口Pos 3/1/1上應用基於隊列的WRED表。
# 進入係統視圖
<Sysname> system-view
# 配置一張基於隊列的WRED表,並修改各隊列優先級的上下限及丟棄概率。
根據各隊列緩存配置WRED表的上下限,各接口類型的隊列緩存不同,所要配置的WRED表的上下限也不一樣。
[sysname] qos wred queue table queue-table1
[Sysname-wred-table-queue-table1]queue 0 low-limit 128 high-limit 4096 discard-probab
ility 100
[Sysname-wred-table-queue-table1]queue 1 low-limit 128 high-limit 2048 discard-probab
ility 100
[Sysname-wred-table-queue-table1]queue 2 low-limit 128 high-limit 2048 discard-probab
ility 100
[Sysname-wred-table-queue-table1]queue 3 low-limit 128 high-limit 2048 discard-probab
ility 100
[Sysname-wred-table-queue-table1]queue 4 low-limit 128 high-limit 2048 discard-probab
ility 100
[Sysname-wred-table-queue-table1]queue 5 low-limit 128 high-limit 512 discard-probabi
lity 100
[Sysname-wred-table-queue-table1]queue 6 low-limit 128 high-limit 512 discard-probabi
lity 100
[Sysname-wred-table-queue-table1]queue 7 low-limit 128 high-limit 8192 discard-probab
ility 100
[Sysname-wred-table-queue-table1] quit
# 進入接口視圖。
[Sysname] interface Pos 3/1/1
# 在接口上應用WRED表。
[Sysname-Pos3/1/1] qos wred apply queue-table1
流量過濾就是將符合流分類的流配置流量過濾動作。
例如,可以根據網絡的實際情況禁止從某個源IP地址發送的報文通過。
表8-1 配置流量過濾
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
- |
|
配置流量過濾動作 |
filter { deny | permit } |
必選 deny表示丟棄數據包;permit表示允許數據包通過 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
||
基於控製平麵 |
- |
||
顯示流量過濾的相關配置信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
可選 display命令可以在任意視圖下執行 |
如果配置了filter deny命令,那麼其他流行為(除流量統計)都不會生效;與流量統計(accounting)配合使用的情況和單板型號有關,以太網接口板兩個命令互斥,接口子卡上兩個配置生效。
· 在以太網接口板上filter permit與下列動作衝突:filter deny、重定向到CPU。
· filter deny除了可以單獨配置使用之外隻能與流量統計動作一起配置。
· 重定向到下一跳與下列動作衝突:filter deny、修改外層VLAN、增加一層VLAN。
· 在以太網接口板上重定向到CPU隻能單獨配置,不允許和其它流行為動作同時配置。
· 在以太網接口板上重定向到接口與下列動作衝突:filter deny、流鏡像到CPU,有關流鏡像的詳細介紹,請參見“網絡管理和監控配置指導”中的“鏡像”。(POS接口不支持重定向到接口這個動作)
· 在以太網接口板上流量監管與下列動作衝突:filter deny、重定向到CPU。
· 在以太網接口板上流量統計與下列動作衝突:重定向到CPU。
· 在以太網接口板上dscp/exp/dot1p/lp/dp優先級標記與下列動作衝突:filter deny、重定向到CPU以及帶顏色的報文優先級標記。
· 在以太網接口板上帶顏色的報文優先級標記(primap命令)與下列動作衝突:filter deny、重定向到CPU以及dscp/exp/dot1p/lp/dp優先級標記。
· filter permit與filter deny衝突。
· filter deny隻能單獨配置,不允許和其它流行為同時配置。
· 流量監管與filter deny衝突。
· 在以太網接口板上流量統計與下列動作衝突:filter deny。
· dscp/dot1p/exp優先級標記與下列動作衝突:filter deny、帶顏色的dscp/dot1p/exp優先級標記。
· 帶顏色的dscp/dot1p/exp優先級標記與下列動作衝突:filter deny、dscp/dot1p/exp優先級標記。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
Host通過接口GigabitEthernet3/0/1接入設備Device。
配置流量過濾功能,對接口GigabitEthernet3/0/1接收的源端口號不等於21的TCP報文進行丟棄。
圖8-1 配置流量過濾組網圖
# 定義高級ACL 3000,匹配源端口號不等於21的數據流。
<DeviceA> system-view
[DeviceA] acl number 3000
[DeviceA-acl-adv-3000] rule 0 permit tcp source-port neq 21
[DeviceA-acl-adv-3000] quit
# 定義類classifier_1,匹配高級ACL 3000。
[DeviceA] traffic classifier classifier_1
[DeviceA-classifier-classifier_1] if-match acl 3000
[DeviceA-classifier-classifier_1] quit
# 定義流行為behavior_1,動作為流量過濾(deny),對數據包進行丟棄。
[DeviceA] traffic behavior behavior_1
[DeviceA-behavior-behavior_1] filter deny
[DeviceA-behavior-behavior_1] quit
# 定義策略policy,為類classifier_1指定流行為behavior_1。
[DeviceA] qos policy policy
[DeviceA-qospolicy-policy] classifier classifier_1 behavior behavior_1
[DeviceA-qospolicy-policy] quit
# 將策略policy應用到端口GigabitEthernet3/0/1的入方向上。
[DeviceA] interface GigabitEthernet 3/0/1
[DeviceA-GigabitEthernet3/0/1] qos apply policy policy inbound
網絡中的協議報文會上送CPU進行處理,但是CPU處理協議報文的速度有限,如果大量的協議報文同時上送CPU,會使CPU一直忙於處理協議報文,而無法顧及其它任務,最終導致設備癱瘓。協議報文限速功能可以對上送CPU的協議報文速率進行限製,保證CPU的正常運轉。
表9-1 配置協議報文限速
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
- |
|
配置協議報文限速 |
packet-rate value |
必選 value:協議報文速率,單位為包每秒(pps) |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於控製平麵 |
- |
|
顯示流量過濾的相關配置信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
可選 display命令可以在任意視圖下執行 |
|
多台Host通過交換機與Device相連,配置協議報文限速功能,對Device設備上的3號槽位單板上CPU接收的DHCP Snooping報文限速為每秒500個。
圖9-1 配置協議報文限速組網圖
# 定義類classifier_1,匹配system-index 19(可以通過display qos policy control-plane pre-defined查看DHCP Snooping報文在設備中索引號為19)。
<Device> system-view
[Device] traffic classifier classifier_1
[Device-classifier-classifier_1] if-match system-index 19
[Device-classifier-classifier_1] quit
# 定義流行為behavior_1,動作為報文限速,速率為500個報文每秒。
[Device] traffic behavior behavior_1
[Device-behavior-behavior_1] packet-rate 500
[Device-behavior-behavior_1] quit
# 定義策略policy,為類classifier_1指定流行為behavior_1。
[Device] qos policy policy
[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1
[Device-qospolicy-policy] quit
# 進入3號槽位單板的控製平麵視圖,並將策略policy應用到控製平麵。
[Device] control-plane slot 3
[Device-cp-slot3] qos apply policy policy inbound
[Device-cp-slot3] quit
重標記是將報文的優先級或者標誌位進行設置,重新定義流量的優先級等。例如,對於IP報文來說,所謂重標記就是對IP報文中的IP優先級或DSCP值進行重新設置,改變IP報文在網絡傳輸中狀態。
重標記動作的配置,可以通過與類關聯,將原來報文的優先級或標誌位重新進行標記。
表10-1 配置重標記
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
- |
|
配置標記報文的DSCP值 |
remark dscp dscp-value |
可選 |
|
配置標記報文的802.1p優先級 |
remark dot1p 8021p |
可選 |
|
配置標記報文的丟棄優先級 |
remark drop-precedence drop-precedence-value |
可選 僅應用在出方向 |
|
配置標記報文的本地優先級 |
remark local-precedence local-precedence |
可選 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
||
顯示重標記的相關配置信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
可選 display命令可以在任意視圖下執行 |
公司企業網通過Device實現互連。網絡環境描述如下:
· Host A和Host B通過端口GigabitEthernet3/0/1接入Device;
· 數據庫服務器、郵件服務器和文件服務器通過端口GigabitEthernet3/0/2接入Device。
通過配置重標記功能,Device上實現如下需求:
· 優先處理Host A和Host B訪問數據庫服務器的報文;
· 其次處理Host A和Host B訪問郵件服務器的報文;
· 最後處理Host A和Host B訪問文件服務器的報文。
圖10-1 配置重標記組網圖
# 定義高級ACL 3000,對目的IP地址為192.168.0.1的報文進行分類。
<Device> system-view
[Device] acl number 3000
[Device-acl-adv-3000] rule permit ip destination 192.168.0.1 0
[Device-acl-adv-3000] quit
# 定義高級ACL 3001,對目的IP地址為192.168.0.2的報文進行分類。
[Device] acl number 3001
[Device-acl-adv-3001] rule permit ip destination 192.168.0.2 0
[Device-acl-adv-3001] quit
# 定義高級ACL 3002,對目的IP地址為192.168.0.3的報文進行分類。
[Device] acl number 3002
[Device-acl-adv-3002] rule permit ip destination 192.168.0.3 0
[Device-acl-adv-3002] quit
# 定義類classifier_dbserver,匹配高級ACL 3000。
[Device] traffic classifier classifier_dbserver
[Device-classifier-classifier_dbserver] if-match acl 3000
[Device-classifier-classifier_dbserver] quit
# 定義類classifier_mserver,匹配高級ACL 3001。
[Device] traffic classifier classifier_mserver
[Device-classifier-classifier_mserver] if-match acl 3001
[Device-classifier-classifier_mserver] quit
# 定義類classifier_fserver,匹配高級ACL 3002。
[Device] traffic classifier classifier_fserver
[Device-classifier-classifier_fserver] if-match acl 3002
[Device-classifier-classifier_fserver] quit
# 定義流行為behavior_dbserver,動作為重標記報文的本地優先級為4。
[Device] traffic behavior behavior_dbserver
[Device-behavior-behavior_dbserver] remark local-precedence 4
[Device-behavior-behavior_dbserver] quit
# 定義流行為behavior_mserver,動作為重標記報文的本地優先級為3。
[Device] traffic behavior behavior_mserver
[Device-behavior-behavior_mserver] remark local-precedence 3
[Device-behavior-behavior_mserver] quit
# 定義流行為behavior_fserver,動作為重標記報文的本地優先級為2。
[Device] traffic behavior behavior_fserver
[Device-behavior-behavior_fserver] remark local-precedence 2
[Device-behavior-behavior_fserver] quit
# 定義策略policy_server,為類指定流行為。
[Device] qos policy policy_server
[Device-qospolicy-policy_server] classifier classifier_dbserver behavior behavior_dbserver
[Device-qospolicy-policy_server] classifier classifier_mserver behavior behavior_mserver
[Device-qospolicy-policy_server] classifier classifier_fserver behavior behavior_fserver
[Device-qospolicy-policy_server] quit
# 將策略policy_server應用到端口GigabitEthernet3/0/1上。
[Device] interface GigabitEthernet 3/0/1
[Device-GigabitEthernet3/0/1] qos apply policy policy_server inbound
[Device-GigabitEthernet3/0/1] quit
流量重定向就是將符合流分類的流重定向到其他地方進行處理。
目前支持的流量重定向包括以下幾種:
· 重定向到CPU:對於需要CPU處理的報文,可以通過配置上送給CPU。
· 重定向到接口:對於收到需要由某個接口處理的報文時,可以通過配置重定向到此接口。隻針對二層轉發報文,接口為二層接口。
· 重定向到下一跳:對於收到需要由某個接口處理的報文時,可以通過配置重定向到此接口。隻針對三層轉發報文。
表11-1 配置流量重定向
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 |
|
配置流量重定向動作 |
redirect { cpu | interface interface-type interface-number [ vlan vlan-id ] | next-hop { ipv4-add1 [ ipv4-add2 ] | ipv6-add1 [ interface-type interface-number ] [ ipv6-add2 [ interface-type interface-number ] ] } [ fail-action { discard | forward } ] } |
可選 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
· 一般情況下,在配置重定向動作時,同一個流行為中重定向類型隻能為重定向到CPU、重定向到接口、重定向到下一跳中的一種。
· 配置重定向到下一跳時,流分類中的規則所能匹配的報文的地址類型必須與重定向的地址類型一致,不能IPv4規則重定向到IPv6地址,也不能IPv6規則重定向到IPv4地址。
· 在支持配置重定向下一跳失敗的處理動作時,如果不配置處理動作,默認的處理動作是轉發。
· 可以通過命令display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ]查看流量重定向的相關配置信息。
· 在IRF模式下,設備不支持將流量重定向到聚合接口。
· 與單純依照IP報文的目的地址查找路由表進行轉發不同,策略路由(即重定向到下一跳)可基於到達報文的源地址等信息,靈活地進行路由選擇。策略路由的優先級要高於普通路由,即報文先按照策略路由進行轉發,如果無法匹配所有的策略路由條件,再按照普通路由進行轉發。在IRF運行模式下,配置跨設備重定向到OAA單板的端口時,OAA單板的端口必須包含在VLAN 1內。
· 在獨立運行模式下,設備不支持將流量重定向到LST1IPS2A1單板的聚合接口。
· 在IRF模式下,設備不支持跨框(即流量的出接口和入接口位於兩台不同的成員設備上)將流量重定向到LST1IPS2A1單板的第二個內聯接口。
· 通過QoS策略將流量重定向到LST1IPS2A1單板的內聯接口時,需要配置兩個內聯接口聚合,同時配置聚合組中的最小選中端口數為2,並且不允許其他端口加入該聚合組。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
網絡環境描述如下:
· Device A通過兩條鏈路與Device B連接,同時Device A和Device B各自連接其他的設備;
· Device A上的端口GigabitEthernet 3/0/2和Device B上的端口GigabitEthernet 3/0/2屬於VLAN 200;
· Device A上的端口GigabitEthernet 3/0/3和Device B上的端口GigabitEthernet 3/0/3屬於VLAN 201;
· Device A上VLAN 200虛接口的IP地址為200.1.1.1/24,VLAN 201虛接口的IP地址為201.1.1.1/24;
· Device B上VLAN 200虛接口的IP地址為200.1.1.2/24,VLAN 201虛接口的IP地址為201.1.1.2/24。
配置重定向至下一跳,實現策略路由功能,滿足如下需求:
· 將Device A的端口GigabitEthernet 3/0/1接收到的源IP地址為2.1.1.1的報文轉發至200.1.1.2;
· 將Device A的端口GigabitEthernet 3/0/1接收到的源IP地址為2.1.1.2的報文轉發至201.1.1.2;
· 對於Device A的端口GigabitEthernet 3/0/1接收到的其它報文,按照查找路由表的方式進行轉發。
圖11-1 配置重定向至下一跳組網圖
# 定義基本ACL 2000,對源IP地址為2.1.1.1的報文進行分類。
<DeviceA> system-view
[DeviceA] acl number 2000
[DeviceA-acl-basic-2000] rule permit source 2.1.1.1 0
[DeviceA-acl-basic-2000] quit
# 定義基本ACL 2001,對源IP地址為2.1.1.2的報文進行分類。
[DeviceA] acl number 2001
[DeviceA-acl-basic-2001] rule permit source 2.1.1.2 0
[DeviceA-acl-basic-2001] quit
# 定義類classifier_1,匹配基本ACL 2000。
[DeviceA] traffic classifier classifier_1
[DeviceA-classifier-classifier_1] if-match acl 2000
[DeviceA-classifier-classifier_1] quit
# 定義類classifier_2,匹配基本ACL 2001。
[DeviceA] traffic classifier classifier_2
[DeviceA-classifier-classifier_2] if-match acl 2001
[DeviceA-classifier-classifier_2] quit
# 定義流行為behavior_1,動作為重定向至200.1.1.2。
[DeviceA] traffic behavior behavior_1
[DeviceA-behavior-behavior_1] redirect next-hop 200.1.1.2
[DeviceA-behavior-behavior_1] quit
# 定義流行為behavior_2,動作為重定向至201.1.1.2。
[DeviceA] traffic behavior behavior_2
[DeviceA-behavior-behavior_2] redirect next-hop 201.1.1.2
[DeviceA-behavior-behavior_2] quit
# 定義策略policy,為類classifier_1指定流行為behavior_1,為類classifier_2指定流行為behavior_2。
[DeviceA] qos policy policy
[DeviceA-qospolicy-policy] classifier classifier_1 behavior behavior_1
[DeviceA-qospolicy-policy] classifier classifier_2 behavior behavior_2
[DeviceA-qospolicy-policy] quit
# 將策略policy應用到端口GigabitEthernet 3/0/1的入方向上。
[DeviceA] interface GigabitEthernet 3/0/1
[DeviceA-GigabitEthernet 3/0/1] qos apply policy policy inbound
全局CAR是在全局創建的一種策略,所有應用該策略的數據流將共同接受全局CAR的監管。
目前全局CAR僅支持聚合CAR。
聚合CAR是指能夠對多個業務流使用同一個CAR進行流量監管,即如果多個端口應用同一聚合CAR,則這多個端口的流量之和必須在此聚合CAR設定的流量監管範圍之內。
表12-1 配置聚合CAR
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置聚合CAR的各個參數 |
qos car car-name aggregative cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ pir peek-information-rate ] [ red action ] |
必選 |
進入流行為視圖 |
traffic behavior behavior-name |
必選 |
在流行為中引用聚合CAR |
car name car-name |
必選 |
顯示配置的流行為信息 |
display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ] |
可選 display命令可以在任意視圖下執行 |
顯示指定聚合CAR的CAR配置和統計信息 |
display qos car name [ car-name ] [ | { begin | exclude | include } regular-expression ] |
# 配置聚合CAR aggcar-1采取的CAR參數取值,cir取值為200,cbs取值為2000,對於紅色報文采取丟棄的動作,並在流行為be1中引用aggcar-1。
<Sysname> system-view
[Sysname] qos car aggcar-1 aggregative cir 200 cbs 2000 red discard
[Sysname] traffic behavior be1
[Sysname-behavior-be1] car name aggcar-1
流量統計就是通過與類關聯,對符合匹配規則的流進行統計,統計報文數或字節數。例如,可以統計從某個源IP地址發送的報文,然後管理員對統計信息進行分析,根據分析情況采取相應的措施。
表13-1 配置流量統計
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
- |
|
定義匹配數據包的規則 |
if-match match-criteria |
- |
|
退出類視圖 |
quit |
- |
|
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 |
|
配置統計動作 |
accounting { byte | packet } |
可選 byte表示報文基於字節為最小單位進行統計;packet表示報文基於包為最小單位進行統計 |
|
退出流行為視圖 |
quit |
- |
|
定義策略並進入策略視圖 |
qos policy policy-name |
- |
|
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
- |
|
退出策略視圖 |
quit |
- |
|
應用QoS策略 |
基於接口 |
- |
|
基於VLAN |
- |
||
基於全局 |
- |
在完成上述配置後,在任意視圖下執行display qos policy命令可以顯示配置後流量統計的情況,通過查看顯示信息驗證配置的效果。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
用戶網絡描述如下:Host通過接口GigabitEthernet3/0/1接入設備Device。
配置流量統計功能,對接口GigabitEthernet3/0/1接收的源IP地址為1.1.1.1/24的報文進行統計。
圖13-1 配置流量統計組網圖
# 定義基本ACL 2000,對源IP地址為1.1.1.1的報文進行分類。
<DeviceA> system-view
[DeviceA] acl number 2000
[DeviceA-acl-basic-2000] rule permit source 1.1.1.1 0
[DeviceA-acl-basic-2000] quit
# 定義類classifier_1,匹配基本ACL 2000。
[DeviceA] traffic classifier classifier_1
[DeviceA-classifier-classifier_1] if-match acl 2000
[DeviceA-classifier-classifier_1] quit
# 定義流行為behavior_1,動作為流量統計。
[DeviceA] traffic behavior behavior_1
[DeviceA-behavior-behavior_1] accounting
[DeviceA-behavior-behavior_1] quit
# 定義策略policy,為類classifier_1指定流行為behavior_1。
[DeviceA] qos policy policy
[DeviceA-qospolicy-policy] classifier classifier_1 behavior behavior_1
[DeviceA-qospolicy-policy] quit
# 將策略policy應用到端口GigabitEthernet3/0/1的入方向上。
[DeviceA] interface GigabitEthernet 3/0/1
[DeviceA-GigabitEthernet3/0/1] qos apply policy policy inbound
[DeviceA-GigabitEthernet3/0/1] quit
# 查看配置後流量統計的情況。
[DeviceA] display qos policy interface GigabitEthernet 3/0/1
Interface: GigabitEthernet3/0/1
Direction: Inbound
Policy: policy
Classifier: classifier_1
Operator: AND
Rule(s) : If-match acl 2000
Behavior: behavior_1
Accounting Enable:
28529 (Packets)
報文統計和流量統計的不同之處在於:報文統計是根據設備內部的統計規則對報文進行相關統計;而流量統計可以根據自己的需求設置相應的匹配規則,然後根據統計符合匹配規則的流。
設備支持兩個統計計數器,可以對入方向和出方向的報文進行統計。
用戶可指定每個計數器所統計的報文類型,報文類型包括:單板所有指定方向報文,或單板以下元素的組合所指定的報文——指定接口、指定VLAN、指定本地優先級、指定丟棄優先級。
用戶可以同時使能兩個統計計數器,分別統計不同的報文類型。
表14-1 配置報文統計
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能報文統計功能,並指定統計的流量類型(獨立運行模式) |
qos traffic-counter { inbound | outbound } { counter0 | counter1 } slot slot-number [ interface interface-type interface-number | vlan vlan-id | local-precedence lp-value | drop-priority dp-value ] * |
必選 缺省情況下,報文統計功能處於關閉狀態 |
配置流量統計(IRF模式) |
qos traffic-counter { inbound | outbound } { counter0 | counter1 } chassis chassis-number slot slot-number [ interface interface-type interface-number | vlan vlan-id | local-precedence lp-value | drop-priority dp-value ] * |
必選 缺省情況下,報文統計功能處於關閉狀態 |
local-precedence、drop-priority隻適用於以太網接口板,且隻支持outbound方向上的應用。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後報文統計的情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除報文統計計數器的統計信息。
表14-2 報文統計顯示和維護
操作 |
命令 |
顯示報文統計信息獨立運行模式) |
display qos traffic-counter { inbound | outbound } { counter0 | counter1 } slot slot-number [ | { begin | exclude | include } regular-expression ] |
顯示報文統計信息(IRF模式) |
display qos traffic-counter { inbound | outbound } { counter0 | counter1 } chassis chassis-number slot slot-number [ | { begin | exclude | include } regular-expression ] |
清除報文統計計數器的統計值(獨立運行模式) |
reset qos traffic-counter { inbound | outbound } { counter0 | counter1 } slot slot-number |
清除報文統計計數器的統計值(IRF模式) |
reset qos traffic-counter { inbound | outbound } { counter0 | counter1 } chassis chassis-number slot slot-number |
未配置QoS管道模式時,當設備處於以下任一位置:
· 在MAC-in-MAC網絡中本設備作為BCB(Backbone Core Bridge,骨幹網核心網橋)設備;
· 在MPLS L2VPN網絡中本設備作為Egress PE(Provider Edge,服務提供商邊緣設備)設備;
· 在MPLS L3VPN網絡中本設備作為Egress PE設備;
· 在VPLS網絡中作為Egress PE設備。
如果本設備收到的報文攜帶了DSCP優先級字段,那麼設備會將此字段改為0,再向下遊轉發。此時,如果下遊設備又配置了優先級映射功能,那麼下遊設備會通過IP報文中所攜帶的DSCP優先級字段來映射設備調度優先級字段值(包括本地優先級、丟棄優先級和用戶優先級字段值),用來全麵有效地控製報文的轉發調度能力。因此,如果報文中的DSCP優先級發生改變,會影響下遊設備對該IP報文的轉發調度,甚至可能導致報文被丟棄。
配置QoS管道模式後,可以確保報文在經過上述網絡後,所攜帶的DSCP優先級字段不會被改變,因此不影響下遊設備對該IP報文的轉發調度。
表15-1 配置QoS管道模式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置QoS管道模式 |
qos pipe-mode |
必選 缺省情況下,設備未配置QoS管道模式 |
關於MAC-in-MAC的詳細介紹請參見“二層技術-以太網交換配置指導”中的“MAC-in-MAC”,關於MPLS L2VPN的詳細介紹請參見“MPLS 配置指導”中的“MPLS L2VPN”,關於MPLS L3VPN的詳細介紹請參見“MPLS 配置指導”中的“MPLS L3VPN”,關於VPLS的詳細介紹請參見“MPLS 配置指導”中的“VPLS”。
表16-1 附錄 A 縮略語表
縮略語 |
英文全名 |
中文解釋 |
AF |
Assured Forwarding |
確保轉發 |
BE |
Best Effort |
盡力轉發 |
CAR |
Committed Access Rate |
約定訪問速率 |
CBQ |
Class Based Queuing |
基於類的隊列 |
CBS |
Committed Burst Size |
承諾突發尺寸 |
CBWFQ |
Class Based Weighted Fair Queuing |
基於類的加權公平隊列 |
CE |
Customer Edge |
用戶邊緣設備 |
CIR |
Committed Information Rate |
承諾信息速率 |
CQ |
Custom Queuing |
定製隊列 |
DAR |
Deeper Application Recognition |
深度應用識別 |
DiffServ |
Differentiated Service |
區分服務 |
DSCP |
Differentiated Services Codepoint |
區分服務編碼點 |
EACL |
Enhanced ACL |
增強型ACL |
EBS |
Excess Burst Size |
超出突發尺寸 |
EF |
Expedited Forwarding |
加速轉發 |
FEC |
Forwarding Equivalance Class |
轉發等價類 |
FIFO |
First in First out |
先進先出 |
GTS |
Generic Traffic Shaping |
通用流量整形 |
IntServ |
Integrated Service |
綜合服務 |
ISP |
Internet Service Provider |
Internet服務提供商 |
LFI |
Link Fragmentation & Interleaving |
鏈路分片與交叉 |
LLQ |
Low Latency Queuing |
低時延隊列 |
LR |
Line Rate |
物理接口總速率限製 |
LSP |
Label Switched Path |
標簽交換路徑 |
MPLS |
Multiprotocol Label Switching |
多協議標簽交換 |
PE |
Provider Edge |
服務商邊緣路由器 |
PHB |
Per-hop Behavior |
單中繼段行為,指IP轉發中每一跳的轉發行為 |
PIR |
Peak Information Rate |
峰值信息速率 |
PQ |
Priority Queuing |
優先隊列 |
QoS |
Quality of Service |
服務質量,指報文傳送的吞吐量、時延、時延抖動、丟失率等性能 |
QPPB |
QoS Policy Propagation Through the Border Gateway Protocol |
通過BGP傳播QoS策略 |
RED |
Random Early Detection |
隨機早期檢測 |
RSVP |
Resource Reservation Protocol |
資源預留協議 |
RTP |
Real-time Transport Protocol |
實時傳輸協議 |
SLA |
Service Level Agreement |
服務水平協議。是服務使用者和服務提供者之間簽訂的服務水平協議。服務提供者按此協議向服務使用者提供服務 |
TE |
Traffic Engineering |
流量工程 |
ToS |
Type of Service |
服務類型 |
TP |
Traffic Policing |
流量監管 |
TS |
Traffic Shaping |
流量整形 |
VoIP |
Voice over IP |
通過IP報文傳遞語音報文 |
VPN |
Virtual Private Network |
虛擬專用網 |
WFQ |
Weighted Fair Queuing |
加權公平隊列 |
WRED |
Weighted Random Early Detection |
加權隨機早期檢測 |
設備提供多張優先級映射表,分別對應相應的優先級映射關係。各個優先級的映射表和缺省取值如下所示。
表16-2 dot1p-lp,dot1p-dp,dot1p-dscp,dot1p-exp缺省映射關係
映射輸入索引 |
dot1p-lp映射 |
dot1p-dp映射 |
dot1p-dscp映射 |
dot1p-exp映射 |
0 |
2 |
0 |
0 |
0 |
1 |
0 |
0 |
8 |
1 |
2 |
1 |
0 |
16 |
2 |
3 |
3 |
0 |
24 |
3 |
4 |
4 |
0 |
32 |
4 |
5 |
5 |
0 |
40 |
5 |
6 |
6 |
0 |
48 |
6 |
7 |
7 |
0 |
56 |
7 |
表16-3 dscp-lp,dscp-dp,dscp-dot1p,dscp-exp缺省映射關係
映射輸入索引 |
dscp-lp映射 |
dscp-dp映射 |
dscp-dot1p映射 |
dscp-exp映射 |
0~7 |
0 |
0 |
0 |
0 |
8~15 |
1 |
0 |
1 |
1 |
16~23 |
2 |
0 |
2 |
2 |
24~31 |
3 |
0 |
3 |
3 |
32~39 |
4 |
0 |
4 |
4 |
40~47 |
5 |
0 |
5 |
5 |
48~55 |
6 |
0 |
6 |
6 |
56~63 |
7 |
0 |
7 |
7 |
表16-4 exp-dscp,exp-dp,exp-dot1p,exp-lp缺省映射關係
映射輸入索引 |
exp-dscp映射 |
exp-dp映射 |
exp-dot1p映射 |
exp-lp映射 |
0 |
0 |
0 |
0 |
0 |
1 |
8 |
0 |
1 |
1 |
2 |
16 |
0 |
2 |
2 |
3 |
24 |
0 |
3 |
3 |
4 |
32 |
0 |
4 |
4 |
5 |
40 |
0 |
5 |
5 |
6 |
48 |
0 |
6 |
6 |
7 |
56 |
0 |
7 |
7 |
表16-5 up-dp、up-lp、up-up、up-rpr缺省映射關係
映射輸入索引 |
up-dp映射 |
up-lp映射 |
up-up映射 |
up-rpr映射 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
2 |
0 |
2 |
2 |
1 |
3 |
0 |
3 |
3 |
1 |
4 |
0 |
4 |
4 |
2 |
5 |
0 |
5 |
5 |
2 |
6 |
0 |
6 |
6 |
2 |
7 |
0 |
7 |
7 |
2 |
經過CAR處理的報文被分成了三種顏色(綠色、黃色、紅色),為了對不同顏色報文進行優先級映射,設備提供了多張帶顏色優先級映射表,分別對應相應顏色的優先級映射關係。各個帶顏色優先級映射表和缺省取值如下所示。
· 以下說明中,若沒有明確標識方向,表示兩個方向上的映射關係相同。
· 帶顏色映射表處理的優先級參數取自端口信任模式和重標記處理的結果。
各種情況下,映射輸入值即為輸出值。
表16-6 dot1p-dp缺省映射關係
映射輸入索引 |
dot1p-dp映射(inbound) |
||
green |
yellow |
red |
|
0~7 |
0 |
1 |
2 |
各種情況下,映射輸入值×8即為輸出值。
各種情況下,映射輸入值即為輸出值。
表16-7 dot1p-lp缺省映射關係
映射輸入索引 |
dot1p-lp映射(inbound) |
||
green |
yellow |
red |
|
0 |
2 |
2 |
2 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
1 |
3 |
3 |
3 |
3 |
4 |
4 |
4 |
4 |
5 |
5 |
5 |
5 |
6 |
6 |
6 |
6 |
7 |
7 |
7 |
7 |
表16-8 dscp-dot1p缺省映射關係
映射輸入索引 |
dscp-dot1p映射 |
||
green |
yellow |
red |
|
0~7 |
0 |
0 |
0 |
8~15 |
1 |
1 |
1 |
16~23 |
2 |
2 |
2 |
24~31 |
3 |
3 |
3 |
32~39 |
4 |
4 |
4 |
40~47 |
5 |
5 |
5 |
48~55 |
6 |
6 |
6 |
56~63 |
7 |
7 |
7 |
表16-9 dscp-dp缺省映射關係
映射輸入索引 |
dscp-dp映射(inbound) |
||
green |
yellow |
red |
|
0~63 |
0 |
1 |
2 |
各種情況下,映射輸入值即為輸出值。
表16-10 dscp-exp缺省映射關係
映射輸入索引 |
dscp-exp映射 |
||
green |
yellow |
red |
|
0~7 |
0 |
0 |
0 |
8~15 |
1 |
1 |
1 |
16~23 |
2 |
2 |
2 |
24~31 |
3 |
3 |
3 |
32~39 |
4 |
4 |
4 |
40~47 |
5 |
5 |
5 |
48~55 |
6 |
6 |
6 |
56~63 |
7 |
7 |
7 |
表16-11 dscp-lp缺省映射關係
映射輸入索引 |
dscp-lp映射(inbound) |
||
green |
yellow |
red |
|
0~7 |
0 |
0 |
0 |
8~15 |
1 |
1 |
1 |
16~23 |
2 |
2 |
2 |
24~31 |
3 |
3 |
3 |
32~39 |
4 |
4 |
4 |
40~47 |
5 |
5 |
5 |
48~55 |
6 |
6 |
6 |
56~63 |
7 |
7 |
7 |
各種情況下,映射輸入值即為輸出值。
表16-12 exp-dp缺省映射關係
映射輸入索引 |
exp-dp映射(inbound) |
||
green |
yellow |
red |
|
0~7 |
0 |
1 |
2 |
各種情況下,映射輸入值×8即為輸出值。
各種情況下,映射輸入值即為輸出值。
各種情況下,映射輸入值即為輸出值。該映射隻支持inbound方向。
表16-13 綠色報文/黃色報文/紅色報文的up-dscp缺省映射關係
映射輸入索引 |
up-dscp映射 |
0 |
0 |
1 |
8 |
2 |
16 |
3 |
24 |
4 |
32 |
5 |
40 |
6 |
48 |
7 |
56 |
圖16-1 ToS和DS域
如圖16-1所示,IP報文頭的ToS字段有8個bit,其中前3個bit表示的就是IP優先級,取值範圍為0~7。RFC 2474中,重新定義了IP報文頭部的ToS域,稱之為DS(Differentiated Services,差分服務)域,其中DSCP優先級用該域的前6位(0~5位)表示,取值範圍為0~63,後2位(6、7位)是保留位。
表16-14 IP優先級說明
IP優先級(十進製) |
IP優先級(二進製) |
關鍵字 |
0 |
000 |
routine |
1 |
001 |
priority |
2 |
010 |
immediate |
3 |
011 |
flash |
4 |
100 |
flash-override |
5 |
101 |
critical |
6 |
110 |
internet |
7 |
111 |
network |
表16-15 DSCP優先級說明
DSCP優先級(十進製) |
DSCP優先級(二進製) |
關鍵字 |
46 |
101110 |
ef |
10 |
001010 |
af11 |
12 |
001100 |
af12 |
14 |
001110 |
af13 |
18 |
010010 |
af21 |
20 |
010100 |
af22 |
22 |
010110 |
af23 |
26 |
011010 |
af31 |
28 |
011100 |
af32 |
30 |
011110 |
af33 |
34 |
100010 |
af41 |
36 |
100100 |
af42 |
38 |
100110 |
af43 |
8 |
001000 |
cs1 |
16 |
010000 |
cs2 |
24 |
011000 |
cs3 |
32 |
100000 |
cs4 |
40 |
101000 |
cs5 |
48 |
110000 |
cs6 |
56 |
111000 |
cs7 |
0 |
000000 |
be(default) |
802.1p優先級位於二層報文頭部,適用於不需要分析三層報頭,而需要在二層環境下保證QoS的場合。
圖16-2 帶有802.1Q標簽頭的以太網幀
如圖16-2所示,4個字節的802.1Q標簽頭包含了2個字節的TPID(Tag Protocol Identifier,標簽協議標識,取值為0x8100)和2個字節的TCI(Tag Control Information,標簽控製信息),圖16-3顯示了802.1Q標簽頭的詳細內容,Priority字段就是802.1p優先級。之所以稱此優先級為802.1p優先級,是因為有關這些優先級的應用是在802.1p規範中被詳細定義的。
圖16-3 802.1Q標簽頭
表16-16 802.1p優先級說明
802.1p優先級(十進製) |
802.1p優先級(二進製) |
關鍵字 |
0 |
000 |
best-effort |
1 |
001 |
background |
2 |
010 |
spare |
3 |
011 |
excellent-effort |
4 |
100 |
controlled-load |
5 |
101 |
video |
6 |
110 |
voice |
7 |
111 |
network-management |
EXP優先級位於MPLS標簽內,用於標記MPLS QoS。
圖16-4 MPLS標簽的封裝結構
在圖16-4中,Exp字段就是EXP優先級。它由3個bit組成,取值範圍為0~7。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!