卫星自组织网络路由协议的设计与实现
发布时间:2021-09-27 22:52
近年来,随着空天一体化的推进和航天任务的发展,微纳卫星成为航天领域的热门研究方向。受限于单体微纳卫星的性能限制,微纳卫星星群组网成为主要趋势。传统IP网络的路由协议无法适应微纳卫星自组织网络的需求,因此需要针对微纳卫星星群网络的特性改进已有的路由协议。经过多年的研究,地面自组织网络路由协议的发展较为成熟,其中先应式的无线自组网按需平面距离向量路由协议(Ad hoc On-Demand Distance Vector Routing,AODV)和后应式的优化链路状态路由协议(Optimized Link State Routing,OLSR)的应用最为广泛。首先,本文针对微纳卫星自组织网络,设计了一种轻量化的OLSR路由协议。此协议结合微纳卫星星群网络高动态、轨道可预测等特点,对已有的OLSR路由协议做了简化和适配,旨在为微纳卫星在轨任务提供高效可靠的信息通信保障。本文还搭建了OPNET仿真平台,导入了微纳卫星星群的轨道,对不同场景下的微纳卫星星群网络做了系统仿真。仿真实验证明了我们设计的轻量化OLSR路由协议在微纳卫星星群组网中表现出了优秀的网络性能及抗毁能力。然后,本文针对微纳卫星星...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:100 页
【学位级别】:硕士
【部分图文】:
单节点OLSR信息库结构图
?妒垦?宦畚?段:src,源节点地址;dst,目的节点地址;srcSN,源节点序列号;dstDSN,目的节点序列号。序列号反映当前已知路由信息的时效性。每个节点都维护一个独立的计数器计算自己的序列号,如RREQ消息中的srcSN表示源节点最新的路由时效;同时每个节点还会记录其节点的最新序列号,如RREQ消息中的dstDSN表示目的节点的路由时效。通过比较同一节点的不同序列号可以得知当前路由信息是否有效,比如收到RREQ消息的节点如果已有通向dst的路由信息,但该路由信息的序列号小于RREQ消息中的dstDSN,则放弃使用此路由信息。图2-2AODV协议数据交互示意图第二个是正向路由建立阶段,该阶段是RREQ消息不断传递直到找到可用路由信息或直接找到目的节点的阶段,为后面的反向路由建立阶段打下基础,对应图中绿色箭头标识的过程。对应图中情景1中,邻居节点N1就是目的节点D,正向路由建立阶段直接完成;情景2中,邻居节点N2中有通往目的节点D的现成路由表项且可用,则正向路由建立阶段完成;情景3中,当邻居节点未发现对应路由表项,或dsn序列号不是最新的时,继续转发广播RREQ消息,直到找到通向目的节点的路由或找到目的节点,正向路由建立阶段完成。这个阶段中,核心任务是找到目的节点或可用路由,通过RREQ消息广播来完成。判断中间节点的路由信息是否有效的依据是RREQ消息中的目的节点序列号,收到RREQ消息的节点如果已经有通向目的节点的路由,则比较该路由对应的序列号与RREQ消息中的目的节点序列号大小,在目的节点序列号表示的可接受范围内则可以使用此路由信息,触发后续反向路由建立阶段,如果不可用则继续广播RREQ消息。第三个是反向路由建立阶段,该阶段指的是当收到RREQ消息的节点中有可用的路由信息或找到目的节点之后,由最后的节点按路?
电子科技大学硕士学位论文3.1.1.2OLSR信息库的抽象数据结构针对OLSR协议的分布式表存储形式,在对表项进行拆分精简之后,需要对其中的关键信息进行数据结构重组。在周期性的HELLO消息、TC消息交互之后,每一个OLSR节点中都保存了以对称链路为边,以邻居节点为点的拓扑图,我们以存储图的数据结构为基础,扩展成对OLSR信息库的数据结构抽象,如图3-1所示。图3-1OLSR信息库的抽象数据结构示意图首先把对称链路抽象成结构体EdgeNode,结构体中包括链路对端的邻居节点地址adjAddr;链路权重weight;链路有效时间link_ValidTime;指向下一条链路的指针next。通过指针把相应节点的全部一跳链路以链表形式保存下来。把拓扑图中的其他卫星节点抽象成结构体VertexNode,结构体中包括数据体data;用于计算路由表时的上一跳地址fatherNode;还有本节点的周围对称链路,以链表形式保存,这里记录第一条对称链路的指针next。把拓扑图中所有节点信息整合为数据结构AdjList,结构体中包括所有已知节点的数量VertexNum;所有已知链路数量EdgeNum;以数组形式保存的各个节点信息即VertexNode类型的数组vertexnodes[MAX_VertexNum]以及每个节点对应的序列号数组ansn[MAX_VertexNum],其中MAX_VertexNum为卫星节点数量上限。把当前卫星节点的所有信息整合为结构体OLSRNode,其中包括本节点地址addr;HELLO消息发送周期Hello_Interval,TC消息发送周期TC_Interval;拓扑图中所有节点及链路信息保存成AdjList类型的结构体,并连接成链表;路由表保存成RouteTableList类型的链表,其中RouteTableList结构即一个保存所有节点下一跳路由地址的数组。20
本文编号:3410761
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:100 页
【学位级别】:硕士
【部分图文】:
单节点OLSR信息库结构图
?妒垦?宦畚?段:src,源节点地址;dst,目的节点地址;srcSN,源节点序列号;dstDSN,目的节点序列号。序列号反映当前已知路由信息的时效性。每个节点都维护一个独立的计数器计算自己的序列号,如RREQ消息中的srcSN表示源节点最新的路由时效;同时每个节点还会记录其节点的最新序列号,如RREQ消息中的dstDSN表示目的节点的路由时效。通过比较同一节点的不同序列号可以得知当前路由信息是否有效,比如收到RREQ消息的节点如果已有通向dst的路由信息,但该路由信息的序列号小于RREQ消息中的dstDSN,则放弃使用此路由信息。图2-2AODV协议数据交互示意图第二个是正向路由建立阶段,该阶段是RREQ消息不断传递直到找到可用路由信息或直接找到目的节点的阶段,为后面的反向路由建立阶段打下基础,对应图中绿色箭头标识的过程。对应图中情景1中,邻居节点N1就是目的节点D,正向路由建立阶段直接完成;情景2中,邻居节点N2中有通往目的节点D的现成路由表项且可用,则正向路由建立阶段完成;情景3中,当邻居节点未发现对应路由表项,或dsn序列号不是最新的时,继续转发广播RREQ消息,直到找到通向目的节点的路由或找到目的节点,正向路由建立阶段完成。这个阶段中,核心任务是找到目的节点或可用路由,通过RREQ消息广播来完成。判断中间节点的路由信息是否有效的依据是RREQ消息中的目的节点序列号,收到RREQ消息的节点如果已经有通向目的节点的路由,则比较该路由对应的序列号与RREQ消息中的目的节点序列号大小,在目的节点序列号表示的可接受范围内则可以使用此路由信息,触发后续反向路由建立阶段,如果不可用则继续广播RREQ消息。第三个是反向路由建立阶段,该阶段指的是当收到RREQ消息的节点中有可用的路由信息或找到目的节点之后,由最后的节点按路?
电子科技大学硕士学位论文3.1.1.2OLSR信息库的抽象数据结构针对OLSR协议的分布式表存储形式,在对表项进行拆分精简之后,需要对其中的关键信息进行数据结构重组。在周期性的HELLO消息、TC消息交互之后,每一个OLSR节点中都保存了以对称链路为边,以邻居节点为点的拓扑图,我们以存储图的数据结构为基础,扩展成对OLSR信息库的数据结构抽象,如图3-1所示。图3-1OLSR信息库的抽象数据结构示意图首先把对称链路抽象成结构体EdgeNode,结构体中包括链路对端的邻居节点地址adjAddr;链路权重weight;链路有效时间link_ValidTime;指向下一条链路的指针next。通过指针把相应节点的全部一跳链路以链表形式保存下来。把拓扑图中的其他卫星节点抽象成结构体VertexNode,结构体中包括数据体data;用于计算路由表时的上一跳地址fatherNode;还有本节点的周围对称链路,以链表形式保存,这里记录第一条对称链路的指针next。把拓扑图中所有节点信息整合为数据结构AdjList,结构体中包括所有已知节点的数量VertexNum;所有已知链路数量EdgeNum;以数组形式保存的各个节点信息即VertexNode类型的数组vertexnodes[MAX_VertexNum]以及每个节点对应的序列号数组ansn[MAX_VertexNum],其中MAX_VertexNum为卫星节点数量上限。把当前卫星节点的所有信息整合为结构体OLSRNode,其中包括本节点地址addr;HELLO消息发送周期Hello_Interval,TC消息发送周期TC_Interval;拓扑图中所有节点及链路信息保存成AdjList类型的结构体,并连接成链表;路由表保存成RouteTableList类型的链表,其中RouteTableList结构即一个保存所有节点下一跳路由地址的数组。20
本文编号:3410761
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3410761.html