传感网络数据传输的拥塞控制机制

2018-09-04 11:10
关键词:空闲吞吐量中断

陈 洋

(安徽新华学院 信息工程学院,合肥 230088)

无线传感器网络(Wireless Sensor Networks,WSN)在未经授权的频段上运行,使频段变得拥挤,而且由于静态频谱接入策略,当没有PU的通信活动时,就会发生频谱利用率不足等问题.认知无线电技术与机会式的频谱接入是一个有效的解决方案,能够提高WSN频谱利用率[1].由认知无线电传感器节点组成的专用无线传感器网络(WSN)被称为CRSN.在不存在PU的情况下,CR传感器节点可以使用空闲信道,并且在PU到达时它必须立即撤出信道,并且找到空闲信道或者等待信道被PU释放.CRSN提高了无线传感器网络的能量利用率,提高了通信的可靠性[2].TCP是传输层最常用的协议,最初是为有线网络开发的,它基于控制拥塞来控制流量.在无线网络中,由于拥塞或无线信道噪声,数据包可能会丢失,从而误导TCP错误地调整流量并降低吞吐量.由于CRSN的一些独特的特性(频谱感知,频谱改变以及频谱切换和频谱移动性),TCP性能会进一步恶化,这使得网络的吞吐量降低.

1 CRSN中TCP性能分析

本节分析在PU活动下SU的频谱变化情况.当检测到PU活动时,SU会停止数据传输,然后选择新的通道.TCP无法识别丢包的发生原因,不能有效地调整传输速率.SU停止数据传输或者SU的无线电模块工作在半双工模式时,TCP的性能就会下降.因此,在CRSN环境下,本研究提出新的TCP协议以适应CRSN的动态环境.首先,建立了一个分析模型来确定SUs的行为.在CRSN中对Sus中断概率进行了计算.假设有N个通道可用,每个通道有一个PU,PU的活动可以由两个ON/OFF状态的马尔可夫链建模[3].SU的活动分为感知和传输时间.它能感知信道是否被PU占用.如果发现了一个空闲信道,那么在运行期间,SU可以传输数据.假定对通道中PU的检测没有错误.本研究的网络是一种具有认知无线电能力的经典无线传感器网络.我们假设每个认知无线电频道至少有一个主要用户.当在通道中没有空闲通道,或者在通道上的PU存在时,SUs的传输就会被中断.因此,SU必须找到另一个空闲通道.

图1 信道模型的概率转移 (N=3)

2 中断概率影响因素分析

中断概率是利用状态转移矩阵来计算的,同时还考虑了SBL对网络性能的影响.图2是中断概率Pblock与到达率λp的关系.当PUs数据的到达率增大时,SUs被中断的概率也会增大.当信道的数量增加时,SU被中断的概率会降低.这是由于随着信道的增加,SU使用信道的机会也增加.

图3是Pblock和SU到达率λs的关系.通过增加SU的到达率,SU被中断的概率也增大了.因为当SU的流量增加时,访问空闲信道的竞争也增加了.随着信道数量的减少,将会有更多的信道被中断.

图2 中断概率Pblock与到达率λp的关系

图3 中断概率Pblock与到达率λs的关系

图4所示为中断概率Pblock与服务率μp的关系.根据图4的实验结果,如果服务率μp增大了,SU被中断的概率也就减少了.通过增加μp,PU占用的信道时间就变短了,因此SU使用信道的时间就更多了.图5是Pblock跟μs的关系.

图4 中断概率Pblock与服务率μp的关系

图5 中断概率Pblock与服务率μs的关系

3 拥塞控制模型

本节提出新模型通过跨层的方法来提高TCP吞吐量,当PU不活动时,SU可以使用信道来传输数据包.PU的活动可以建模为2个状态的马尔可夫过程模型,该过程有ON(开)和OFF(关)2个状态.PU使用信道的概率可以表示为PON,信道空闲的概率可以表示为POFF,计算公式如下:

图6 算法状态转移

图7 算法流程图

其中,α是信道空闲的时间,β是信道被占用的时间.

TCP的吞吐量降低是由于PU活动造成的.当PU到达时,在拥塞窗口之外的超时计时器(Retransmission Timeout,RTO)将会下降到1.当检测到PU活动时,TCP会因调整拥塞窗口而产生额外的延迟,而且还会使TCP传输速率降低.当PU到达信道时,SU必须离开信道,此时RTO就会超时.由于PU的存在,传统的拥塞控制算法会将拥塞窗口下降到1,但此时拥塞并没有发生.如果TCP能够检测数据包丢失和超时之间的区别,那么TCP吞吐量不会显著降低.

当RTO过期或检测到数据包丢失时,本研究提出的方法不会立即启动拥塞控制,因为数据包丢失可能会在PU出现时检测到.通过考虑由于PU活动造成的拥塞和数据包丢失之间的差异来调整传输速率.图6是本文算法的状态转移过程.

1)PU检测状态

2)拥塞状态

当拥塞发生时,TCP的吞吐量会根据Pblock来调整.

3)等待状态

如果数据包丢失是由于PU活动引起的,此时TCP的吞吐量不会下降.SU会处于等待状态,并重新寻找空闲信道.

4)正常状态

这是算法的默认状态,此时SU能够使用信道进行正常的数据传输.

图7是本文提出的新拥塞控制算法的流程图.源节点将数据包发送到目的地,并检测数据包丢失事件的发生.当包丢失发生时,算法计算Pblock,同时检查信道上的PU活动.如果检测信道被PU占用,则保存当前的TCP吞吐量,此时SU必须找到另一个空闲信道.但是,当数据包丢失是拥塞造成的时候,吞吐量就需要使用新的公式计算.

4 仿真实验

本节将在传感器网络环境下,通过NS2仿真模拟器,评估算法的性能.SU的吞吐量可以用如下的公式计算

其中,S是数据包的大小,Ploss是数据包丢失的概率.RTT是往返时延,其估计方式如下所示:

RTT=2Td+nTARQ*Nre+Ts+Taver

其中,Td表示数据包的传输时间,Nre是重传次数,TARQ是ARQ协议的延迟,Ts是信道的扫描时间,Taver是平均时延,计算方式如下:

图8 吞吐量对比结果

其中,Pf是误判的概率,Ti是信道扫描的间隔时间.本文算法、TCP New Reno[4]、TFRC-CR[5]和OHTP的吞吐量如图8所示.TCP New Reno无法区别拥塞导致的丢包和PU活动导致的丢包,因此吞吐量是最低的.除了TCP New Reno之外,其余的传输协议都能够识别PU活动.TFRC-CR检测丢包的反应比较慢,需要更长的时间来调整速率[6].因此,会影响到RTO值.OHTP的性能接近本文算法,但是该算法在基于速率的模式和基于窗口的模式切换会引起较大的开销.由此可知,本文的拥塞控制机制具有较好的性能.

5 结论

在本文中,我们研究了CRSN中的传输协议.从吞吐量的角度出发,探讨了CRSN性能退化的原因,将拥塞导致丢包和PU活动导致的丢包区别开来.在SU进行数据传输的过程中,如果检测到PU,SU传输就会被中断.检测由于PU活动导致的丢包对于计算最佳的吞吐量是非常重要的.为了区分由于拥塞和PU活动的数据包丢失,将SU动态频谱访问用离散时间马尔可夫链(DTMC)建模.通过对马尔科夫模型的研究,计算出SU被中断的概率.仿真实验的结果表明,该算法能获得较高的吞吐量,具有较好的性能.

猜你喜欢
空闲吞吐量中断
“鸟”字谜
西湾村采风
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
彪悍的“宠”生,不需要解释
跟踪导练(二)(5)
千里移防,卫勤保障不中断
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量