拥塞避免和拥塞管理概述
拥塞避免通过指定报文丢弃策略来解除网络过载,拥塞管理通过指定报文调度次序来确保高优先级业务优先被处理。
传统网络所面临的服务质量问题主要由拥塞引起,拥塞是指由于网络资源不足而造成速率下降、引入额外延时的一种现象。拥塞会造成报文的传输时延、吞吐率低及资源的大量耗费。而在IP分组交换及多业务并存的复杂环境下,拥塞又极为常见。
拥塞避免和拥塞管理就是解决网络拥塞的两种流控方式。
拥塞避免
拥塞避免是指通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞发生或有加剧趋势时主动丢弃报文,通过调整网络的流量来解除网络过载的一种流量控制机制。
设备支持以下拥塞避免功能:
尾部丢弃
传统的丢弃策略采用尾部丢弃的方法,同等对待所有报文,不对报文进行服务等级的区分。在拥塞发生时,队列尾部的数据报文将被丢弃,直到拥塞解除。
这种丢弃策略会引起TCP全局同步现象。所谓TCP全局同步现象,是指当多个队列同时丢弃多个TCP连接报文时,将造成一些TCP连接同时进入拥塞避免和慢启动状态,降低流量以解除拥塞;而后这些TCP连接又会在某个时刻同时出现流量高峰。如此反复,使网络流量忽大忽小,影响链路利用率。
SRED
只有S2700-52P-EI、S2700-52P-PWR-EI、S2710SI、S3700SI、S3700EI支持SRED。
为避免TCP全局同步现象,出现了RED(Random Early Detection)技术。RED通过随机地丢弃数据报文,让多个TCP连接不同时降低发送速度,从而避免了TCP的全局同步现象。使TCP速率及网络流量都趋于稳定。
基于RED技术,设备上实现了SRED(Simple Random Early Detection)。在接口出队列上,SRED根据报文的优先级将其区分为红色、黄色,并分别为红色和黄色的报文设定起始丢包点和丢包率。
根据SRED,设备按照一定的丢弃概率主动丢弃队列中的报文,从而调整从接口输出的流量速率。
拥塞管理
S2700SI不支持拥塞管理。
除S2700-52P-EI和S2700-52P-PWR-EI之外的其它S2700EI不支持WDRR和PQ+WDRR调度。
拥塞管理是指在网络间歇性出现拥塞,时延敏感业务要求得到比其它业务更高质量的QoS服务时,通过调整报文的调度次序来满足时延敏感业务高QoS服务的一种流量控制机制。
PQ调度
优先队列PQ(Priority Queuing)调度,就是严格按照队列优先级的高低顺序进行调度。只有高优先级队列中的报文全部调度完毕后,低优先级队列才有调度机会。
采用PQ调度方式,将时延敏感业务放入高优先级队列,将其它业务放入低优先级队列,从而确保时延敏感业务被优先调度。
PQ调度的缺点是:拥塞发生时,如果高优先级队列中长时间有报文存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”。
WRR调度
WRR(Weighted Round Robin)调度即加权轮询调度。WRR在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。
以接口有8个输出队列为例,WRR为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。举个更具体的例子,一个100M的接口,配置它的WRR算法的加权值为50、50、30、30、10、10、10、10(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5M带宽,避免了采用PQ调度时低优先级队列中的报文可能长时间得不到服务的缺点。
WRR还有一个优点:虽然多个队列的调度是轮流进行的,但对每个队列不是固定地分配服务时间片,也就是说如果某个队列为空,马上换到下一个队列进行调度,这样带宽资源可以得到充分的利用。
WRR调度有两个缺点:
WRR调度按照报文个数进行调度,而用户一般关心的是带宽。当每个队列的平均报文长度相等或已知时,通过配置WRR权重,用户能够获得想要的带宽;但是,当队列的平均报文长度变化时,用户就不能通过配置WRR权重获取想要的带宽。
时延敏感业务(如语音)得不到及时调度。
WDRR调度
加权赤字轮询调度WDRR(Weighted Deficit Round Robin)调度实现原理与WRR调度基本相同。
WDRR调度与WRR调度的区别是:WRR调度是按照报文个数进行调度,而WDRR是按照报文长度进行调度。如果报文长度超过了队列的调度能力,WDRR调度允许出现负权重,以保证长报文也能够得到调度。但下次轮询调度时该队列将不会被调度,直到权重为正,该队列才会参与WDRR调度。
WDRR调度避免了采用PQ调度时低优先级队列中的报文可能长时间得不到服务的缺点,也避免了各队列报文长度不等或变化较大时,WRR调度不能按配置比例分配带宽资源的缺点。
但是,WDRR调度也具有时延敏感业务(如语音)得不到及时调度的缺点。
当所有参与WDRR调度的队列的权重相同时,WDRR调度与DRR调度效果相同。
PQ+WRR/PQ+WDRR调度
PQ调度和WRR/WDRR调度各有优缺点。单纯采用PQ调度时,低优先级队列中的报文长期得不到带宽,而单纯采用WRR/WDRR调度时低延时需求业务得不到优先调度,PQ+WRR/PQ+WDRR调度方式则将前两种调度方式结合起来,不仅能发挥两种调度的优势,而且能克服两种调度各自的缺点。
用户可以借助PQ+WRR/PQ+WDRR调度方式,将重要的协议报文和时延敏感业务报文放入采用PQ调度的队列中,并为该队列分配指定带宽;而将其他报文按各自的优先级放入采用WRR/WDRR调度的各队列中,按照权值对各队列进行循环调度。