CN101316157B - 基于浮点窗口增量因子的自适应包长方法 - Google Patents
基于浮点窗口增量因子的自适应包长方法 Download PDFInfo
- Publication number
- CN101316157B CN101316157B CN2008100327450A CN200810032745A CN101316157B CN 101316157 B CN101316157 B CN 101316157B CN 2008100327450 A CN2008100327450 A CN 2008100327450A CN 200810032745 A CN200810032745 A CN 200810032745A CN 101316157 B CN101316157 B CN 101316157B
- Authority
- CN
- China
- Prior art keywords
- bag
- window
- transmitting terminal
- block length
- control protocol
- 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
Abstract
一种无线传输技术领域的基于浮点窗口增量因子的自适应包长方法,包括如下步骤:当发送端正常收到来自接收端的一个确认分组时,发送端更新的窗口大小并计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组;步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口重置为1,当前分组长度重置为初始分组长度,发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包。本发明大大提高了无线网络的TCP性能,吞吐量优于FeW最多达20%。
Description
技术领域
本发明涉及一种无线传输技术领域的方法,具体是一种基于浮点窗口增量因子的自适应包长方法。
背景技术
无线自组织网络飞速发展,以WLAN(无线局域网)、无线传感器网络等形式广泛应用于生产生活实践。但在无线自组织网络的自身特性(比如隐藏终端、暴露终端、信道误码、拓扑变化等)的限制下,无线自组织网络的吞吐量、时延性能与有线网络相比有很大差距,尚不能满足人们对于大量数据传输的需求。对于提高传输层控制协议在无线网络中的性能,一部分是基于使传输层控制协议能够识别丢包的原因从而做出不同的响应;而另一部分则根据传输层控制协议的统计特性来调整协议,从而获得更佳的性能。
经对现有技术文献的检索发现,Zhenghua Fu等在2005年3月的《MobileComputing,IEEE transactions on》(《电子电器工程师协会:无线计算机技术期刊》)第四卷第2期209-211页上发表的“The impact of multihop wirelesschannel on TCP performance”(“多跳无线信道对TCP性能的影响”)指出:在802.11无线网络中,限定最大拥塞窗口至1或2,将使其性能大大提高。KitaeNahm等利用了这个研究成果,在2005年5月的《Proceedings of ACM MobiHoc》(《无线多跳算法会议》)上发表了“TCP over multihop 802.11 networks:issuesand performance enhancement”(802.11多跳网络中的TCP:问题与性能增强)。文中提出了一种浮点窗口方法(FeW),它通过改变每一周游时间的窗口的增量因子α(0<α≤1),来减小平均窗口大小,FeW具有最高的吞吐量表现。但浮点窗口方法的不足之处在于:未充分利用其方法,浪费了预测信道的容量,究其原因,是因为它没有舍弃传统传输层控制协议的窗口利用方案,从而导致浪费大量的传输带宽。
发明内容
本发明针对上述现有技术的不足,提出了一种传输层控制协议(TCP)中基于浮点窗口增量因子的自适应包长方法,使其进一步提高传输吞吐量,同时实现向后兼容,提高了技术的适用范围。
本发明是通过以下技术方案实现的,本发明包括如下具体步骤:
步骤一,当发送端正常收到来自接收端的一个确认分组(ACK)时,发送端根据浮点窗口更新方法更新窗口,然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一;
所述根据浮点窗口更新方法更新窗口,具体为:
其中:cwnd_new为更新后的拥塞窗口大小,cwnd_current为当前拥塞窗口,α为浮点窗口增量因子,在传统TCP中α为1。
所述计算下一个包使用的分组长度,具体为:下一个包使用的分组长度
其中:initPacketsize_为传输层控制协议初始分组长度,cwnd_为当前拥塞窗口大小。
步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口重置为1,当前分组长度重置为初始分组长度initPacketsize_,发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;
所述重新打包,具体为:取出发送缓冲中的所有包,按照顺序去除包的TCP协议头部,将数据部分重新合并,并且将TCP当前序列号(sequence number)置为超时包首字节的序列号,然后按照当前分组长度,重新打包数据。由于是超时引起的重传,超时的包首字节对应TCP(传输控制协议)序列号的后续字节都要进行重传,因此重新打包不用考虑字节的顺序问题。
步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组。
所述重传丢失的包,具体为:发送端锁定拥塞窗口,忽略当前分组长度,重传丢失的包,并且等待确认分组,若确认分组正确到达,根据TCP的快速启动定义将当前拥塞窗口减半,然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。
与现有技术相比,本发明具有如下有益效果:本发明是基于发送端的TCP方法,因此无需对接收端的传输层控制协议做任何修改,接收端只需按照惯例,读取传输层分组头部的信息(包长等),接收整个分组正文,并且发送确认分组即可;本发明同时也改善了传输性能,在链状拓扑下可提高吞吐量达25%,在网格及随即移动拓扑下平均提高吞吐量15%。
附图说明
图1是本发明的实施例仿真场景的拓扑结构图;
图2是本发明的实施例中链路拓扑下单条TCP流,本发明方法与浮点窗口方法的吞吐量对比图;
图3是本发明的实施例中7×7栅格拓扑下,本发明方法与浮点窗口方法的吞吐量对比图;
图4是发明的实施例中13×5栅格拓扑下,本发明方法与浮点窗口方法的吞吐量对比图;
图5是本发明实施例中随机移动拓扑结构下,本发明方法与浮点窗口方法的吞吐量对比图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例的仿真环境参数设置如下:使用802.11作为MAC层协议,信道带宽为2Mbps,发送距离为250m,干扰距离为500m,相邻节点之间的距离为200m,初始分组长度为1024字节,图1为本实施例仿真场景中的链状与栅格状拓扑结构图,图(a)为4到22跳的链状拓扑结构图,图(b)为X*Y栅格装拓扑结构图。
步骤一,当发送端正常收到来自接收端的一个确认分组(ACK)时,发送端根据浮点窗口方法的窗口更新策略更新窗口:
其中:cwnd_new为更新后的拥塞窗口大小,cwnd_current为当前拥塞窗口,α为浮点窗口增量因子,传统TCP中的α为1。
然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一。
所述计算下一个包使用的分组长度,具体为:下一个包使用的分组长度packetsize_:
其中:initPacketsize_为传输层控制协议初始分组长度,cwnd_为当前拥塞窗口大小。
为了便于实现,此处packetsize_取整数部分,由于舍弃的部分仅为几个比特,可以忽略不计,因此本实施例方法充分使用了预测的信道容量,从而提高了吞吐量。
步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口cwnd_重置为1,当前分组长度重置为初始分组大小initPacketsize_,即:
packetsize_=initPacketsize_
发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;
所述重新打包,具体为:取出发送缓冲中的所有包,按照顺序去除包的TCP协议头部,将数据部分重新合并,并且将TCP当前序列号置为超时包首字节的序列号,然后按照上述的当前分组长度,重新打包数据,由于是超时引起的重传,超时的包首字节对应TCP序列号的后续字节都要进行重传,重新打包不用考虑字节的顺序问题。
步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一中计算下一个包使用的分组长度方法更新当前分组长度。
步骤三与步骤二区别于之处在于:步骤二中的超时重传被TCP解释为连接断裂,重建连接后需要重传丢失包和其后续的所有数据;而步骤三中3个重复的确认分组被TCP解释为丢失包由于误码而未正确传输,因此仅需要重传丢失包,如果仍然按照步骤二实施,将浪费带宽,传输不必要的数据。
所述重传丢失的包,具体为:发送端锁定拥塞窗口cwnd_,忽略当前分组长度packetsize_,重传丢失的包,并且等待确认分组,若确认分组正确到达,根据TCP的快速启动定义将当前拥塞窗口减半,即:
cwnd_=cwnd_/2
然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。
如图2所示,为链路下单条TCP流吞吐量比较(α=0.01),自适应包长方法除了在16跳时性能比FeW有所下降外,吞吐量都超越了FeW,平均来说比FeW提高了10%的吞吐量。
如表1所示,为本实施例中链路拓扑下4条TCP流吞吐量对比情况(α=0.05),在链状拓扑下,4条TCP流同时传输时,自适应包长方法超越FeW的性能达10%-25%。
表1本实施例方法与FeW在链路拓扑下4条TCP流吞吐量对比情况
跳数 | 4 | 6 | 8 | 18 | 20 | 22 |
浮点窗口FeW | 194.1 | 158.5 | 144.2 | 131.3 | 118.9 | 121.0 |
本实施例方法 | 223.1 | 175.1 | 158.9 | 146.1 | 144.0 | 151.2 |
改善率% | 14.9% | 10.7% | 10.2% | 11.5% | 21.2% | 25.0% |
如图3所示,在7×7的栅格拓扑结构下,分别选择α=0.01和α=0.05两种情况下,本实施例方法与FeW方法的吞吐量进行比较,自适应包长方法不仅在网络资源充沛时是优于FeW,而且在网络负荷很大时仍相对FeW吞吐量的改善可达12%。
如图4所示,在13×5的狭长栅格拓扑结构下,分别选择α=0.01和α=0.05两种情况下,本实施例方法与FeW方法的吞吐量进行比较,结果表明本实施例的自适应包长方法超越FeW平均达10.4%。
如图5所示,仿真了150个节点在2000m×2000m的区域内随机移动的场景,每个节点被设置为具有1--10m/s的随机速度,反复仿真测试代码10次并取得平均值。本实施例方法比传统TCP改善了25%,比FeW改善了10%的吞吐量。
Claims (3)
1.一种基于浮点窗口增量因子的自适应包长方法,其特征在于,包括如下步骤:
步骤一,当发送端收到来自接收端的一个确认分组时,发送端根据浮点窗口更新方法更新窗口,然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一;
步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口重置为1,当前分组长度重置为初始分组长度,发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;
步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组;
所述根据浮点窗口更新方法更新窗口,具体为:
其中:cwnd_new为更新后的拥塞窗口大小,cwnd_current为当前拥塞窗口,α为浮点窗口增量因子,在传统传输层控制协议中α为1;
所述计算下一个包使用的分组长度,具体为:
下一个包使用的分组长度packetsize_,
其中:initPacketsize_为传输层控制协议初始分组长度,cwnd_为当前拥塞窗口大小。
2.根据权利要求1所述的基于浮点窗口增量因子的自适应包长方法,其特征是,所述重新打包,具体为:取出发送缓冲中的所有包,按照顺序去除包的传输层控制协议头部,将数据部分重新合并,并且将传输层控制协议当前序列号置为超时包首字节的序列号,然后按照当前分组长度,重新打包数据。
3.根据权利要求1所述的基于浮点窗口增量因子的自适应包长方法,其特 征是,所述重传丢失的包,具体为:发送端锁定拥塞窗口,忽略当前分组长度,重传丢失的包,并且等待确认分组,若确认分组正确到达,根据传输层控制协议的快速启动定义将当前拥塞窗口减半,然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100327450A CN101316157B (zh) | 2008-01-17 | 2008-01-17 | 基于浮点窗口增量因子的自适应包长方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100327450A CN101316157B (zh) | 2008-01-17 | 2008-01-17 | 基于浮点窗口增量因子的自适应包长方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101316157A CN101316157A (zh) | 2008-12-03 |
CN101316157B true CN101316157B (zh) | 2010-12-22 |
Family
ID=40107017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100327450A Expired - Fee Related CN101316157B (zh) | 2008-01-17 | 2008-01-17 | 基于浮点窗口增量因子的自适应包长方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101316157B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174500B (zh) * | 2022-05-23 | 2023-09-12 | 北京大学 | 一种基于pisa的用于网内聚合传输的发送节点和交换机 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1179925A2 (en) * | 2000-08-09 | 2002-02-13 | Microsoft Corporation | Fast dynamic measurement of bandwith in a TCP network environment |
CN1819553A (zh) * | 2005-02-11 | 2006-08-16 | 三星电子株式会社 | 使用多个传输控制协议确认的传输控制协议拥塞控制 |
-
2008
- 2008-01-17 CN CN2008100327450A patent/CN101316157B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1179925A2 (en) * | 2000-08-09 | 2002-02-13 | Microsoft Corporation | Fast dynamic measurement of bandwith in a TCP network environment |
CN1819553A (zh) * | 2005-02-11 | 2006-08-16 | 三星电子株式会社 | 使用多个传输控制协议确认的传输控制协议拥塞控制 |
Non-Patent Citations (2)
Title |
---|
屠 昊.无线网络中TCP拥塞控制机制的研究与实现.《东南大学硕士学位论文》.2006, * |
樊茂.TCP拥塞控制及其流量微分方程模型研究.《株洲工学院学报》.2006,第20卷(第4期),43-46. * |
Also Published As
Publication number | Publication date |
---|---|
CN101316157A (zh) | 2008-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6735178B1 (en) | Method for maximizing throughput for multiple links using directional elements | |
CN101938770B (zh) | 基于网络信道状态的无线网络最大重传次数的优化方法 | |
CN101188473B (zh) | 无线自组织网络中的传输层发送速率自适应调整方法 | |
CN103051424B (zh) | 一种不等错误保护喷泉码的无线传输方法 | |
CN101115002A (zh) | 利用TCP Veno提高无线自组织网络性能的方法 | |
CN102170332A (zh) | 基于喷泉码和网络编码的机会路由协议数据分发方法 | |
CN102694632B (zh) | 基于中继存储-转发的深空文件传输方法 | |
CN102664718A (zh) | 无线侧tcp数据重传的方法和设备 | |
CN103634083A (zh) | 一种适用于传感器网络的动态网络编码丢包重传方法 | |
CN101938341B (zh) | 一种跨节点控制的在线视频流选择性重传方法 | |
CN107888358A (zh) | 传输控制信息的方法、用户设备和网络设备 | |
CN101316157B (zh) | 基于浮点窗口增量因子的自适应包长方法 | |
CN101521557A (zh) | 差错控制和拥塞控制的方法和系统 | |
Chung | An efficient algorithm for the performance of tcp over multi-hop wireless mesh networks | |
Subramanya et al. | Performance evaluation of high speed TCP variants in dumbbell network | |
CN101409935B (zh) | 无线自组织网络中分数窗口步长tcp传输控制方法 | |
CN102572952B (zh) | 一种基于网络编码的无线mesh网络流媒体公平服务方法 | |
Kaur et al. | Performance evaluation of congestion control TCP variants in vanet using omnet++ | |
Xiao et al. | Modelling and analysis of tcp performance in wireless multihop networks | |
Dias et al. | Traditional TCP congestion control algorithms evaluation in wired-cum-wireless networks | |
Zheng et al. | XBC: XOR-based buffer coding for reliable transmissions over wireless networks | |
Subramaniam et al. | TCP Timeout Mechanism for Optimization of Network Fairness and Performance in Multi-Hop Pipeline Network | |
Jude et al. | Analysis of Internet Congestion Control Algorithm under Multi-hop Vehicular Conditions | |
Janevski et al. | Cross-layer analysis of transport control protocols over IEEE 802.11 wireless networks | |
Sembiring et al. | TCP LR-Newreno Congestion Control for IEEE 802.15. 4-based Network. |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101222 Termination date: 20140117 |