Priority Queuing

     PQ优先级队列,因为PQ在发生拥塞时,只传输优先级高的数据,只有优先级高的数据传输传输完毕后,才会传输次优先级高的数据。PQ中有4个队列,分别是High,Medium。Normal,Low。高优先级的数据能够很快转发,但低优先级的数据转发很慢。

     PQ可以限制每个队列一次性传输的最大数据包个数,当某个队列传输的数据包达到最大数量之后,无论是否还有数据包,都必须传输下一个队列的数据。

Router(config)#access-list 10 permit 10.1.1.1 0.0.0.0

Router(config)#priority-list 1 protocol ip high list 10  //将主机10.1.1.1的数据放在队列High中

Router(config)#priority-list 1 protocol ip normal tcp 23 //将端口号为TCP 23的数据放在队列normal中

Router(config)#priority-list 1 default low   //默认将其他数据放在Low中

Router(config)#priority-list 1 queue-limit 40 30 20 10       //限制每个队列最大数据包个数

Router(config)#interface f0/1

Router(config-if)#priority-group 1

Custom Queuing

       CQ中有1到16共16个队列轮询,每个队列可以限制可传的数据包总数,但是实时数据不能得到保证。当网络发生拥塞时,先传递第一个队列,达到最大数据包限定后,传递第二个队列的数据,以此类推,直至第16个队列传递后,再回到第一个队列。

       CQ还有一个0号队列,是超优先级队列,总是先把0号队列的数据传递完后,再去处理1到16号队列的数据,0号队列一般作为系统队列。

CQ配置

Router(config)#access-list 10 permit 10.1.1.0 0.0.0.255

Router(config)#queue-list 1 protocol ip 1 list 10     //将数据放在1号队列

Router(config)#queue-list 1 default 4      //默认其他数据放在4号队列

Router(config)#queue-list 1 queue 1 byte-count 1600 //限制队列1一次可以传递的最大字节数,默认为1500

Router(config)#queue-list 1 queue 1 limit 100    //限制队列1每次可以传递的数据包的个数

Router(config)#interface f0/1

Router(config)#custom-queue-list 1

Weighted Fair Queuing (WFQ)

WFQ根据数据包的优先级来分配相应的带宽,优先级越高分配的带宽就多。优先级低分配的带宽就少,并且所有的数据包都可以分配到带宽。

WFQ根据IP优先级给数据包分配带宽时,是基于流来分配的。每个流的数据包分配相同的带宽,不同的流分配的带宽不同。

要区分数据包是不是同一个流,需要五个参数一致,即源IP,目的IP,协议,端口号,以及会话的Socket全部相同

WFQ根据每个流的IP优先级,将接口的带宽分配给每个流。方法如下:

假如有3个流,IP优先级为0,3,7 流分配带宽为0+1/13,3+1/13,7+1/13

WFQ配置

Router(config)#interface f0/1

Router(config-if)#fair-queue