一种流长度感知的拥塞控制方法技术

技术编号:38385603 阅读:14 留言:0更新日期:2023-08-05 17:41
本发明专利技术公开了一种流长度感知的拥塞控制方法,发送端主机发送数据包时,在其包头插入流长度信息;交换机收集进入其端口的数据包的流长度信息,并定时发送至中央控制服务器;中央控制服务器统计不同长度流所占比例,得到网络流量的累积分布函数,再基于设定比例α%,计算累积分布函数等于α%时,对应的流大小flow

【技术实现步骤摘要】
一种流长度感知的拥塞控制方法


[0001]本专利技术属于网络拥塞控制
,具体涉及一种流长度感知的拥塞控制方法。

技术介绍

[0002]拥塞控制是一种网络流量管理技术,用于在网络中控制数据流的速率,以避免网络拥塞,进而提高网络性能。拥塞控制通过监测网络的状态和流量负载,并采取措施来避免过多的数据流进入网络,从而保持网络的稳定性与可靠性。
[0003]为了控制拥塞,TCP拥塞控制使用调节拥塞窗口(Congestion window,cwnd)的方法从源节点控制数据包的发送。TCP拥塞控制默认使用的是增加/乘减算法(Additive Increase Multiplicative Decrease, AIMD),该算法基于网络中的丢包事件进行拥塞控制。每当流i发生丢包时,就将其拥塞窗口w
i
减小至w
i
/2。
[0004]在数据中心网络中主要存在两种需求类型的流量,一种是对延迟敏感,需要快速传输的短流;一种是对延迟不敏感,对于传输吞吐量稳定性要求较高的长流。对于这两种不同需求类型的流量采用同一传输控制算法,会导致这两种流量均无法满足各自传输的需求,从而影响网络整体的流完成时间。

技术实现思路

[0005]为此,本专利技术提供一种流长度感知的拥塞控制方法,面对不同流长度的数据包,自动进行适应性拥塞窗口调节,满足其传输需求。
[0006]本专利技术保护一种流长度感知的拥塞控制方法,发送端主机发送数据包时,在其包头插入流长度信息;交换机收集进入其端口的数据包的流长度信息,并定时发送至中央控制服务器;中央控制服务器统计不同长度流所占比例,得到网络流量的累积分布函数,再基于设定比例α%,计算累积分布函数等于α%时,对应的流大小flow
th
,即流量阈值,并定时将流量阈值通告至所有端主机;发送端主机接收到接收端主机返回的ACK信号后,判断当前网络是否拥塞并计算流量阈值与流长度之间的差值D
flow
,调整拥塞窗口:网络拥塞时对于长度小于flow
th
的短流,拥塞窗口的降低幅度与差值D
flow
负相关;网络拥塞时对于长度大于等于flow
th
的长流,拥塞窗口增加一个固定大小的惩罚因子。
[0007]进一步的,对于短流,发送端主机采用一次函数作为D
flow
与拥塞窗口和拥塞窗口降低幅度的关系曲线;或者,发送端主机采用分段函数作为D
flow
和拥塞窗口和拥塞窗口降低幅度的关系曲线。
[0008]进一步的,交换机的每个端口布置有探针,当新数据包进入时,抓取数据包副本,从数据包副本获得包头信息,进而解析出流长度信息。
[0009]进一步的,中央控制服务器流长度信息按照由小到大的顺序排序,得到一有序数组;
对于有序数组中的每个元素,计算小于等于该元素的元素数量占所有元素数量的比例R,以元素为横坐标,比例R为纵坐标,得到累计分布函数CDF(flow
i
),其中flow
i
为流长度,CDF(flow
i
)为流长度小于等于flow
i
的流的数量占比。
[0010]进一步的,端主机均配备有高精度网卡,测量网络中两个端主机之间的实际延时delay,并设定一个目标延时参数delay
tar
,二者之差记为D
delay
;当发送端主机接收到接收端主机返回的ACK信号时,进行一次延时判定:若delay≤delay
tar
,表明此时网络中还有空闲带宽,则加性增加拥塞窗口,即,其中ai为加性因子,cwnd
Lt
为调整前的拥塞窗口,numacked为被ACK确认过的数据包数量;若delay>delay
tar
,表明此时网络发生拥塞,则使用乘性减算法减少拥塞窗口,以每个RTT为周期减少一次,直到delay下降到delay
tar
之下为止,其中RTT为网络端到端的往返传输延迟。
[0011]进一步的,当网络发生拥塞,即delay>delay
tar
时,发送端主机根据D
flow
、D
delay
计算调整后的拥塞窗口,若D
flow
>0,,其中β为乘性减少因子,k为常数;若D
flow
≤0,,其中S
ub
为不损害长流性能的常量。
[0012]本专利技术还保护一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述流长度感知的拥塞控制方法,以及一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行以实现上述流长度感知的拥塞控制方法的各个步骤。
[0013]本专利技术能够针对不同类型的流进行差异化调整,从而满足不同流量的需求,对于延迟敏感,需要快速传输的短流,能够减少流完成时间,对于延迟不敏感,但是传输吞吐量稳定性要求较高的长流,能够满足其稳定的吞吐量需求,进而提升网络整体性能。
附图说明
[0014]图1为实施例1网络拓扑示意图;图2为本专利技术典型适用场景示意图;图3为本专利技术公开的流长度感知的拥塞控制方法流程图;图4为作为D
flow
与拥塞窗口和拥塞窗口降低幅度的关系曲线的一次函数示意图;图5为作为D
flow
与拥塞窗口和拥塞窗口降低幅度的关系曲线的分段函数示意图。
具体实施方式
[0015]下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本专利技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本专利技术的原理和实际应用,并且使本领域的普通技术人员能够理解本专利技术从而设计适于特定用途的带有各种修改的各种实施例。
实施例1
[0016]图1为本实施例提供的网络拓扑示意图,该网络拓扑包括发送端主机若干、接收端主机若干、交换机若干,其中发送端主机用于执行本专利技术提出的拥塞窗口调整方法,并根据调整后的拥塞窗口向接收端主机发送数据;接收端主机用来接收来自于发送端主机的数据。需要说明的是,图1中发送端主机和接收端主机可以在同一交换机组内的,也可以在不同交换机组内的,本专利技术对此不作限定。
[0017]图2为本专利技术的典型适用场景。在一个多租户的云数据中心中,存在着各种各样的应用,这些应用对应着不同的流量,例如短流、中流和长流。这些不同应用有着不同的传输需求,对应着短流的应用希望流量可以优先完成,无丢包并且有较低的流完成时间,对应着中流的应用与对应着短流的应用要求类似,而对应着长流的应用希望流量有着稳定的吞吐量。
[0018]面对类似图2的应用场景,图1所示网络拓扑结构采用本专利技术提出的流长度感知的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流长度感知的拥塞控制方法,其特征在于,发送端主机发送数据包时,在其包头插入流长度信息;交换机收集进入其端口的数据包的流长度信息,并定时发送至中央控制服务器;中央控制服务器统计不同长度流所占比例,得到网络流量的累积分布函数,再基于设定比例α%,计算累积分布函数等于α%时,对应的流大小flow
th
,即流量阈值,并定时将流量阈值通告至所有端主机;发送端主机接收到接收端主机返回的ACK信号后,判断当前网络是否拥塞并计算流量阈值与流长度之间的差值D
flow
,调整拥塞窗口:网络拥塞时对于长度小于flow
th
的短流,拥塞窗口的降低幅度与差值D
flow
负相关;网络拥塞时对于长度大于等于flow
th
的长流,拥塞窗口增加一个固定大小的惩罚因子。2.根据权利要求1所述的流长度感知的拥塞控制方法其特征在于,对于短流,发送端主机采用一次函数作为D
flow
与拥塞窗口和拥塞窗口降低幅度的关系曲线。3.根据权利要求1所述的流长度感知的拥塞控制方法其特征在于,对于短流,发送端主机采用分段函数作为D
flow
和拥塞窗口和拥塞窗口降低幅度的关系曲线。4.根据权利要求1所述的流长度感知的拥塞控制方法其特征在于,交换机的每个端口布置有探针,当新数据包进入时,抓取数据包副本,从数据包副本获得包头信息,进而解析出流长度信息。5.根据权利要求1所述的流长度感知的拥塞控制方法,其特征在于,中央控制服务器流长度信息按照由小到大的顺序排序,得到一有序数组;对于有序数组中的每个元素,计算小于等于该元素的元素数量占所有元素数量的比例R,以元素为横坐标,比例R为纵坐标,得到累计分布函数CDF(flow
i
),其中flow
i
为流长度,CDF(flow
i
)为流长度小于等于flow
...

【专利技术属性】
技术研发人员:张靖赵靓陈光磊黄子轩韩江萍李健周家喜
申请(专利权)人:天地信息网络研究院安徽有限公司
类型:发明
国别省市:

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

1