QOS之CBWFQ与LLQ简要说明
[关于QOS的东西,一直想总结下,但QOS东西很多,也不好整理,最近同事问到一个问题,正好复习了下,索性记录下来,已做日后参考。下面的测试是比较基础的,不涉及GSR,CRS,9k以及交换机的硬件QOS,很多中高端设备的QOS是由硬件做的,根据平台的不同,也不尽相同,本篇文档不做介绍。]
Topology:
PC(10.1.11.1.1)–(10.11.1.2)router1(f1/0)–(f1/0)router2(lo1,lo2,lo3)
Configuration:
R1#sh policy-map Policy Map QoS_ICBCAsia Class HIGH-application priority 8 (kbps) Class MEDIUM-application bandwidth 25 (%) Class class-default bandwidth 20 (%) Policy Map QoS_ICBCAsia_new Class class-default Average Rate Traffic Shaping cir 16000 (bps) service-policy QoS_ICBCAsia R1#sh access-lists Extended IP access list HIGH 10 permit ip host 10.11.1.1 host 123.128.14.221 (5776 matches) Extended IP access list MEDIUM 10 permit ip host 10.11.1.1 host 123.128.14.68 R1#sh run int f1/0 Building configuration... Current configuration : 153 bytes ! interface FastEthernet1/0 bandwidth 16 ip address 12.1.1.1 255.255.255.0 load-interval 30 duplex full service-policy output QoS_ICBCAsia_new end
注意:虽然在72上QOS是基于软件的,但是用模拟器做QOS仍然有问题,所以建议用真实设备测试。另外现在的IOS中有很多老的QOS命令已经不支持了,具体可看官方文档《Legacy QoS Command Deprecation》。下面的测试结果是根据真实设备测试结果得出,只不过用的数据不同而已(不是16k而是30M),有时间找台设备测试下,并把信息补充进去。
测试步骤
Test1: LLQ会抢占其他的Q的起源么?
PC打ICMP的流量到 123.128.14.221,超过8k后,没有问题,但是当超过16k后就会产生丢包,high q和父队列丢包一致。由于priority是严格队列,所以不会buffer超过的流量,所以超过多少丢多少。
Test2: 其他Q会抢占LLQ的资源么?
PC打ICMP的流量到 123.128.14.68,超过2k后仍然不丢包,但当超过16k后,会发现CBWFQ中的Q limit中的counter有增加。当超过一定量的buffer后,发现丢包。
Test3: 当LLQ和其他Q都在时,会发生什么?
PC分别打ICMP的流量到123.128.14.68和123.128.14.221,使CBWFQ超过预订带宽,10k,而LLQ只打6k,这时都是正常的,然后加大LLQ的流量,发现LLQ中的数据包正常,但是CBWFQ出现了buffer,从而产生丢包。
结论
1. 所有队列技术都是当端口拥塞时才起作用;在嵌套QOS中,父策略拥塞就相当于端口拥塞
2. bandwidth对实际带宽没有意义,它只在调整QOS时才起作用
3. LLQ主要优点在于当队列轮询时优于其他Q,对于低延迟的数据可以优先传输,有助于降低延迟和减少抖动。
注意:由于LLQ的优先级高,如果LLQ设置很大的话,导致LLQ中一直有流量,其他的Q会一直 buffer并等待LLQ为空,从而导致丢包。对于这个问题,在GSR上支持MDRR,对于这种问题做了一些改善。另外对于轮询机制及算法在此我就不做说明了。
相关链接:
1. Comparing the bandwidth and priority Commands of a QoS Service Policy
2. Understanding the max-reserved-bandwidth Command on ATM PVCs
3. Comparing Traffic Policing and Traffic Shaping for Bandwidth Limiting
4. QoS Frequently Asked Questions