详情

基于Qos的拥堵避免加权随机早期检测(WRED)改进研究

申报人:李春阳 申报日期:2021-12-13

基本情况

2022校院级项目管理
基于Qos的拥堵避免加权随机早期检测(WRED)改进研究 学生申报
创新训练项目
工学
计算机类
学生自主选题
一年期
QoS(Quality of Service)是服务质量的简称。由于传统的基于端到端的TCP拥塞控制算法无法利用网络中的传输信息进行更有效的拥塞控制,所以拥塞控制的研究重点转移到网络的核心节点路由器上,特别是对其主动队列管理算法的研究。即拥塞管理是指网络在发生拥塞时,如何进行管理和控制。处理的方法是使用队列技术。为了避免这种情况的发生,队列可以采用加权随机早期检测WRED的报文丢弃策略。

主持教育厅教改课题两项,

全国计算机基础教育委员会教改一项,

国家教指委课题一项,校级教改课题一项,

参研教育厅教改课题两项,校级重点课程建设一项,横向课题两项。主编教材三本。

发明专利一项,实用型专利两项,核心期刊两篇,省级期刊论文十余篇。

指导学生参加学科竞赛获得国家级一等奖一项,三等奖一项,

省级学科竞赛二等奖两项,三等奖三项,指导学生主持完成江苏省大学生创新训练项目两项,

校级大学生创新训练项目两项。指导学生取得计算机软件著作权两项。

指导课题的研究方向
指导课题的实现功能
对课题所使用的技术进行指导
协调课题组成员的工作任务
校级

项目成员

序号 学生 所属学院 专业 年级 项目中的分工 成员类型
李春阳 计算机科学与工程学院(软件学院) 网络工程(本科) 2020 策划案编写,技术实现
马超 法商学院 国际经济与贸易(本科) 2020 技术实现
徐宇翔 计算机科学与工程学院(软件学院) 网络工程(本科) 2020 技术实现
蒋梦茹 文学与新闻传播学院 新闻学(本科) 2020 策划案编写
张墉 计算机科学与工程学院(软件学院) 计算机科学与技术(本科) 2020 技术实现

指导教师

序号 教师姓名 所属学院 是否企业导师 教师类型
蔡志锋 计算机科学与工程学院(软件学院)

立项依据

  随着网络的发展,互联网流量迅速增加,使得网络产生拥堵,延时增大,有时还会造成丢包现象,导致业务质量下降。那么如何在有限的带宽上控制不同业务的流量?这就需要QoS(Quality of Service,服务质量)技术了

通过在服务质量(Qos)上的拥堵避免对加权随机早期检测(WRED算法)进行改进,能够提高带宽分享的公平性、恶意流的隔离能力和带宽的利用率等性能指标。


.WRED

    为避免出现尾丢弃的现象,加权随机预检测(RED)将队列分为两个值,为低阀值和高阀值,并采用如下算法:

* 小于低阀值时,不进行报文丢弃

* 大于高阀值时,完全丢弃报文

* 在低阀值和高阀值之间时,WRED开始进行随机丢弃报文。队列越长,丢弃的概率越高

    WRED原理和RED相同,只是在随机丢弃报文时,加入了优先级来区分丢弃策略

WRED的配置

(1)在接口上配置

    基于DSCP的配置

Router(config-if)# random-detect dscp-based          //启动基于DSCP的WRED
Router(config-if)# random-detect dscp {dscp} { min  max }[mark]
1.
2.
min:低阀值

max:高阀值

mark:最大概率分母(在计算丢弃时使用)

    基于IP优先级的配置

router(config-if)#random-detect
router(config-if)#random-detect precedence {precedence} {min max} {mark}
1.
2.
(2)通过policy-map配置WRED

登录后复制
router(config-pmap-c)#random-detect
router(config-pmap-c)#random-detect precedence {precedence} {min max} {mark}
1.
2.
(3)查看WRED

show queueing random-detect             //查看WERD信息
show queue [int f0/0 ]          //查看队列信息
1.
2.
  LLQ队列不能使用WRED,也不能使用queue-limit 命令

加权随机早期检测算法(Weighted RED,WRED)是由Cisco公司改进的算法,是一种根据优先级处理拥塞的机制,主要应用于TCP占主导地位的IP网络。WRED可以解析每个IP优先级标签,对非IP流量作为优先权0(最低优先权)来对待。它在RED的基础上增加了一个权值来决定丢弃量,为更高级别和更高优先权的数据包提供更低的丢弃速率。根据每个优先权设置不同的最小和最大阀值级别的路由器完成这项功能。如图4所示。WRED算法实际上是对丢弃门限确定方法的改进,从而延迟了丢弃数据包的时机。当实际队列长度高于最大门限时,它将继续丢弃数据包;当队列实际长度低于最小门限时,进程将停止丢弃数据包。因此,WRED的包丢弃概率由队列最小门限、队列最大门限和基准概率三者确定。其中基准概率值是队列长度为最大门限时包的丢弃概率。在平均长度超过最大门限时所有数据包都丢弃。

当发生拥塞时,WRED通过辨别包的来源随机地丢弃包来降低传输率。假设包源使用TCP,它将降低传输率直到所有的包都到达目的地,这样拥挤就被清除了。WRED一般是基于IP优先权有选择性地丢弃包:拥有高IP优先权的包比低优先权的包不易被丢弃。并且能为可控负载的QoS提供整体服务。因此,拥有高优先权的流量比低优先权的流量更可能被传送。

   RED也通过计算队列平均长度来完成拥塞避免。计算公式如下:Lav=Lo(1-1/2N)+(Lc×1/2N)。其中,Lav是队列的平均长度,Lo是旧的平均长度值,Lc为当前队列值,Lc为当前队列值,N是加权系数,这是一个整数并且可以在每个端口上独立设置。

WRED通过检测即将来的拥塞情况和抢先丢弃流量来保持链路的非拥塞状态,WRED有选择性地丢包来减少队尾丢包的机会。通过早一点丢弃某些包而不是等到缓冲器已满才丢包,WRED避免了一次性丢弃大量的包,并使全局同步的机会降到最小。因此,WRED能提供一个统计工具来维护有效的链路利用率。

WRED算法对包头进行标记, 丢包优先级基于该标记, 能支持8个独立的丢包优先级, 所有级别的参数都相等, 优先级别依赖于参数Qmin、Qmax的设置

WRED通过解析包的优先级 (IP_Pre) , 通过优先级的值设置阈值范围, 使用式 (1) 调整对应优先级包的最小阈值Qmin, 而最大阈值Qmax不变。以实现不同优先级具有不同丢弃概率。WRED算法实际上是对丢弃门限确定方法的改进, 延迟了丢弃包的时机。当队列长度超过最大阈值时, 丢弃所有的包。WRED算法实现了更加灵活的服务优先级控制, 根据优先级决定数据包的丢弃, 低优先级的丢包概率比较高, 从而保证高优先级数据包的服务质量。

对于给定的网络通信量, 如果WRED参数设置不合理, WRED的性能就会降低, 严重时和尾丢弃 (Drop_tail) 一样。为了减轻WRED对参数设置的敏感性, 提出了WRED的识别模式WRED_recognition, 此改进是在丢弃函数中引入一个新的参量3Qmax

(极限阈值)
针对WRED对参数值设置的敏感性,提出WRED的识别模式WRED_recognition,在丢弃函数中引入一个新的参量3Qmax(极限阈值)。

WRED—Explicit Congestion Notification

引起网络拥塞的原因就是数据源发送了过量的数据包,而ECN(明确拥塞通告)就是通过发送警告,让数据源知道网络已经发生拥塞,从而可以降低自己发送数据包的速度。但是如果数据源不支持ECN,那么所发送的流量照丢不误。 配置ECN时,必须开启WRED,并且需要配合WFQ或CBWFQ使用。

Router(config)#policy-map CBWFQ

Router(config-pmap)#class class-default

Router(config-pmap-c)#bandwidth percent 75

Router(config-pmap-c)#random-detect

Router(config-pmap-c)#random-detect ecn
 

WRED的识别模式WRED_recognition能够有效的有效地抑制突发流量导致的全部丢包, 改善业务端到端的延迟,并且提高带宽分享的公平性、恶意流的隔离能力和带宽的利用率等性能指标。


定义每个权值的丢弃曲线,在华为的设备上是通过定义丢弃模板(drop-profile) 来实现的。它是队列各优先级WRED参数的集合,将定义好的丢弃模板在队列模板中关联后,应用到接口上,当该接口拥塞时,接口上绑定的丢弃模板实现拥塞避免。华为设备支持基于DSCP优先级的WRED和基于IP优先级的WRED。

配置:
drop-profile data
#数据使用的丢弃模板
wred dscp
dscp af31 low-limit 40 high-limit 60 discard-percentage 40
dscp af32 low-limit 50 high-limit 70 discard-percentage 30
#
drop-profile video
#视频使用的丢弃模板
wred dscp
dscp af43 low-limit 60 high-limit 80 discard-percentage 20
#
qos queue-profile queue-profilel
queue 3 drop-profile data
#丢弃模板仅适用于WFQ的WAN链路
queue 4 drop-profile video
#
schedule wfq 3 to 4 pq 5
interface Serial0/0/0
qos queue-profle queue proflel
由于智能配网通信业务的复杂多样性,要求其通信网提供比传统服务质量(QoS)机制更具有针对性的灵活高效的QoS机制保证。为此,分析智能配网的业务特征,提出在主动队列管理中加权随机早检测(WRED)的改进算法WREDgentle,通过在OPNET上建立集抄应用和配电自动化应用的业务模型,对NoWRED、WRED和WREDgentle 3种算法进行仿真实验。结果证明WREDgentle算法能够明显改善网络时延、吞吐量和链路利用率等性能,保证智能配电通信网的QoS要求。

已具备条件:

WRED的配置

(1)在接口上配置

    基于DSCP的配置

Router(config-if)# random-detect dscp-based          //启动基于DSCP的WRED
Router(config-if)# random-detect dscp {dscp} { min  max }[mark]
1.
2.
min:低阀值

max:高阀值

mark:最大概率分母(在计算丢弃时使用)

    基于IP优先级的配置

router(config-if)#random-detect
router(config-if)#random-detect precedence {precedence} {min max} {mark}
1.
2.
(2)通过policy-map配置WRED

登录后复制
router(config-pmap-c)#random-detect
router(config-pmap-c)#random-detect precedence {precedence} {min max} {mark}
1.
2.
(3)查看WRED

show queueing random-detect             //查看WERD信息
show queue [int f0/0 ]          //查看队列信息
1.
2.
  LLQ队列不能使用WRED,也不能使用queue-limit 命令

缺少条件:
怎样在改进的WRED识别模式WRED_recognition取好阈值,让其在丢弃包时,提高链路的吞吐量(更加稳定,波动范围更小),并且有效改善时延。

经费预算

开支科目 预算经费(元) 主要用途 阶段下达经费计划(元)
前半阶段 后半阶段
预算经费总额 3700.00 2250.00 1450.00
1. 业务费 600.00 200.00 400.00
(1)计算、分析、测试费 400.00 设备的调试 100.00 300.00
(2)能源动力费 0.00 0.00 0.00
(3)会议、差旅费 0.00 0.00 0.00
(4)文献检索费 100.00 知网文献 50.00 50.00
(5)论文出版费 100.00 测试书籍,关于配置文章 50.00 50.00
2. 仪器设备购置费 3000.00 cisco路由器,交换机 2000.00 1000.00
3. 实验装置试制费 0.00 0.00 0.00
4. 材料费 100.00 一些小零件购买 50.00 50.00
结束