當網絡發生擁塞是,擁塞管理使用隊列算法來決定如何將數據發出,隊列技術須要算法
依賴已經作好的分類和標記,來決定對不用數據包來作出不一樣的處理網絡
每一個接口上只能使用一種隊列技術:tcp
Fisrt In Fisrt Out queuing(FIFO):速率大於E1(2.048Mbps)的接口所有默認開啓FIFOide
Priority queuing(PQ):優先級隊列分4等:high / mdium / mormal / low
雖然PQ只有在高優先級隊列數據包所有傳完的狀況下,纔會傳下一個隊列,可是能夠限制每一個隊列一次性傳輸的最大數據包個數,當某個隊列傳輸的數據包達到最大數量以後,不管是否還有數據包,都必須傳遞下一個隊列。
配置:
1.將特定數據放入隊列high / mdium / mormal / low中
(config)#access-list 10 permit 10.1.1.0 0.0.0.255
(config)#priority-list 1 protocol ip high list 10
(config)#access-list 20 permit 10.2.1.0 0.0.0.255
(config)#priority-list 1 protocol ip medium list 20
(config)#priority-list 1 pritocol ip mormal tcp 23
(config)#priority-list 1 default low
2.限制每一個隊列的最大數據包個數
(config)#priority-list 1 queue-limit 400 300 200 100
3.將PQ應用到接口上
(config-if)#priority-group 1
4.查看PQ參數
#show queueing priority
大數據
Custom queuing(CQ):
CQ中有1到16共16個隊列輪循,每一個隊列能夠限制可傳的數據包總數,但實時數據不能獲得保證。將數據包分配到CQ的各個隊列中,當網絡發生擁塞時,CQ先傳第1個隊列中的數據,當傳到額定的數據包個數後,就接下去傳第2個隊列中的數據,一樣是傳到額定的數據包個數後,再傳下一個隊列,以此類推薦,直到傳到第16個隊列後,再回過去傳第一個隊列。CQ除了1到16個隊列外,還有一個0號隊列,可是0號隊列是超級優先隊列,路由器老是先把0號隊列中的數據發送完後才處理1到16號隊列中的數據包,因此0號隊列通常做爲系統隊列,許多IOS不支持手工將指定數據分配到0號隊列。在配置1到16號隊列時,用戶能夠配置每一個隊列同一時間能夠佔用接口帶寬的比例,至關於限速。
配置:
1.將特定的數據放入隊列中
(config)#access-list 10 permit 10.1.1.0 0.0.0.255
(config)#queue-list 1 protocol ip 1 list 10
(config)#access-list 20 permit 10.2.1.0 0.0.0.255
(config)#queue-list 1 protocol ip 2 list 20
(config)#queue-list 1 protocol ip 3 tcp 23
(config)#queue-list 1 default 4
2.限制隊列字節數or數據包(默認爲20 or 1500)
(config)#queue-list 1 queue 1 byte-count 100 或 limit 10
(config)#queue-list 1 queue 2 byte-count 200 或limit 20
(config)#queue-list 1 queue 3 byte-count 300 或limit 30
(config)#queue-list 1 queue 4 byte-count 400 或 limit 40
3.將隊列應用到接口上
(config-if)custom-queue-list 1
4.查看CQ隊列參數
#show queueing custom
ui
Weighted fair queuing(WFQ):spa
Class-based WFQ(CBWFQ):orm
Low Latenvy Queuing(LLQ):接口
IP RTP Priority:隊列