第27卷 第5期 武汉理工大学学报・信息与管理工程版 Vol .27No .52005年10月 JOURNAL OFWUT (I N FORMATI O N &MANAGE MENT ENGI N EER I N G ) Oct .2005文章编号:1007-144X (2005)05-0116-04
收稿日期:2005-05-15.
作者简介:孟芳兵(1977-),男,陕西宝鸡人,武汉理工大学信息工程学院硕士研究生.基金项目:教育部重点科技攻关资助项目(03120).
基于移动Ad Hoc 网络的OL SR 路由改进协议
孟芳兵
(武汉理工大学信息工程学院,湖北武汉430070)
摘 要:提出了一种改进的OLSR 路由协议,改进后的协议能根据本地网络拓扑结构自适应改变HE LLO 消息和TC 消息的发送频率。仿真结果表明,改进后的协议在网络吞吐量和数据传送成功率等性能上有明显提高。
关键词:移动Ad Hoc 网络;路由协议;OLSR;自适应改进中图法分类号:TP393 文献标识码:A
1 引 言
移动Ad Hoc 网络的概念出现于
20世纪70年代,近年来由于便携式设备在移动性、储存能力和无线通信能力等方面的迅速发展,使得不需要固定基站支持的Ad Hoc 网络得到了广泛应用。Ad Hoc 网可以在不能利用或不便利用现有网络
基础设施的情况下提供一种通信支撑环境,因此对于军用网有着特殊意义。另外它可用于偏远地区的援救系统,或者是需要快速扩展覆盖范围的网络,如大型建筑工地。在大型会议中与会者也可利用笔记本电脑或掌上电脑在Ad Hoc 网络环境下互相传递信息。
图1描述了一个简单的移动Ad Hoc 自治网络。
图1 移动Ad Hoc 网络示意图
可见,移动Ad Hoc 网络是一种无基站支持的多跳无线网络,具有高度动态变化的拓扑结构并且网络中各节点可任意移动,各移动终端利用无线技术传送数据包。由于无线传输覆盖范围的限制,网络中任意2个节点间可能不存在直接的通
信链路,因此分组需要网络中间节点的中转才能实现通信,这使网络中各节点具有别于常规网络的重要特点,即在Ad Hoc 网中,每个用户终端(每个节点)兼备路由器和主机2种功能。因此对路由的研究在移动Ad Hoc 网络中显得尤为重要。
2 OL SR 路由协议
OLSR 路由协议
[1]
是由I ETF MANET (Mobile
Ad Hoc Net w ork )工作组提出的一种表驱动式的
链路状态路由协议
[2]
,节点之间需要周期性地交
换各种控制信息,通过分布式计算来更新和建立自己的网络拓扑图,被邻节点选为多点中继站MPR (Multi point Relay )的节点需要周期性地向网络广播控制信息。控制信息中包含了把它选为MPR 的那些节点的信息(称为MPR Select or ),只有MPR 节点被用作路由选择节点,非MPR 节点不参与路由计算。OLSR 还利用MPR 节点有效地广播控制信息,非MPR 节点不需要转发控制信息。
OLSR 主要采用HE LLO 分组和T C 分组方式
控制分组。HELLO 用于建立1个节点的邻居表,其中包括邻居节点的地址以及本节点到邻居节点的延迟或开销,OLSR 采用周期性地广播HE LLO 分组来侦听邻居节点的状态,同时HELLO 分组用于计算该节点的MPR,HELLO 分组只在邻居节点范围内广播,不能被转发;与HELLO 分组方式相反,T C 分组必须被广播到全网,在TC 分组中包
第27卷 第5期 孟芳兵:基于移动Ad Hoc 网络的OLSR 路由改进协议
含了将发送T C 分组的节点选为MPR 的邻居节点的信息,节点根据收到的T C 分组来计算出网络的拓扑图。HE LLO 分组的邻居侦听方式如图2所示
。图2 HE LLO 分组的邻居侦听方式
邻居侦听的初始化阶段,当节点A 收到一个来自于邻居节点B 的HE LLO 分组,A 将B 放入自己的邻居集中,并将到B 的链路标记为非对称状态。在A 向B 发送HE LLO 分组时,在HELLO 分组中就包含有B 是A 的非对称状态的邻居节点的信息,当B 收到该HE LLO 分组时,B 就将在邻居集中将A 的状态更新为对称状态。同理,在B 向A 再次发送HE LLO 分组时,HELLO 分组中就包含了A 是B 的对称状态的邻居节点的信息,当A 收到该HELLO 分组时,A 就在邻居集合中将B 的状态更新为对称状态。
为了有效地进行TC 分组,在全网中的广播,同时考虑到无限链路带宽的局限性,又必须对广播分组数量进行控制,OLSR 不再采用传统的链路状态路由协议中的方法(每个节点的邻居节点都要转发T C 分组),而是在该节点的邻居节点中选择一部分节点来转发T C 分组,这些被选中的节点称为多点中继站(MPR )。在选择MPR 时,采用的方法是,源节点所发送的分组通过MPR 的中继能够达到所有的两跳邻居节点,若能够达到这个要求,则MPR 就能有效地进行T C 分组的转发。
在OLSR 路由协议中为了减少网络中控制信息的转发可以采用MPR (多点中继站)进行优化。MPR 优化方法如图3所示,图中标识了节点A 的邻居节点和两跳邻居节点,两跳邻居节点是指某节点的邻居节点的邻居节点且不包括该节点的邻居节点和该节点本身。
由图3描述的MPR 优化方式中,每个节点都要周期性地转发T C 分组,在TC 分组中就包含了
将该节点选为MPR 的邻居节点地址(称为MPR Select or ),当节点收到T C 分组时,首先判断自己是不是属于源节点的MPR,如果发现自己属于源节点的MPR,再根据TC 分组中的序列号来判断该T C 分组是否是最新的,如果是,则转发该TC 分组,否则丢弃该分组。通过MPR 机制来控制T C 分组在网络中广播的规模,减少控制分组给网络带来的负荷,同时避免形成广播风暴。为了压缩T C 分组的长度,通常在T C 分组中并没有包含源节点所有邻居节点的地址,而仅仅是其MPR select or 的地址,这些消息足以让网络中的各个节点形成网络拓扑图,这样可以根据最短路径优先[3]
原则计算路由表
。
图3 MPR 的邻居节点
3 自适应改进的OL SR 路由协议
OLSR 是一种表驱动的路由协议
[4]
,由于节
点的移动,网络结构就会发生变化,这样路由表项可能成为无效的。为了保证网络具有较好的性能必须及时对路由表进行更新。由此,对已有的OLSR 路由协议作了下面的自适应改进:
(1)统计网络中所有节点已发送但还没有得到接受方确认的分组个数packetnum ,针对该量设置上下2个门限值max 和m in;
(2)改变原始OLSR 中控制消息(HELLO 分组和TC 分组)发送速率恒定不变的机制,针对控制消息设置3种发送速率由快到慢的模式:nor 2mal s peed,faster s peed 和fastest s peed;
(3)用适当的时间间隔对packetnum 进行检测:
若packetnu m 若(max +m in )/2 若packetnum >max,说明网络性能较差。这 7 11