本文解释了Cato QoS引擎的工作原理,并显著帮助您提高网络带宽利用率和优化网络性能。
在Cato管理应用程序中,使用带宽管理配置文件来配置不同流量类型的QoS优先级。 每个配置文件都包含QoS优先级和流量带宽限制。 您可以将带宽管理配置文件分配给网络规则,并优先处理特定类型的流量。
您可以设置2到255之间的优先级值,其中0和1保留给Cato管理流量,255保留为最低优先级。 如果您配置带宽配置文件优先级为P10,则匹配流量的优先级高于优先级为P20的流量。 您可以为不同的应用程序提供不同的优先级,以实现此类流量所需的性能。 我们建议您为更重要的流量类型分配较低的优先级值。 例如,如果VoIP流量对您的账户而言比远程桌面协议更重要,请为VoIP网络规则分配比远程桌面协议规则更高的优先级。
注意: 如果为您的账户配置远程端口转发(RPF),RPF流量会被自动分配最低优先级255。 有关RPF的详细信息,请参阅账户远程端口转发配置。
Cato Networks使用标准的流量整形技术,通过控制上传和下载平均速率来优化网络性能。
下图展示了QoS引擎如何为不同流量类型分配优先级。
Cato使用漏桶算法来测量带宽和突发性限制。 将漏桶算法实现为流量整形器意味着当入包速率高于出包速率时,例如网络拥堵时,数据包进入队列,一旦队列满,便被丢弃。 当数据包被传输时,它们以先进先出(FIFO)的顺序从队列中移除,新的数据包随后可以进入队列。
漏桶算法测量流量速率并识别存储桶何时满。 它使用这些指标来发送优先流量,使用水充满存储桶的例子:
-
平均速率 - 实际带宽限制。 每个时钟滴答时从存储桶中漏出的水速率。
-
突发容量 - 存储桶大小。 存储桶可以承载的总水量,直到它开始丢弃数据包。
-
突发速率 - 在流量突发期间,允许进入存储桶的水量速率。 突发速率不受限制,任何突发都可以进入存储桶。
如果存储桶未满,则所有数据包都会被发送。 然而,当存储桶满时,数据包会进入队列。 每个优先级有不同的队列,数据包按顺序(FIFO)根据优先级发送。 当所有队列满时,新数据包会被丢弃。
然而,为避免丢弃大量数据包,Cato实现了加权随机早期检测(WRED)。 对于TCP流量,Cato丢弃数据数据包而不是ACK数据包,以触发发送方拥堵算法。 作为响应,发送方减少其发送数据包的速度。
Socket在两次迭代中从优先级队列中发送数据包:限制迭代和尽最大努力迭代。 流量整形器首先根据配置的带宽限制发送数据包,然后尽力发送剩余数据包。 每1ms的滴答中,它都执行这两次迭代:
-
限制迭代 – 在此迭代中,顺序是从高优先级到低优先级评估每个队列。 对于每个优先级队列,Socket根据其配置的QoS限制发送数据包。 在此迭代期间,如果超出链路的总带宽限制,Socket停止发送数据包。
-
尽最大努力迭代 – 如果在限制迭代中传输的数据包没有超出总带宽限制,则在此迭代中,Socket再次评估每个队列。 从高优先级到低优先级,发送剩余的数据包。 目的是在不超过总带宽限制的情况下,利用链路的整个带宽。
本节展示了Cato QoS引擎如何在流量队列中优先处理数据包的示例。
五个具有数据包的优先队列
上图显示了Socket开始迭代前的5个优先级队列中的数据包。
QoS – 限制迭代
该图显示了第一次迭代,即限制迭代。 从P10、P20、P30、P40最后到P255。 每个队列的可用带宽为:从P10队列中两个数据包,从P20一个数据包,从P30一个数据包,从P40两个数据包和从P255队列中一个数据包。
QoS – 尽最大努力迭代
该图显示了第二次迭代,即尽最大努力迭代。 在这一迭代中,从P10发送了三个数据包,从P20、P30、P40和最后的P255各发送一个。 在这种情况下,所有可用带宽都被使用,P255队列中的一个数据包留到下次滴答发送。 此后,新数据包到达队列,算法再次执行两次迭代并发送剩余的数据包。
0 条评论
请登录写评论。