Tcp传送控制中的数据包传送率决定方法

文档序号:7622789阅读:125来源:国知局
专利名称:Tcp传送控制中的数据包传送率决定方法
技术领域
本发明是关于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 windowawnd)指的是接收端在来回时间期间,可以连续接收的最大段数。其由接收端的缓冲存储器大小和处理速度等决定,在发送端和接收端的TCP通讯的初期连接时,接收端向发送端发出通知。
但是,在一般的网络环境下,在发送端和接收端之间存在路由器或转发器等多个网络节点,与awnd相比,根据这种中间节点的数据中介处理能力,发送端向接收端能够成功传送的连续段数受到限制。
图1是相互配合使用缓慢起动和拥塞回避算法,决定数据传送率的示意图。
如图1所示,adw(Advertised Window)是40段,根据网络状况,假设最大传送率实际上可以容纳的段数变换为18,20,14。
首先,发送.接收端TCP连接后,发送端使用缓慢起动,缓慢起动将现在正在传送的cwnd(拥塞控制窗口)初始化为1段/来回时间,当发生数据损失或者大于adw时为止,成倍增加cwnd。如果发生数据损失,将现在cwnd的1/2设定为ssthresh(slow start 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期间,也可以传送大量段。当发生小的网络通信量变化时,适当降低传送率,在无需大幅减少传送率前提下,可以进行数据传送。
通过上述的说明内容,相关专业人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。
因此,本发明的技术性范围并不局限于说明书上的内容,必须要根据权利范围来确定其技术性范围。
权利要求
1.一种TCP传送控制中的数据包传送率决定方法,其特征包括以下阶段a)对数据传送率进行初始化,并根据初始值,传送数据的阶段;b)检查是否从接收部接收到应答信号的阶段;c)如果在上述阶段b)中检测出应答信号,则增加数据传送率,并将此前传送率与增加的传送率进行比较的阶段;d)以上述增加的传送率发送数据的阶段;e)检查是否从接收部接收应答信号的阶段;f)如果在上述阶段e)中检测出应答信号,则重复上述阶段d),如果没有检测出应答信号,则从上述阶段a)开始重复的阶段。
2.如权利要求1所述TCP传送控制中的数据包传送率决定方法,其特征在于,上述阶段b)还包括以下阶段如果没有检测出应答信号,则减少数据传送率,并比较此前传送率与减少的传送率的阶段b1)。
3.如权利要求2所述TCP传送控制中的数据包传送率决定方法,其特征在于在上述阶段b1),如果此前传送率与减少的传送率相同,则从上述阶段a)开始重复;如果不同,则以减少的传送率传送数据,并从上述阶段b)开始重复。
4.如权利要求1所述TCP传送控制中的数据包传送率决定方法,其特征在于上述阶段a)的数据传送率的初始值,由不小于上限值和下限值相加值一半的最小整数值来决定。
5.如权利要求4所述TCP传送控制中的数据包传送率决定方法,其特征在于上述上限值与接收部的通知窗口大小相同,而下限值为1。
6.如权利要求1所述TCP传送控制中的数据包传送率决定方法,其特征在于下限值以此前传送率代替,并由不小于上限值和下限值相加值一半的最小整数值来决定上述阶段c)中增加的数据传送率。
7.如权利要求2所述TCP传送控制中的数据包传送率决定方法,其特征在于上限值为以此前传送率代替,并由不小于上限值和下限值相加值一半的最小整数值来决定阶段b1)中减少的数据传送率。
全文摘要
本发明涉及TCP传送控制中的数据包传送率决定方法,其包括以下几个阶段,并以此为特征a)对数据传送率进行初始化,并根据初始值,传送数据的阶段;b)检查是否从接收部接收到应答信号的阶段;c)如果在上述阶段b)中检测出应答信号,增加数据传送率,将此前传送率与增加的传送率进行比较的阶段;d)以上述增加的传送率发送数据的阶段;e)检查是否从接收部接收应答信号的阶段;f)如果在上述阶段e)中检测出应答信号,重复上述阶段d),如果没有检测出应答信号,从上述阶段a)开始反复的阶段。
文档编号H04L29/06GK1929354SQ20051009430
公开日2007年3月14日 申请日期2005年9月9日 优先权日2005年9月9日
发明者千镇荣 申请人:乐金电子(昆山)电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1