CN101494531B - 调整滑动窗口的方法和装置 - Google Patents
调整滑动窗口的方法和装置 Download PDFInfo
- Publication number
- CN101494531B CN101494531B CN200910117950.1A CN200910117950A CN101494531B CN 101494531 B CN101494531 B CN 101494531B CN 200910117950 A CN200910117950 A CN 200910117950A CN 101494531 B CN101494531 B CN 101494531B
- Authority
- CN
- China
- Prior art keywords
- invalid packet
- sliding window
- message
- response message
- size
- 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
本发明实施例公开了一种调整滑动窗口的方法和装置,涉及通信领域;能够减少发送方重传的数据量。所述调整滑动窗口的方法,包括:发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据;确定所述无效报文是否接收成功;根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。本发明实施例提供的技术方案可应用于传输报文。
Description
技术领域
本发明涉及通信领域,尤其涉及一种调整滑动窗口的方法和装置。
背景技术
在网络中进行数据传输时,发送方发送长度不大于当前滑动窗口大小的有效报文,其中所述有效报文的个数可以为一个或一个以上。在路由设备转发所述有效报文时,如果缓存空间不足,则随机删除所述有效报文,以释放路由设备的缓存空间,并将剩余的有效报文发送出去。当发送方发现所述有效报文接收失败后,则重传所述接收失败的有效报文,并确定当前网络状态较差,减小滑动窗口的大小。
在实现上述过程中,现有技术至少存在如下问题:由于路由设备随机删除有效报文,增加了有效报文的丢失个数,使发送方重传丢失报文的数据量增加,降低了传输带宽的传输效率。
发明内容
本发明的实施例提供一种调整滑动窗口的方法和装置,能够减少路由设备删除有效报文的个数。
为达到上述目的,本发明的实施例采用如下技术方案:
一种调整滑动窗口的方法,包括:
发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据;
确定所述无效报文是否接收成功;
根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。
一种网络设备,包括:
发送模块,用于发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据;
确定模块,用于确定所述无效报文是否接收成功;
调整模块,用于根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。
本发明实施例提供的调整滑动窗口的方法和装置,在无效报文中携带链路检测信息,指示路由设备可丢弃所述无效报文,减少路由设备删除有效报文的数据量,从而减少发送方重传有效报文的数据量,提高传输带宽的传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的调整滑动窗口的方法的流程图;
图2为本发明实施例的应用场景;
图3为本发明另一实施例提供的调整滑动窗口的方法的流程图;
图4为本发明实施例提供的调整滑动窗口的装置的结构示意图;
图5为本发明另一实施例提供的调整滑动窗口的装置的结构示意图;
图6为图4中调整模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合具体实施例和附图对本发明作进一步解释。
如图1所示,本发明实施例提供了一种调整滑动窗口的方法,包括:
S101、发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据;
所述报文还包括用于传输数据的报文,即有效报文,其中所述无效报文中的链路检测信息用于指示路由设备在网络传输状态较差时,删除所述无效报文。
S102、确定所述无效报文是否接收成功;
在固定时间间隔内,接收来自对端的应答消息;确定接收的应答消息中是否有无效报文的应答消息;如果有无效报文的应答消息,则确定所述无效报文接收成功,否则,确定所述无效报文接收失败。
S103、根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。
本发明实施例提供的调整滑动窗口的方法,在无效报文中携带链路检测信息,指示路由设备可丢弃所述无效报文,减少路由设备删除有效报文的数据量,从而减少发送方重传有效报文的数据量,提高传输带宽的传输效率。
为了便于本领域技术人员更清楚的了解本发明提供的技术方案,下面结合具体应用场景对本发明提供的方法进行详细介绍:
首先,以传输TCP(Transmission Control Protocol,传输控制协议)报文的应用场景为例作简单介绍:
如图2所示,发送方发送长度不大于当前滑动窗口大小的有效报文至路由设备,其中所述有效报文的个数可以为一个或一个以上。所述路由设备向接收方转发所述有效报文。当所述接收方接收到所述有效报文时,向发送方反馈所述有效报文的应答消息。如果所述发送方接收到所述有效报文中每个报文的应答消息,则增大下一个滑动窗口的大小;否则,减小下一个滑动窗口的大小。
下面结合本发明实施例提供的应用场景,对本发明实施例提供的调整滑动窗口的方法作详细介绍,如图3所示:
S301、发送方发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文;
具体的,通过获取滑动窗口的大小,确定当前可发送的最大数据量。根据确定的最大数据量,确定等待发送的有效报文和无效报文,其中所述有效报文为用于传输数据的报文,即接收方需要的报文;所述无效报文为用于检测链路传输状态的报文,即接收方不需要的报文。
为合理利用带宽资源传输有效报文,减少无效报文的数据量,需根据滑动窗口的长度确定添加无效报文的个数。例如,滑动窗口的长度小于或等于64Kbyte时,添加无效报文的个数为一个;滑动窗口的长度介于64Kbyte和128Kbyte时,添加的无效报文的个数为两个。为进一步减少报文中无效报文的数据量,设置所述无效报文的大小为传输网络中定义的最小报文,例如,以太网络中定义最小报文的大小为64B,可设置无效报文的大小为64B。当传输一个长度为64Kbyte的报文时,所述报文中包括一个大小为64B的无效报文。
在确定待发送的报文后,在所述无效报文中未使用的字段添加链路检测信息。所述未使用的字段可以为保留字段或扩展字段。按照确定待发送报文的顺序,为每个报文设置顺序相邻的序列号,并记录每个报文的序列号。
例如,以所述链路信息为链路检测标志位为例进行说明。在保留字段添加链路检测标志位(DRP)后的TCP报文格式可参见下表:
表1添加链路检测标志位后的TCP报文格式
如上表所示,从保留字段中选取长度为1比特的字段,添加链路检测标志位DRP,用于指示路由设备在网络拥塞时,丢弃所述携带链路检测标识位的TCP报文。在本发明实施例中,将添加链路检测标志位后的TCP报文称为无效报文。
需要说明的是,在实际应用时,可在TCP报文的保留字段添加至少一个链路检测标志位。
可选的,在发送方发送所述报文之前,缓存所述报文中的有效报文。对于所述报文中的无效报文,因未携带有效数据,所以无需缓存所述无效报文,但需要记录所述无效报文的序列号,用于根据所述无效报文的序列号,判断接收的应答消息是否为所述无效报文的应答消息。
S302、路由设备转发所述长度不大于当前滑动窗口大小的报文;
具体的,在缓存所述报文过程中,根据当前缓存空间的剩余空间,判断是否转发所述报文的全部数据。如果当前剩余的缓存空间不足时,即剩余的缓存空间小于阈值时,则通过链路检测信息识别并删除所述报文中的无效报文,保留所述报文中的有效报文,从而达到释放缓存空间的目的,再转发删除后剩余的有效报文至接收方。否则,转发所述报文的全部数据。其中所述剩余缓存空间的阈值可以为一段时间内剩余缓存空间的平均值,还可以根据实际情况进行配置。
可选的,在删除所述无效报文过程中,可实时判断释放后的剩余缓存空间是否小于阈值,当释放后的剩余存储空间足够时,则停止对无效报文的删除。
在网络拥塞时,路由设备有选择性的删除报文中的无效报文,减少了有效报文的丢失,克服了现有技术中随机删除有效报文,造成有效报文大量丢失的问题,保证有效报文的传输,提高带宽的传输效率。
S303、接收方接收所述路由设备转发的报文;
具体的,根据接收报文中每个报文的序列号,向发送方反馈携带序列号的应答消息。
需要说明的是,接收方在重组接收报文时,需从接收到的报文中删除无效报文,再将接收的有效报文进行重组。具体的,根据接收的报文是否携带链路检测信息,确定接收的报文是否为有效报文,如果是有效报文,则参与接收方的报文重组,否则,不参与报文重组。对于确定为有效报文的接收报文,按照序列号的顺序,对接收报文中的有效报文进行重组。而确定为无效报文的接收报文,则丢弃所述携带链路检测标志位的无效报文。
S304、发送方根据所述应答消息,调整下一个滑动窗口的大小。
具体的,如果所述携带链路检测信息的无效报文发送成功,则增大下一个滑动窗口的大小;否则,减小下一个滑动窗口的大小。其中判断无效报文是否发送成功的过程如下:获取本地记录的无效报文的序列号;如果应答消息中携带无效报文的序列号,则确定所述携带链路检测信息的无效报文接收成功;否则,确定所述携带链路检测信息的无效报文接收失败。
本发明实施例以无效报文的应答消息调整滑动窗口的大小,与现有技术中根据已发送的全部报文的应答消息作调整相比,减少了检测应答消息的个数,缩短了判断时间,从而加快了调整滑动窗口的速度,提高了发送方的传输效率。
需要说明的是,当所述无效报文发送失败时,因所述无效报文携带的数据并不是接收方需要的数据,所以发送方不重发所述携带链路检测信息的无效报文,从而减少接收方处理重传报文的个数,提高接收方重组报文的效率。
本发明实施例提供的调整滑动窗口的方法,在无效报文中携带链路检测信息,指示路由设备可丢弃所述无效报文,减少路由设备删除有效报文的数据量,从而减少发送方重传有效报文的数据量,提高传输带宽的传输效率。
如图4所示,本发明实施例提供的一种网络设备,包括:
发送模块401,用于发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据;
确定模块402,用于确定所述无效报文是否接收成功;
调整模块403,用于根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。
进一步的,所述发送模块401具体用于:从所述无效报文中,选取未使用的字段,并在选取的未使用字段添加链路检测标志位,并将添加标识位后的无效报文发送出去。
如图5所示,所述确定模块402可以进一步包括:
接收子模块4021,用于在固定时间间隔内,接收来自对端的应答消息;
确定子模块4022,用于确定所述接收子模块4021接收的应答消息中是否有无效报文的应答消息;如果有无效报文的应答消息,则确定所述无效报文接收成功,否则,确定所述无效报文接收失败。
其中,如图6所示,所述确定子模块4022可以进一步包括:
获取单元40221,用于获取所述无效报文的序列号。
确定单元40222,用于根据所述无效报文的序列号,确定接收的应答消息中是否包括所述无效报文的序列号;如果接收的应答消息中包括无效报文的序列号,则确定接收的应答消息中有无效报文的应答消息;否则,确定所述无效报文接收失败。
可选的,所述发送模块401还用于所述确定子模块4022确定所述无效报文接收失败时,不重发所述无效报文。
本发明实施例中的网络设备可以为主机或服务器等。
本发明实施例提供的网络设备,在无效报文中携带链路检测信息,指示路由设备可丢弃所述无效报文,减少路由设备删除有效报文的数据量,从而减少发送方重传有效报文的数据量,提高传输带宽的传输效率。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种调整滑动窗口的方法,其特征在于,包括:
发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据,在无效报文中携带链路检测信息,指示路由设备可丢弃所述无效报文;
确定所述无效报文是否接收成功;
根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。
2.根据权利要求1所述的调整滑动窗口的方法,其特征在于,所述链路检测信息为链路检测标志位时,发送长度不大于当前滑动窗口大小的报文,包括:
从所述无效报文中选取未使用的字段,并在选取的未使用字段添加链路检测标志位;
将添加链路检测标识位后的无效报文发送出去。
3.根据权利要求1所述的调整滑动窗口的方法,其特征在于,所述确定所述无效报文是否接收成功,包括:
在固定时间间隔内,接收来自对端的应答消息;
确定接收的应答消息中是否有无效报文的应答消息;如果有无效报文的应答消息,则确定所述无效报文接收成功,否则,确定所述无效报文接收失败。
4.根据权利要求3所述的调整滑动窗口的方法,其特征在于,所述确定接收的应答消息中是否有无效报文的应答消息,包括:
获取所述无效报文的序列号;
根据所述无效报文的序列号,确定接收的应答消息中是否包括所述无效报文的序列号;如果接收的应答消息中包括无效报文的序列号,则确定接收的应答消息中有无效报文的应答消息;否则,确定所述无效报文接收失败。
5.根据权利要求4所述的调整滑动窗口的方法,其特征在于,当确定所述无效报文接收失败后,还包括:
不重发所述携带链路检测信息的无效报文。
6.根据权利要求1所述的调整滑动窗口的方法,其特征在于,所述根据所述无效报文的接收结果,调整下一个滑动窗口的大小,包括:
如果所述无效报文接收成功,则增大下一个滑动窗口的大小;否则,减小下一个滑动窗口的大小。
7.一种网络设备,其特征在于,包括:
发送模块,用于发送长度不大于当前滑动窗口大小的报文,所述报文包括携带链路检测信息的无效报文,所述无效报文未携带对端需要的数据,在无效报文中携带链路检测信息,指示路由设备可丢弃所述无效报文;
确定模块,用于确定所述无效报文是否接收成功;
调整模块,用于根据所述无效报文的接收结果,调整下一个滑动窗口的大小,以使得所述下一个滑动窗口的大小与传输链路状态相符。
8.根据权利要求7所述的网络设备,其特征在于,所述确定模块,包括:
接收子模块,用于在固定时间间隔内,接收来自对端的应答消息;
确定子模块,用于确定所述接收子模块接收的应答消息中是否有无效报文的应答消息;如果有无效报文的应答消息,则确定所述无效报文接收成功,否则,确定所述无效报文接收失败。
9.根据权利要求8所述的网络设备,其特征在于,所述确定子模块,包括:
获取单元,用于获取所述无效报文的序列号;
确定单元,用于根据所述无效报文的序列号,确定接收的应答消息中是否包括所述无效报文的序列号;如果接收的应答消息中包括无效报文的序列号,则确定接收的应答消息中有无效报文的应答消息;否则,确定所述无效报文接收失败。
10.根据权利要求7所述的网络设备,其特征在于,所述发送模块还用于在所述确定子模块确定所述无效报文接收失败时,不重发所述无效报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910117950.1A CN101494531B (zh) | 2009-02-24 | 2009-02-24 | 调整滑动窗口的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910117950.1A CN101494531B (zh) | 2009-02-24 | 2009-02-24 | 调整滑动窗口的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101494531A CN101494531A (zh) | 2009-07-29 |
CN101494531B true CN101494531B (zh) | 2013-06-26 |
Family
ID=40924954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910117950.1A Expired - Fee Related CN101494531B (zh) | 2009-02-24 | 2009-02-24 | 调整滑动窗口的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101494531B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011018850A1 (ja) * | 2009-08-12 | 2011-02-17 | 三菱電機株式会社 | データ転送装置、データ転送方法及びデータ転送システム |
CN102404098B (zh) * | 2010-09-14 | 2015-01-07 | 中兴通讯股份有限公司 | D通道上链路接入规程传输方法及装置 |
CN106294862B (zh) * | 2016-08-23 | 2019-09-24 | 无锡天脉聚源传媒科技有限公司 | 一种数据读取方法及装置 |
CN107872357B (zh) * | 2016-09-27 | 2020-05-08 | 华为技术有限公司 | 一种测量链路可用带宽的方法、设备及系统 |
CN116546629A (zh) * | 2018-07-03 | 2023-08-04 | 上海朗帛通信技术有限公司 | 一种被用于无线通信的用户设备、基站中的方法和装置 |
CN111786748B (zh) * | 2019-08-29 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 数据重传方法和系统、网卡、装置、服务器和存储介质 |
CN112565103A (zh) * | 2019-09-26 | 2021-03-26 | 中兴通讯股份有限公司 | 消息流控方法、装置、设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ390598A3 (cs) * | 1998-11-30 | 2000-06-14 | Tomáš Rndr. Svoboda | Způsob modifikace zprávy v komunikačním systému a zařízení k provádění způsobu |
CN101014026B (zh) * | 2006-12-18 | 2010-05-19 | 联创科技(南京)有限公司 | 动态自适应Radius系统通用软网关的实现方法 |
CN101043462A (zh) * | 2007-04-20 | 2007-09-26 | 华为技术有限公司 | 一种链路状态通告处理方法及路由器 |
CN100579004C (zh) * | 2007-08-08 | 2010-01-06 | 华为技术有限公司 | 防范无效报文攻击的方法和网络设备 |
-
2009
- 2009-02-24 CN CN200910117950.1A patent/CN101494531B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101494531A (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101494531B (zh) | 调整滑动窗口的方法和装置 | |
US7542438B2 (en) | Reliable multicast data retransmission method by grouping wireless terminals in wireless communication medium and apparatus for the same | |
JP4542150B2 (ja) | 送信装置、受信装置、情報通信方法 | |
JP5328793B2 (ja) | 中継ネットワークのマルチキャスト/ブロードキャストサービスにおけるアイドル期間を利用したarq対応型事前送信のための方法 | |
CN103814582B (zh) | 视频业务数据传输方法和数据发送装置 | |
KR100750170B1 (ko) | 통신 네트워크에서 데이터 프레임을 효율적으로 전송하는방법 및 장치 | |
US10897725B2 (en) | System and method for managing data transfer between two different data stream protocols | |
US20090303871A1 (en) | Method and apparatus for packet aggregation according to traffic characteristics | |
JP2007318759A (ja) | 無線通信システムにおいてパケットデータを処理する方法及び装置 | |
CN103944691A (zh) | 一种协同业务传输中的数据重传方法及接入网网关 | |
EP1708404A1 (en) | Method and apparatus for error recovery performed at the access node of a core network | |
CN101321131B (zh) | 在扫描无线网络时发送探测响应报文的方法及无线接入点 | |
CN110602568A (zh) | 一种基于rtp的视频流传输丢包重传方法、设备及存储设备 | |
CN103391164B (zh) | 一种基于线性网络编码的报文发送冗余度动态调整方法 | |
US20030137948A1 (en) | Retransmission control in wireless packet data networks | |
CN106712908B (zh) | 数据传输方法、装置和系统 | |
Utsumi et al. | TCP-Cherry: A new approach for TCP congestion control over satellite IP networks | |
JP5062121B2 (ja) | マルチキャスト通信におけるパケット再送制御方法及び装置 | |
US20030035407A1 (en) | Packet retransmission in wireless packet data networks | |
KR101316622B1 (ko) | 무선 통신망을 통한 멀티캐스트 패킷의 송수신 방법 및상기 무선 통신망 시스템 | |
CN109688085B (zh) | 传输控制协议代理方法、存储介质及服务器 | |
Chandra et al. | TCP performance for future IP-based wireless networks | |
CN114465918B (zh) | 消息应答方法以及装置 | |
Yun et al. | An efficient and reliable data transmission control method for relaxing congestion problem in ZigBee network | |
CN118740748A (zh) | 网络传输方法、可读存储介质及智能设备 |
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: 20130626 Termination date: 20180224 |