一种面向时变无线信道的传输层高效通信方法

文档序号:9353360阅读:599来源:国知局
一种面向时变无线信道的传输层高效通信方法
【技术领域】
[0001] 本发明涉及无线通信技术领域,尤其涉及一种面向时变无线信道的传输层高效通 f目方法。
【背景技术】
[0002] TCP是一个根据有效网络带宽控制其承载载荷(通过调整其窗口大小)的自适应 传输协议,一种面向连接的可靠传输层协议,最初是针对有线网络而设计的。传统TCP认为 丢包的原因是由于网络拥塞所导致。
[0003] 在无线网络中,无线链路的高误码率和节点高速移动等会导致丢包,多路径路由 和节点路由切换等会导致乱序。而TCP并没有考虑非拥塞因素所引起的乱序和丢包,如果 不加改进地把传统TCP应用于无线网络中,它会把非拥塞乱序和包丢失也当作是网络拥塞 导致,从而错误地进入拥塞控制机制,这将导致网络吞吐量减小,性能下降,严重影响网络 的效能。
[0004] 在无线网络中,节点位置变化引起网络拓扑变化,路由关系不固定,加之无线信道 本身误码率高,发生丢包是非常普遍的现象,并不能确定是由于网络拥塞导致。
[0005] 如果按照有线TCP拥塞控制机制,把以上原因都认为是拥塞,将会严重降低网络 的吞吐量,浪费链路资源。无线TCP优化的关键是在准确判断当前的传输链路状态的基础 上,采取合适的措施。
[0006] 根据状态信息的来源,可以把已有的方案归为两大类,一类是面向网络 (network-oriented)的改进方案,一类是端到端(end to end)的改进方案。
[0007] 1)、面向网络的方案
[0008] 该方案的特点是状态信息来源于低层或其他节点,源节点的传输层根据该状态信 息调节传输策略,以TCP-F为例说明:
[0009] 源端通过中间节点反馈回来的RFN来区分路由过期和网络拥塞,通过RRN路由重 建通知来恢复正常传输。
[0010] 当TCP的源端收到下层的RFN路由失败通告后,将进入snooze瞌睡状态。在这个 状态中,TCP停止数据包的发送并冻结自身的一些变量(如cwnd、ssth)和定时器RT0。
[0011] 当收到路由RRN路由重建通知的通知分组后,TCP源端才能从该状态退出并利用 路由中断前的各个变量值恢复数据的传送。
[0012] 该解决方案的优点是:跨层设计,状态判断更加准确;模型简单,易于建模仿真; 随着路由重建时间增加,提升效果明显。不足是:无法区分拥塞和路由过期之外的状态,例 如信道差错和路由不可达。
[0013] 2)、端到端的方案
[0014] 特点:直接在发送方和接收方的传输层做改进,保持连接的端到端语义(注:确认 为语义),不需要修改低层和中间节点。
[0015] 如图1所示,以ADTCP为例进行说明:
[0016] ADTCP方案通过对节点多个参数进行检测,可以区分当前连接所处的4个状态: C0N拥塞、CHERR信道差错、RTCHG路由变化和DISC断连。
[0017] 如图2所示,每次发送成功统计IDD相邻包延时差别,计算公式为:IDD = (rcvTime[i+1] - sndTime[i+1]) - (rcvTime[i] - sndTime[i]);
[0018] 每隔周期T统计STT短时间吞吐量,计算公式为:STT =确认的包数/时间周期;
[0019] 每隔周期T统计PLR分组丢失比率,计算公式为:PLR= 1 -确认的包数/发送的 包数;
[0020] 每隔周期T统计P0R分组乱序比率,计算公式为:P0R =乱序的包数/发送的包 数;
[0021] IDD相邻包延时差别和STT短时间吞吐量两个参数可用于判断网络是否发生拥 塞,当发生拥塞时,IDD相邻包延时差别必然增加,STT短时间吞吐量必然减小。
[0022] 路由发生变化时,P0R分组乱序比率会增大。突发信道差错时,PLR分组丢失比率 会增加。
[0023] 当TCP源收到3个重复的ACK或者是RT0定时器超时时可以根据统计的参数序列 判断当前传输链路状态。序列从大到小排序。
[0024] 端对端解决方案的优点是不依赖中间节点或下层的信息,只需要传输层即可判 断;对于拥塞情况的识别了很高。但也有其不足,即是对于路由过期或者路由不可达的情况 容易误判为拥塞。

【发明内容】

[0025] 有鉴于此,本发明提供了一种面向时变无线信道的传输层高效通信方法,能够准 确区分无线链路的状态,并采取合适的控制策略,提高传输层效率。
[0026] 本发明的一种面向时变无线信道的传输层通信方法,包括如下步骤:
[0027] 步骤0、在TCP传输的初始状态,即慢启动状态,设置拥塞窗口的长度初始值和慢 启动门限的初始值;
[0028] 步骤1、控制发送端在当前的拥塞窗口范围内发送数据包,每发送一个数据包的同 时启动对应的定时器;
[0029] 步骤2、在发送数据包的过程中,判断发送端在各定时器超时之前是否收到接收端 反馈的相应数据包的确认报文ACK:
[0030] 1)、如果收到确认报文ACK,则再次判断确认报文ACK中是否至少有3个均指示同 一个丢失数据包:
[0031] ①如果是,再判断当前的拥塞窗口与当前的慢启动门限之间的关系:
[0032] A、如果当前的拥塞窗口〈当前的慢启动门限,判定当前处于慢启动状态,转到步 骤3;
[0033]B、如果当前的拥塞窗口多当前的慢启动门限,判定当前处于拥塞避免状态,转到 步骤4;
[0034] ②如果否,再判断是否满足如下条件:
[0035] 当前的相邻包延时差别IDD排在按从大到小排名的已记录的所有相邻包延时差 别IDD的前30%以内,且短时间吞吐量STT排在按从大到小排名的已记录的所有短时间吞 吐量SIT的后30%以内:
[0036] 如果满足,则判定当前处于队列突发错误状态,转到步骤5 ;其中,当前的相邻包 延时差别IDD指的是当前的数据包和上一个数据包的传输时间差值;短时间吞吐量STT指 的是:单位时间内被正确接收的数据包的数量;
[0037] 如果不满足,判定当前处于信道突发错误状态,转到步骤6 ;
[0038] 2)、如果发送端在定时器超时之际仍未收到接收端反馈的确认报文ACK,判定当前 处于传输超时处理状态,则转到步骤7;
[0039] 步骤3、将拥塞窗口扩大到原来的2倍,发送端在当前的拥塞窗口范围内继续发送 数据包,跳转到步骤2;
[0040] 步骤4、将拥塞窗口的值增加512B,发送端在当前的拥塞窗口范围内继续发送数 据包,跳转到步骤2;
[0041] 步骤5、将慢启动门限变为当前拥塞窗口长度的一半,将拥塞窗口长度增加3倍的 报文段最大长度MSS,重新发送确认报文ACK所指示的丢失数据包,同时重新启动该丢失数 据包对应的定时器,发送端在当前的拥塞窗口范围内继续按顺序发送数据包,跳转到步骤 2 ;
[0042] 步骤6、保持慢启动门限和拥塞窗口的长度不变,重新发送确认报文ACK所指示的 丢失数据包,同时重新启动该丢失数据包对应的定时器,跳转到步骤2;
[0043] 步骤7、保持慢启动门限和拥塞窗口不变,发送端暂停发送数据,暂停时间大于路 由更新时间,暂停结束后,查询路由表中目的节点的路由状态:
[0044] 1)、如果路由可达,则重新发送确认报文ACK所指示的丢失数据包,重新启动该丢 失数据包对应的定时器,并等待反馈的确认报文ACK,再继续判断:
[0045] ①如果可以收到确认报文ACK,则保持慢启动门限和拥塞窗口不变,跳转到步骤 2 ;
[0046] ②如果收不到确认报文ACK,将慢启动门限的值变为当前拥塞窗口的一半,将拥塞 窗口值变为1倍的报文段最大长度MSS,进入慢启动状态,跳转到步骤2;
[0047]2)、如果路由不可达,则直接退出TCP传输过程。
[0048] 较佳的,所述拥塞窗口的初始值设为512B。
[0049] 较佳的,所述慢启动门限的初始值设置为64KB。
[0050] 较佳的,所述报文段最大长度MSS的长度为512B。
[0051] 本发明具有如下有益效果:
[0052] 本发明结合面向网络方案和端到端方案,可以更准确的区分无线链路的状态,根 据链路状态有针对性的采取相应的处理策略,由此提高排除链路故障的准确性,提高传输 层效率。
【附图说明】
[0053] 图1为现有的端到端方案的原理图。
[0054] 图2为相邻包延时差别IDD计算示意图。
[0055] 图3为本发明的方法流程图。
【具体实施方式】
[0056] 下面结合附图并举实施例,对本发明进行详细描述。
[0057
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1