1、OLSR协议基本原理CONTENTS1423协议简介协议内容仿真实现结果分析21OLSR协议简介31自组网 自组网(常用英文名为Ad Hoc Network)也称为分组无线网或多跳网,是一组有收发功能的节点组成的网络,它不依赖于基础设施,是临时自组织的网络。自组网具有自组织性、节点对等性、分布式控制、多跳网、临时性、拓扑结构动态变化、链路带宽有限等特点。1OLSR 协 议 简 介41自组网应用1OLSR 协 议 简 介51OLSR协议1OLSR 协 议 简 介 最优链路状态路由协议(Optimized Link State Routing)特点:多点中继节点(MPR)机制,优化泛洪算法,降低了
2、协议的开销;先应式路由计算,查找路由时延小;最短路径,路由计算选择最短路径作为最优路径。6大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流72OLSR协议内容81主要思想2OLSR 协 议 内 容l核心思想:MPR(Multi Point Relay)机制l分组格式:HELLO分组、TC(Topology Control)分组l表格式:邻居表、MPR Selector表、拓扑表、路由表l算法描述:邻居监听、MPR 选择、生成控制信息、路由计算912OLSR 协 议 内 容2.1 OLSR协议核心协议核心
3、MPR机制:机制:节点选择部分邻节点作为它的中继节点,只有被选择的中继节点转发节点的控制消息。A AB BC CD DE EF FH HG GQ QP PN NMML LK KJ JI IMPR机制A AB BC CD DE EF FH HG GQ QP PN NMML LK KJ JI I纯扩散机制中继节点1012OLSR 协 议 内 容MPR机制A AB BC CD DE EF FH HG GQ QP PN NMML LK KJ JI I中继节点l多跳范围内的消息转发仍然遵循MPR机制1112OLSR 协 议 内 容2.2.1 HELLO 控制分组控制分组 HELLO分组的作用是链路检测、
4、发现邻居。HELLO分组格式lMessage Seq.No:HELLO分组的序列号。由生成此分组的节点产生,用于区分不同的分组。lMPR Seq.No:MPR的序列号。用于区分新旧MPR信息。lLink Type:链路类型。有3种:非对称(可听到的)链路,对称链路,列表中节点被选为MPR。lReserved:保留字段。必为“00000000”。lLink Message size:本分组的大小。l Neighbor Address:邻节点地址。在同一链路类型后的邻节点列表与节点之间的链路类型是相同的。121邻居监听2OLSR 协 议 内 容ABhellohelloB邻居表A邻居表2.4.1 发
5、现邻节点和二跳邻节点发现邻节点和二跳邻节点1312OLSR 协 议 内 容ABhello2B二跳邻居表A邻居表2.4.2 发现邻节点和二跳邻节点发现邻节点和二跳邻节点1412OLSR 协 议 内 容2.2.2 TC 控制分组控制分组TC分组的作用是声明MPR信息。TC 分组包含拓扑信息,节点通过该信息计算路由。TC分组格式lMessage Seq.No:TC 分组序列号。用来识别是否为重复接收的TC分组lMSSN:MPR Selector 序列号。与MPR Selector 集合相对应,当MPR Selector 集合有变化时,MSSN 随之更新。lHop Count:跳数。TC分组转发的最大
6、跳数,当为“0”时,不再转发。lOriginator Address:生成该TC分组的节点地址。lReserved:保留字节。必为“00”。lMPR Selector Address:多点中继选择节点地址。该字段包含节点的多点中继选择节点的地址列表。1512OLSR 协 议 内 容2.2.2 TC 控制分组控制分组 TC分组的作用是声明MPR信息。TC 分组包含拓扑信息,节点通过该信息计算路由。网络中节点周期的发送TC分组,以声明自己的MPR Selector 集,如果此节点没有被任何节点选作MPR,则它的MPR Selector 集是空集,那么此节点不发送TC分组。节点的TC分组需要扩散至整
7、个网络中的每个节点,这是与HELLO分组不同之处。HELLO分组只在产生HELLO分组的节点的一跳范围内传播。1612OLSR 协 议 内 容2.3.1 邻居表邻居表网络中每个节点从HELLO分组中得到其两跳以内的邻居的信息。lN_addr:节点的一条邻居地址。lN_status:节点与一条邻居之间链路的状态。lN_2hop_list:通过一条邻居可到达的两跳邻居的列表,包含保持时间。lN_time:每个邻居表条目的保持时间。邻居表条目格式1712OLSR 协 议 内 容2.3.2 MPR Selector 表表 节点为判断转发哪些控制消息,需要维护一张MPR Selector 表。此表包含节
8、点的MPR Selector。当接收到MPR Selector 的控制分组,节点转发分组,否则不转发。lMS_addr:MPR Selector节点地址。lMS_seq_num:MPR Selector 集的序列号。用来区分MPR Selector 集的新旧。lMS_time:该MPR Selector 集条目的保持时间。如过期,删除该条目。MPR Selector 表格式1812OLSR 协 议 内 容2.3.3 拓扑表拓扑表网络中的每一个节点维护一张拓扑表,记录从TC分组中得到的拓扑信息,并由此信息计算路由。节点将网络中其他节点的多点中继信息作为拓扑条目记录在拓扑表中。拓扑条目格式 此条目
9、说明了T_dest已经选择T_last作为MPR,而且T_last已经发布了序列号为T_seq的MPR Selector 集信息。T_time作为保持时间,过期就删除该条目。1912OLSR 协 议 内 容2.3.4 路由表路由表lR_dest_addr:目的节点地址。lR_next_addr:下一跳节点的地址。lR_dist:本节点到目的节点的跳数。路由表格式2012OLSR 协 议 内 容2.4.3 生成控制信息生成控制信息网络中的节点根据收到TC分组构建拓扑表条目。当接收到一个TC分组后,执行以下步骤:(1)如果拓扑表中存在的条目T_last与接受到的TC分组初始发送节点地址相同,并且T
10、C分组的MSSN值小于该条目T_seq,那么丢掉此分组。(2)如果拓扑表中存在的条目T_last与接受到的TC分组初始发送节点地址相同,并且TC分组的MSSN值大于该条目T_seq,那么删除拓扑表中所有该T_last的条目,并且记录新的拓扑信息。(3)如果拓扑表中不存在与接受到的TC分组初始发送节点地址相同的T_last条目,则在拓扑表中记录新的拓扑条目。21OLSR:拓扑建立2212OLSR 协 议 内 容2.4.4 路由计算路由计算lOLSR路由协议采用Dijkstra最短路径选路算法进行选路。232OLSR协议Optimized Link State Routing ProtocolOLSR协议优点和局限优点:lOLSR协议是一种先应式路由协议,具有查找路由时延小的优点。lOLSR协议采用MPR机制,只有MPR节点负责向全网泛洪TC控制消息,从而减少了协议开销。lOLSR路由协议采用Dijkstra最短路径选路算法进行选路。l缩减了控制分组的大小。节点并不发布它与所有邻节点的链路状态信息,而是仅发布它和作为它的多点中继选择节点(MPR Selector)的邻节点的信息。这就使分组的大小显著变小。局限:lMPR机制只考虑覆盖度,忽略了链路质量的影响。243仿真实现25