基于SNR的OLSR协议链路质量优化算法的研究

时间:2022-10-23 06:39:48

基于SNR的OLSR协议链路质量优化算法的研究

摘 要 传统的OLSR路由协议不能提供高质量、高性能的通信链路,Ad Hoc网络的可靠传输受到影响。针对这一问题,以OLSR路由协议为基础,提出了一种基于信噪比SNR的OLSR路由协议链路质量优化算法。该算法以信噪比SNR作为选路代价,降低干扰,提高通信链路质量。仿真结果表明,所提出的算法能够有效地改善网络链路的质量,降低端到端的延时。

【关键词】Ad Hoc网络OLSR协议SNR先验式路由

1 引言

OLSR路由协议是由IETFMANET工作组提出的一种表驱动式的链路状态路由协议,MPR机制的使用是其主要特点。OLSR通过使用MPR机制减少了协议的开销,对路由协议进行了优化,它较传统的路由协议有两个明显的改进:

(1)有效地压缩了节点构造拓扑分组时的局部拓扑信息,大大减少了传输拓扑控制分组带来的网络开销;

(2)在保持广播效果相同的情况下降低了广播所带来的网络开销。但OLSR协议采用是ETX方法度量链路质量,并没有考虑节点所受到的干扰因素、网络负载以及包的传输速率,导致得到的路径并非最优节点。针对这些不足,本文提出了一种基于SNR的OLSR路由协议链路质量优化方案,以信噪比作为选路代价,评估出实时、准确的链路质量,从而选出稳定强健的路由。

2 ETX_FFETH链路质量算法

在无线网络中,高效、准确、实时而又稳定的链路质量估计是保证上层协议性能的基础,如路由协议选择通信质量高的链路进行数据传输,链路质量估计的准确性直接影响到路由协议的性能。在有线、无线混合网络中,OLSR协议中采用的是ETX_FFETH链路质量算法。

ETX_FFETH算法使用OLSR报文中的序列号来计算报文丢失率,它的的工作原理如下:

对于两个节点A和B,首先估计A-B的发送成功率为pf,B-A的发送成功率为pr,则报文丢失率计算公式如公式(1)所示。

p=1-pf*pf (1)

令s(k)表示报文经过k次重传后才能成功到达的概率,则S(K)的计算如公式(2)所示。

s(k)=pk-1*(1-p) (2)

最后,从节点A到节点B成功传输一个报文的期望传输次数的计算如公式(3)所示。

ETX=1/pf*pf (3)

该算法使用“滞后机制”来平滑LQ/NLQ的比较小的波动。如果从某个邻居节点完全收不到报文,则启动一个定时器开始逐渐降低LQ的值,直到接下来又从这个邻节点收到报文,或者该链路被完全丢弃掉。

为了区分有线链路和无线链路的,etx_ffeth引入了一个特殊的ETX值0.1,来表示没有丢包的有线链路。

3 ETX_FFETH算法改进

在实际应用环境中,并没有考虑节点所受到的干扰因素、网络负载以及包的传输速率,不同链路在低负载条件所得到ETX值可能会相同,而随着负载上升,所得到的ETX值又会发生明显变化,这就会造成在实际应用中,路由反复切换,从而导致协议性能明显下降。

针对上述问题,本文提出了一种基于信噪比的算法优化方案,其基本思想以信噪比作为选路代价,计算出ETX值在负载升高的情况下不会出现重大变化。

3.1 数据结构修改

在default_lq_ffeth中添加valueSNR,和valueNSNR字段,使其支持信噪比变量。修改前后的default_lq_ffeth结构如表1所示。

3.2 信噪比获取及Penalty转化

在改进后的协议中,将首先获取当前节点维护的邻居节点列表,针对每个邻节点,通过读取网卡硬件寄存器获得与该节点链路状态信息,将信息存入lq_iw80211_data数据结构中,并加入iw80211_list链表。

在获取到SNR信噪比信息后,通过penalty_snr=snr_to_quality(lq_data->snr)将SNR转化为Penalty,参考OLSR协议的signal_to_quality函数,可定义不同SNR与Penalty的对应关系如图1。

即当SNR大于等于80时,penalty为10,SNR大于等于70时,penalty为20,以此类推,这样penalty值就将分布在区间[10,255]内,将一一对应到区间[0,1]内。

最后,修改linkcost的计算公式,将信噪比代价加入整个链路代价计算中,得到linkcost的计算公式如公式(4)所示。

Linkcost(my_etx_ff)=SNR_Penalty+NSNR_Penalty (4)

4 算法验证

在OLSR协议中加入一个-dsnr参数,即在运行协议时有DNSR参数则运行新算法,没有DNSR参数运行原版算法。

此次验证采用3个节点,新算法验证拓扑图如图2所示。

将带宽上限抑制在10Mbps,测试节点1-节点3的路由,及使用iperf工具测试TCP连接平均吞吐量。

4.1 使用原版算法

使用原版算法时,其验证过程如图3所示。

此时观察节点1路由表信息,其结果如图4所示。

4.2 使用新算法

使用新算法时的验证过程如图5所示。

此时观察节点1路由表信息结果如图6所示。

4.3 两种算法结果比较

使用iperf工具分别测试两种算法下节点1―节点3的平均带宽,测试结果如图7所示。

从上面算法验证结果可以看出,改进的路由算法是有一定成效的,在有多条路由选择的情况下可以选择吞吐量更大的一条路由,从而决原始算法带来的吞吐量低、路由不稳定的问题。

5 结论

本文在OLSR路由协议的基础上,提出了一种基于SNR的OLSR路由协议链路质量优化算法。该算法在路由计算过程中综合考虑信噪比SNR对链接质量和性能的影响,从而优化了路由选择的效果,降低干扰,提高通信链路质量。实验结果表明,所提出的算法能够有效地改善网络链路的质量,降低端到端的延时。我们下一步研究工作的重点是将该算法扩展到多个信道上,以此来降低干扰,提高通信链路质量,并在实际环境中部署和评测该算法。

参考文献

[1]温怀玉,罗光春.无线Mesh网络链路认知OLSR路由协议[J].电子科技大学学报,2011(02):303-306.

[2]张莉华,魏长宝.基于可靠重传机制的无线网络数据广播算法[J].中国测试,2015,40(10):98-103.

[3]黄庭培,李栋等.突发性链路感知的自适应链路质量估计方法[J].通信学报,2012,33(6):30-39.

[4]黄帅,任佳敏.一种基于Android的OLSR路由协议实现方案[J].计算机技术与发展,2012,22(2):29-32.

[5]陈立,杨瑞娟.一种改进的高动态OLSR协议算法研究[J].无线电工程,2014(12):4-7.

作者简介

吴谨绎(1983-),男,江西省永新县人。韩国建国大学在读博士。研究方向为移动计算和机器人。

作者单位

1.韩国建国大学 韩国首尔143-7-1

2.中南林业科技大学 湖南省长沙市 410004

上一篇:中电信称4G用户达9100万 今年4G用户占比超80% 下一篇:基于EMD的穿墙雷达墙体回波抑制算法