一种Ad Hoc网络的二层路由方法技术

技术编号:10220042 阅读:137 留言:0更新日期:2014-07-16 19:36
一种Ad Hoc网络的二层路由方法,包括:第一步,Ad Hoc网络进行初始化;第二步,网络中节点运行Hello协议;第三步,节点利用两跳范围内的邻居信息选举出负责转发路由信息的指定节点,然后非指定节点选择自己的父节点;第四步,节点进行链路状态更新;第五步,每个节点在链路状态数据库更新后,按照最短路径算法,计算出到达网络中其他节点的最短路径和相应的路由表。本发明专利技术避免了在网络层对路由包的封装;减少了网络中路由开销。

【技术实现步骤摘要】
—种Ad Hoc网络的二层路由方法
:本专利技术涉及无线通信
,具体是一种Ad Hoc (无线自组织多跳移动通信网络)网络的二层路由方法。
技术介绍
:Ad Hoc网络是一种自组织、无中心、无基础设施、多跳的无线网络。Ad Hoc网络中的每个节点既是移动主机,又是路由器。当某个节点需要与其无线通信覆盖范围外的节点通信时,可借助其通信覆盖范围内的节点进行转发,故Ad Hoc网络也被称为多跳网络。正是由于Ad Hoc网络存在着上述特点,其重点和难点就在于网络路由协议的设计。Ad Hoc网络的路由协议主要分为两大类:先验式(proactive)路由协议和按需(on-demand)路由协议。先验式路由协议又被称为表驱动路由协议,运行这种协议的节点维护一张包含了到达网络中其他节点的路由信息的路由表。当检测到网络拓扑结构发生变化时,节点发送更新消息,收到更新消息的节点更新自己的路由表,通过这样的方式来保证一致的、及时的、准确的路由。这种路由协议的优点在于当节点需要发送报文到某个目的节点时,可以通过路由表立刻获取路由信息,因此时延较小。但这种协议的缺点在于开销太大,为了维护网络中所有节点的路由表中的路由信息的一致、及时、准确,节点需要在网络拓扑发生变化时或周期性地发送更新消息,这在网络拓扑结构发生频繁变化时会造成很大的开销。而且,大部分路由协议在发送更新消息时采取的是泛洪(flooding)方法,这种方法也会造成极大开销。按需路由协议不需要像先验式路由那样实时维护每个节点的路由表。当源节点需要目的节点发送报文时,源节点发起路由查找过程,发送路由查询消息,收到路由查询消息的节点转发该消息给其他节点直至到达目的节点,目的节点再反馈给源节点,从而完成路由查找过程。按需路由协议的优点是开销较小,缺点是数据报文传送的时延较大。链路状态路由协议是先验式路由协议的一种。在论文“Optimized link staterouting protocol for ad hoc networks”中,作者提出一种链路状态路由协议,该协议通过收集节点发送的链路状态信息,完成网络中所有节点的链路状态信息的汇总,然后计算路由。链路状态路由协议能够通过汇总的链路状态信息创建网络拓扑结构,具有快速收敛等优点,但链路状态数据包的泛洪会造成较大开销。Ad Hoc网络的协议栈分为五层:物理层、数据链路层、网络层、传输层、应用层,现有的Ad Hoc网络路由协议几乎都设计运行在协议栈的第三层即网络层,这就导致路由包需要在网络层进行封装,即添加IP报头。在无线信道资源非常宝贵的情况下,路由包封装增加了开销。
技术实现思路
:针对现有Ad Hoc路由协议存在的问题,本专利技术提出一种能够有效减少网络中路由开销的二层路由方法,该方法通过将路由协议设计运行在Ad Hoc网络协议栈第二层即数据链路层上,避免了在网络层对路由包的封装;并且,在网络中选举出负责转发路由信息的指定节点,而其他节点则只需要转发路由信息给自己对应的父节点,父节点为指定节点,因此减少了网络中路由开销。本专利技术是通过以下技术方案实现的:本专利技术提供一种能够有效减少路由开销的Ad Hoc网络二层路由方法。该方法属于先验式路由。路由协议运行在数据链路层上,避免了在网络层对路由包的封装。并且,通过在网络中选举出负责转发路由信息的指定节点的方法,有效减少路由开销。具体包括如下步骤:第一步,Ad Hoc网络进行初始化,包括以下步骤:A.给Ad Hoc网络中所有节点分配唯一的MAC地址;B.网络中所有节点完成邻居节点发现过程;C.网络中所有节点初始化链路状态数据库。第二步,节点运行Hello协议。网络中所有节点周期性地发送Hello包给自己的邻居节点,Hello包中含有该节点的一跳范围内邻居信息。节点收到来自一跳范围内所有邻居节点的Hello包后,就获得了节点本身两跳范围内的邻居信息。若收到的Hello包反映出节点两跳范围内的网络拓扑结构发生变化,则跳至第三步。第三步,节点利用两跳范围内的邻居信息选举出负责转发路由信息的指定节点,然后非指定节点选择自己的父节点。每个节点根据本身掌握的两跳范围内的邻居信息决定本身是否成为指定节点。完成该过程后,更新自己的状态并发送Hello包,表明自己为指定节点。非指定节点从自己的一跳范围内邻居中选择一个指定节点作为自己的父节点。第四步,节点采用周期性更新与触发式更新相结合的方式进行链路状态更新,SP当节点的链路状态发生变化时进行触发式更新,而当节点的链路状态没有发生变化时采用周期性更新。通过这种周期性更新与触发式更新相结合的方式维护网络中链路状态信息的及时、准确、一致。链路状态更新通过发送链路状态更新包(LSA)实现。LSA中包含节点自身的邻居信息及相应的链路状态信息。非指定节点将自己产生的LSA发送给自己的父节点,父节点收到LSA后转发给自己一跳范围内所有其他子节点和指定节点,指定节点收到LSA后再转发给自己的子节点和邻居指定节点;指定节点将自己产生的LSA发送给一跳范围内所有子节点和指定节点,指定节点收到LSA后再转发给自己的子节点和邻居指定节点。通过以上过程,网络中所有节点获取了所有其他节点的邻居信息及相应的链路状态信息,即每个节点都有一个一致的链路状态数据库。第五步,每个节点在链路状态数据库更新后,按照最短路径算法,计算出到达网络中其他节点的最短路径和相应的路由表。与现有技术相比,本专利技术的有益效果是将路由协议设计运行在Ad Hoc网络协议栈第二层即数据链路层上,避免了在网络层对路由包的封装,减少了流量开销;在网络中选举出负责转发路由信息的指定节点,而其他节点则只需要转发路由信息给自己对应的父节点,因此避免了路由信息的泛洪,减少了网络中路由开销。【附图说明】:图1 二层路由Hello协议及指定节点选举和非指定节点选择父节点流程图。图2非指定节点链路状态更新及路由计算流程图。图3指定节点链路状态更新及路由计算流程图。图4 二层路由样例示意图。【具体实施方式】:下面结合附图和具体实施例对本专利技术进行详细说明。本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。实施例本实施例包括以下步骤:第一步,Ad Hoc网络进行初始化,包括以下步骤:A.给Ad Hoc网络中所有节点分配唯一的MAC地址。B.网络中所有节点完成邻居节点发现过程;C.网络中所有节点初始化链路状态数据库,链路状态数据库的内容包括网络中所有链路的状态,每条链路的状态包括链路两端的节点ID,链路的质量等,初始化时,链路状态数据库为空。如图4所示,网络中有20个节点,分别分配MAC地址为0、1、2、...、19。图4中双向箭头表不两节点之间是邻居关系。第二步,节点运行Hello协议。网络中所有节点周期性地发送Hello包给自己的邻居节点,Hello包中含有节点自身ID,节点的状态,一跳范围内邻居节点ID。节点收到来自一跳范围内所有邻居节点的Hello包后,就获得了节点本身两跳范围内的邻居信息。若第一次收到一跳范围内所有邻居节点的Hello包或者收到的Hello包反映出节点两跳范围内的网络拓扑结构发生变化,则跳至第三步,否则,节点继续本文档来自技高网
...

【技术保护点】
一种Ad Hoc网络的二层路由方法,其特征在于,该方法包括如下具体步骤:第一步,Ad Hoc网络进行初始化,具体包括给Ad Hoc网络中所有节点分配唯一的MAC地址,网络中所有节点完成邻居节点发现过程,网络中所有节点初始化链路状态数据库;第二步,网络中节点运行Hello协议,直至节点收到的Hello包反映出该节点两跳范围内的网络拓扑结构发生变化;第三步,节点利用两跳范围内的邻居信息选举出负责转发路由信息的指定节点,然后非指定节点选择自己的父节点;第四步,节点进行链路状态更新;第五步,每个节点在链路状态数据库更新后,按照最短路径算法,计算出到达网络中其他节点的最短路径和相应的路由表。

【技术特征摘要】
1.一种Ad Hoc网络的二层路由方法,其特征在于,该方法包括如下具体步骤: 第一步,Ad Hoc网络进行初始化,具体包括给Ad Hoc网络中所有节点分配唯一的MAC地址,网络中所有节点完成邻居节点发现过程,网络中所有节点初始化链路状态数据库; 第二步,网络中节点运行Hello协议,直至节点收到的Hello包反映出该节点两跳范围内的网络拓扑结构发生变化; 第三步,节点利用两跳范围内的邻居信息选举出负责转发路由信息的指定节点,然后非指定节点选择自己的父节点; 第四步,节点进行链路状态更新; 第五步,每个节点在链路状态数据库更新后,按照最短路径算法,计算出到达网络中其他节点的最短路径和相应的路由表。2.根据权利要求1所述的AdHoc网络的二层路由方法,其特征在于,第二步所述的Hello包包含该节点的ID、节点的状态和一跳范围内邻居节点ID ;节点收到来自一跳范围内所有邻居节点的Hello包后,获得节点本身两跳范围内的邻居信息。3.根据权利要求1所述的AdHoc网络的二层路由方法,其特征在于,第三步所述的选举指定节点和非指定节点选择自己的父节点,具体包括如下步骤: ①每个节点根据本身掌握的两跳范围内的邻居信息决定本身是否成为指定节点: 当本节点发现自身邻居节点个数比其所有一...

【专利技术属性】
技术研发人员:潘晨磊归琳刘勃熊箭马文峰
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1