轉載自:https://blog.csdn.net/Galdys/article/details/6617162
QoS配置指導
以下例子中的組網如下:
ETH0/1 ______________
192.168.1.12 | |
---------------| ROUTER |---------------
內網 |_____________| 外網
2.1 基於內網網段進行限速
場景要求:對內網為192.168.1.0的網段進行限速,訪問外網的速率不能超過64k。
定義ACL規則:
[H3C]acl number 2000
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
在內網口應用策略:
[H3C] interface Ethernet 0/1
[H3C-Ethernet0/1] qos car inbound acl 2000 cir 64 cbs 4000 ebs 0 green pass red discard
CBS和EBS的配置方法:
CIR:表示向C桶中投放令牌的速率,即C桶允許傳輸或轉發報文的平均速率;
CBS:表示C桶的容量,即C桶瞬間能夠通過的承諾突發流量;
EBS:表示E桶的容量,即E桶瞬間能夠通過的超出突發流量。
CIR用來確定設備允許的流的平均速度,基於速率的設置就是指該值的設置;CBS表示每次突發所允許的最大的流量尺寸,這個值可以通過(流量波動時間 超過CIR的部分)進行估算。但是該值的設置一般比較粗略,只能是一個大概的數值,在實際使用中如果效果不好,還需要繼續細調;EBS的值一般來說不需要 設置,所以設置為0即可。
2.2 基於時間段和網段進行限速
場景要求:對內網為192.168.1.0的網段進行限速,訪問外網的速率不能超過64k,限定時間為工作時間。
通過設置time-range和ACL,可以實現基於時間段的限速。
定義時間段:
[H3C]time-range worktimeam 8:00 to 12:00 working-day
[H3C]time-range worktimepm 13:00 to 17:00 working-day
定義ACL規則:
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255 time-range worktimeam
[H3C -acl-basic-2000] rule 1 permit source 192.168.1.0 0.0.0.255 time-range worktimepm
在內網口應用策略:
[H3C] interface Ethernet 0/1
[H3C-Ethernet0/1] qos car inbound acl 2000 cir 64 cbs 4000 ebs 0 green pass red discard
2.3 基於網段進行流量整形
場景要求:為了減少報文的無謂丟失,可以在ICG的出口對報文進行流量整形處理。將超出流量整形特性的報文緩存在ICG中。當可以繼續發送下一批報文時,流量整形再從緩沖隊列中取出報文進行發送。這樣,發向外網的報文將都符合外網的流量規定。
對內網為192.168.1.0的網段進行流量整形,訪問外網的速率不能超過512k。
定義ACL規則:
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
在外網口應用策略:
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos gts acl 2000 cir 512 cbs 32000 ebs 0 queue-length 50
2.4 基於物理接口進行限速
場景要求:物理接口限速能夠限制在物理接口上通過的所有報文,流量監管在IP層實現,可以對端口上不同的流分類進行限速,但是對於不經過IP層處理的報文不起作用。當用戶只要求對所有報文限速時,使用物理接口限速比較簡單。
這里要求對出接口方向的物理限速為64k。
在外網口應用策略:
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos lr outbound cir 64 cbs 4000 ebs 0
2.5 基於協議進行限速
場景要求:對BT下載的速率不能超過64k。
定義類:
[H3C] traffic classifier bt operator and
[H3C-classifier-bt] if-match protocol bittorrent
定義流行為:
[H3C] traffic behavior 64k
[H3C-behavior-64k] car cir 64 cbs 4000 ebs 0 green pass red discard
定義策略:
[H3C] qos policy bt_64k
[H3C-qospolicy-bt_64k] classifier bt behavior 64k
在外網口的入和出方向應用策略
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos apply policy bt_64k inbound
[H3C-Ethernet0/0] qos apply policy bt_64k outbound
2.6 基於類的隊列進行限速
場景要求:ICG是外網出口,下掛2個網段,存在語音業務。對192.168.1.0網段訪問Internet需要8k保證,對於所有RTP流需要32k保證。
由於存在語音業務,語音報文對延遲敏感,所以,需要對於RTP流放入EF類,其他的報文可放入AF類。所以,此時需要實現給予類的隊列進行限速。
定義ACL規則:
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
定義類:
[H3C] traffic classifier acl2000 operator and
[H3C-classifier-acl2000] if-match acl 2000
[H3C]traffic classifier rtp operator and
[H3C-classifier-rtp]if-match protocol rtp
定義流行為:
[H3C]traffic behavior ef32k
[H3C-behavior-ef32k]queue ef bandwidth 32 cbs 1500
[H3C]traffic behavior af8k
[H3C-behavior-af8k]queue af bandwidth 8
[H3C-behavior-af8k]wred
定義策略:
[H3C]qos policy cbq
[H3C-qospolicy-cbq]classifier acl2000 behavior af8k
[H3C-qospolicy-cbq]classifier rtp behavior ef32k
將策略應用在外網接口:
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos apply policy cbq outbound
2.7 基於自定義隊列解決擁塞
場景要求:ICG是外網出口,下掛2個網段,要求網絡擁塞時通過CQ對192.168.1.0/24網段給予優先保證。
在該場景下,只需要保證網段192.168.1.0/24下流量的優先於網段192.168.2.0/24下的流量。
定義ACL規則(均為內網網段):
[H3C]acl number 2000
[H3C -acl-basic-2000]
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
[H3C]acl number 2001
[H3C -acl-basic-2001]
[H3C -acl-basic-2001] rule 0 permit source 192.168.2.0 0.0.0.255
定義CQL 1隊列:
[H3C]qos cql 1 queue 1 queue-length 1000
[H3C]qos cql 1 queue 1 serving 1000
[H3C]qos cql 1 queue 2 queue-length 500
[H3C]qos cql 1 queue 2 serving 500
將ACL2000和CQL 1的隊列1綁定起來
[H3C]qos cql 1 protocol ip acl 2000 queue 1
將ACL2001和CQL 1的隊列2綁定起來
[H3C]qos cql 1 protocol ip acl 2001 queue 2
將CQL 1應用在外網接口
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos cq cql 1
2.8 基於優先隊列解決擁塞
場景要求:ICG是外網出口,下掛2個網段,要求網絡擁塞時通過PQ對192.168.1.0/24網段給予優先保證。
在該場景下,需要優先保證網段192.168.1.0/24下流量的絕對優先。
定義ACL規則(均為內網網段):
[H3C]acl number 2000
[H3C -acl-basic-2000] rule 0 permit source 192.168.1.0 0.0.0.255
[H3C]acl number 2001
[H3C -acl-basic-2001] rule 0 permit source 192.168.2.0 0.0.0.255
定義PQL 1隊列,對ACL 2000的流量作為高優先級隊列,對ACL 2001的流量作為低優先級隊列:
[H3C]qos pql 1 protocol ip acl 2000 queue top
[H3C]qos pql 1 protocol ip acl 2001 queue bottom
將PQL 1應用在外網接口
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos pq pql 1
2.9 基於RTP隊列對RTP進行優先處理
場景要求:ICG是外網出口,要求在出口對RTP進行優先處理。
為了保證RTP的時延和抖動降低為最低限度,保證語音或視頻業務的服務質量,這里可以采用給予RTP優先隊列。
在外網接口設置RTP優先隊列
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos reserved-bandwidth pct 50
[H3C-Ethernet0/0] qos rtpq start-port 16384 end-port 32767 bandwidth 32 cbs 1500
2.10 基於WRED接口模式的配置
場景要求:在外網口應用WRED處理。
為了避免TCP全局同步,可以采用WRED。WRED可以有效解決尾丟棄技術造成的問題,和尾丟棄不同,WRED不是等到隊列滿了才開始丟棄,而是發現隊 列長度不夠時,在數據包進入隊列前隨機的提取數據包進行丟棄,這樣可以解決丟棄對語音傳輸的影響。
[H3C] interface Ethernet 0/0
[H3C-Ethernet0/0] qos wfq precedence queue-length 64 queue-number 256
[H3C-Ethernet0/0] qos wred enable
[H3C-Ethernet0/0] qos wred weighting-constant 6
[H3C-Ethernet0/0] qos wred ip-precedence 3 low-limit 20 high-limit 40 discard-probability 15
*注:關於CIR、CBS、EBS、CAR的解釋:
0、在令牌桶原理中,CBS(承諾突發尺寸)+EBS(超額突發尺寸Excess Burst Size)=令牌桶大小,默認情況下EBS為0,CBS采用默認值,CBS和EBS單位是Byte,即字節
1、CIR(承諾信息速率)為每秒往令牌桶添加令牌的速度,單位是kbps,注意是bit每秒,不是Byte每秒,如配置qos car outbound carl 1 cir 64,其含義就是對carl隊列1在接口出方向配置CIR為64kbps,此時默認CBS為4000(Byte),即令牌桶大小為4000字節,每秒往桶內注入令牌的速率是64kbps,令牌桶就和水桶一樣,CIR最多把桶注滿,並不會多出。
2、假設一個包,大小是1500字節,如果此時桶內令牌數量是2000字節,那么該數據包通過,令牌數量變成2000-1500=500(字節),如果此時再來一個1000字節的數據包,那么令牌就不夠,這個數據包就有可能被丟棄或remark
3、上面只是原理介紹,實際情況是動態變化(一邊有令牌注入,一邊有數據包轉發取令牌)的,需要計算機仿真才能看到令牌桶的動態變化
4、CAR(承諾訪問數率)用來限速,比如限制FTP、HTTP、每IP限速,並不用來做流量保證,如VoIP、Video業務優先轉發。
————————————————
版權聲明:本文為CSDN博主「Galdys」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Galdys/article/details/6617162