概念
拥塞避免是指通过监视网络资源( 如队列或内存缓冲区)的使用情况当拥塞发生时队列在有拥塞加剧的趋势时主动采取丢弃报文以缓解网络过载的一种流控机制。
相比于拥塞管控是在拥塞发生时采用软件队列进行调度拥塞避免则是通过在拥塞发生之前丢弃部分报文避免或减缓拥塞情况的发生。
策略一尾丢弃
缺点
不加区分地丢包敏感的和重要的报文也会被丢弃。
会引发 TCP全局同步现象。所谓TCP全局同步现象就是多个TCP主机在队列中因同时丢弃各自TCP连接的报文而造成多个TCP连接同时进入慢启动状态而导致流量降低之后又会在某个时间同时出现流量高峰如此反复使网络流量起伏波动。
软件队列中由于TCP流量调控而致TCP报文数量减少若队列中也有UDP报文进入则由于UDP报文数量不受丢包机制影响继续以恒定速率进入队列故会占掉过多的空间致TCP因无空间存储而出现“TCP饥饿”。
策略二RED ( Random Early Detection )
为解决上述问题而引入了RED技术RED“提早”并“随机地”丢弃一些低级别的数据报文。这种不同时丢包行为可使多个TCP连接(因流控机制)不会同时降低发送速度这避免了TCP的全局同步现象并使TCP流量都趋于平缓稳定同时也实现了有区别的丢弃报文 RED为每个队列的长度都设定了阈值门限并规定
策略三WREDWeighted Random Early Detection
基于RED技术设备实现了WRED。队列支持基于DSCP或IP优先级进行WRED丢弃。可使丢包行为和权值相关可为每个队列定义基于DSCP或IP优先级的RED丢弃行为。WRED中权值是IPP或DSCP可针对每一种优先级独立设置丢弃报文的上下门限及丢包率即每个权值都定义一个独立的丢弃曲线。但华为默认所有权值对应的曲线的形状都一样。这样丢包行为将变为当系统中相应权值的报文达到指定阀值后开始丢弃该阀值的报文只要其他权值的报文的丢弃阀值没有达到就不丢包。 实现WRED时要注意以下要点
队列技术有2种WRED 也有2种配置方式。一种是基于队列queue profile的 WRED另一种是CBQ下的WRED。
基于queue profile实现拥塞避兔WRED
定义每个权值的丢弃曲线在华为的设备上是通过定义丢弃模板(drop-profile) 来实现的。它是队列各优先级WRED参数的集合将定义好的丢弃模板在队列模板中关联后应用到接口上当该接口拥塞时接口上绑定的丢弃模板实现拥塞避免。华为设备支持基于DSCP优先级的WRED和基于IP优先级的WRED。
实验 背景概述 公司企业网内部有多种业务含语音和数据业务。分别经G1和G0接口连接公司的网关路由器由于数据业务高带宽消耗voice 业务带宽消耗不高但要保证语音质量。如上图所示。由于入口是千兆接口而上游出口是串行接口所以出口拥塞严重。企业希望优先发送语音报文对于视频和数据报文确保优先级越小获得发送的机会和获得的带宽越小且被随机丢弃的概率越大以调整网络流量降低拥塞产生的影响。
配置
drop-profile data#数据使用的丢弃模板wred dscpdscp af31 low-limit 40 high-limit 60 discard-percentage 40dscp af32 low-limit 50 high-limit 70 discard-percentage 30#drop-profile video#视频使用的丢弃模板wred dscpdscp af43 low-limit 60 high-limit 80 discard-percentage 20#qos queue-profile queue-profilelqueue 3 drop-profile data#丢弃模板仅适用于WFQ的WAN链路queue 4 drop-profile video#schedule wfq 3 to 4 pq 5interface Serial0/0/0qos queue-profle queue proflel
基于MQC实现拥塞避兔WRED
丢弃模板是队列各优先级WRED参数的集合。丢弃模板在流行为(traffic-behavior)中绑定后将流行为和对应的流分类在流策略下进行关联并将此流策略应用到接口上可以实现对匹配流分类规则的流量的拥塞避免。设备支持基于DSCP优先级的WRED和基于IP优先级的WRED。
由于丢弃模板只能应用于 AF 队列和 BE 队列 所 以配直基于流的拥塞避免前必须先配直MQC实现拥塞管理。
实验 场景和queue profile实现拥塞避兔时一样具体配置
drop-profile data#为数据流量定义丢弃模板wred dscpdscp af31 low-limit 40 high-limit 60 discard-percentage 40dscp af32 low-limit 50 high-limit 70 discard-percentage 30#drop- profile video#为视频流量定义丢弃模板wred dscpdscp af43 low-limit 60 high-limit 80 discard-percentage 20#traffic classifier dataif-match dscp cs1#traffic classifer videoif-match dscp af41#traffic behavior dataqueue wfqdrop-profile data#traffic behavior videoqueue af bandwidth 2000drop-profile video#traffie policy abcclassifier data behavior dataclassifier video behavior video#interface Serial 0/0/0traffic-policy abc outbound
整理资料来源《HCIE路由交换学习指南》、华为hedex文档