一种基于排队时延的显式拥塞控制方法技术

技术编号:19702841 阅读:22 留言:0更新日期:2018-12-08 14:20
本发明专利技术公开了一种基于排队时延的显式拥塞控制方法,包括:在当前传输轮次,发送端设置数据包的拥塞门限值与上一传输轮次ACK包的拥塞门限值相同,设置数据包的排队时延并发送数据包;交换机转发数据包,并根据数据包的拥塞门限值设置数据包的ECN拥塞标志,以及更新数据包的排队时延;接收端接收数据包,获得数据包的排队时延作为端到端排队时延以由此计算新的拥塞门限值,根据新的拥塞门限值和数据包的ECN拥塞标志对应地设置ACK包,以及将ACK包发送至发送端;发送端接收ACK包,并根据ACK包的ECN拥塞标志进行速率控制和流量调度。本发明专利技术能够动态地为数据中心网络传输方案提供精确的门限值,并为不同优先级的应用提供差异化的门限值。

【技术实现步骤摘要】
一种基于排队时延的显式拥塞控制方法
本专利技术属于数据中心网络传输控制领域,更具体地,涉及一种基于排队时延的显式拥塞控制方法。
技术介绍
拥塞控制是提高网络资源利用率、优化网络传输的重要方法,一些网络传输方案利用精确的拥塞控制机制来优化网络传输质量,并提高网络资源利用率。尤其是在低时延高并发的数据中心网络,精确的拥塞反馈机制,直接决定着网络传输方案的性能。拥塞控制的精度一般取决于反馈信息的准确性和粒度。现有的拥塞控制机制大致可分为两类:隐式的拥塞反馈控制机制和显式的拥塞反馈控制机制(explicitcongestionnotification,ECN)。隐式的拥塞反馈控制机制,如TCP协议利用数据包的超时重传信息,在主机端调节数据流的发送窗口大小,用以调节数据流的发送速率。这类拥塞反馈一般用于对时延要求较低的网络,因为这类隐式的拥塞反馈,无法精确的反馈网络中不同数据流的拥塞情况;只能用相同的拥塞控制方案处理所有不同大小的数据流。显式的拥塞反馈控制机制(explicitcongestionnotification,ECN)通过对比一个固定的显式拥塞通知门限值和当前队列的队列长度,来判断是否要在数据包的TOS(TypeofService)给出ECN拥塞标记。然后,反馈给源端,源端通过数据包的拥塞反馈信息,基于数据中心网络传输方案所制定的具体的拥塞和流量调度算法来实施拥塞控制和流量调度。另外,还有一类基于时间的显式的拥塞反馈控制机制(Time-basedCongestionNotification,TCN),该方案对比一个固定的基于时间的显式拥塞通知门限值和当前数据包的排队时间,来判断是否要在数据包的TOS给出ECN拥塞标记。但是,面对诸多不同的应用需求和高变化的数据中心网络环境,当前的显式的拥塞反馈控制机制面临着两个难题:(1)网络拥塞是由变化的应用和变化的网络状况决定的,精确的拥塞反馈需要基于变化的应用和变化的网络状况,动态地调节显示拥塞通知的门限值;当前的显式的拥塞反馈控制机制仅利用一个静态的标记门限值,因而无法为高度变化和复杂的数据中心网络提供精确的拥塞反馈信息;(2)为了为不同需求的应用提供差异化的服务,现在的数据中心交换机支持多个QoS队列,一些传输方案结合具体的多队列调度算法实施丰富的多队列调度方案,而当前的显示拥塞通知机制是基于单个队列的拥塞门限值,不适用于多队列的调度方案,也无法利用一个相同的门限值,来区分多个不同的优先级队列。
技术实现思路
针对现有技术的缺陷和改进需求,本专利技术提供了一种基于排队时延的显式拥塞控制方法,其目的在于,利用端到端的排队时延,动态地调节显示拥塞通知门限值,以有效地处理应用和网络状况的变化带来的拥塞,并基于不同应用的平均排队时延,为不同优先级的应用提供差异化的显示拥塞通知门限值,以最大化网络资源利用率。为实现上述目的,按照本专利技术的第一方面,提供了一种基于排队时延的显式拥塞控制方法,包括:(1)在当前传输轮次,发送端获得上一传输轮次的ACK包的拥塞门限值,并在数据包IP头部的可选域设置相同的拥塞门限值,同时在数据包IP头部的可选域设置排队时延,并发送数据包;(2)发送端和接收端之间的一个或多个交换机转发数据包,并在数据包经过其中任意一个交换机时,由该交换机根据数据包的拥塞门限值设置数据包的ECN拥塞标志,并更新数据包的排队时延;(3)接收端接收数据包,并执行如下操作:获得数据包的排队时延作为端到端排队时延,根据端到端排队时延计算新的拥塞门限值并将其存于ACK包IP头部的可选域;获得数据包的ECN拥塞标志,并在ACK包中设置同样的ECN拥塞标志;将ACK包发送至发送端;(4)发送端接收ACK包,并获得ACK包的ECN拥塞标志,以在ACK包的ECN拥塞标志显示网络拥塞时,根据数据中心网络传输方案进行速率控制和流量调度,从而完成当前传输轮次的显式拥塞控制;其中,排队时延用于记录数据包当前已经历的时间;拥塞门限值为显式拥塞通知门限值或基于时间的显式拥塞通知门限值,用于判断网络是否拥塞。重复执行上述的步骤(1)~(4),即可持续执行对数据中心网络的显式拥塞控制。进一步地,步骤(1)中,发送端在数据包IP头部的可选域设置排队时延的方法包括:分别获得数据包进入发送端网卡队列的时间t0en和数据包离开发送端网卡队列的时间t0de,由此计算数据包穿过发送端网卡队列的时间为:D0=t0de-t0en;将数据包的排队时延设置为D0。进一步地,步骤(2)中,交换机更新数据包的排队时延的方法包括:分别获得数据包进入该交换机内部队列的时间tien和数据包离开该交换机内部队列的时间tide,由此计算数据包穿过该交换机内部队列的时间为:di=tide-tien;获得数据包到达该交换机时数据包的排队时延Di-1;计算新的排队时延为:Di=Di-1+di,并将数据包的排队时延重新设置为Di,由此完成数据包的排队时延的更新。进一步地,拥塞门限值为显式拥塞通知门限值时,步骤(2)中,交换机根据数据包的拥塞门限值设置数据包的ECN拥塞标志的方法包括:在数据包进入该交换机内部队列时,若当前队列长度大于拥塞门限值,则设置数据包的ECN拥塞标志,以显示网络拥塞;否则,不修改数据包的ECN拥塞标志。更进一步地,拥塞门限值为显式拥塞通知门限值时,步骤(3)中,接收端根据端到端排队时延计算新的门限值,包括如下步骤:(31)根据链路容量的拥塞排队时延门限值T,计算单个队列的平均排队时延为:A(t)=δ·T;(32)根据数据包所属应用的优先级以及平均排队时延Aj(t),对应地计算优先级为j的队列的平均排队时延为:(33)根据端到端排队时延及平均排队时延Aj(t)计算门限值的动态调节因子计算公式如下:(34)获得当前传输轮次数据包的拥塞门限值Kr(t),由此计算新的门限值Kr+1(t),计算公式如下:其中,δ为根据链路带宽设定的因子,j为数据包所属应用的优先级,n为单个交换机端口支持的队列数量,α为依据数据中心网络传输方案设定的可调参数,Dj(t)为端到端排队时延,Ks为标准的静态显式拥塞通知门限值,且0<δ<1,1≤j≤n;r表示端到端传输的轮次,且r=0表示端到端传输的首个轮次。进一步地,拥塞门限值为基于时间的显式拥塞通知门限值时,步骤(2)中,交换机根据数据包的拥塞门限值设置数据包的ECN拥塞标志的方法包括:若数据包穿过该交换机内部队列所需的时间大于拥塞门限值,则设置数据包的ECN拥塞标志,以显示网络拥塞;否则,不修改数据包的ECN拥塞标志。更进一步地,拥塞门限值为基于时间的显式拥塞通知门限值时,步骤(3)中,接收端根据端到端排队时延计算新的门限值,包括如下步骤:(31)根据链路容量的拥塞排队时延门限值T,计算单个队列的平均排队时延为:A(t)=δ·T;(32)根据数据包所属应用的优先级以及平均排队时延Aj(t),对应地计算优先级为j的队列的平均排队时延为:(33)根据端到端排队时延及平均排队时延Aj(t)计算门限值的动态调节因子计算公式如下:(34)获得当前传输轮次数据包的拥塞门限值Tr(t),由此计算新的拥塞门限值Tr+1(t),计算公式如下:其中,δ为根据链路带宽设定的因子,j为数据包所属应用的优先级,n为本文档来自技高网
...

【技术保护点】
1.一种基于排队时延的显式拥塞控制方法,其特征在于,包括:(1)在当前传输轮次,发送端获得上一传输轮次的ACK包的拥塞门限值,并在数据包IP头部的可选域设置相同的拥塞门限值,同时在所述数据包IP头部的可选域设置排队时延,并发送所述数据包;(2)所述发送端和接收端之间的一个或多个交换机转发所述数据包,并在所述数据包经过其中任意一个交换机时,由该交换机根据所述数据包的拥塞门限值设置所述数据包的ECN拥塞标志,并更新所述数据包的排队时延;(3)所述接收端接收所述数据包,并执行如下操作:获得所述数据包的排队时延作为端到端排队时延,根据所述端到端排队时延计算新的拥塞门限值并将其存于ACK包IP头部的可选域;获得所述数据包的ECN拥塞标志,并在所述ACK包中设置同样的ECN拥塞标志;将所述ACK包发送至所述发送端;(4)所述发送端接收所述ACK包,并获得所述ACK包的ECN拥塞标志,以在所述ACK包的ECN拥塞标志显示网络拥塞时,根据数据中心网络传输方案进行速率控制和流量调度,从而完成当前传输轮次的显式拥塞控制;其中,所述排队时延用于记录所述数据包当前已经历的时间;所述拥塞门限值为显式拥塞通知门限值或基于时间的显式拥塞通知门限值,用于判断网络是否拥塞。...

【技术特征摘要】
1.一种基于排队时延的显式拥塞控制方法,其特征在于,包括:(1)在当前传输轮次,发送端获得上一传输轮次的ACK包的拥塞门限值,并在数据包IP头部的可选域设置相同的拥塞门限值,同时在所述数据包IP头部的可选域设置排队时延,并发送所述数据包;(2)所述发送端和接收端之间的一个或多个交换机转发所述数据包,并在所述数据包经过其中任意一个交换机时,由该交换机根据所述数据包的拥塞门限值设置所述数据包的ECN拥塞标志,并更新所述数据包的排队时延;(3)所述接收端接收所述数据包,并执行如下操作:获得所述数据包的排队时延作为端到端排队时延,根据所述端到端排队时延计算新的拥塞门限值并将其存于ACK包IP头部的可选域;获得所述数据包的ECN拥塞标志,并在所述ACK包中设置同样的ECN拥塞标志;将所述ACK包发送至所述发送端;(4)所述发送端接收所述ACK包,并获得所述ACK包的ECN拥塞标志,以在所述ACK包的ECN拥塞标志显示网络拥塞时,根据数据中心网络传输方案进行速率控制和流量调度,从而完成当前传输轮次的显式拥塞控制;其中,所述排队时延用于记录所述数据包当前已经历的时间;所述拥塞门限值为显式拥塞通知门限值或基于时间的显式拥塞通知门限值,用于判断网络是否拥塞。2.如权利要求1所述的基于排队时延的显式拥塞控制方法,其特征在于,所述步骤(1)中,发送端在所述数据包IP头部的可选域设置排队时延的方法包括:分别获得所述数据包进入所述发送端网卡队列的时间t0en和所述数据包离开所述发送端网卡队列的时间t0de,由此计算所述数据包穿过所述发送端网卡队列的时间为:D0=t0de-t0en;将所述数据包的排队时延设置为D0。3.如权利要求1所述的基于排队时延的显式拥塞控制方法,其特征在于,所述步骤(2)中,交换机更新所述数据包的排队时延的方法包括:分别获得所述数据包进入该交换机内部队列的时间tien和所述数据包离开该交换机内部队列的时间tide,由此计算所述数据包穿过该交换机内部队列的时间为:di=tide-tien;获得所述数据包到达该交换机时所述数据包的排队时延Di-1;计算新的排队时延为:Di=Di-1+di,并将所述数据包的排队时延重新设置为Di,由此完成所述数据包的排队时延的更新。4.如权利要求1所述的基于排队时延的显式拥塞控制方法,其特征在于,所述拥塞门限值为显式拥塞通知门限值时,所述步骤(2)中,交换机根据所述数据包的拥塞门限值设置所述数据包的ECN拥塞标志的方法包括:在所述数据包进入该交换机内部队列时,若当前队列长度大于所述拥塞门限值,则设置所述数据包的ECN拥塞标志,以显示网络拥塞;否则,不修改所述数据包的ECN拥塞标志。5.如权利要求1所述的基于排队时延的显示拥塞控制方法,其特征在于,所述拥塞门限值为显式拥塞通知门限值时,所述步骤(3)中,所述接收端根据所述端到端排队时延计算新的门限值,包括如下步骤:(31)根据链路容量的拥塞排队时延门限值T,计算单个队列的平均排队时延为:A(t)=δ·T;(32)根据所述数据包所属应用的优先级以及所述平均排队时延Aj(t),对应地计算优先级为j的队列的平均排队时延为:(33)根据所述端到端排队时延及所述平均排队时延Aj(t)计算所述门限值的动态调节因子计算公式如下:(34)获得当...

【专利技术属性】
技术研发人员:王芳冯丹解为斌
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1