CN101316157B - 基于浮点窗口增量因子的自适应包长方法 - Google Patents

基于浮点窗口增量因子的自适应包长方法 Download PDF

Info

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
Application number
CN2008100327450A
Other languages
English (en)
Other versions
CN101316157A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN2008100327450A priority Critical patent/CN101316157B/zh
Publication of CN101316157A publication Critical patent/CN101316157A/zh
Application granted granted Critical
Publication of CN101316157B publication Critical patent/CN101316157B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 + α cwnd _ current
其中:cwnd_new为更新后的拥塞窗口大小,cwnd_current为当前拥塞窗口,α为浮点窗口增量因子,在传统TCP中α为1。
所述计算下一个包使用的分组长度,具体为:下一个包使用的分组长度
Figure S2008100327450D00022
其中: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 + α cwnd _ current
其中:cwnd_new为更新后的拥塞窗口大小,cwnd_current为当前拥塞窗口,α为浮点窗口增量因子,传统TCP中的α为1。
然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一。
所述计算下一个包使用的分组长度,具体为:下一个包使用的分组长度packetsize_:
Figure S2008100327450D00042
其中: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个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组;
所述根据浮点窗口更新方法更新窗口,具体为:
Figure DEST_PATH_FSB00000243160300011
其中:cwnd_new为更新后的拥塞窗口大小,cwnd_current为当前拥塞窗口,α为浮点窗口增量因子,在传统传输层控制协议中α为1;
所述计算下一个包使用的分组长度,具体为:
下一个包使用的分组长度packetsize_,
Figure DEST_PATH_FSB00000243160300012
其中:initPacketsize_为传输层控制协议初始分组长度,cwnd_为当前拥塞窗口大小。
2.根据权利要求1所述的基于浮点窗口增量因子的自适应包长方法,其特征是,所述重新打包,具体为:取出发送缓冲中的所有包,按照顺序去除包的传输层控制协议头部,将数据部分重新合并,并且将传输层控制协议当前序列号置为超时包首字节的序列号,然后按照当前分组长度,重新打包数据。
3.根据权利要求1所述的基于浮点窗口增量因子的自适应包长方法,其特 征是,所述重传丢失的包,具体为:发送端锁定拥塞窗口,忽略当前分组长度,重传丢失的包,并且等待确认分组,若确认分组正确到达,根据传输层控制协议的快速启动定义将当前拥塞窗口减半,然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。 
CN2008100327450A 2008-01-17 2008-01-17 基于浮点窗口增量因子的自适应包长方法 Expired - Fee Related CN101316157B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174500B (zh) * 2022-05-23 2023-09-12 北京大学 一种基于pisa的用于网内聚合传输的发送节点和交换机

Citations (2)

* Cited by examiner, † Cited by third party
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 三星电子株式会社 使用多个传输控制协议确认的传输控制协议拥塞控制

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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