CN100481758C - Tcp传送控制中的数据包传送率决定方法 - Google Patents
Tcp传送控制中的数据包传送率决定方法 Download PDFInfo
- Publication number
- CN100481758C CN100481758C CNB2005100943054A CN200510094305A CN100481758C CN 100481758 C CN100481758 C CN 100481758C CN B2005100943054 A CNB2005100943054 A CN B2005100943054A CN 200510094305 A CN200510094305 A CN 200510094305A CN 100481758 C CN100481758 C CN 100481758C
- Authority
- CN
- China
- Prior art keywords
- transfer rate
- stage
- data
- answer signal
- tcp
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及TCP传送控制中的数据包传送率决定方法,其包括以下几个阶段,并以此为特征:a)对数据传送率进行初始化,并根据初始值,传送数据的阶段;b)检查是否从接收部接收到应答信号的阶段;c)如果在上述阶段b)中检测出应答信号,增加数据传送率,将此前传送率与增加的传送率进行比较的阶段;d)以上述增加的传送率发送数据的阶段;e)检查是否从接收部接收应答信号的阶段;f)如果在上述阶段e)中检测出应答信号,重复上述阶段d),如果没有检测出应答信号,从上述阶段a)开始反复的阶段。
Description
技术领域
本发明是关于TCP(Transfer Control Protocol:传输控制协议)传送控制中的数据包传送率决定方法方面的发明,更具体地说,是使用数据网络的传送控制协议---TCP的节点传送大量数据时,能够避免网络拥塞,最大限度传送数据的数据传送率决定方法。
背景技术
如果分析传送控制协议通信量,可以看出,大约90%以上的传送为大量数据(Bulk Data)传送,大约只有10%为交互式的(Interactive)数据传送.TCP根据这样的两种数据类型,使用不同的数据传送控制算法。尤其是,占有90%以上数据通信量的大量数据的传送比交互式的数据传送更加重要,当传送这种类型数据时,使用缓慢起动(Slow Start)、拥塞回避(Congestion Avoidance)、滑动窗口(Sliding Windows)等算法。缓慢起动与拥塞回避相互配合使用,这样可以避免当发送端向接收端发送大量数据时的网络拥塞现象,而且,还可以作为求得最大限度传送的数据传送率的方法使用。
这里,需要说明的是,传送数据的最小单位是段(segment),TCP段大小的决定方法在这里不作说明。来回时间(round-trip time)指的是发送端传送一个段数据后,接收端成功地接收时,通知这一情况的应答信号(acknowledgement:‘ACK’)从接收端传送到发送端所需要的时间。通知窗口(advertised window:awnd)指的是接收端在来回时间期间,可以连续接收的最大段数。其由接收端的缓冲存储器大小和处理速度等决定,在发送端和接收端的TCP通讯的初期连接时,接收端向发送端发出通知。
但是,在一般的网络环境下,在发送端和接收端之间存在路由器或转发器等多个网络节点,与awnd相比,根据这种中间节点的数据中介处理能力,发送端向接收端能够成功传送的连续段数受到限制。
图1是相互配合使用缓慢起动和拥塞回避算法,决定数据传送率的示意图。
如图1所示,adw(Advertised Window)是40段,根据网络状况,假设最大传送率实际上可以容纳的段数变换为18,20,14。
首先,发送.接收端TCP连接后,发送端使用缓慢起动,缓慢起动将现在正在传送的cwnd(拥塞控制窗口)初始化为1段/来回时间,当发生数据损失或者大于adw时为止,成倍增加cwnd。如果发生数据损失,将现在cwnd的1/2设定为ssthresh(slows tart threshold size:缓慢起动临界尺度),cwnd再次从1段/来回时间开始,到不大于ssthresh,最大的整数为止,成倍增加,以后,使用拥塞回避算法,计算cwnd。拥塞回避算法从cwnd开始,每次产生一个ACK(应答信号)时,增加计算segsize*segsize/cwnd。以后,如果再次发生数据损失,将ssthresh设定为现在cwnd的1/2,以相同的方式,进行缓慢起动和拥塞回避方式。
通过现有的缓慢起动和拥塞回避算法决定传送率存在如下问题:从传送第一个段数据包开始,直到达到适当的传送率为止,需要反复进行多次。当稍微增加网络通信量,数据包传送失败时,需要重新从第一个段数据包的传送开始,这样,大大降低了数据的传送率。
发明内容
本发明为了解决上述问题,其目的是为使用者提供一种与现有的缓慢起动和拥塞回避算法相比,可以快速达到合理传送率,假设发生小的网络通信量变化时,即使在数据包传送失败的情况下,适当降低传送率,无需大幅减少传送率的情况下传送数据的TCP传送控制中的数据包传送率决定方法。
TCP传送控制中的数据包传送率决定方法包括以下几个阶段,并以此为特征:a)对数据传送率进行初始化,根据初始值,传送数据的阶段;b)检查是否从接收部接收到应答信号的阶段;c)如果在上述阶段b)中检测出应答信号,则增加数据传送率,将此前传送率与增加的传送率进行比较的阶段;d)以上述增加的传送率发送数据的阶段;e)检查是否从接收部接收应答信号的阶段;f)如果在上述阶段e)中检测出应答信号,重复上述阶段d),如果没有检测出应答信号,则从上述阶段a)开始反复的阶段。
本发明之TCP传送控制中的数据包传送率决定方法最好还包括以下阶段,并以此为特征:如果上述阶段b)没有检测出应答信号,则减少数据传送率,并比较此前传送率与减少的传送率的阶段b1)。
本发明之TCP传送控制中的数据包传送率决定方法其特征为:在上述阶段b1),如果此前传送率与减少的传送率相同,从上述阶段a)开始重复,如果不同,以减少的传送率传送数据,并从上述阶段b)开始重复。
本发明之TCP传送控制中的数据包传送率决定方法的特征是:上述阶段a)的数据传送率的初始值最好是以不小于上限值和下限值相加值一半的最小整数值来决定。
本发明之TCP传送控制中的数据包传送率决定方法的特征是:上述上限值最好与接收端许可的窗口的大小相同,下限值为1。
本发明之TCP传送控制中的数据包传送率决定方法的特征是:下限值以此前传送率代替,并由不小于上限值和下限值相加值一半的最小整数值来决定上述阶段c)增加的数据传送率。
本发明之TCP传送控制中的数据包传送率决定方法的特征是:上限值为以此前传送率代替,并由不小于上限值和下限值相加值一半的最小整数值来决定阶段b1)减少的数据传送率。
通过使用本发明TCP之传送控制中的数据包传送率决定方法,当发生小的网络通信量变化时,在数据包传送失败的情况下,适当降低传送率,无需大幅减少传送率的情况下传送数据。
附图说明
图1是通过配合使用缓慢起动和拥塞回避算法,决定数据传送率的示意图。
图2是本发明一个实施例的决定拥塞控制窗口(cwnd)大小的方法的顺序图。
图3是本发明一个实施例的实际数据传送率的变化示意图。
图4是利用现有方法和本发明一个实施例的传送方法传送的段数的示意图。
具体实施方式
下面将参照附图对本发明进行详细说明。
图2是本发明之一个实施例的决定拥塞控制窗口(cwnd)大小的方法的顺序图。
上述实施例概略地显示了根据节点的状况,增加或者减少现在传送率的方法。
下面,参照图2,对这一过程进行详细说明。
阶段S201是对数据传送率进行初始化,并按照初始值,传送数据的过程。
TCP连接以后,如果接收数据的节点将自身的adw通知给发送节点,发送节点将初始上限值定为adw,初始下限值定为1,并利用不小于(1+adw)/2的最小整数求得cwnd后,以这个cwnd传送数据。
阶段S203是检查是否接收应答信号的过程。
通过接收部的应答信号(ACK)判断数据是否成功传送。
阶段S204及阶段S205是减少传送率,并将其与此前传送率进行比较的过程。
如果在上述阶段S203中没有接收到应答信号,则判断没有成功传送,为了减少cwnd,将上限值决定为此前cwnd,并利用不大于(上限值+下限值)/2的最大整数求得cwnd后,判断此前cwnd和新的cwnd是否相同。当这两个cwnd相同时,由于即使再减少cwnd,也发生数据损失,所以,从上述阶段S201开始重新运行。当两个值不同时,重新运行上述阶段S202。
阶段S206及阶段S207是增加传送率,并与此前传送率进行比较的过程。
当成功传送时,为了扩大cwnd,将下限值定为此前cwnd,并利用不小于(上限值+下限值)/2的最小整数求得新的cwnd后,判断此前cwnd与新的cwnd是否相同。如果这两个cwnd不相同,则看作没有增加到足够传送率,并重返阶段S202,增加传送率。
阶段S208是以增加的传送率传送数据的过程。
在上述阶段S207中,当两个cwnd相同时,意味着cwnd增加至足够大小,这样,发生数据损失之前,一直以这个cwnd传送数据。
阶段S209是检查是否接收到应答信号的过程。
当发生数据损失,接收部没有接收到ACK(应答信号)时,从上述阶段S201重新运行。
图3是本发明之T一个实施例的实际数据传送率的变化示意图。
如图3所示,adw是40段/来回时间,粗线代表最大传送率的变化,虚线代表实际cwnd的变化率。以下,为了记述的方便,省略‘段/来回时间’的单位进行记述。
由于来回时间1-2是初始过程,上限值adw为‘40’,下限值是‘1’。因此,cwnd为‘21’。由于上述cwnd超过最大传送率,发送端接收应答信号失败,需要减少cwnd。
来回时间2-3将上限值限定在此前cwnd—‘21’上,下限值也是‘1’。因此,cwnd是‘11’。由于其没有超过最大传送率,在下一个来回时间中增加cwnd。
来回时间3-4中,上限值也是‘21’,而下限值被定义为此前cwnd即‘11’。因此,现在cwnd是‘16’。由于其没有超过最大传送率,也要在下一个来回时间中增加cwnd。
来回时间4-5中,上限值也是‘21’,而将下限值定义为此前cwnd即‘16’。因此,现在cwnd是‘19’。由于其超过最大传送率,要在下一个来回时间中减少cwnd。
来回时间5-6中,下限值也是‘16’,上限值被定义为此前cwnd即‘19’。因此,现在cwnd是‘18’。由于其超过最大传送率,要在下一个来回时间中减少cwnd。
通过反复上述过程,现在cwnd值与最大传送率的值相同,并传送对应大小的数据。
如果在来回时间14-15中最大传送率减少,则检测数据的损失,并重新从初期开始反复。
图4是利用现有方法和本发明一个实施例的传送方法传送的段数的图表。
如图4所示,通过实行本发明,,与在初期cwnd进行缓慢起动,拥塞回避的方法相比,由于从大值开始,即使在查找网络中可以容纳的最大cwnd期间,也可以传送大量段。当发生小的网络通信量变化时,适当降低传送率,在无需大幅减少传送率前提下,可以进行数据传送。
通过上述的说明内容,相关专业人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。
因此,本发明的技术性范围并不局限于说明书上的内容,必须要根据权利范围来确定其技术性范围。
Claims (4)
1、一种TCP传送控制中的数据包传送率决定方法,其特征包括以下阶段:
a)对数据包传送率进行初始化的阶段;
b)以确定的数据包传送率传送数据的阶段;
c)检查是否从接收部接收到应答信号的阶段;
c1)如果没有检测出应答信号,则减少数据传送率,并比较此前传送率与减少后的传送率的阶段;
如果此前传送率与减少后的传送率相同,则从上述阶段a)开始重复;如果不同,则从上述阶段b)开始重复;
d)如果在上述阶段c)中检测出应答信号,则增加数据传送率,并将此前传送率与增加后的传送率进行比较的阶段;
如果此前传送率与增加后的传送率相同,则执行阶段e);如果不同,则返回上述阶段b)开始重复执行;
e)以上述增加的传送率发送数据的阶段;
f)检查是否从接收部接收应答信号的阶段;
g)如果在上述阶段f)中检测出应答信号,则继续执行阶段f),如果没有检测出应答信号,则从上述阶段a)开始重复的阶段。
2、如权利要求1所述TCP传送控制中的数据包传送率决定方法,其特征在于:
上述阶段a)的数据包传送率的初始值,由不小于上限值和下限值相加值一半的最小整数值来决定,发送节点将初始上限值定为接收端在来回时间期间能够连续接收的最大段数,初始下限值定为1。
3、如权利要求2所述TCP传送控制中的数据包传送率决定方法,其特征在于:
下限值以此前传送率代替,并由不小于上限值和下限值相加值一半的最小整数值来决定上述阶段d)中增加后的数据包传送率。
4、如权利要求2所述TCP传送控制中的数据包传送率决定方法,其特征在于:
上限值以此前传送率代替,并由不小于上限值和下限值相加值一半的最小整数值来决定阶段c1)中减少后的数据包传送率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100943054A CN100481758C (zh) | 2005-09-09 | 2005-09-09 | Tcp传送控制中的数据包传送率决定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100943054A CN100481758C (zh) | 2005-09-09 | 2005-09-09 | Tcp传送控制中的数据包传送率决定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1929354A CN1929354A (zh) | 2007-03-14 |
CN100481758C true CN100481758C (zh) | 2009-04-22 |
Family
ID=37859163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100943054A Expired - Fee Related CN100481758C (zh) | 2005-09-09 | 2005-09-09 | Tcp传送控制中的数据包传送率决定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100481758C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103004154B (zh) * | 2011-06-16 | 2015-12-02 | 松下电器产业株式会社 | 发送装置、发送方法、集成电路 |
CN102932224A (zh) * | 2012-11-23 | 2013-02-13 | 哈尔滨工业大学 | 基于can网络的数据通讯系统及基于该系统的数据通讯方法 |
CN107070811B (zh) * | 2017-02-27 | 2021-03-09 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据发送方法、终端及数据处理系统 |
-
2005
- 2005-09-09 CN CNB2005100943054A patent/CN100481758C/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
Binary increase congestion control (BIC) for fast long-distancenetworks. Lisong Xu,Harfoush K,Injong Rhee.INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies,Vol.4 . 2004 |
Binary increase congestion control (BIC) for fast long-distancenetworks. Lisong Xu,Harfoush K,Injong Rhee.INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies,Vol.4 . 2004 * |
对半增长TCP拥塞控制算法研究. 孙路,曾鹏,张洪良.通信与信息技术,第3期. 2005 |
对半增长TCP拥塞控制算法研究. 孙路,曾鹏,张洪良.通信与信息技术,第3期. 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN1929354A (zh) | 2007-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6535482B1 (en) | Congestion notification from router | |
US6625118B1 (en) | Receiver based congestion control | |
US7200111B2 (en) | Method for improving TCP performance over wireless links | |
CN101335603B (zh) | 数据传输方法和装置 | |
CN109639340B (zh) | 一种适用于卫星链路的tcp加速方法 | |
US8649304B2 (en) | Optimized selection of transmission protocol respecting thresholds | |
EP1303970A2 (en) | Tcp flow control | |
WO2005048508A2 (en) | Transparent optimization for transmission control protocol flow control | |
US8565249B2 (en) | Queue management system and methods | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
US6928055B2 (en) | Network interface unit | |
CN100481758C (zh) | Tcp传送控制中的数据包传送率决定方法 | |
El Khoury et al. | Analysis of scalable TCP | |
CN103152278A (zh) | 拥塞确定方法、装置和网络设备 | |
JP4599554B2 (ja) | 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式 | |
KR100859908B1 (ko) | 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법 | |
US20040158765A1 (en) | Device and method for controlling data traffic in a tcp/ip data transmission network | |
Asmaa et al. | EC-elastic an explicit congestion control mechanism for named data networking | |
Cheng et al. | Improving the ramping up behavior of TCP slow start | |
Albuquerque et al. | Effect of packet size on TCP-Reno performance over lossy, congested links | |
Peng et al. | Fast backward congestion notification mechanism for TCP congestion control | |
KR100927226B1 (ko) | 데이터 고속 전송 단말기 및 그 운용방법 및 프로그램 소스를 기록한 컴퓨터 판독가능 기록매체 | |
Hong et al. | Combining bandwidth estimate and explicit congestion notification for improving TCP over heterogeneous networks | |
KR20050103543A (ko) | Tcp 전송제어에서 패킷 전송률 결정 방법 | |
Choi | Loss Classification for Real-Time Streaming Services in Wired/Wireless Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090422 Termination date: 20190909 |