华为S系列交换机主要支持两种拥塞避免功能。
1、尾部丢弃
传统的丢包策略采用尾部丢弃的方法,且是同等的对待所有报文,不区分报文的服务等级。这时在拥塞发生期间,队列尾部的数据报文将被丢弃,直到拥塞解除。但这种丢弃策略会引发TCP全局同步现象。
所谓TCP全局同步现象,是指当多个队列同时丢弃多个TCP连接报文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态,以降低并调整流量;而后这几个TCP连接又会在某个时刻同时出现流量高峰。如此反复,使得网络流量忽大忽小,影响链路利用率。
2、RED/SRED/WRED
在华为S系列交换机中,对RED(Random EarlyDetection,随机早期检测)、SRED(Simple Random Early Detection,简单随机早期检测)和WRED(WeightedRandom Early Detection,权重随机早期检测)三种拥塞避免技术有不同的支持。
RED技术是通过随机地丢弃报文让多个TCP连接不同时降低发送速率,从而避免了TCP的全局同步现象。在RED技术的算法中,为每个队列的长度都设定了阈值的上、下限值,并有以下规定:
(1)当队列的长度小于阈值下限时,不丢弃报文。
(2)当队列的长度大于阈值上限时,丢弃所有新收到的报文。
(3)当队列的长度在阈值上限和阈值下限之间时,开始随机丢弃到来的报文。方法是为每个到来的报文赋予一个随机数,并用该随机数与当前队列的丢弃概率比较,如果大于丢弃概率则报文被丢弃。队列越长,报文被丢弃的概率越高。
SRED技术是在RED技术基础上诞生的。在接口出队列上,SRED会根据报文的优先级(而不是随机选择要丢弃的报文)将其区分为红色、黄色,并分别为红色和黄色的报文设定起始丢包点和丢包率,然后通过按照一定的丢弃概率主动丢弃队列中的红色甚至黄色报文,从而调整从接口输出的流量速率。
WRED技术也是在RED技术基础上改进的,与SRED一样也是基于报文优先级来选择丢弃报文的,但WRED同时还可以为相同颜色的不同报文设置不同的丢弃权重,以实现更加灵活的报文丢弃策略,使高优先级报文被丢弃的概率相对较小。