延迟容忍网络自适应差错控制方法*
2010-09-26
(中国西南电子技术研究所,成都610036)
1 引 言
Internet中,传输控制协议(TCP)基于以下4种假设:源节点和目的节点之间经过3次握手建立端到端的连接之后才能进行通信;源节点和目的节点之间较低的链路误码率;源节点和目的节点之间较低的往返时延(Round-Trip Time,RTT);源节点和目的节点存在对称的数据链路。而在延迟容忍网络(Delay Tolerant Network,DTN)中,由于不能满足其中一种或者多种假设[1-2],所以TCP不能很好工作在延迟容忍网络中,需要设计新的差错控制策略。
现有用于延迟容忍网络的传输控制协议主要是逐跳的或是端到端的。 文献[1]提出端到端的传输控制协议,在传统TCP/IP协议基础上,通过在应用层和传输层之间增加一个捆绑层(Bundle Layer)来保证端到端的可靠传输。新增的捆绑层对所有应用层和传输层都是透明的。它负责将接收到的消息存储在非易失性存储介质中,对接收到的信息进行安全检测,然后可靠地转发数据。同时,捆绑层还用于节点收到消息后的确认回复,实现端到端的传输控制。
文献[3]提出逐跳的传输控制协议(Licklider Transmission Protocol,LTP)工作在链路层上,对数据采取有区分的传输,保证延迟容忍网络可靠地逐跳数据传输。
现有用于延迟容忍网络的传输控制协议没有自适应的,同时无线网络中媒体访问控制(MAC)层差错控制和传输层控制是相互透明的[4],在信道状况较好的情况下,没有必要采取双重差错控制机制。本文结合延迟容忍网络的高误码特性,提出一种基于MAC层丢包率自适应差错控制方案,该方案能够有效改善网络时延,在一定程度上满足了对网络时延比较敏感而对网络丢包不敏感的业务要求。
2 自适应差错控制方案
传统的IEEE 802.11 DCF机制中间增加了退避重传策略,MAC层一旦出现数据帧丢失,便重传该数据帧。在延迟容忍网络中,通常链路的误码率很高,信道质量较差,需要多次重传,造成网络时延增大。该机制并不适合信道状况较差且对时延要求比较高的图像和语音业务的要求。
另外一种差错控制方案是没有退避重传策略的MAC层差错控制方案,MAC层一旦出现数据帧丢失,不再重传该数据帧,直接丢弃。由于延迟容忍网络中链路误码率很高,数据帧一旦出现错误,便丢弃该数据帧,造成网络的吞吐量过低,不能很好适应图像和语音等实时性业务吞吐量的要求。
传统的IEEE 802.11 DCF因为有退避重传策略,能够保证高吞吐量;MAC层无退避重传策略,由于没有退避重传,能保证较低的端到端时延。本文结合以上两种差错控制策略的优点,提出一种自适应的差错控制方案。
本文根据MAC层的丢包率作出自适应的调整。在MAC层设定一个丢包率门限值Th。若在MAC层出现数据帧丢失,并且需要重传时,用当前时刻的MAC层丢包率Ploss跟MAC层设定的丢包率门限值Th比较。当Ploss大于该门限值时,表明信道状况很差,需要采取MAC层重传机制;当Ploss小于该门限值时,表明信道状况较好,不需要采取MAC层重传机制。多次实验分析表明,MAC层丢包率门限值Th为0.09时,网络时延性能最好。
图1 自适应差错控制流程
自适应差错控制方案可以分为竞争信道过程、发送数据过程和重传判决过程3个阶段,具体流程如图1所示:
(1)发送主机监听媒体,如果媒体空闲达到DIFS时间,主机立即发出RTS帧竞争信道,当接收主机接收到RTS帧后,向发送主机回复CTS帧,当发送主机成功接收到CTS帧后,表明发送主机已经成功竞争到信道。发送主机和接收主机的邻居节点退避;
(2)如果媒体忙,则延迟接入,直到媒体空闲时间达到DIFS以后,发送主机进入退避过程;
(3)发送主机根据退避算法选择一个退避时间,并设置退避时间计数器。在媒体空闲时,退避时间计数器每隔一个时隙减1;在媒体忙时,退避时间计数器停止计数;
(4)在退避时间计数器减到零后,发送主机立即发送RTS帧,重新竞争信道;
(5)发送主机成功竞争到信道后,开始发送数据帧。发数据帧计数器加1,其中发送数据帧计数器为周期计数器,设周期为1 s;
(6)发送主机发送数据帧后,如果在规定时间内没有收到ACK回复,表明数据帧发送失败,然后判断发送主机发送数据帧计数器是否超时,如果超时,则发送主机发数据帧计数器置零,周期被重置为1 s,接收ACK周期计数器置零,周期也被重置为1 s,然后转步骤7;如果没有超时,则直接转步骤7;
(7)发送主机根据式(3)计算丢包率Ploss,根据式(4)平滑丢包率。如果Ploss大于MAC层丢包率门限值Th,则进入重传退避过程,回到步骤2;否则,直接丢弃需要重传的数据帧,释放信道;
(8)如果在规定的时间内收到ACK,表明数据帧发送成功,接收ACK周期计数器加1。
步骤3中的“根据退避算法选择一个退避时间”,这里的退避算法由下面的公式决定:
退避时间=[CW×random( )]×slottime
(1)
式中,CW是退避窗口,random()是(0,1)之间的一个随机数,?X」代表小于等于X的最大整数,slottime是时隙长度。
设W是退避窗口的初始值,m是退避级数,m∈[1,mmax],mmax是最大退避级数,则:
CW=W×2m-1,m∈[1,mmax]
(2)
退避窗口初始值W的默认值是32,m的默认值是6。如果是第一次进入退避过程,退避窗口CW采用的默认值32。如果是重传退避过程,退避窗口CW采用的值是由公式(2)计算出的新值。CW值的变化序列为32,64,128,256,512,102 4。
MAC层丢包率Ploss定义如下:
(3)
式中,NTransmittedDATA是当前节点MAC层发送数据帧的个数,NReceivedACK是当前节点MAC层发送数据帧后得到的确认ACK个数。MAC层丢包率Ploss受信道状况影响,显然信道状况较好时,MAC层丢包率较低,反之,MAC层丢包率较高。
由于延迟容忍网络链路变化剧烈,所以丢包率的值变化很大。为了平滑Ploss的值,根据如下的公式对Ploss平滑[5]:
Ploss=α×Ploss+(1-α)×PPloss
(4)
式中,α是(0,1)之间的任意值,Ploss是当前时刻丢包率,PPloss是上一帧发送时刻丢包率。
3 仿真与分析
对图2的网络情景进行仿真,分析MAC层丢包率和网络时延以及吞吐量的关系、网络负载和网络时延以及吞吐量的关系,其中各个节点之间链路误码率是动态变化的,且误码率很高。
图2 网络情景
本文采用NS2仿真平台[6],UDP协议,IEEE 802.11 DCF协议,节点2和节点3之间误码模型产生的误码率动态变化。CBR速率也是可变的,包长210 byte;节点之间的带宽为1 Mbit/s,平滑丢包率α为0.2,仿真时间50 s。仿真有MAC层退避重传的IEEE 802.11 DCF机制、在MAC层采取自适应重传机制和在MAC层无重传机制3种方案的性能。
3.1 MAC层丢包率与网络时延和吞吐量的关系
图2网络仿真情景中,节点2和节点3之间误码率是在1×10-2~9×10-2、1×10-3~9×10-3、1×10-4~9×10-4、1×10-5~9×10-5、1×10-6~9×10-65个不同数量级误码率下动态变化。5个不同数量级的误码率分别对应不同的网络时延和网络吞吐量。CBR速率448 kbit/s得到的网络时延结果取平均值,如图3所示;得到的网络吞吐量取平均值,如图4所示。
图3 MAC层不同误码率数量级下的平均网络时延
图4 MAC层不同误码率数量级下的平均网络吞吐量
图3和图4中,标记为方框的曲线是IEEE 802.11 DCF方案的性能,该方案记为方案1;标记为星号的曲线是自适应差错控制方案的性能,该方案记为方案2;标记为三角号的曲线是无重传的差错控制方案的性能,该方案记为方案3。从图3和图4可以得出如下结论:
(1)方案1平均时延最大。当误码率大于10-4时,方案2时延略大于方案3时延。 当误码率小于10-4时,方案2时延略小于方案3时延,方案2和方案3平均时延基本相当。随着MAC层误码率降低到10-6时,3种方案的平均时延趋于相同;
(2)方案1平均吞吐量最高,方案2的平均吞吐量次之,方案3的平均吞吐量最低。当MAC层误码率低于10-6数量级,3种方案的平均吞吐量趋于相同;
(3)方案2和方案3的网络时延基本一致,且均远远小于方案1的网络时延。对于对网络时延要求比较敏感、对丢包不太敏感的图像和语音业务,方案1表现较差,方案2和方案3都能在一定程度上满足这类业务的要求。但是方案2的平均吞吐量比方案3大,所以方案2更能适应这类业务的要求,即自适应差错控制方案更能适应这类业务的要求。
3.2 网络负载与网络时延和吞吐量的关系
仿真图2的网络情景,得到不同网络负载下的吞吐量和时延的关系。节点2和节点3之间MAC层误码率在1×10-2~9×10-2之间动态变化。网络负载取40 kbit/s的整数倍,取NS2仿真得到网络时延和网络吞吐量的平均值,结果如图5和图6所示。
图5 不同网络负载下的平均网络时延
图6 不同网络负载下的平均网络吞吐量
图5和图6中,标记为方框的曲线是IEEE 802.11 DCF方案的性能,该方案记为方案1;标记为星号的曲线是自适应差错控制方案的性能,该方案记为方案2;标记为三角号的曲线是无重传的差错控制方案的性能,该方案记为方案3。从图5和图6可以得出如下结论:
(1)方案1的平均时延最大,方案2的平均时延次之,方案3的平均时延最低。当负载低于300 kbit/s时,3种方案平均时延均低于正常时延,当网络负载高于300 kbit/s时,3种方案平均时延均在正常水平波动;
(2)方案1的平均吞吐量最大,方案2的平均吞吐量次之,方案3的平均吞吐量最低。3种方案在网络负载小于100 kbit/s时,吞吐量均小于正常水平,当负载大于100 kbit/s时,吞吐量达到正常水平;
(3)方案2随着负载的变化和节点之间误码率的动态变化,能够根据信道状况自适应地调整,当信道状况较好时,不需要进行数据帧重传,则它的时延比较靠近方案3的网络时延。反之,当信道状况不好时,需要进行数据重传,就增加了数据包端到端的时延,则此时网络时延靠近方案1。方案2能够根据信道的状况自适应地调整差错控制策略;
(4)方案1虽然网络负载较高,但是它的时延也较高,不适合对时延要求较高的业务。虽然方案3时延较低,但是它的平均吞吐量太低,同样也不符合这类业务的要求。方案2在吞吐量和时延上均折衷,能在一定程度上适应这类业务的要求,改善通信质量;
(5)当负载增大时,时延和吞吐量并没有发生剧烈的变化。由此可以看出,网络的吞吐量和时延与负载没有关系,而与信道质量有关。
综上所述,MAC层自适应差错控制方案能够在一定程度上改善对丢包不敏感、对时延比较敏感的业务性能。尤其在信道状况较差的网络环境中,自适应差错控制方案的优越性体现得越明显。
4 结束语
针对延迟容忍网络的特点,结合IEEE 802.11 DCF机制和MAC层没有重传退避机制的优点,本文提出一种基于MAC层丢包率的自适应差错控制方案。在一定程度上改善了对时延敏感的业务的性能,减少了中间节点的开销,降低了数据包的时延,减少了带宽不必要浪费。
参考文献:
[1] Fall F. A delay-tolerant network architecture for challenged internets[C]//Proceedings of ACM Special Interest Group of Communication(SIGCOMM).karlsruhe,Germany:[s.n.],2003.
[2] 樊秀梅, 单志广, 张宝贤,等. 容迟网络体系结构及其关键技术研究[J]. 电子学报, 2008, 36(1): 161-170.
FAN Xiu-mei,SHAN Zhi-guang,ZHANG Bao-xian,et al. State-of-the-Art of the Architecture and Techniques for Delay-Tolerant Networks[J]. Acta Electronica Sinica, 2008, 36(1): 161-170. (in Chinese)
[3] FARRELL, STEPHEN. Transmission protocols for challenging networks: LTP and LTP-T [C]// International Workshop In Satellite and Space Communications.France:IEEE,2007:145-149.
[4] 徐昌彪,隆克平.无线网络中差错控制与拥塞控制策略的分析[J].重庆邮电学院学报,2001,13(1):30-33.
XU Chang-biao,LONG Ke-ping.Analyses & Considerations about the policies of error controls and congestion controls in wireless networks[J].Journal of Chongqing University of Posts and Telecommunication,2001,13(1):30-33.(in Chinese)
[5] 温建伟, 戴琼海, 金以慧. 无线视频通信中信道自适应差错控制策略的研究[J]. 控制与决策, 2006, 21(10): 1153-1158.
WEN Jian-wei,DAI Qiong-hai,JIN Yi-hui. On Channel-adaptive Error Control Technique for Wireless Video Communication[J].Control and Decision,2006, 21(10): 1153-1158. (in Chinese)
[6] 于斌, 孙斌, 温暖,等. NS2与网络模拟[M]. 北京: 人民邮电出版社, 2007.
YU Bin,SUN Bin,WEN Ruan. NS2 and Network Simulation[M].Beijing:People′s Post & Telecomm Press,2007.(in Chinese)