栗子:

自定义队列列表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是静态配置的,不能自动适应网络状况的变化。