OLSR协议基本原理.pptx
《OLSR协议基本原理.pptx》由会员分享,可在线阅读,更多相关《OLSR协议基本原理.pptx(25页珍藏版)》请在冰点文库上搜索。
![OLSR协议基本原理.pptx](https://file1.bingdoc.com/fileroot1/2023-4/29/89f30613-7c30-4d80-93fd-5a122aaa09ae/89f30613-7c30-4d80-93fd-5a122aaa09ae1.gif)
2023年6月5日,OLSR协议,1,CONTENTS,1,4,2,3,协议简介,协议内容,仿真实现,2,结果分析,3,1,自组网,自组网(常用英文名为AdHocNetwork)也称为分组无线网或多跳网,是一组有收发功能的节点组成的网络,它不依赖于基础设施,是临时自组织的网络。
自组网具有自组织性、节点对等性、分布式控制、多跳网、临时性、拓扑结构动态变化、链路带宽有限等特点。
1,OLSR协议简介,4,1,自组网应用,1,OLSR协议简介,5,1,OLSR协议,1,OLSR协议简介,6,最优链路状态路由协议(OptimizedLinkStateRouting)特点:
多点中继节点(MPR)机制,优化泛洪算法,降低了协议的开销;先应式路由计算,查找路由时延小;最短路径,路由计算选择最短路径作为最优路径。
7,1,主要思想,2,OLSR协议内容,8,核心思想:
MPR(MultiPointRelay)机制分组格式:
HELLO分组、TC(TopologyControl)分组表格式:
邻居表、MPRSelector表、拓扑表、路由表算法描述:
邻居监听、MPR选择、生成控制信息、路由计算,1,2,OLSR协议内容,9,2.1OLSR协议核心MPR机制:
节点选择部分邻节点作为它的中继节点,只有被选择的中继节点转发节点的控制消息。
A,B,C,D,E,F,H,G,Q,P,N,M,L,K,J,I,MPR机制,A,B,C,D,E,F,H,G,Q,P,N,M,L,K,J,I,纯扩散机制,中继节点,1,2,OLSR协议内容,10,MPR机制,A,B,C,D,E,F,H,G,Q,P,N,M,L,K,J,I,中继节点,多跳范围内的消息转发仍然遵循MPR机制,1,2,OLSR协议内容,11,2.2.1HELLO控制分组,HELLO分组的作用是链路检测、发现邻居。
HELLO分组格式,MessageSeq.No:
HELLO分组的序列号。
由生成此分组的节点产生,用于区分不同的分组。
MPRSeq.No:
MPR的序列号。
用于区分新旧MPR信息。
LinkType:
链路类型。
有3种:
非对称(可听到的)链路,对称链路,列表中节点被选为MPR。
Reserved:
保留字段。
必为“00000000”。
LinkMessagesize:
本分组的大小。
NeighborAddress:
邻节点地址。
在同一链路类型后的邻节点列表与节点之间的链路类型是相同的。
1,邻居监听,2,OLSR协议内容,12,A,B,hello,hello,B邻居表,A邻居表,2.4.1发现邻节点和二跳邻节点,1,2,OLSR协议内容,13,A,B,hello2,B二跳邻居表,A邻居表,2.4.2发现邻节点和二跳邻节点,1,2,OLSR协议内容,14,2.2.2TC控制分组,TC分组的作用是声明MPR信息。
TC分组包含拓扑信息,节点通过该信息计算路由。
TC分组格式,MessageSeq.No:
TC分组序列号。
用来识别是否为重复接收的TC分组MSSN:
MPRSelector序列号。
与MPRSelector集合相对应,当MPRSelector集合有变化时,MSSN随之更新。
HopCount:
跳数。
TC分组转发的最大跳数,当为“0”时,不再转发。
OriginatorAddress:
生成该TC分组的节点地址。
Reserved:
保留字节。
必为“000000000000000000000000”。
MPRSelectorAddress:
多点中继选择节点地址。
该字段包含节点的多点中继选择节点的地址列表。
可以从我这到这些节点,1,2,OLSR协议内容,15,2.2.2TC控制分组,TC分组的作用是声明MPR信息。
TC分组包含拓扑信息,节点通过该信息计算路由。
网络中节点周期的发送TC分组,以声明自己的MPRSelector集,如果此节点没有被任何节点选作MPR,则它的MPRSelector集是空集,那么此节点不发送TC分组。
节点的TC分组需要扩散至整个网络中的每个节点,这是与HELLO分组不同之处。
HELLO分组只在产生HELLO分组的节点的一跳范围内传播。
1,2,OLSR协议内容,16,2.3.1邻居表,网络中每个节点从HELLO分组中得到其两跳以内的邻居的信息。
N_addr:
节点的一条邻居地址。
N_status:
节点与一条邻居之间链路的状态。
N_2hop_list:
通过一条邻居可到达的两跳邻居的列表,包含保持时间。
N_time:
每个邻居表条目的保持时间。
邻居表条目格式,1,2,OLSR协议内容,17,2.3.2MPRSelector表,节点为判断转发哪些控制消息,需要维护一张MPRSelector表。
此表包含节点的MPRSelector。
当接收到MPRSelector的控制分组,节点转发分组,否则不转发。
MS_addr:
MPRSelector节点地址。
MS_seq_num:
MPRSelector集的序列号。
用来区分MPRSelector集的新旧。
MS_time:
该MPRSelector集条目的保持时间。
如过期,删除该条目。
MPRSelector表格式,1,2,OLSR协议内容,18,2.3.3拓扑表,网络中的每一个节点维护一张拓扑表,记录从TC分组中得到的拓扑信息,并由此信息计算路由。
节点将网络中其他节点的多点中继信息作为拓扑条目记录在拓扑表中。
拓扑条目格式,此条目说明了T_dest已经选择T_last作为MPR,而且T_last已经发布了序列号为T_seq的MPRSelector集信息。
T_time作为保持时间,过期就删除该条目。
1,2,OLSR协议内容,19,2.3.4路由表,R_dest_addr:
目的节点地址。
R_next_addr:
下一跳节点的地址。
R_dist:
本节点到目的节点的跳数。
路由表格式,1,2,OLSR协议内容,20,2.4.3生成控制信息,网络中的节点根据收到TC分组构建拓扑表条目。
当接收到一个TC分组后,执行以下步骤:
(1)如果拓扑表中存在的条目T_last与接受到的TC分组初始发送节点地址相同,并且TC分组的MSSN值小于该条目T_seq,那么丢掉此分组。
(2)如果拓扑表中存在的条目T_last与接受到的TC分组初始发送节点地址相同,并且TC分组的MSSN值大于该条目T_seq,那么删除拓扑表中所有该T_last的条目,并且记录新的拓扑信息。
(3)如果拓扑表中不存在与接受到的TC分组初始发送节点地址相同的T_last条目,则在拓扑表中记录新的拓扑条目。
OLSR:
拓扑建立,1,2,OLSR协议内容,22,2.4.4路由计算,OLSR路由协议采用Dijkstra最短路径选路算法进行选路。
2,OLSR协议,OptimizedLinkStateRoutingProtocol,OLSR协议优点和局限,优点:
OLSR协议是一种先应式路由协议,具有查找路由时延小的优点。
OLSR协议采用MPR机制,只有MPR节点负责向全网泛洪TC控制消息,从而减少了协议开销。
OLSR路由协议采用Dijkstra最短路径选路算法进行选路。
缩减了控制分组的大小。
节点并不发布它与所有邻节点的链路状态信息,而是仅发布它和作为它的多点中继选择节点(MPRSelector)的邻节点的信息。
这就使分组的大小显著变小。
局限:
MPR机制只考虑覆盖度,忽略了链路质量的影响。
23,24,1,3,仿真实现,25,仿真工具:
omnet4.3.1,流程图,