无线自组织网络中链路层实现传输层确认的方法

文档序号:7924279阅读:232来源:国知局
专利名称:无线自组织网络中链路层实现传输层确认的方法
技术领域
本发明涉及一种通信技术领域的方法,具体是一种无线自组织网络中链路层 实现传输层确认的方法。
背景技术
无线自组织网络飞速发展,以WLAN (无线局域网)、无线传感器网络等形式 广泛应用于生产生活实践。但是,在无线自组织网络的自身特性(比如隐藏终端、 暴露终端、信道误码、拓扑变化等)的限制下,TCP (传输控制协议)在无线自 组织网络的吞吐量、时延性能与有线网络相比有很大差距,尚不能满足人们对于 大量数据传输的需求。目前,研究人员已经做了很多工作来提高TCP在无线自组 织网络中的性能。
经对现有技术文献的检索发现,Zhenghua Fu在发表于2003年INF0C0M (计 算机通信会议)的文章"The Impact of Multihop Wireless Channel on TCP Throughput and Loss"(多跳无线信道对TCP吞吐量和丢包率的影响)中提出 通过MAC (介质接入控制)层的主动丢包机制改善TCP的性能;
经检索还发现,G. Holland在发表于1999年MobiCom (国际移动计算和网 络年会)的文章"Analysis of TCP Performance over Mobile Ad Hoc Networks" (移动自组织网络中的TCP性能分析)中通过路由层向TCP的源节点发送反馈信 息控制其发送机制来提高吞吐量性能。
经检索还发现,S. M. EIRakabawy在发表于2005年MobiHoc (国际移动自组 织网络和计算研讨会)的文章"TCP with Adaptive Pacing for Multihop Wireless Networks"(多跳无线网络中的自适应步长传输控制协议)中通过估计合理的发 送速率平滑TCP的发送来提高TCP吞吐量。
上述研究多集中于控制TCP的发送过程来提高TCP在多跳自组织网络中的性 能,而忽略了传输层的ACK (确认)包对TCP性能的影响。当DATA包长度为1024字节,数据发送速率为2 Mbps,其他参数使用IEEE 802. lib的默认设置时,发送一个ACK包的时间长度为一个发送一个数据包时间 长度的33.8%。虽然ACK包内可能含有时间戳信息,ACK包里所携带的主要信息 仅仅是目的节点最新收到的ACK包的序列号。因此,如果可以不需要独立传输 ACK包而确认收到的数据包,将可以有效节约带宽资源。

发明内容
本发明的目的是针对上述现有技术的不足,提出了一种无线自组织网络中链 路层实现传输层确认的方法,使其通过链路层传送传输层ACK包信息,即IACK (包含ACK),从而降低ACK传输对带宽资源的占用,提高网络吞吐量。
本发明是通过如下技术方案实现的,包括如下具体步骤
步骤一,TCP源节点向目的节点发送第一个数据包,要求目的节点反馈独立 ACK包,建立起多跳通信链路;
步骤二, TCP源节点根据独立反馈的ACK包计算RTT (往返时间)值,并由 RTT值计算TCP层数据包的发送速率R,然后发送数据包,启动超时定时器,定 时器长度为4倍平滑RTT,并要求目的节点通过链路层传送传输层ACK包信息, 即以IACK方式发送ACK包;
步骤三,目的节点在ACK包中TCP头部分定义IACK指示位,并将其置为1, 目的节点发送ACK包之后启动目的节点定时器,时间长度为2倍的平滑RTT;
步骤四,在MAC层设置一个循环缓存B,同时在MAC层的CTS包中區C头部 分增加新的控制域,控制域负责记录有效的传输层ACK信息;
步骤五,MAC层收到要求按照IACK方式发送的ACK包,并将其放入循环缓 存B中,MAC层需要发送CTS时,在缓存B中按照先后顺序搜索是否有下一跳目 的节点与CTS包相同的ACK包,如果有则将CTS改为ECTS (增强清除发送)包, 即提取其有效信息写入CTS包中新增加的域,并将MAC头部分"iACK指示"设 为l;如果没有,则将MAC头部分"iACK指示"设为O,并删去新增加的数据域, 按照常规CTS包发送;
步骤六,收到ECTS包的节点,首先提取关于ACK的有关信息,封装为一个 iACK包发送到路由层,査找下一跳路由,再按常规处理CTS包;步骤七,路由层收到MAC层新创建的iACK包,如果收到ECTS包的节点是 TCP源节点,则将该iACK包发送到传输层,否则,将下一跳路由信息写入包头, 并直接发送至MAC层;
步骤八,收到iACK包的TCP源节点读取往返时间和序列号信息,修改发送 速率R和发送窗口,继续上述过程;
步骤九,如果源节点端发生超时事件,则发送新的数据包,要求目的节点反 馈独立的ACK包,重新建立通信链路,如果目的节点发生超时,则发送独立的 ACK包。
所述在MAC层的CTS包中區C头部分增加新的控制域,具体如下在原来的 CTS包结构的基础上,增加了五个新的域"Destination (目的节点)"、"Flow ID (流标识)"、"Sequence Number (序列号)',、"Recorded RTT (往返时间)"和 "Indication of iACK (iACK指示)"。
所述发送速率R,其由4跳传输时延F/ffi)和RTT采样的互相关系数cov^^设
定,具体表示为
=<formula>formula see original document page 6</formula>
其中,F/zz)通过指数移动加权平均(EWMA)估计,具体如下 [a x F朋。w + (1 - a) x F朋, M < 4,
F朋=
其中,"为权值,A^为源节点到目的节点的跳数; RTT采样的互相关系数cov^^,具体如下
<formula>formula see original document page 6</formula>
w是参与加权的rtt数量,i rr是w次rtt的期望,i n;表示第/次rtt 数值。
与现有技术相比,本发明具有如下有益效果本发明将传输层需要独立发送
的ACK包包含于MAC层的控制包中,形成一种新的跨层设计机制IACK。仿真结果表明IACK的吞吐量优于TCP-AP高达65. 2%,优于TCP-Newreno高达166. 8%; IACK的有效速率优于TCP-AP高达66. 2%,优于TCP-Newreno高达198. 3%。


图1是本发明的实施例仿真场景的链式拓扑结构图; 图2是增强型CTS包ECTS的包结构;
图3是本发明的实施例中使用DSR (动态源路由协议)路由,业务流为1时 链式拓扑下本发明方法(IACK)与TCP-AP、 TCP-Newreno的吞吐量和有效速率对 比图4是本发明的实施例中使用DSR路由,业务流为2时链式拓扑下本发明方 法(IACK)与TCP-AP、 TCP-Newreno的吞吐量和有效速率对比图5是本发明的实施例中使用DSR路由,业务流为4时链式拓扑下本发明方 法(IACK)与TCP-AP、 TCP-Newreno的吞吐量和有效速率对比图。
具体实施例方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案 为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护 范围不限于下述的实施例。
本实施例的仿真环境参数设置如下使用802. lib作为MAC层协议,载荷数 据速率2Mbps,控制数据速率为1Mbps,发送距离为250ra,干扰距离为500m,相 邻节点之间的距离为200m,包长为1024字节,相关参数设置如下a = 0.8, iV = 50。
如图1所示为本实施例仿真场景的链式拓扑结构,其中节点1为源节点,节 点N为目的节点。
本实施例包括如下具体步骤
步骤一,TCP源节点向目的节点发送第一个数据包,要求目的节点反馈独立 ACK包,建立起多跳通信链路;
步骤二, TCP源节点根据独立反馈的ACK包计算RTT (往返时间)值,并由 RTT值计算TCP层数据包的发送速率R,然后发送数据包,启动超时定时器,定 时器长度为4倍平滑RTT,并要求目的节点通过链路层传送传输层ACK包信息,即以IACK方式发送ACK包;
所述发送速率R,其由4跳传输时延F/ffi)和RTT采样的互相关系数co^^设
定,具体表示为
=-^- (1)
FHDx(l + 2covfl7T)
其中,FZ/D通过指数移动加权平均(E丽A)估计,具体如下
f a x i^/DoW + (1 - cc) x iVA < 4,
F朋=.,
其中,"为权值,A^为源节点到目的节点的跳数;
RTT采样的互相关系数cov^^ ,具体如下
(2)
cov釘=
^n戸-丽2
及7T
(3)
iv是参与加权的rtt数量,及rr是iv次rtt的期望,w = 50, i n;表示
第/次RTT数值。
步骤三,目的节点在ACK包中TCP头部分定义IACK指示位,并将其置为l, 目的节点发送ACK包之后启动目的节点定时器,时间长度为2倍的平滑RTT;
步骤四,在MAC层设置一个循环缓存B,同时在區C层的CTS包中MAC头部 分增加新的控制域,即在原来的CTS包结构(Original CTS Frame)的基础上, 增加了五个新的域"Destination (目的节点)"、"Flow ID (流标识)"、"Sequence Number (序列号)"、"Recorded RTT (往返时间)"和"Indication of iACK (iACK 指示)",这些域用于记录有效的传输层ACK信息;
步骤五,MAC层收到要求按照IACK方式发送的ACK包,并将其放入循环缓 存B中,MAC层需要发送CTS时,在缓存B中按照先后顺序搜索是否有下一跳目 的节点与CTS包相同的ACK包,如果有则将CTS改为ECTS (增强清除发送)包, 即提取其有效信息写入CTS包中新增加的域,并将MAC头部分"iACK指示"设 为l;如果没有,则将MAC头部分"iACK指示"设为0,并删去新增加的数据域, 按照常规CTS包发送,如图2所示,是增强型CTS包ECTS的包结构;步骤六,收到ECTS包的节点,首先提取关于ACK的有关信息,封装为一个 iACK包发送到路由层,查找下一跳路由,再按常规处理CTS包;
步骤七,路由层收到MAC层新创建的iACK包,如果收到ECTS包的节点是 TCP源节点,则将该iACK包发送到传输层,否则,将下一跳路由信息写入包头, 并直接发送至MAC层;
步骤八,收到iACK包的TCP源节点读取往返时间和序列号信息,修改发送 速率R和发送窗口,继续上述过程;
步骤九,如果源节点端发生超时事件,则发送新的数据包,要求目的节点反 馈独立的ACK包,重新建立通信链路,如果目的节点发生超时,则发送独立的 ACK包。
图3至图5给出了在使用DSR (动态源路由协议)路由时,本实施例方法 (IACK)与TCP-AP、 TCP-Newreno的吞吐量和有效速率对比,图中参数多条业务 流都是从相同的源节点到相同的目的节点。
如图3所示,当只有一条TCP流时,本实施例方法(IACK)的平均吞吐量优 于TCP-AP 65. 2%,优于TCP-Newreno 166. 8%, IACK的平均有效速率于TCP-AP 66.2%,优于TCP-Newreno 198.3%。
如图4所示,当有两条TCP流时,本实施例方法(IACK)的平均吞吐量优于 TCP-AP 23. 3%,优于TCP-Newreno 108. 3°/Q, IACK的平均有效速率优于TCP-AP 32. 1%,优于TCP-Newreno 131.4%。
如图5所示,当存在4条TCP流时,本实施例方法(IACK)的平均吞吐量优 于TCP-AP 42. 8%,优于TCP-Newreno 112. 8%, IACK的平均有效速率优于TCP-AP 89.6%,优于TCP-Newreno 118.2%。
权利要求
1、一种无线自组织网络中链路层实现传输层确认的方法,其特征在于,包括如下步骤步骤一,TCP源节点向目的节点发送第一个数据包,要求目的节点反馈独立ACK包,建立起多跳通信链路;步骤二,TCP源节点根据独立反馈的ACK包计算RTT值,并由RTT值计算TCP层数据包的发送速率R,然后发送数据包,启动超时定时器,定时器长度为4倍平滑RTT,并要求目的节点通过链路层传送传输层ACK包信息,即以IACK方式发送ACK包;步骤三,目的节点在ACK包中TCP头部分定义IACK指示位,并将其置为1,目的节点发送ACK包之后启动目的节点定时器,时间长度为2倍的平滑RTT;步骤四,在MAC层设置一个循环缓存B,同时在MAC层的CTS包中MAC头部分增加新的控制域,控制域负责记录有效的传输层ACK信息;步骤五,MAC层收到要求按照IACK方式发送的ACK包,并将其放入循环缓存B中,MAC层需要发送CTS时,在缓存B中按照先后顺序搜索是否有下一跳目的节点与CTS包相同的ACK包,如果有则将CTS改为ECTS包,即提取其有效信息写入CTS包中新增加的域,并将MAC头部分“iACK指示”设为1;如果没有,则将MAC头部分“iACK指示”设为0,并删去新增加的数据域,按照常规CTS包发送;步骤六,收到ECTS包的节点,首先提取关于ACK的有关信息,封装为一个iACK包发送到路由层,查找下一跳路由,再按常规处理CTS包;步骤七,路由层收到MAC层新创建的iACK包,如果收到ECTS包的节点是TCP源节点,则将该iACK包发送到传输层,否则,将下一跳路由信息写入包头,并直接发送至MAC层;步骤八,收到iACK包的TCP源节点读取往返时间和序列号信息,修改发送速率R和发送窗口,继续上述过程;步骤九,如果源节点端发生超时事件,则发送新的数据包,要求目的节点反馈独立的ACK包,重新建立通信链路,如果目的节点发生超时,则发送独立的ACK包。
2、 根据权利要求1所述的无线自组织网络中链路层实现传输层确认的方法, 其特征是,所述在MAC层的CTS包中MAC头部分增加新的控制域,具体如下在 原来的CTS包结构的基础上,增加了五个新的域"Destination", "Flow ID"、"Sequence Number,,、 "Recorded RTT,,禾口 "Indication of iACK"。
3、 根据权利要求1所述的无线自组织网络中链路层实现传输层确认的方法, 其特征是,所述发送速率R,其由4跳传输时延F/ffi)和RTT采样的互相关系数COV^^设定,具体表示为<formula>formula see original document page 3</formula>其中,F/ffi)通过指数移动加权平均(EWMA)估计,具体如下<formula>formula see original document page 3</formula>其中,"为权值,iV,为源节点到目的节点的跳数; RTT采样的互相关系数co ^ ,具体如下<formula>formula see original document page 3</formula>w是参与加权的rtt数量,i rr是iv次rtt的期望,i r7;表示第!'次rtt数值。
全文摘要
一种通信技术领域的无线自组织网络中链路层实现传输层确认的方法。本发明包括1)在传输层,提出了基于速率的TCP发送协议,TCP源节点根据平均往返时间RTT计算数据包发送速率;2)在MAC层,将CTS包设为增强型ECTS包,在包头中加入ACK信息的数据域。收到ECTS的节点提取ACK相关的信息,重建为新的内部ACK包发送到路由层查找下一跳路由信息;3)在路由层,区别内部创建ACK包的处理,源节点直接将ACK包上传至TCP层,非源节点将下一跳路由信息直接写入包头,并立即发送到MAC层。本发明将传输层需要独立发送的ACK包包含于MAC层的控制包中,本发明的吞吐量和有效速率均优于其它现有技术方法。
文档编号H04W80/06GK101534573SQ20081020302
公开日2009年9月16日 申请日期2008年11月20日 优先权日2008年11月20日
发明者丁良辉, 张文军, 徐友云, 王新兵, 良 钱 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1