一种基于滑动窗口的带宽分配方法、装置和系统的利记博彩app_2

文档序号:9306651阅读:来源:国知局
实现方式,为本领域普通技术人员所 知的形式。虽然说明书中提供包含特定值的参数的示例,但实际应用中的参数无需设定为 确切等于该特定值,而是在可接受的误差容限或者设计约束内近似等于该特定值。
[0057] 在本发明的实施例中,数据中心网络中拥塞控制机制是基于滑动窗口进行的,考 虑数据流的期限(deadline)和拥塞程度参数,拥塞控制算法应满足下面的特性:
[0058] (1)紧迫特性(PrincipleofImminence):紧迫程度大(即期限小)的数据流要 比紧迫程度低(即期限大)的流获得的带宽多;
[0059] (2)区分特性(PrincipleofDifferentiation):数据流之间带宽区分度要随着 拥塞程度的增加而增加,即随着拥塞程度的增加,紧迫程度不同(即期限不同)的数据流获 得的带宽不同。
[0060] 本发明的实施例提出了基于TCP拥塞控制机制的设计原则,即越拥塞越应根据期 限进行带宽调整的原则。基于这个原则提出LPD(LoadProportionalDifferentiation,负 载线性区分)算法,实现随着拥塞程度的增加,不同期限的数据流仍能够根据期限进行带 宽的区分。
[0061] 以下结合具体实施例对基于拥塞控制机制进行详细说明。
[0062] 实施例一
[0063] 图1是根据本发明实施例一的基于滑动窗口的带宽分配系统的结构示意图。该系 统中包括汇聚设备和工作机,为托管的不同应用程序服务,这些应用程序例如为web搜索、 社交网络、网上银行、网上证券等。从高层应用发过来的请求报文由若干工作机来处理,这 些工作机的回复被汇聚设备汇集并生成结果。在这一过程中,其中一台工作机接收从高层 应用程序产生的请求数据包,经由汇聚设备转发至其他工作机。
[0064] 在数据中心网络这种应用环境中,汇聚设备可以为交换机以及/或者路由器,工 作机典型的为各种服务器。
[0065] 为了便于说明,在图1中标示出发送端工作机A和接收端工作机B。发送端工作 机A和接收端工作机B分别与汇聚设备连接,汇聚设备在发送端工作机A和接收端工作机 B之间转发数据包。
[0066] 首先对现有技术中D2TCP传输协议存在的缺陷进行说明。
[0067] 在实验中,在发送端工作机A和接收端工作机B之间存在4条数据流Fl至F4,数 据量大小分别为8MB、16MB、32MB和40MB,各条数据流的期限分别为200ms、400ms、600ms和 800ms,往返时延周期RTT均为100us。基于现有的D2TCP和DCTCP协议,各条数据流中错过 期限的数据量如表1所示。
[0068] 表 1

[0070] 假设D2TCP协议中调整后的滑动窗口的长度表示为W=WQ*(l_ad/2),其中,W。为 当前滑动窗口的长度,a为拥塞程度参数,d为期限因子。图2a为每条数据流分配的带宽 示意图,可以看出4条数据流分配的带宽基本一致。图2b为数据流Fl和F4的滑动窗口随 时间变化的曲线图,其中Fl和F4的滑动窗口大小基本一致。图2c为数据流Fl和F4的期 限因子随时间变化的曲线图,数据流Fl和F4的期限因子数值相差较大,特别是在第IOOms 至第200ms时间段内相差更多。图2c为数据流Fl和F4的拥塞程度参数a随时间变化的 曲线图,数值比较接近,均处于〇. 4至0. 6之间。
[0071] 由图2a至图2d可以得出,在网络拥塞程度较大的情况下(a=0.4~0.6),期 限小的数据流Fl与期限大的数据流F4滑动窗口大小基本一致,分配的带宽也基本相同,因 此,D2TCP协议在拥塞程度较大时并不能根据期限来分配带宽。
[0072] 实施例二
[0073] 针对D2TCP协议存在的上述缺陷,本发明的实施例提出滑动窗口的调节因子f?应 满足:
[0075] S卩,调节因子f?为期限参数d和拥塞程度参数a的单调递增函数。
[0076] 根据本发明实施例提供的LH)算法,当发生网络拥塞时,根据下式使滑动窗口的 长度减小:
[0077] W=ff〇*(l-f),
[0078] 当未发生网络拥塞时,根据下式使滑动窗口的长度增大:
[0079] W=ff〇+(l-f),
[0080] 在一个优选的示例中,本发明实施例提供的LH)算法中调节因子f表示为f=a/ d〇
[0081] 则有:
[0084] 表达式⑴表明,单纯对于期限而言,调节因子是期限因子的增函数。d越大,说明 流的紧急程度越大。在发生拥塞的时候,导数大于〇表明随着流越来越紧急,窗口减小的较 少。在未发生拥塞的时候,导数大于〇表明随着流越来越紧急,窗口增加的较多。因此,不 管在发生拥塞时还是未发生拥塞时,对于紧急的数据流均可以获得更多的带宽。
[0085] 而表达式⑵则意味着当流的期限因子d不发生变化时,随着拥塞程度的加剧,流 之间的窗口变化的差距会越来越大。即随着拥塞程度的增加,越能根据期限进行带宽的调 整。
[0086] 但是,现有技术中的D2TCP协议并不能达到上述的技术效果。根据上文所述,合理 的设计理念是当拥塞程度加剧的时候,对期限不同的流,带宽之间的差异越来越大。
[0087] 对于D2TCP来说,虽然满足对于期限紧急的流比期限不紧急的流获得更多带宽的
的增加,是一个先为正再为负的值,因此,(1-f)是一个先增再减的函数,故而当拥塞程度不 断增加的时候,对期限不同的流,窗口的变化差异会先变大再变小。
[0088] 因此当拥塞程度不断加重的时候,使用D2TCP的数据流即使有不同的期限因子, 也会得到几乎相同的带宽。即在重度负载的情况下D2TCP是一个失效的策略。
[0089] 在本实施例中,图1中的汇聚设备以交换机为例进行说明。为了简便,以发送端向 接收端发送单向数据流为例,发送端工作机通过交换机向接收端工作机发送数据包。在图1 中,"发送端工作机"为工作机A,"接收端工作机"为工作机B。其中,交换机主要用于统计 拥塞程度,工作机A根据工作机B回传的响应报文判断当前网络的拥塞情况。
[0090] 图3为带宽分配系统中数据包转发的步骤流程图。
[0091] 在工作过程中,交换机统计拥塞程度,根据当前缓冲区的大小为转发数据包赋予 CE(CongestionNotification,拥塞通告)标记(步骤S301),将数据包转发至工作机B。工 作机B接收来自交换机的数据包(步骤S302),当接收到携带CE标记的数据包时,生成包含 ECN标记的响应数据包ACK(步骤S303),并向交换机发送响应数据包ACK(步骤S304)。
[0092] 接下来,交换机向工作机A转发数据包(步骤S305)。工作机A接收携带有ECN标 记的数据包(步骤S306),基于接收的携带有ECN标记的数据包的比例来调整发送数据滑动 窗口的长度(步骤S307),根据为待发送数据包分配的带宽来发送数据包(步骤S308),从 而根据系统中的拥塞程度来数据流的发送速率。
[0093] 实施例三
[0094] 在图3中,交换机的主要作用是统计拥塞程度。在本实施例中,交换机根据当前缓 冲区的大小来判断是否出现拥塞。
[0095] 图4为在上述步骤S301中交换机的处理过程。首先,设定交换机缓冲区的阈值 K(步骤S401)。在转发过程中实时判断当前缓冲区的大小是否大于阈值K(步骤S402),若 否,则表明交换机的负载较轻,则不对数据包进行标记处理,直接转发数据包(步骤S404)。 若当前缓冲区的大小大于阈值K,表明交换机负载较重,即将发生拥塞,则为待转发数据包 赋予CE标记(步骤S403),然后再转发(步骤S404)。
[0096] 在本实施例中,工作机B对交换机转发过来的数据包中的拥塞标记CE进行响应。 图5为工作机B对数据包的处理过程。首先,接收来自交换机的数据包(步骤S501)。然 后,判断接收数据包中是否携带CE标记(步骤S502),若携带有CE标记,则先为响应数据包 ACK赋予ECN标记(步骤S503),再发送响应数据包ACK(步骤S505)。若接收数据包未携带 CE标记,则直接生成响应数据包ACK(步骤S504),并发送响应数据包ACK(步骤S505)。
[0097] 如此以来,工作机B可以对交换机统计的拥塞程度进行响应,工作机A则针对工作 机B的响应数据包ACK调整滑动窗口。
[0098] 图6为工作机A通过调整滑动窗口来分配带宽的处理过程。在图6中,首先,获取 待发送数据包的期限参数d(步骤S601),其中,期限参数d由往返时延周期RTT和数据流的 实际期限D决定,表示为:
[0100] 接收来自交换机的数据包(步骤S602),根据接收的携带有ECN标记的数据包的数 量e得到网络的拥塞程度参数a(步骤S603)。在步骤S603中,在预设时间段内统计接收 的携带有ECN标记的数据包的数量e,以及接收数据包的总数n,根据接收的携带有ECN标 记的数据包的数量e和接收数据包的总数n,对当前的拥塞程度参数a进行更新,表示为:
[0102] 其中,g为滑动平均因子,a。为当前的网络拥塞程度参数,a为更新后的网络拥 塞程度参数。
[0103] 随后,基于期限参数d和拥塞程度参数a构建
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1