CN104869077B - 令牌传输控制方法及系统 - Google Patents

令牌传输控制方法及系统 Download PDF

Info

Publication number
CN104869077B
CN104869077B CN201510178758.9A CN201510178758A CN104869077B CN 104869077 B CN104869077 B CN 104869077B CN 201510178758 A CN201510178758 A CN 201510178758A CN 104869077 B CN104869077 B CN 104869077B
Authority
CN
China
Prior art keywords
token
packet
window size
data
congestion window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510178758.9A
Other languages
English (en)
Other versions
CN104869077A (zh
Inventor
任丰原
程鹏
张娇
舒然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201510178758.9A priority Critical patent/CN104869077B/zh
Publication of CN104869077A publication Critical patent/CN104869077A/zh
Application granted granted Critical
Publication of CN104869077B publication Critical patent/CN104869077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种令牌传输控制方法及系统,涉及通信技术领域,所述方法包括:获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数;根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;将所述第一拥塞窗口大小发送至所述发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。本发明通过计算第一拥塞窗口大小,并将第一拥塞窗口大小发送至发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据,从而保证了高吞吐量,避免吞吐量的浪费,并在每个分配周期均可快速获得第一拥塞窗口大小,实现了快速响应性,进而能够快速地完成优化流。

Description

令牌传输控制方法及系统
技术领域
本发明涉及通信技术领域,特别涉及一种令牌传输控制方法及系统。
背景技术
在现代数据中心中,优化流完成时间的需要越来越迫切。举个例子,相比类似于Mapreduce那样的线下并行计算系统,像Storm这样的流计算系统承载了越来越多的在线数据处理服务,它们更敏感于平均和拖尾的流完成时间,由于这直接决定了它们的服务质量。
然而,数据中心中如短流突发、高并发性、ON/OFF流量模式等特殊的流量特性往往造成流完成时间的增加与拖尾。短流突发很容易引起严重的拥塞和丢包,导致拖尾的流完成时间。很多数据中心传输协议都不能很好地缓解高并发下的拥塞。这是由于即使每个流的拥塞窗口都减小了1个数据包,在高并发流量的情况下拥塞依然会发生。拥塞的发生造成了由于排队延迟增加甚至是TCP超时导致的流完成时间增长。而ON/OFF流量模式会导致流在保持连接的情况下经常间歇性的发送数据,造成带宽的浪费,使得流发送时间变长,拖后了流完成时间。
发明内容
为了提高优化流的效率,缩短流完成时间,本发明提供了一种令牌传输控制方法,所述方法包括:
获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数,其中,所述总令牌数为可被链路传输的数据量,所述等效激活流数为各条流完成全窗口发送的次数之和;
根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;
将所述第一拥塞窗口大小发送至所述发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。
其中,所述根据接收的数据来获取当前分配周期内的等效激活流数,进一步包括:
获取所述当前分配周期内令牌管理包的总数,并将所述令牌管理包的数量作为所述等效激活流数,所述令牌管理包为各数据流每一轮往返时延RTT开始时发送的第一个数据包。
其中,所述令牌管理包中存有第二拥塞窗口大小;
所述将所述第一拥塞窗口大小发送至所述发送端,进一步包括:
将所述令牌管理包中的第二拥塞窗口大小与第一拥塞窗口大小进行比较,将较小的值作为所述令牌管理包中的第二拥塞窗口大小,并将所述令牌管理包传输至下一跳;
接收令牌回复包,并将接收到的令牌回复包发送至所述发送端,所述令牌回复包由接收端在接收到令牌管理包时所反馈,所述令牌回复包中存有所述令牌管理包中的第二拥塞窗口大小。
其中,所述将接收到的令牌回复包发送至所述发送端,进一步包括:
设置一个初值为所述总令牌数的计数器;
判断所述令牌回复包中的第二拥塞窗口大小是否小于数据包长度,若是,则将该令牌回复包放入延迟队列,若否,则将该令牌回复包发送至所述发送端,并将所述计数器的值减去所述第二拥塞窗口大小;
判断所述计数器的值是否大于所述数据包长度,若是,则将所述延迟队列中的令牌回复包取出,将取出的令牌回复包中的第二拥塞窗口大小修改为所述数据包长度,将该令牌回复包发送至所述发送端,并将所述计数器的值减去所述数据包长度。
其中,将各数据流的第一轮RTT和第二轮RTT的拥塞窗口大小均设置为0。
其中,所述分配周期的长度为分界数据流的往返时延RTT的长度,所述分界数据流为选择的一条数据流。
其中,所述获取当前分配周期内的总令牌数,进一步包括:
以最小RTT时间来计算总令牌数,并将计算的总令牌数作为所述当前分配周期内的总令牌数,所述最小RTT时间为所述分界数据流所发送两个令牌管理包的最短时间间隔,所述令牌管理包为每一轮往返时延RTT开始时发送的第一个数据包。
其中,所述分界数据流为随机选择的一条数据流。
本发明还公开了一种令牌传输控制系统,所述系统包括:
数据获取单元,用于获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数,其中,所述总令牌数为可被链路传输的数据量,所述等效激活流数为各条流完成全窗口发送的次数之和;
窗口计算单元,用于根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;
窗口发送单元,用于将所述第一拥塞窗口大小发送至所述发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。
本发明通过计算第一拥塞窗口大小,并将第一拥塞窗口大小发送至发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据,从而保证了高吞吐量,避免吞吐量的浪费,并在每个分配周期均可快速获得第一拥塞窗口大小,实现了快速响应性,进而能够快速地完成优化流。
附图说明
图1是本发明一种实施方式的令牌传输控制方法的流程图;
图2是本发明一种实施例的数据流传输的示意图;
图3是本发明一种实施方式的令牌传输控制系统的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施方式的令牌传输控制方法的流程图;参照图1,所述方法包括:
S101:获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数;
其中,所述总令牌数为可被链路传输的数据量,可通过c×t计算获得,所述c为链路的最大带宽,所述t为当前分配周期的长度。
所述等效激活流数为各条流完成全窗口发送的次数之和,其包含了两层含义:第一,等效激活流数只会统计激活数据流,而将不激活的数据流排除在外。由于在数据中心网络中,一些数据流会间歇性地传输数据,当这些数据流静默的时候,则不应该认为其是网络的占有者,因此不应该将其纳入到激活数据流中;第二,等效激活流数不是激活流数,在数据流获得分配的窗口后,它会每一个往返时延(RTT)向网络注入全窗口的数据,而不是每一个分配周期。因此,在一个分配周期内每条流都可能完成几次全窗口数据的发送,也就是说,等效激活流数应该为各条流完成全窗口发送的次数之和,而不是激活流的数量。
S102:根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;
需要说明的是,本步骤中可根据下式计算第一拥塞窗口大小W[n+1],
其中,Tk[n]为总令牌数,Ne[n]为等效激活流数。
S103:将所述第一拥塞窗口大小发送至所述发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。
本实施方式通过计算第一拥塞窗口大小,并将第一拥塞窗口大小发送至发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据,从而保证了高吞吐量,避免吞吐量的浪费,并在每个分配周期均可快速获得第一拥塞窗口大小,实现了快速响应性,进而能够快速地完成优化流。
需要说明的是,本实施方式的方法其执行主体为数据中心网络中的交换机或路由器等具有类似功能的交互设备。
由于数据中心网络具有高并发性且短流较多,所以等效激活流数会快速剧烈的变化。因此,等效激活流数不能通过滑动平均的方式得到,需要在每个分配周期内都准确测得,但由于等效激活流数为各条流完成全窗口发送的次数之和,而每一个令牌管理包可表示一次全窗口发送,可选地,所述根据接收的数据来获取当前分配周期内的等效激活流数,进一步包括:
获取所述当前分配周期内令牌管理包的总数,并将所述令牌管理包的数量作为所述等效激活流数,所述令牌管理包为各数据流每一轮往返时延RTT开始时发送的第一个数据包。
由于发送端和接收端之间可能需要经过多个交互设备,故而在每个交互设备均会计算一个第一拥塞窗口大小,由于数据流采用最小的第一拥塞窗口大小在经过的所有交互设备时,才能使每条链路都不发生队列的积累,因此,可选地,本实施方式中,可选地,所述令牌管理包中存有第二拥塞窗口大小;
所述将所述第一拥塞窗口大小发送至所述发送端,进一步包括:
将所述令牌管理包(该令牌管理包可能由发送端所发出,也可能由上一个交互设备所发出)中的第二拥塞窗口大小与第一拥塞窗口大小进行比较,将较小的值作为所述令牌管理包中的第二拥塞窗口大小,并将所述令牌管理包传输至下一跳(该下一跳的目的地可能为交互设备,也可能为接收端);
接收令牌回复包,并将接收到的令牌回复包发送至所述发送端,所述令牌回复包由接收端在接收到令牌管理包时所反馈,所述令牌回复包中存有所述令牌管理包中的第二拥塞窗口大小。
下面以一个具体的实例来进行说明,参照图2,其中,交互设备A和交互设备B的分配周期长度相同,每个分配周期内可分配的总令牌数为6,而数据流f1的RTT时延是数据流f2的RTT时延两倍,如图所示,交互设备A在一个分配周期内可以收到一次来自数据流f1的全窗口数据,而可以收到两次来自数据流f2的全窗口数据,因此对于交互设备A而言,交互设备A的等效激活流数为3,因此其所计算的第一拥塞窗口大小为2,交互设备B收到数据包的情况未在图中展现,但由于其只有数据流f1经过且和交互设备A的分配周期长度相同因此,交互设备B的等效激活流数为1,其计算的第一拥塞窗口大小为6,因此对于数据流f1需要选择取值为2的第一拥塞窗口大小来发送数据。
由于窗口调节的低速控制问题会导致队列的积累和拥塞加剧,然而,由于数据中心高并发的特征,这种情况的发生又会十分常见,为了避免该问题的出现,可选地,所述将接收到的令牌回复包发送至所述发送端,进一步包括:
设置一个初值为所述总令牌数的计数器;
判断所述令牌回复包中的第二拥塞窗口大小是否小于数据包长度(本实施方式中取1500字节,当然,也可设置为其他长度,本实施方式对此不加以限制),若是,则将该令牌回复包放入延迟队列,若否,则将该令牌回复包发送至所述发送端,并将所述计数器的值减去所述第二拥塞窗口大小;
判断所述计数器的值是否大于所述数据包长度,若是,则将所述延迟队列中的令牌回复包取出,将取出的令牌回复包中的第二拥塞窗口大小修改为所述数据包长度,将该令牌回复包发送至所述发送端,并将所述计数器的值减去所述数据包长度。
由于数据流在最开始进行数据传输时,其发送的第一轮RTT内发送的数据包不是由交互设备所分配的,因此,第一轮RTT内发送的数据包会造成队列的积累;同样的,第二轮RTT内发送的数据包也会造成队列的积累,而由于数据中心网络的高并发性,这种队列积累会随着并发流数的增多而增大,因此,这种队列的积累是需要规避的,为减少由于数据流的加入造成的队列累积,可选地,将各数据流的第一轮RTT和第二轮RTT的拥塞窗口大小均设置为0,即各数据流的第一轮RTT和第二轮RTT内发送的数据包均为无数据的数据包。
为了实现简单,不再需要用时钟触发的方式来维护分配周期,由于同一条流相邻的两个令牌管理包之间的时间间隔即为该数据流的RTT,因此,交互设备仅需要记录交界数据流的标识信息,将分界数据流的令牌管理包作为分配周期的分界,所述分配周期的长度为分界数据流的往返时延RTT的长度,所述分界数据流为选择的一条数据流(为便于选择分界数据流,可采用随机选择的方式)。
由于在设置总令牌数时,是以无队列情况为前提的,但当队列产生时,分配周期长度是分界流的RTT,其中包含了排队延迟,所以随着队列延迟的增加,等效激活流数的测量结果是不变的,但总令牌数会随着RTT时延的增加而增加,从而造成了队列的积累,并且这种队列的积累是不能消除的,由于交互设备无法探测到其它交互设备是否存在队列,因此,本实施方式中,将最小RTT时间代替分配周期长度来进行总令牌数的计算,可选地,所述获取当前分配周期内的总令牌数,进一步包括:
以最小RTT时间来计算总令牌数,并将计算的总令牌数作为所述当前分配周期内的总令牌数,所述最小RTT时间为所述分界数据流所发送两个令牌管理包的最短时间间隔,所述令牌管理包为每一轮往返时延RTT开始时发送的第一个数据包。
本发明还公开了一种令牌传输控制系统,参照图3,所述系统包括:
数据获取单元301,用于获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数,其中,所述总令牌数为可被链路传输的数据量,所述等效激活流数为各条流完成全窗口发送的次数之和;
窗口计算单元302,用于根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;
窗口发送单元303,用于将所述第一拥塞窗口大小发送至所述发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (9)

1.一种基于令牌的传输控制方法,其特征在于,所述方法包括:
获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数,其中,所述总令牌数为可被链路传输的数据量,所述等效激活流数为各条流完成全窗口发送的次数之和;
根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;其中,第一拥塞窗口大小W[n+1]的计算公式为:其中,Tk[n]为总令牌数,Ne[n]为等效激活流数;
将所述第一拥塞窗口大小发送至发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。
2.如权利要求1所述的方法,其特征在于,所述根据接收的数据来获取当前分配周期内的等效激活流数,进一步包括:
获取所述当前分配周期内令牌管理包的总数,并将所述令牌管理包的数量作为所述等效激活流数,所述令牌管理包为各数据流每一轮往返时延RTT开始时发送的第一个数据包。
3.如权利要求2所述的方法,其特征在于,所述令牌管理包中存有第二拥塞窗口大小;
所述将所述第一拥塞窗口大小发送至所述发送端,进一步包括:
将所述令牌管理包中的第二拥塞窗口大小与第一拥塞窗口大小进行比较,将较小的值作为所述令牌管理包中的第二拥塞窗口大小,并将所述令牌管理包传输至下一跳;
接收令牌回复包,并将接收到的令牌回复包发送至所述发送端,所述令牌回复包由接收端在接收到令牌管理包时所反馈,所述令牌回复包中存有所述令牌管理包中的第二拥塞窗口大小。
4.如权利要求3所述的方法,其特征在于,所述将接收到的令牌回复包发送至所述发送端,进一步包括:
设置一个初值为所述总令牌数的计数器;
判断所述令牌回复包中的第二拥塞窗口大小是否小于数据包长度,若是,则将该令牌回复包放入延迟队列,若否,则将该令牌回复包发送至所述发送端,并将所述计数器的值减去所述第二拥塞窗口大小;
判断所述计数器的值是否大于所述数据包长度,若是,则将所述延迟队列中的令牌回复包取出,将取出的令牌回复包中的第二拥塞窗口大小修改为所述数据包长度,将该令牌回复包发送至所述发送端,并将所述计数器的值减去所述数据包长度。
5.如权利要求2所述的方法,其特征在于,将各数据流的第一轮RTT和第二轮RTT的拥塞窗口大小均设置为0。
6.如权利要求1所述的方法,其特征在于,所述分配周期的长度为分界数据流的往返时延RTT的长度,所述分界数据流为选择的一条数据流。
7.如权利要求6所述的方法,其特征在于,所述获取当前分配周期内的总令牌数,进一步包括:
以最小RTT时间来计算总令牌数,并将计算的总令牌数作为所述当前分配周期内的总令牌数,所述最小RTT时间为所述分界数据流所发送两个令牌管理包的最短时间间隔,所述令牌管理包为每一轮往返时延RTT开始时发送的第一个数据包。
8.如权利要求6所述的方法,其特征在于,所述分界数据流为随机选择的一条数据流。
9.一种基于令牌的传输控制系统,其特征在于,所述系统包括:
数据获取单元,用于获取当前分配周期内的总令牌数,并根据接收的数据来获取当前分配周期内的等效激活流数,其中,所述总令牌数为可被链路传输的数据量,所述等效激活流数为各条流完成全窗口发送的次数之和;
窗口计算单元,用于根据所述总令牌数和等效激活流数计算第一拥塞窗口大小;其中,第一拥塞窗口大小W[n+1]的计算公式为:其中,Tk[n]为总令牌数,Ne[n]为等效激活流数;
窗口发送单元,用于将所述第一拥塞窗口大小发送至发送端,以使得所述发送端在下一分配周期内按照所述第一拥塞窗口大小来发送数据。
CN201510178758.9A 2015-04-15 2015-04-15 令牌传输控制方法及系统 Active CN104869077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510178758.9A CN104869077B (zh) 2015-04-15 2015-04-15 令牌传输控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510178758.9A CN104869077B (zh) 2015-04-15 2015-04-15 令牌传输控制方法及系统

Publications (2)

Publication Number Publication Date
CN104869077A CN104869077A (zh) 2015-08-26
CN104869077B true CN104869077B (zh) 2018-06-15

Family

ID=53914608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510178758.9A Active CN104869077B (zh) 2015-04-15 2015-04-15 令牌传输控制方法及系统

Country Status (1)

Country Link
CN (1) CN104869077B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871738B (zh) * 2016-05-04 2019-03-19 华为技术有限公司 一种大数据业务中基于流调度的链路拥塞确定方法及装置
CN109729119A (zh) * 2017-10-30 2019-05-07 中兴通讯股份有限公司 一种协调数据同步数据的方法、装置、设备及存储介质
CN110830381B (zh) * 2018-08-10 2021-10-26 华为技术有限公司 拥塞控制方法及相关设备
CN109245981B (zh) * 2018-10-25 2021-06-22 浙江中控技术股份有限公司 一种现场总线通讯的调度方法及系统
CN115118671B (zh) * 2022-05-30 2024-01-26 中国信息通信研究院 用于令牌环调度的方法及装置、电子设备、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052043A (zh) * 2007-04-30 2007-10-10 北京策度集成电路设计有限公司 一种基于发送窗口与往返时间的tcp发送算法
CN102946361A (zh) * 2012-10-16 2013-02-27 清华大学 基于交换机缓存分配的流量控制方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0701668D0 (en) * 2007-01-29 2007-03-07 Tang Bob Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgenTCP nextgenFTP nextgenUDPs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052043A (zh) * 2007-04-30 2007-10-10 北京策度集成电路设计有限公司 一种基于发送窗口与往返时间的tcp发送算法
CN102946361A (zh) * 2012-10-16 2013-02-27 清华大学 基于交换机缓存分配的流量控制方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sliding Mode Congestion Control for Data Center Ethernet Networks;Jiang Wanchun等;《2012 Proceedings IEEE INFOCOM》;20121231;第1404-1412页 *

Also Published As

Publication number Publication date
CN104869077A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN104869077B (zh) 令牌传输控制方法及系统
CN100382538C (zh) 频带监视方法及具有频带监视功能的包传送装置
US7948882B2 (en) Dual leaky bucket flow control method and system
KR102369305B1 (ko) 클라이언트 전송 방법 및 디바이스
CN102811176B (zh) 一种数据流量控制方法和装置
WO2012145841A1 (en) Hierarchical profiled scheduling and shaping
CN109067665A (zh) 拥塞控制方法和网络设备
CN104378308A (zh) 报文发送速率检测方法及装置
CN104052676B (zh) 一种发送通路装置及发送通路的数据处理方法
JP2015511468A5 (zh)
CN104718734A (zh) 网络中的拥塞通知
JP5737039B2 (ja) パケット伝送装置、メモリ制御回路及びパケット伝送方法
KR101581515B1 (ko) 송신 장치, 수신 장치, 통신 장치, 통신 시스템 및 송신 방법
CN113992594A (zh) 流量控制方法、装置、电子设备和计算机可读存储介质
EP3582455B1 (en) Method and apparatus for multiple subflows network transmission
EP3560152B1 (en) Determining the bandwidth of a communication link
CN112714081B (zh) 一种数据处理方法及其装置
JP2013153352A (ja) 中継装置、受信装置、送信システム、通信システムおよび中継方法
CN111131061B (zh) 一种数据传输方法及网络设备
CN107733812A (zh) 一种数据包调度方法、装置及设备
CN102739531A (zh) 流量整形方法和流量整形设备
CN111194056A (zh) 数据分组的封装
CN114024913B (zh) 一种网络性能优化方法、装置、设备以及存储介质
CN114205867A (zh) 一种数据包传输方法、装置、终端设备和存储介质
JP2004289780A5 (zh)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant