路由器三层队列机制
各种队列从三个方向进行研究:
①队列是否支持分类,
②队列丢弃机制
③队列的调度机制
④配置方法
1、FIFO
默认情况下路由器的三层接口队列有两种,一种是FIFO一种是Fair-Queen,当带宽大于等于2.048Mbps,就是FIFO。小于则为Fair-Queen
①、FIFO不支持分类
②、默认执行尾丢弃
③、先来的数据包先被转发
④、Cisco路由器没有配置FIFO队列的专用命令,要使用FIFO-Queen可使用接口级别命令no Fair-Queen,接口级别模式下使用Hold-Queen 100 in|out 修改FIFO入站和出站队列大小
2、PQ
该队列定义了四个子队列,优先级从高到底分别为High、Medium、Normal、Low
①、PQ支持分类
②、默认执行尾丢弃
③、当高优先级队列中有流量时,总是先转发高优先级队列中的数据,直到高优先级队列没有流量转发是,才可以为低优先级的队列转发流量
④、在这里我们定义如下五种流量,应用在FastEthernet0/0接口上
1、Telnet加入High队列
2、ICMP加入Low队列
3、从Fastethernet0/1进入的流量加入Medium
4、IP流量加入Normal队列
5、No-IP流量加入Low
配置如下:
access-list 100 permit icmp any any
priority-list 10 protocol ip high tcp telnet
priority-list 10 protocol ip low list 100
priority-list 10 interface FastEthernet0/1 medium
priority-list 10 protocol ip normal
priority-list 10 default low //(没有匹配到的流量都会被default匹配)
Interface FastEthernet0/0
priority-queen 10
验证:
R1#debug priority
R1#ping 12.1.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/30/52 ms
R1#
*Mar 1 00:12:47.699: PQ: FastEthernet0/0: ip (s=12.1.1.1, d=12.1.1.2) -> low
修改队列缓冲大小接口级别命令:priority-list 10 queue-limit 10 20 30 40(High:10、Medium:20、Normal:30、low:40)
3、CQ
CQ定义了17个队列,分别为0-16,0号队列称为超级优先队列,只有将该队列中的流量转发完毕才会转发接下来的16个队列,默认情况下该队列中的流量是一些系统流量,例如链路之间交互的keeplive报文,队列1-16是一中轮询机制,该机制默认从1号队列开始转发1500byte(1500-2999) ,再到第2个队列转发1500,一直到转发到16号队列后,再回到1号队列进行重复如上行为
①、CQ支持分类
②、默认执行尾丢弃
③、一种轮询的转发机制(0号队列除外)
④、配置如下
1、VoIP加入1队列
2、ICMP加入2队列
3、从Fastethernet0/1进入的流量加入3
4、IP流量加入4队列
5、No-IP流量加入5
access-list 100 permit icmp any any
queue-list 10 protocol ip 1 udp 16384(使用queue-list 10列表抓取udp端口号为16384的流量,并放入队列1)
queue-list 10 protocol ip 2 list 100
queue-list 10 interface FastEthernet0/1 3
queue-list 10 protocol ip 4
queue-list 10 default 5
R1(config)#queue-list 1 queue 1 byte-count 100(设置每次转发的流量,单位为byte,默认为1500)
R1(config)#queue-list 1 queue 1 limit 10(设置每个队列的大小,默认为都为20)
假设有这样的需求,要求队列1成为超级优先队列,该如何解决
R1(config)#queue-list 10 lowest-custom 1 (轮询从2号队列开始,0号队列和1号队列将会成为超级优先队列)
r1(config-if)#custom-queue-list 10(应用于接口)
4、WFQ