CBWFQ

action action action

CBWFQ 基於類別的加權公平排隊。
CBWFQ(通常使用ACL)定義數據流類別,並將注入寬頻和佇列限制等參數套用於這些類別。
基於類的加權公平佇列(class-based weighted fair queuing)是網路中的一個佇列配置方案,其允許通信基於標準分類,例如訪問控制列表,輸入界面名,協定和服務質量(QoS)標誌。CBWFQ擴展了加權公平佇列(weighted fair queuing)功能的標準來提供自定義通信類型支持。
一、顧名思義Class-Based首先要定義一個Class;
Example:(config)#class-map [match-all | match-any] myclass
match-all 指名條件必須全部滿足,才可以執行,此為Default值;match-any表示匹配任何一個條件就可以執行。class-map的名字不要超過64個字元,同時要滿足Cisco 命名字元要求。
接下來輸入匹配條件
1、匹配另一個CLass-map
Example:(class-map)#match class-map comclass
match 為匹配關鍵字,class- map comclass
為另一個Class-Map,一個Class-map可以調用另外一個Class-map可以實現複雜的匹配條件。
2、匹配一種協定類型:
Example:(class-map)#match protocol myprotocol
protocol是協定關鍵字,其協定類型源於nbar(Network-Based Application Recognition),可以從Cisco網站下載PDLM (Packet Description Language Module,分組描述語言模組)檔案,裝到Flash中,增加協定類型。其中類型包括 EGP,ICMP,EIGRP,DNS,HTTP,Telnet等上百種具體協定。
3、可以匹配訪問列表
Example:(class-map)#match access-group [number | name myname],可以匹配基於號碼的list和基於Name的Access list,大家都很熟了,不多說了。
4、匹配CoS (class of Servie)
Exampleclass-map)#match cos mycos1 mycos2..
匹配分組標識CoS值,最多可以連續匹配四個值,Cos取值範圍0(低)->7(高)。
5、匹配IP優先權(IP Precedence)
Example:(class-map)#match ip precedence myprecedence1 myprecedence2..
類似COS,最多4個值,取值範圍0-7。
6、匹配DSCP值(Differentiated Services Code Point)DSCP採用IP分組的服務類型位元組(TOS)。
Exampleclass-map)#match ip dscp mydscp1 mydscp2...
dscp取值範圍0-63,最多連續匹配8個dscp值。
7、匹配實時協定RTP(Real-Time Protocol)(一般語音或視頻)
Example:(class-map)#match ip rip start-port port-range
起始連線埠為2000-65535,範圍從0到16383,用來匹配UDP連線埠。
8、匹配入接口(為什麼只有入接口?猜測看)
Example:(class-map)#match input-interface type number
不說了,一看就懂。
9、匹配目的MAC:
Example:(class-map)#match destination-address mac mymacaddress
同上。
10、還有一些不常用的,就不提了,感興趣的朋友可以看看相關資料。
二、類別定義好了,就看如何使用了:
1、定義策略映像:(globle)#policy-map my-policymap
簡單。
2、指定一種或多種流量類型(最多64個類型):(pmap)#class myclass
注意在Policy-map配置模式下,別和Class-Map混淆了。
3、使用Default類型,預設情況下思科早為你準備好了一個Default class,適用於任何你沒有定義的其他類型,名字叫class-default ,要記住,打?是看不到的。
Example:(pmap)#class class-default
類型都指定了,我們總該做點什麼吧?該用SET命令了。
4、設定FR的FRDE(Frame Relay Discard Eligibiltiy),12.2(2)T 以上才有呢。
Example:(pmap-class)#set fr-de
注意當前配置模式,此命令沒有參數。
5、SET COS
Example:(pmap-class)#set cos cos
6、SET IP Precedence
Example:(pmap-class)#set ip precedence myprecedence
7、SET IP DSCP Example:(pmap-class)#set ip dscp mydscp
說了老半天,下面才是我們想要的。
8、給類型分配頻寬:
Example:(pmap-class)#bandwidth { mybandwidth | percent mypercent}
mybandwidth 指定具體頻寬,如果知道接口總頻寬就可以使用; percent關鍵字指定接口可用頻寬百分比,0-100取值,默認情況下接口可用最大頻寬為物理頻寬的75%(其餘25%留給系統自己用),所以percent 值是75%的percent,而不是物理頻寬的percent,我們可以使用max-reserved-bandwidth precent
更改最大可用頻寬,注意了,不用隨意更改!!!,如果你只定義了你喜歡的流量而沒有指定default-class,或者給default-class 很小的頻寬,你就慘了,有可能連路由學不到,而且還不知道什麼原因。該頻寬是按照WFQ算法進行,不一定完全符合,下面介紹一個完全符合的。
9、將LLQ用於嚴格的優先權類型:
Example:(pmap-class)#priority { mybandwidth | percent mypercent} mybandwidth 完全符合,類似PQ算法,主要適用於低延遲的語音,要仔細規劃好才使用,免得出錯。
10、使用流量管理來控制流量速率
Example:(pmap-class)#police bps burst-normal burst-max conform-Action Action exceed-action action [violate-action action]
這條命令稍微複雜些,bps 指定平均流量速率(bit/s),burst-normal burst-max 分別是流量能突發超出平均值和過度超出平均值,都以位元組為單位;我們可以根據流量速率和管理閥值之間的關係,制定相應的措施。如果流量符合bps速率或者升高但低於正常的突發burst -normal,會採取conform-action;如果流量升高到介於burst-normal和 burst-max之間,則採取exceed- action;最後,如果流量超過burst-max值,如果指定了violate-action,則會採取相應措施,如果沒有指定,則burst- max對流量沒有任何影響。action可以是drop, set-qos-transmit, set-dscp-transmit,就不一一說明了。
11、還有一些其他參數,使用較少就不介紹了。
三、最後,將policy-map 套用到接口上。
(interface)#service-policy {input | output} mypolicymap
分為出和入兩個方向,該接口就可以乖乖的執行你的策略了。
以上對Qos中的一點技術做了大概說明,如果能靈活掌握,以後如果再遇到類似“衝擊波”病毒,對網路性能造成影響,就可以擺平了。
QoS技術博大精深,可以套用的地方很多,幾乎出現在思科全系列產品上,但是會用的人太少,隨著網路套用愈來愈複雜,QoS越來越有用武之地了,感興趣的朋友可以參考《Administering Cisco QOS in IP Network》,四位CCIE的力作,syngress出版,獲得過大獎。
補充:查看流量:
最好用流量分析儀,不過很貴,下面介紹幾款窮人的“分析儀”
1、用擴展訪問列表做log記錄,最好先清一些buffer和logging,此方法有局限性,只有對協定類型或者地址熟悉的情況下使用。
2、IP accounting,先定義閥值,免得累壞了你的路由器,在關鍵接口啟用,入或出方向都可以,用show ip accounting 看看,裡面的東東比較詳細,自己看好了。
3、Netflow, 啟用CEF的路由器可以定製想要觀察的FLow,不過對MEM要求較高,要仔細看清楚了再用,其輸出內容非常豐富。
4、還有幾款複雜的,不太實用,就不介紹了。

相關搜尋

熱門詞條

聯絡我們