协议组成
- OLSR协议包括一个“内核”功能模块和一个辅助功能模块,内核功能模块对于OLSR操作总是需要的
- 根据其功能,内核详细说明一个协议能够为一个独立的MANET网络提供路由
- 每个辅助功能提供其他适用于特定情形的功能,比如一个节点正在提供本MANET网络和另外一个路由区域之间的连接
- 所有辅助功能都是兼容的,在一定程度上任何辅助功能集(子集)可以使用内核模块来实现
- OLSR协议允许网络中存在不同类型的节点,即实现不同的辅助功能子集的节点
将OLSR协议的功能划分成内核功能和辅助功能集是为了提供一一个简单且易于理解的协议,以及提供一种只增加复杂性的方法来提供所需要的其他特定功能
内核功能
OLSR协议的内核功能详细说明节点(配置有OLSR接口且加入MANET网络,运行OLSR协议)的操作情况
其中包括OLSR协议消息及其在网络中的传输、链路探测、拓扑传播、路由计算的通用规范
OLSR协议内核由以下部分组成:
- 分组格式与分组转发。分组格式、泛洪优化机制的通用规范作为所有OLSR控制通信的传输机制。
- 链路探测。通过周期性往接口上发送HELLO消息来实现链路探测,并且据此检查连通性。为每个接口单独产生和发送HELLO消息。链路探测得到的是一个本地链路集,该集合描述了“本地接口”与“远端接口” (即相邻节点的接口)之间的链路。假如链路层提供足够的信息,那么这些信息可以用来替代HELLO消息交换而构成本地链路集。
- 相邻节点的探测。假定一个网络的组成节点只有一个接口,那么节点可以从链路探测交换的信息中直接得到相邻节点集:根据定义,单接口节点的“主地址”就是该节点的唯一的那个接口的地址。在多接口节点的网络中,需要额外的信息将接口地址映射为主地址(并由此映射到节点)。通过多接口声明(Multiple Interface Declaration, MID) 消息来获得这些额外的信息
- MPR选择和MPR信令。选择MPR的作用是为了让一个节点选择其相邻节点的一个子集,使得子集中的相邻节点转发的广播消息能够被二跳远以外的所有节点所接收到。计算得到的一个节点的MPR集对于每个接口均满足这个条件。计算MPR集所需要的信息通过周期性交换的HELLO消息来获取。
- 拓扑控制(Topology Control, TC) 消息的传播。广播拓扑消息是为了给网络中的每个节点提供计算路由所需要的足够多的链路状态信息。
路由计算。假定给定节点的接口配置,以及通过周期性消息交换获取链路状态信息,那么就能够计算出每个节点的路由表
-
辅助功能
除了OLSR协议的内核功能以外,还存在需要其他功能的情形
- 其中包括这样的情形:一个节点有多个接口,其中若千个接口参与另外的路由算法区域;网络硬件接口设计按照链路层通知的形式提供额外的信息;要求以协议开销为代价提供冗余拓扑信息。
- OLSR协议的辅助功能包括非OLSR接口、链路层通知、高级链路探测、冗余拓扑、冗余MPR泛洪
- 假如需要某种辅助功能特征,则应该按照相应规定提供