OLSR路由协议
概述
两种分组
路由发现与维护
算法步骤
链路感知
邻居侦听
MPR选择
拓扑建立
路由表的建立与维护
总结
概述
优化链路状态路由(Optimized Link State Routing)协议,即 OLSR 路由协议是一种平面拓扑的先验式路由协议(主动式路由协议)。
节点通过周期性地与自己的邻居节点交换分组信息来完成链路感知和邻居侦测过程,进而建立起自己的拓扑结构。并通过接收拓扑控制分组获知全网的拓扑信息,以此为依据计算出一张从自身节点到达全网各个节点传输路径的路由表。
当节点有通信需求时可以通过查询路由表获得所需的路由信息。
通过HELLO分组的周期性交互,执行链路检测、邻居发现的功能;
通过拓扑控制(TC)分组的周期性交互执行多点中继节点(MPR)信息声明功能;
最终以这些分组所建立起来的拓扑结构为基础,进行基于 MPR 的路由计算。
两种分组
OLSR 协议中主要用到两种分组格式,为 HELLO 消息和 TC 分组。
HELLO 消息主要用于链路感知、邻居侦听过程,节点之间通过交换 HELLO 消息建立自己的本地连接库、邻居信息库;
TC 分组为拓扑控制分组,用于节点建立拓扑信息库,然后据此计算节点到网络中每个目的节点的路由。
路由发现与维护
算法步骤
链路感知
每个节点都要探测与其邻节点间的链路,由于无线传播的不确定性,某些链路可能会被认为是单向的。因此,所有链路必须双向验证才被认为是可用的。可以双向交互的链路是对称链路,可以双向交互的两个节点是对称节点。
链路感知是通过 HELLO 分组的周期性交互实现的。本地链路信息表存储了该节点到邻居节点的链路信息。节点发送 HELLO 分组时,本地链路信息表作为消息的内容。节点收到 HELLO 分组,更新本地链路信息表。
邻居侦听
每个节点必须检测它与哪些邻节点间具有双向链路。HELLO 分组中携带了节点的邻节点信息和链路状态。HELLO 分组只在一跳范围内传输。通过 HEL