MANET邻节点发现协议TND的OPNET实现及仿真

2016-06-02 03:09西安通信学院白冬林
电子世界 2016年9期

西安通信学院 白冬林 张 玮 李 晖



MANET邻节点发现协议TND的OPNET实现及仿真

西安通信学院 白冬林 张 玮 李 晖

【摘要】拓扑发现不仅是MANET组网需要解决的基本问题,也是路由协议工作的前提和基础。本文阐述了基于OPNET 仿真框架下,如何实现MANET网络中邻节点发现协议TND的开发。同时在此基础上以自由空间模型和双线地面反射模型为例建立场景,对比分析了两种模型下TND协议的性能表现,比较了其传输范围与发射功率之间的关系。

【关键词】MANET;TND;OPNET;Two-Ray

0 引言

MANET(Mobile Ad Hoc Network)也称作移动Ad hoc网络[1],它是由若干移动节点组成的一种具有动态性、多跳性和临时性的自组织网络。MANET网络中由于通信的双方往往不在彼此的通信范围内,故需要经过其他节点转发信息。这就要求节点在自组织形成网络时首先要检测它周围的邻节点,该过程称为拓扑发现过程。拓扑发现不仅是组网需要解决的基本问题,也是路由协议工作的前提和基础。TND协议就是一种用于在拓扑发现阶段实现邻节点发现的具体协议。

1 TND协议简介

TND协议是由IETF(Internet Engineering Task Force)组织提出的一种基于反向路径转发的拓扑发现协议(TBRPF)[2]的邻节点发现部分,该协议是一个独立于路由模块的邻节点发现协议,它可以被单独用来实现邻节点发现。因此,TND协议可以被其他的路由协议所使用。

1.1 TND协议

TND协议指出:如果在节点i的I接口与节点j的J接口之间存在一条双向链路(I,J),那么节点i可以快速的检测到邻节点j。同时该协议也可以快速的检测到一条双向链路的断开或变为单向。

TND协议的主要特点是它使用不同长度的HELLO包,而不同的HELLO包只报告该节点所获知的链路变化信息。这使得HELLO信息在大小上比其他的路由协议的HELLO信息包更小。因此,HELLO信息可以被更频繁的发送,从而更快速的检测到网络拓扑的变化。

1.2 参数设置

TND协议中所用到的参数以及建议的默认值(括号内标注)包括:HELLO_INTERVAL (1second), MAX_JITTER (0.1 second),NBR_HOLD_TIME (3 seconds), NBR_HOLD_COUNT (3),HELLO_ACQUIRE_COUNT (2)。

1.3 邻节点表

每个节点为每个本地接口I维护一张邻节点表,表中存储着在接口I从邻接口J接收到的HELLO信息.邻接口J的信息条目在接口I的邻节点表中包含若干变量。如:变量nbr_rid(I,J) 表示与接口J关联节点的路由器的ID;变量nbr_status(I,J)表示链路(I,J)现在的状态;变量nbr_life表示接口I当不再接收到接口J的HELLO信息包时,在将nbr_status(I,J)变为LOST之前保留J的信息的时间,等等。

2 OPNET仿真实现

OPNET是一款经典的网络建模和仿真工具。它强大的功能和全面性使它能够仿真几乎任何网络模型[3]。同时它出色的离散事件仿真引擎和便捷的图形化调试界面为MANET网络建模仿真提供了极大的便利[4]。

2.1 确定功能模块层次

通过TND协议可知,该邻节点发现协议是一个相对独立的模块,而如果在标准MANET节点模型中进行添加,我们有两种选择:第一,可以加在应用层——这样可以将邻节点发现协议作为应用层的一种业务模式,与其他业务一起运行,而将底层的模块看作黑盒子不进行处理;第二种,将协议加在MAC层,作为一种背景流直接参与运算。考虑到与正常业务流有可能会发生冲突或传输时碰撞的问题,为防止出现这样的情况,本文采用第一种方法,并将该TND模块作为一个等价于应用层的独立模块进行处理,修改后的节点模型如图1所示。

图1 修改后的MANET节点模型

2.2 定义HELLO包格式

如前所述,TND协议的主要特点是它使用不同长度的HELLO信息,而不同的HELLO信息只报告链路的变化信息。这使得HELLO信息比其他的链路路由协议更小。在本次仿真中所使用的HELLO信息包格式如图2所示。

其中,地址栏中的信息和地址栏的长度大小都不是固定的,而是随着邻节点表中的内容变化的,并且其中只记录链路变化信息。因此我们在将地址信息向包中写入时,要先对邻节点表进行一次筛选,找出其中的变化信息来。

图2 HELLO信息包的包格式

2.3 发包的处理过程

每一个节点在每一个HELLO_INTERVAL间隔,至少发送一个HELLO信息包。HELLO 信息包可以被更频繁的发送(比如为了更加快速的检测到拓扑信息的变化)。如果节点i的接口I重启,它所有的邻节点的信息将被丢失,此时节点i的每一个邻节点j都将须把链路(J, I)的状态设为LOST。

在仿真中,我们假设每个节点只有一个接口,并且将接口的地址设为节点的地址。发包时我们以典型值——HELLO_INTERVAL=1s,MAX_JITTER=0.1s进行设置。为保证仿真核心每隔一秒发送一次,仿真中我们使用regular中断来实现。

2.4 收包的处理过程

当一个节点收到一个HELLO信息包,它首先从IP 头中获得发送接口的IP地址。如果这个HELLO信息的TBRPF包头中有RID选项,那么发送节点的RID也将被获得,如果没有这个选项,那么它就等于收发送接口的IP地址。

在仿真中,当应用层接收到包时,首先执行judge( )判断函数,这是本文自己定义的一个用来判断该包是不是我们的HELLO包时所需要用到的一个函数,该函数首先将从包的0域中取出值,然后判断该值是否等于我们的HELLO包头,即是否等于1021013(如图2所示),如果等于则将转向状态record,执行收到HELLO包得相关操作。

3 仿真结果分析

在已建立的进程模型基础上,将进程模型引入节点中,建立场景进行仿真。本文以自由空间传播模型和双线地面反射模型为例,在固定场景条件下进行对比分析。

3.1 自由空间传播模型

首先我们以自由空间传播模型为例进行仿真。自由空间传播模型用于预测接收机和发射机之间是完全无阻挡的视距路径时的接收信号场强[5]。这种传播模型相对简单,可以作为理想状态下的传播模型使用。另外在OPNET中,信道的默认传播模型也为自由空间模型。本文以每秒输出一次的速率输出邻节点表中的内容,为保证所取场景拓扑图的一般性,下面给出自由空间模型中仿真时间为79秒的网络拓扑图,如图3所示。

图3 自由空间模型中仿真时间为79秒时的网络拓扑图

实验仿真中,在发射功率为5毫瓦,接收门限为-95dBm时,我们将发包间隔设为0.1秒。仿真结果显示,拓扑的最早发现为0.3秒,即算法的收敛性可达到0.3秒。而当发包间隔小于0.1秒时,将会发生网络阻塞,包不能再被正确发送,接收并处理,这是由于在发包时的随机抖动时间造成的。

图4 Two-Ray模式下仿真时间为79秒时的网络拓扑图

3.2 双线地面反射模型

在实际的MANET网络中,节点和节点之间以单一视距路径传播方式出现的情况只是多种传播方式的一种,接收机接收的信号往往来自不同的反射和折射路径。因此我们对自由空间传播模型稍加改进,引入双线(Two-Ray)地面反射模型[6]。该模型不仅考虑了视距传播的直接路径,而且考虑了发射机和接收机之间的地面反射路径。我们对双线地面反射模型的信道模型进行编写,并给出了此时网络拓扑的仿真结果,如图4所示。

3.3 两种模式的对比

由图3、图4对比可以发现,自由空间下距离较远的两个节点间的链路如(13,9),(14,6)等链路在双线模型中消失了,而单向链路如(12,1)也不存在了。在网络拓扑图中,单向链路是不稳定的链路;通常这些链路存在于两个距离较远的两个节点之间,即一个节点的发射功率刚刚可以满足达到另一个节点的时候,但是由于传播中的信号衰减,接收端的信噪比往往会比较小,从而造成误码的产生,当误码率高于接收门限时,接收端就不能正常接收到包,从而造成丢包,接收端则会认为丢失到这个邻节点。

下面我们在节点采用最大恒定传输功率的情况下,比较节点在两种传播模型下的最大通信距离以及所需要使用的功率。

图5 接收门限为-95dBm时的两种模式下的最小发射功率图

通过图5的功率图我们可以清楚地看到两种模式下,所需的最小发射功率与距离之间关系。由于自由空间模型的接收功率与距离的平方成反比例关系,而双线模型下,接收功率与距离的四次方成反比例关系,所以,当两个节点间的距离较小时,双线模型所需的最小发射功率要小于自由空间模型;而当两节点间的距离大于906米时,双径模型所需的最小发射功率将要大于自由空间模型。

4 结束语

本文对一种基于反向路径转发的拓扑发现协议的邻节点发现部分TND协议进行了深入研究,详细阐述了协议的OPNET实现过程,同时在此基础上以自由空间模型和双线地面反射模型为例建立场景进行仿真,对比分析了两种模型下TND协议的性能表现,比较了其传输范围与发射功率之间的关系,为其他路由协议如何更好的使用TND协议提供了参考。

参考文献

[1]李腊元,李春林.计算机网络技术[M].第2版.北京﹕国防工业出版社,2004.90~99.

[2]R.Ogier,M. Lewis,F.Templin.Topology Dissemination Based on Reverse-Path Forwarding (TBRPF).Mobile Ad-Hoc Networks Working Group,Internet-Draft.April 22,2003,draft-ietf-manet-tbrpf-08.txt.

[3]陈敏.OPNET网络仿真[M].第一版.北京﹕清华大学出版社,2004.4.

[4]王文博,张金文.OPNET Modeler与网络仿真[M].第一版.北京﹕人民邮电出版社,2003.10.

[5]叶霞,李俊山,张璟.移动自组网拓扑发现策略的分析研究[J].计算机应用研究,2010,5(5)﹕28.

[6]李瑞睿,郑相全,王靖.一种基于定向天线的邻节点发现算法[J].现代电子技术,2011,34(5)﹕36-30.

白冬林(1980-),男,硕士,西安通信学院讲师,研究方向:通信工程。

张玮(1977-),男,硕士,西安通信学院副教授,研究方向:通信与信息系统。

李晖(1979-),女,硕士,西安通信学院讲师,研究方向:通信工程。

作者简介: