随着网络技术和通信技术的蓬勃发展,如何在硬件条件不具备的情况下研究大规模网络,如何快速设计。实现。分析新的协议和算法,如何比较新老系统和算法而不必花费巨资建立实际系统等问题日益成为网络研究者关注的焦点。近年来,盛行的方式是通过计算机软件对网络协议。网络拓扑。网络性能进行模拟分析。采用这种网络仿真的研究方法,降低了成本,研究方法灵活可靠,提高了研究效率。现在主流的网络仿真工具主要有:OPNET,QualNet,NS-2.OPNET是商业软件,软件所提供的模型库比较有限,而且主要集中于路由仿真。QualNet也是一款商业软件,弱化了网络分层的概念。NS-2的内容比较庞杂,各模块间的协同及耦合不便于系统扩展。为此,在广泛汲取现有网络模拟器的成功经验基础上,美国华盛顿大学Thmos R. Henderson教授及其小组研发了一款极具特色的新型网络仿真器——NS-3.相比其他网络仿真工具,NS-3是一款开源软件,在多网卡处理和IP寻址策略方面表现出更好特性,同时,NS-3的架构也相对更明了清晰,代码不需做很大修改就可直接移植到真实网络节点上,此外,研究者可根据自身需求进行任意拓展。
1 MANET路由协议分析
移动无线自组织网络(MANET)是一种无中心。自组织的分布式多跳网络,MANET以其固有特点在某些特殊场景(如:救灾。战争等)中得到了广泛运用。路由协议的好坏直接影响到整个网络性能的优劣。这里简要介绍MANET中应用比较广泛的3种平面路由协议。DSDV(Destination-Sequenced Distance Vector)是一种表驱动路由协议,它是在传统的距离矢量DV算法基础上改进设计的,同时也被称为消除环路的Bellman-Ford路由算法。DSDV算法中每个节点都维护一张到达全网可达目的节点的路由表。相比DV算法,DSDV最大的区别是路由中增加了目的系列号(Sequence Number)字段,通过序列号来区别新旧路由信息。节点将收到新路由信息和当前路由信息比较,选择序列号较大的路由记录来更新路由表。若两者序列号相同,则选择跳数较小者。此外,全网节点要求周期性广播路由包来进行路由维护。AODV(Ad Hoc On-Demand Distance Vector)是一种源驱动的路由协议[5],是DSR协议结合了DSDV中的按需路由机制设计出来的。节点在发送数据包时,首先查找自己路由表是否有到达目的节点的路由信息,若有,则直接按照路由信息发送;若没有,则执行路由发现过程。节点广播路由请求包RREQ给自己邻居,邻居收到RREQ包后查询自己路由表是否有到达目的节点路由信息,若有或本身就是目的节点,则将路由信息添加到路由应答包RREP,并将其反馈给源节点;若没有,再将RREQ转发给自己所有的邻居。依次类推,直到到达目的节点或中间节点存在到达目的节点的路由。
OLSR(Optimized Link State Routing)是一种优化的链路状态路由协议,类似其他表驱动路由协议,节点需要周期性交互网络路由信息。被邻居节点选作中继节点(Multi Point Telay,MPR)的节点周期性向网络广播控制信息分组,分组中包括将它选作MPR的那些节点的信息,以告诉网络中其他节点与这些节点之间相连。而且,只有MPR节点才能够作为路由节点,其他非MPR节点不参与路由计算,也不需转播控制信息。OLSR协议中主要通过HELLO和TC(Topological Control)两种控制消息来感知广播拓扑。通过HELLO消息实现链路侦测。邻居侦听,以此建立节点的本地链路信息表,同时用于向邻居节点通告本节点的多点中继MPR节点的选择;TC消息负责执行MPR Selector链路状态声明,使得每个节点都能够感知全网拓扑结构。最终,节点根据本地链路信息库和拓扑集合中的信息,采用Dijkstra算法根据路径最短的原则计算路由表。