华为VRP QoS技术白皮书(10)
发布时间:2021-06-07
发布时间:2021-06-07
华为VRP QoS技术白皮书
图6 定制队列示意图
如图6所示,定制队列(以后简称CQ)对报文进行分类,将所有报文分成最多至17类,分别属于CQ的17个队列中的一个,然后,按报文的类别将报文送入相应的队列。CQ的17个队列中,0号队列是优先队列,路由器总是先把0号队列中的报文发送完,然后才处理1到16号队列中的报文,所以0号队列一般作为系统队列,把实时性要求高的交互式协议报文放到0号队列。1到16号队列可以按用户的定义分配它们能占用接口带宽的比例,在报文出队的时候,CQ按定义的带宽比例分别从1到16号队列中取一定量的报文在接口上发送出去。
现在我们将CQ和PQ做个比较。PQ赋予较高优先级的报文绝对的优先权,这样虽然可以保证关键业务的优先,但在较高优先级的报文的速度总是大于接口的速度时,将会使较低优先级的报文始终得不到发送的机会。采用CQ,则可以避免这种情况的发生。CQ可以把报文分类,然后按类别将报文分配到CQ的一个队列中去,而对每个队列,又可以规定队列中的报文所占接口带宽的比例,这样,就可以让不同业务的报文获得合理的带宽,从而既保证关键业务能获得较多的带宽,又不至于使非关键业务得不到带宽。
在如图3所示的网络图中,假设局域网1的服务器向局域网2的服务器发送关键业务的数据,局域网1的PC向局域网2的PC发送非关键业务的数据,如果对路由器1的串口1配置CQ进行拥塞管理,同时配置服务器间的数据流的进入队列1,队列1中的报文占有60%的带宽,例如每次出队6000个字节的报文,PC间的数据流进入队列2,队列2 中的报文占有20%的带宽,例如每次出队2000个字节的报文,则CQ对这两种不同业务的报文将做区别对待。报文的发送采用轮询调度的方式,首先让队列1中的报文出队并发送,直到此队列中的报文被发送的字节数不少于6000字节,然后才开始发送队列2中的报文, 直到此队列中的报文被发送的字节数不少于2000字节,然后是其他队列。路由器1的串口1的物理带宽是2M,则局域网1的服务器向局域网2的服务器发送关键业务的数据所能占的带宽将至少为1.2M(2 * 0.6),局域网1的PC向局域网2的PC发送非关键业务的数据所能占的带宽将至少为0.4M(2 * 0.2)。并且,不同于时分复用(Time Division Multiplexing, TDM)的系统,当路由器1的串口1中除了上述两个数据流外没有其他数据要发送时,这两种数据流将按比例分享接口的剩余空闲带宽,即局域网1的服务器向局域网2的服务器发送关键业务的数据所能占的带宽将为1.5M(2 * 0.6 / (0.2 + 0.6) ),局域网1的PC向局域网2的PC发送非关键业务的数据所能占的带宽为0.5M(2 * 0.2 / (0.2 + 0.6))。当局域网1的服务器向局域网2的服务器不发送关键业务的数据时,并且,除了局域网1的PC向局域网2的PC发送非关键业务的数据外,没有其他的数据流,则局域网1的PC向局域网2的PC发送非关键业务的数据所能占的带宽将可以为2M。
加权公平队列(Weighted Fair Queueing, WFQ)
华为VRP QoS技术白皮书
图7 加权公平队列示意图
如图7所示,加权公平队列(以后简称WFQ)对报文按流进行分类(相同源IP地址,目的IP地址,源端口号,目的端口号,协议号,TOS的报文属于同一个流),每一个流被分配到一个队列,该过程称为散列,采用HASH算法来自动完成,尽量将不同的流分入不同的队列。WFQ的队列数目N可以配置。在出队的时候,WFQ按流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。 优先级的数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。
例如:接口中当前有8个流,它们的优先级分别为0、1、2、3、4、5、6、7。则带宽的总配额将是所有(流的优先级 + 1) 之和,即:1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36
每个流所占带宽比例为:(自己的优先级数 + 1)/(所有 (流的优先级 + 1)之和)。即,每个流可得的带宽比例分别为:1/36、2/36、3/36、4/36、5/36、6/36、7 /36、8/36。
又如:当前共4个流,3个流的优先级为4,1个流的优先级为5,则带宽的总配额将是:
(4 + 1) * 3 + (5 + 1) = 21
那么,3个优先级为4的流获得的带宽比例均为5/21,优先级为5的流获得的带宽比例为6/21。
由此可见,WFQ在保证公平的基础上对不同优先级的业务体现权值,而权值依赖于IP报文头中所携带的IP优先级。
基于类的加权公平队列(Class Based Weighted Fair Queueing, CBWFQ)
上一篇:管理信息系统模拟一二