栗子:
自定義隊列列表4,設置隊列5爲默認隊列,並把來自接口f0/0的數據放置在隊列4內,把訪問列表10定義的數據放置在隊列1內,把端口號爲23的TCP數據放置在隊列2內,把端口號爲53的數據放置在隊列3內,設置隊列4的長度尾40個數據包,每次輪詢發送1400B數據。隊列1-3的長度是20B,每次輪詢發送35000B數據。默認隊列使用系統默認的隊列長度和輪詢字節數。
-------自定義隊列-------
queue-list 4 protocol ip 1 list 10
queue-list 4 pro ip 2 tcp 23
queue-list 4 pro ip 3 udp 53
queue-list 4 int f0/0 4
queue-list 4 default 5
-------自定義隊列裏數據包長度及輪詢發送數據包大小-----
queue-list 4 queue 4 limit 40
queue 4 queue 4 byte-count 1400
queue-list 4 queue 1 limit 20
queue-list 4 queue 1 byte 35000
queu 4 queue 2 limit 20
queue 4 queue 2 byte 35000
queue 4 queue 3 limit 20
queue 4 queue 3 byte 35000
access-list 10 permit 192.168.10.0 0.0.0.255 ---定義ACL允許192.168.10.0/24網段
int s1/1
custom-queue-list 4 ---應用cq在接口S1/1上
Show queueing custom ---檢查配置的自定義隊列
R1#show queueing custom
Current custom queue configuration:
List Queue Args
4 5 default
4 2 protocol ip list 10
4 2 protocol ip tcp port telnet
4 3 protocol ip udp port domain
4 4 interface FastEthernet0/0
4 1 byte-count 35000
4 2 byte-count 35000
4 3 byte-count 35000
4 4 byte-count 1400 limit 40
原理:
CQ自定義隊列中系統維護17個隊列,1-16號隊列可以用戶自定義;0號隊列由系統使用,用來安排最緊急的數據(如信令、hello)。0號隊列優先級最高,而且只有把0號隊列中的數據發送完後其他隊列才能發送。
1-16號隊列都是平等的,採用輪詢(round robin)的方法從隊列1到隊列16依次輪詢。輪詢到某個隊列時,會等發送該隊列中一定字節數的數據,或者隊列爲空後,才輪詢下一個編號的隊列。
1)每個隊列在每次輪詢時能發送多少字節的數據是可以自定義,通過這樣一個手段,保證了每個隊列使用接口帶寬的比列。
2)CQ是靜態配置的,不能自動適應網絡狀況的變化。