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

文档序号:7685209阅读:189来源:国知局

专利名称::基于浮点窗口增量因子的自适应包长方法
技术领域
:本发明涉及一种无线传输
技术领域
的方法,具体是一种基于浮点窗口增量因子的自适应包长方法。技术背景无线自组织网络飞速发展,以WLAN(无线局域网)、无线传感器网络等形式广泛应用于生产生活实践。但在无线自组织网络的自身特性(比如隐藏终端、暴露终端、信道误码、拓扑变化等)的限制下,无线自组织网络的吞吐量、时延性能与有线网络相比有很大差距,尚不能满足人们对于大量数据传输的需求。对于提高传输层控制协议在无线网络中的性能,一部分是基于使传输层控制协议能够识别丢包的原因从而做出不同的响应;而另一部分则根据传输层控制协议的统计特性来调整协议,从而获得更佳的性能。经对现有技术文献的检索发现,ZhenghuaFu等在2005年3月的《MobileComputing,IEEEtransactionson》(《电子电器工程师协会无线计算机技术期刊》)第四巻第2期209-211页上发表的"Theimpactofmultih叩wirelesschannelonTCPperformance"("多跳无线信道对TCP性能的影响")指出在802.11无线网络中,限定最大拥塞窗口至1或2,将使其性能大大提高。KitaeNahm等利用了这个研究成果,在2005年5月的proceedingsofACMMobiHoc》(《无线多跳算法会议》)上发表了"TCPovermultihop802.11networks:issuesandperformanceenhancement"(802.11多跳网络中的TCP:问题与性能增强)。文中提出了一种浮点窗口方法(FeW),它通过改变每一周游时间的窗口的增量因子ra(EKa《i》,来减小平均窗口大小,FeW具有最高的吞吐量表现。但浮点窗口方法的不足之处在于未充分利用其方法,浪费了预测信道的容量,究其原因,是因为它没有舍弃传统传输层控制协议的窗口利用方案,从而导致浪费大量的传输带宽。
发明内容本发明针对上述现有技术的不足,提出了一种传输层控制协议(TCP)中基于浮点窗口增量因子的自适应包长方法,使其进一步提高传输吞吐量,同时实现向后兼容,提高了技术的适用范围。本发明是通过以下技术方案实现的,本发明包括如下具体步骤步骤一,当发送端正常收到来自接收端的一个确认分组(ACK)时,发送端根据浮点窗口更新方法更新窗口,然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一;所述根据浮点窗口更新方法更新窗口,具体为*OtcwicLeurrent其中cwnd,"为更新后的拥塞窗口大小,cwnd—,一为当前拥塞窗口,a为浮点窗口增量因子,在传统TCP中a为l。所述计算下一个包使用的分组长度,具体为下一个包使用的分组长度7-.Iew打d—xM^ie&etsfzeIpacketsize—,,汰gtSI21=-^-^-其中initPacketsize—为传输层控制协议初始分组长度,cwnd—为当前拥塞窗口大小。步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口重置为1,当前分组长度重置为初始分组长度initPacketsize一,发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;所述重新打包,具体为取出发送缓冲中的所有包,按照顺序去除包的TCP协议头部,将数据部分重新合并,并且将TCP当前序列号(sequencenumber)置为超时包首字节的序列号,然后按照当前分组长度,重新打包数据。由于是超时引起的重传,超时的包首字节对应TCP(传输控制协议)序列号的后续字节都要进行重传,因此重新打包不用考虑字节的顺序问题。步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组。所述重传丢失的包,具体为发送端锁定拥塞窗口,忽略当前分组长度,重传丢失的包,并且等待确认分组,若确认分组正确到达,根据TCP的快速启动定义将当前拥塞窗口减半,然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。与现有技术相比,本发明具有如下有益效果本发明是基于发送端的TCP方法,因此无需对接收端的传输层控制协议做任何修改,接收端只需按照惯例,读取传输层分组头部的信息(包长等),接收整个分组正文,并且发送确认分组即可;本发明同时也改善了传输性能,在链状拓扑下可提高吞吐量达25%,在网格及随即移动拓扑下平均提高吞吐量15%。图1是本发明的实施例仿真场景的拓扑结构图;图2是本发明的实施例中链路拓扑下单条TCP流,本发明方法与浮点窗口方法的吞吐量对比图;图3是本发明的实施例中7x7栅格拓扑下,本发明方法与浮点窗口方法的吞吐量对比图;图4是发明的实施例中13x5栅格拓扑下,本发明方法与浮点窗口方法的吞吐量对比图;图5是本发明实施例中随机移动拓扑结构下,本发明方法与浮点窗口方法的吞吐量对比图。具体实施方式下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。本实施例的仿真环境参数设置如下使用802.ll作为MAC层协议,信道带宽为2Mbps,发送距离为250m,干扰距离为500m,相邻节点之间的距离为200m,初始分组长度为1024字节,图1为本实施例仿真场景中的链状与栅格状拓扑结构图,图(a)为4到22跳的链状拓扑结构图,图(b)为X+Y栅格装拓扑结构图。步骤一,当发送端正常收到来自接收端的一个确认分组(ACK)时,发送端根据浮点窗口方法的窗口更新策略更新窗口其中cwnd—""为更新后的拥塞窗口大小,cwnd,,t为当前拥塞窗口,a为浮点窗口增量因子,传统TCP中的a为l。然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一。所述计算下一个包使用的分组长度,具体为下一个包使用的分组长度packetsize—:1cwndxfii"Pa.eite.tsiz"eIticwncf」J其中initPacketsize—为传输层控制协议初始分组长度,cwncL为当前拥塞窗口大小。为了便于实现,此处packetsize—取整数部分,由于舍弃的部分仅为几个比特,可以忽略不计,因此本实施例方法充分使用了预测的信道容量,从而提高了吞吐量。步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口cwnd—重置为l,当前分组长度重置为初始分组大小initPacketsize—,艮P:packetsize_=initPacketsize—发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;所述重新打包,具体为取出发送缓冲中的所有包,按照顺序去除包的TCP协议头部,将数据部分重新合并,并且将TCP当前序列号置为超时包首字节的序列号,然后按照上述的当前分组长度,重新打包数据,由于是超时引起的重传,超时的包首字节对应TCP序列号的后续字节都要进行重传,重新打包不用考虑字节的顺序问题。步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一中计算下一个包使用的分组长度方法更新当前分组长度。步骤三与步骤二区别于之处在于步骤二中的超时重传被TCP解释为连接断裂,重建连接后需要重传丢失包和其后续的所有数据;而步骤三中3个重复的确认分组被TCP解释为丢失包由于误码而未正确传输,因此仅需要重传丢失包,如果仍然按照步骤二实施,将浪费带宽,传输不必要的数据。所述重传丢失的包,具体为发送端锁定拥塞窗口cwncL,忽略当前分组长度packetsize」重传丢失的包,并且等待确认分组,若确认分组正确到达,根据TCP的快速启动定义将当前拥塞窗口减半,艮P:cwnd_=cwnd_/2然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。如图2所示,为链路下单条TCP流吞吐量比较(a=0.01),自适应包长方法除了在16跳时性能比FeW有所下降外,吞吐量都超越了FeW,平均来说比FeW提高了10%的吞吐量。如表1所示,为本实施例中链路拓扑下4条TCP流吞吐量对比情况(a=0.05),在链状拓扑下,4条TCP流同时传输时,自适应包长方法超越FeW的性能达10%-25%。表1本实施例方法与FeW在链路拓扑下4条TCP流吞吐量对比情况<table>tableseeoriginaldocumentpage8</column></row><table>如图3所示,在7x7的栅格拓扑结构下,分别选择a=0.01和a=0.05两种情况下,本实施例方法与FeW方法的吞吐量进行比较,自适应包长方法不仅在网络资源充沛时是优于FeW,而且在网络负荷很大时仍相对FeW吞吐量的改善可达12%。如图4所示,在13x5的狭长栅格拓扑结构下,分别选择a=0.01和a=0.05两种情况下,本实施例方法与FeW方法的吞吐量进行比较,结果表明本实施例的自适应包长方法超越FeW平均达10.4°/。。如图5所示,仿真了150个节点在2000mx2000m的区域内随机移动的场景,每个节点被设置为具有l一10m/s的随机速度,反复仿真测试代码10次并取得平均值。本实施例方法比传统TCP改善了25%,比FeW改善了10%的吞吐量。权利要求1、一种基于浮点窗口增两因子的自适应包长方法,其特征在于,包括如下步骤步骤一,当发送端收到来自接收端的一个确认分组时,发送端根据浮点窗口更新方法更新窗口,然后由更新后的窗口大小计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组,直到再次收到一个确认分组,重复步骤一;步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口重置为1,当前分组长度重置为初始分组长度,发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包,重传成功后再按照步骤一计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组。2、根据权利要求l所述的基于浮点窗口增两因子的自适应包长方法,其特征是,所述根据浮点窗口更新方法更新窗口,具体为<formula>formulaseeoriginaldocumentpage2</formula>其中cwnd—,为更新后的拥塞窗口大小,cwnf为当前拥塞窗口,a为浮点窗口增量因子,在传统传输层控制协议中a为l。3、根据权利要求l所述的基于浮点窗口增两因子的自适应包长方法,其特征是,所述计算下一个包使用的分组长度,具体为下一个包使用的分组长度packetsize_,<formula>formulaseeoriginaldocumentpage2</formula>其中initPacketsize—为传输层控制协议初始分组长度,cwncL为当前拥塞窗口大小。4、根据权利要求l所述的基于浮点窗口增两因子的自适应包长方法,其特征是,所述重新打包,具体为取出发送缓冲中的所有包,按照顺序去除包的传输层控制协议头部,将数据部分重新合并,并且将传输层控制协议当前序列号置为超时包首字节的序列号,然后按照当前分组长度,重新打包数据。5、根据权利要求l所述的基于浮点窗口增两因子的自适应包长方法,其特征是,所述重传丢失的包,具体为发送端锁定拥塞窗口,忽略当前分组长度,重传丢失的包,并且等待确认分组,若确认分组正确到达,根据传输层控制协议的快速启动定义将当前拥塞窗口减半,然后按照步骤一计算当前分组长度,继续传输,若确认分组未到达,计时器超时,则进入步骤二。全文摘要一种无线传输
技术领域
的基于浮点窗口增量因子的自适应包长方法,包括如下步骤当发送端正常收到来自接收端的一个确认分组时,发送端更新的窗口大小并计算下一个包使用的分组长度,传输层发送端使用计算后的分组长度传送后续分组;步骤二,当发送端计时器超时,传输层控制协议进入慢启动状态,拥塞窗口重置为1,当前分组长度重置为初始分组长度,发送端对缓冲中的数据按照当前分组长度重新打包,进行重传;步骤三,当发送端收到3个重复的确认分组,传输层控制协议进入快速启动状态时,发送端只重传丢失的包。本发明大大提高了无线网络的TCP性能,吞吐量优于FeW最多达20%。文档编号H04L29/08GK101316157SQ20081003274公开日2008年12月3日申请日期2008年1月17日优先权日2008年1月17日发明者徐友云,王新兵,赟韩申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1