• 最优化链路状态(Optimized Link State Routing)协议
  • 主动式路由协议

    特征

  • OLSR协议是经典链路状态算法的最优化版本,以满足移动无线局域网的要求

  • OLSR协议使用逐跳路由,即每个节点使用其本地信息为分组选择传输路由
  • OLSR协议中的主要概念是多点中继(MultiPoint Relay, MPR)
  • MPR是专门选定的节点,用于在泛洪过程中转发广播消息.

  • OLSR协议采用三种优化技术

  • 第一种优化是采用多点中继技术,在网络泛洪时只允许MPR节点转发广播消息,而不像经典泛洪机制那样每个节点重传其第一次接收到的每个消息,从而大幅度降低消息开销
  • 第二种优化就是只允许选作MPR的节点产生链路状态信息,因此在网络中泛洪的控制消息最少
  • 第三种优化是MPR节点可能选择只报告其自己与其MPR选择器之间的链路状态

  • 对比经典链路状态算法, OLSR协议的局部链路状态信息分布在网络中

  • OLSR协议使用这些局部链路状态信息计算路由,提供最佳路由(按照跳数来衡量)

  • OLSR协议是为MANET网络开发的

  • OLSR协议是表格驱动、主动式路由协议,即有规律地与网络中其他节点交换拓扑信息
  • 每个节点从其相邻节点中选择一组节点作为MPR
  • 在OLSR协议中,只有选作MPR的节点才负责转发控制消息,将控制消息传播到整个网络中
  • MPR提供一种高效的控制消息泛洪机制,减少了所要求的传输量

  • 选作MPR的节点还必须负责向网络中报告链路状态信息

  • 对OLSR协议提供到达所有目的节点的最短路径的唯一要求是, MPR节点声明其MPR选择器的链路状态信息
  • 也可以利用其他有效链路状态信息,比如冗余度信息

  • 已经被某些相邻节点选作MPR的节点周期性地在其控制消息中播发链路状态信息

  • 因此,一个节点向网络中播发已选择自己作为MPR节点的那些相邻节点与自己之间的可达性
  • 在计算路由的时候,利用各个MPR节点构成从一个给定节点到达网络中任何目的节点的路由
  • OLSR协议使用MPR来简化控制消息在网络中的有效泛洪

  • 节点从其一跳远范围内的对称( 即双向连接)相邻节点中选择MPR

  • 因此,通过MPR选择路由自动避免了有关在单向链路上传输数据分组的问题

    • (例如,无法接收到数据分组的一跳链路层应答,因为链路层采用这种技术进行单目标传输)
  • OLSR协议的操作独立于其他协议,对低层链路层未做任何假设

  • OLSR协议沿袭HIPERLAN的转发和中继概念
  • OLSR协议是在IPANEMA项目(欧几里德计划的一个组成部分)和PRIMA项目(RNRT 计划的一个组成部分)中开发出来的

    概述

  • OLSR协议继承了链路状态算法的稳定性

  • 由于OLSR协议的主动操作特性,所以OLSR协议在需要路由的时候能够立即得到路由
  • OLSR协议对经典链路状态协议作了优化,以便适用于MANET

  • OLSR协议只使用专门选定的MPR节点转发控制消息,从而使控制消息泛洪的开销达到最低程度

  • 这种技术大幅度地减少了将一条消息泛洪到网络中的所有节点所要求的转发次数
  • OLSR协议提供最短路径路由时只需要局部链路状态信息。所需要的链路状态的最小集合就是所有被选作MPR的节点必须广播到达其MPR选择器的链路

  • OLSR协议可以通过缩短周期性发送控制消息的最大间隔时间来优化对拓扑变化的反应

  • OLSR协议连续维护到达网络中所有目的节点的路由,因此有利于如下流量模式:一个大节点子集与另外一个大节点子集进行通信,并且[源节点,目的节点]对随着时间的流逝而发生变化

  • OLSR协议按照全分布式方式工作,不依靠任何中心实体

  • OLSR协议不要求控制消息的可靠传输
  • 每个节点周期性发送控制消息,因此能够支持某些控制消息的合理丢失
  • 这种消息丢失在无线网络中经常发生,这是由于碰撞或者其他传输问题的缘故

  • OLSR协议也不要求消息的按序交付

  • 每条控制消息包含一个序列号,对于每条消息其序列号增一
  • 因此,假如需要的话,一条控制消息的接收节点能够容易识别出哪个信息是最新的,即使各条消息在传输过程中被重新排序也是如此

  • OLSR协议提供诸如休眠方式操作、多目标路由等协议扩展支持

  • 可能需要给协议引入这些扩展能力,同时又能够向后兼容以前的版本

  • OLSR协议不要求对IP分组格式做任何改变。因此,在使用现有IP协议栈时,OLSR协议只需与路由表管理交互

    术语

  1. 节点(Node): 一个节点指一个实现和完成OLSR协议的MANET路由器
  2. OLSR接口(OLSR Inteface):指参与运行OLSR协议的MANET网络中的一种网络装置。一个节点可以有几个OLSR接口,每个OLSR接口分配有一个唯一的IP地址
  3. 非OLSR接口(Non OLSR Inteface):指一种网络装置,但是不参与运行OLSR协议的MANET网络。一个节点可以有几个非OLSR接口(无线的和/或者有线的)。来自非OLSR接口的路由信息可以注入到OLSR路由区域中
  4. 单OLSR接口节点(Single OLSR Inteface Node):指只有一个OLSR接口的节点,参与OLSR路由区域
  5. 多OLSR接口节点(Multiple OLSR Inteface Node):指含有多个OLSR接口的节点,参与OLSR路由区域
  6. 主地址(Main Address):表示一个节点的主地址,在OLSR控制消息传输中用作本节点发送的所有消息的“源节点地址(Originator Address)”。该地址就是本节点某个OLSR接口的地址。
    1. 单OLSR接口节点必须使用其唯一的OLSR接口地址作为其主地址
    2. 多OLSR接口节点必须选择其中一个OLSR接口地址作为其“主地址”(等效于“路由器识别码ID”或者“节点识别码ID”)
    3. 一个节点选择哪个地址并不重要,但是应该总是使用同一个地址作为其主地址。
  7. 相邻节点(Neighbor Node):假如节点Y能够接收到节点X发送的信息,那么节点X就是节点Y的一个相邻节点(即节点X的一个OLSR接口与节点Y的一个OLSR接口之间存在一条链路)
  8. 二跳相邻节点(2-Hop Neighbor):指能够被一个相邻节点接收的一个节点
  9. 严格二跳相邻节点(strict 2-Hop Neighbor):指一个二跳相邻节点,该节点既不是该节点本身,也不是该节点的一个相邻节点,而是该节点的一个相邻节点的一个相邻节点、其愿意设置不等于WILL_ NEVER (从不愿意为其他节点转发信息)
  10. 多点中继(MultiPoint Relay, MPR):指一个节点被其一个一跳相邻节点X选定,将其从节点X接收到的所有广播消息“重新广播”出去,但是要求该消息不是重复消息,并且其有效时间域的时间大于1
  11. 多点中继选择器(MultiPoint Relay Selector, MS):指一个节点已经选择其一个一跳相邻节点X作为多点中继,该节点叫做节点X的多点中继选择器
  12. 链路(Link): 一条链路是一对能够相互接收对方发送的OLSR接口,这两个OLSR接口属于两个不同的节点。当节点A的其中一个接口存在一条链路到达另一个节点B的其中一个接口时,就说节点A存在一条链路到达节点B
  13. 对称链路(Symmetric Link):指两个OLSR接口之间的一条已被证实的双向链路
  14. 非对称链路(Asymmetric Link):指两个OLSR接口之间的一条已被证实的单向链路
  15. 对称一跳相邻区域(Symmetric 1-Hop Neighborhood):任一节点X的对称一跳相邻区域是一组节点,该组节点至少存在一条对称链路到达节点X
  16. 对称二跳相邻区域(Symmetric 2-Hop Neighborhood):任一节点X的对称二姚相邻区域是一组节点(不包括节点X本身),该组节点存在一条对称链路到达节点X的对称一跳相邻区域
  17. 对称严格二跳相邻区域(Symmetric Strict 2-Hop Neighborhood):任一节点X的对称严格二跳相邻区域是一组节点(不包括节点X本身和其相邻节点),该组节点存在一条对称链路到达节点X的某个对称一跳相邻节点、其愿意设置不等于WILL NEVER

    适用性

  • OLSR是一个主动式MANET路由协议
  • 由于MPR在规模大、节点密度高的移动网络中表现良好,网络规模越大、节点密度越高,MPR优化的效果越好
  • 因此OLSR协议特别适用于规模大、节点密度高的移动网络
  • OLSR协议也非常适用于在较大的节点组之间进行随机、零星的传输,而几乎总是排斥在较小的特定节点组之间进行传输
  • OLSR协议作为一个主动式路由协议也适用于通信节点对随着时间的流逝而变化的场合
  • 在这种场合下,OLSR协议一直在为所有已知目的节点维护路由,因而不会产生额外的控制开销

    多点中继

  • 多点中继的思想是通过降低相同区域内的冗余重传而将消息在网络中的泛洪开销降低到最低程度

  • 网络中的每个节点N从其对称一跳相邻区域(任一节点N的对称一跳相邻区域是一组节点,该组节点至少存在一条对称链路到达节点N)中选择一个节点集(称为节点N的MPR集), 该相邻区域可能重传该节点N发送的消息
  • 不在节点N的MPR集中的那些相邻节点仍然接收和处理广播消息,但是不重传从节点N接收到的广播消息

  • 每个节点从其一跳对称相邻节点中选择其MPR集

  • 选出的MPR集覆盖(按照传输距离来衡量)全部对称严格二跳节点。节点N的MPR集表示为MPR(N),是节点N的对称一跳相邻区域的、满足以下条件的任意子集

    • 节点N的对称严格二跳相邻区域中的每个节点必须有一条链路到达MPR(N)
    • MPR集越小,OLSR路由协议的控制传输开销越低
  • 每个节点维护有关已经选择其作为MPR的相邻节点集的信息

  • 这个相邻节点集称为该节点的“多点中继选择器集”
  • 一个节点从其相邻节点周期性发送的HELLO消息中获取多点中继选择器集信息

  • 假定来自节点N的任意一个MPR选择器的、需要传播到整个网络中的一条广播消息被节点N重传,其前提是节点N迄今还未接收到这条广播消息

  • MRP集可能随着时间的流逝而变化(即当一个节点选择另外一个MPR集的时候),并且通过其HELLO消息中的选择器节点来说明