CN103929790A - 一种Ad Hoc网络的二层路由方法 - Google Patents

一种Ad Hoc网络的二层路由方法 Download PDF

Info

Publication number
CN103929790A
CN103929790A CN201410129722.7A CN201410129722A CN103929790A CN 103929790 A CN103929790 A CN 103929790A CN 201410129722 A CN201410129722 A CN 201410129722A CN 103929790 A CN103929790 A CN 103929790A
Authority
CN
China
Prior art keywords
node
nodes
specified
oneself
neighbor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410129722.7A
Other languages
English (en)
Inventor
潘晨磊
归琳
刘勃
熊箭
马文峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201410129722.7A priority Critical patent/CN103929790A/zh
Publication of CN103929790A publication Critical patent/CN103929790A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种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包,表明自己为指定节点。非指定节点从自己的一跳范围内邻居中选择一个指定节点作为自己的父节点。
第四步,节点采用周期性更新与触发式更新相结合的方式进行链路状态更新,即当节点的链路状态发生变化时进行触发式更新,而当节点的链路状态没有发生变化时采用周期性更新。通过这种周期性更新与触发式更新相结合的方式维护网络中链路状态信息的及时、准确、一致。
链路状态更新通过发送链路状态更新包(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包反映出节点两跳范围内的网络拓扑结构发生变化,则跳至第三步,否则,节点继续运行Hello协议。
第三步,节点利用两跳范围内的邻居信息选举出负责转发路由信息的指定节点,然后非指定节点选择自己的父节点。
每个节点根据本身掌握的两跳范围内的邻居信息决定本身是否成为指定节点,若本节点发现自身邻居节点个数比其所有一跳邻居节点的邻居节点个数都多,则选举其本身为指定节点,否则,本节点计算其两跳范围内节点间的连通性,若存在节点无法找到一条不经过本节点到达另一个节点的路径,则本节点选举其本身为指定节点。完成该过程后,指定节点更新自己的状态并发送Hello包,向邻居节点表明自己为指定节点。非指定节点从自己的一跳范围内邻居中选择一个邻居节点个数最大的指定节点作为自己的父节点。指定节点间相互连接保证指定节点间的连通性。
如图4所示,节点0、7、12、15、19这五个节点被选举为指定节点,其他节点都是非指定节点。其中,节点1、2、4选择节点0为父节点,节点3、8、9选择节点7为父节点,节点13、14、17选择节点12为父节点,节点5、11选择节点15为父节点,节点1、6、10、16、18选择节点19为父节点。
第四步,节点采用周期性更新与触发式更新相结合的方式进行链路状态更新,即当节点的链路状态发生变化时进行触发式更新,而当节点的链路状态没有发生变化时采用周期性更新。通过这种周期性更新与触发式更新相结合的方式维护网络中链路状态信息的及时、准确、一致。
链路状态更新通过发送链路状态更新包(LSA)实现。LSA中包含节点自身的邻居信息及相应的链路状态信息。非指定节点将自己产生的LSA发送给自己的父节点,父节点收到LSA后转发给自己一跳范围内所有其他子节点和指定节点,指定节点收到LSA后再转发给自己的子节点和邻居指定节点;指定节点将自己产生的LSA发送给一跳范围内所有子节点和指定节点,指定节点收到LSA后再转发给自己的子节点和邻居指定节点。通过以上过程,网络中所有节点获取了所有其他节点的邻居信息及相应的链路状态信息,即每个节点都有一个一致的链路状态数据库。
第五步,每个节点在链路状态数据库更新后,按照最短路径算法,例如,
Dijkstra算法,SPFA算法,Floyd-Warshall算法等,计算出到达网络中其他节点的最短路径和相应的路由表。

Claims (5)

1.一种Ad Hoc网络的二层路由方法,其特征在于,该方法包括如下具体步骤:
第一步,Ad Hoc网络进行初始化,具体包括给Ad Hoc网络中所有节点分配唯一的MAC地址,网络中所有节点完成邻居节点发现过程,网络中所有节点初始化链路状态数据库;
第二步,网络中节点运行Hello协议,直至节点收到的Hello包反映出该节点两跳范围内的网络拓扑结构发生变化;
第三步,节点利用两跳范围内的邻居信息选举出负责转发路由信息的指定节点,然后非指定节点选择自己的父节点;
第四步,节点进行链路状态更新;
第五步,每个节点在链路状态数据库更新后,按照最短路径算法,计算出到达网络中其他节点的最短路径和相应的路由表。
2.根据权利要求1所述的Ad Hoc网络的二层路由方法,其特征在于,第二步所述的Hello包包含该节点的ID、节点的状态和一跳范围内邻居节点ID;节点收到来自一跳范围内所有邻居节点的Hello包后,获得节点本身两跳范围内的邻居信息。
3.根据权利要求1所述的Ad Hoc网络的二层路由方法,其特征在于,第三步所述的选举指定节点和非指定节点选择自己的父节点,具体包括如下步骤:
①每个节点根据本身掌握的两跳范围内的邻居信息决定本身是否成为指定节点:
当本节点发现自身邻居节点个数比其所有一跳邻居节点的邻居节点个数都多时,则选举其本身为指定节点;
当本节点发现自身邻居节点个数比其某一跳邻居节点的邻居节点个数少时,则本节点计算其两跳范围内节点间的连通性,若存在该节点无法找到一条不经过本节点到达另一个节点的路径,则本节点选举其本身为指定节点;
否则,本节点为非指定节点;
②指定节点更新自己的链路状态,并发送Hello包表明自己为指定节点;
非指定节点从自己的一跳范围内的邻居节点中选择一个邻居节点个数最大的指定节点作为自己的父节点。
4.根据权利要求1所述的Ad Hoc网络的二层路由方法,其特征在于,第四步所述的链路状态更新采用的周期性更新与触发式更新相结合的方法,具体是指当节点的链路状态发生变化时进行触发式更新,当节点的链路状态没有发生变化时采用周期性更新。
5.根据权利要求1所述的Ad Hoc网络的二层路由方法,其特征在于,第四步所述的链路状态更新是通过发送链路状态更新包(LSA)实现,非指定节点将自己产生的LSA发送给自己的父节点,父节点收到LSA后转发给自己一跳范围内所有其他子节点和指定节点,指定节点收到LSA后再转发给自己的子节点和邻居指定节点;指定节点将自己产生的LSA发送给一跳范围内所有子节点和指定节点,指定节点收到LSA后再转发给自己的子节点和邻居指定节点。
CN201410129722.7A 2014-04-02 2014-04-02 一种Ad Hoc网络的二层路由方法 Pending CN103929790A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410129722.7A CN103929790A (zh) 2014-04-02 2014-04-02 一种Ad Hoc网络的二层路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410129722.7A CN103929790A (zh) 2014-04-02 2014-04-02 一种Ad Hoc网络的二层路由方法

Publications (1)

Publication Number Publication Date
CN103929790A true CN103929790A (zh) 2014-07-16

Family

ID=51147832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410129722.7A Pending CN103929790A (zh) 2014-04-02 2014-04-02 一种Ad Hoc网络的二层路由方法

Country Status (1)

Country Link
CN (1) CN103929790A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320346A (zh) * 2014-10-31 2015-01-28 杭州华三通信技术有限公司 一种状态信息发布方法以及装置
CN104618525A (zh) * 2015-03-05 2015-05-13 江苏物联网研究发展中心 基于分层路由跨异构网络的无缝连接的方法
CN108366093A (zh) * 2018-01-16 2018-08-03 北京邮电大学 一种基于“虚拟中心”和“移动代理”的分布式无线自组网
CN110752997A (zh) * 2019-09-26 2020-02-04 中国人民解放军陆军装甲兵学院 一种数据包主动寻路的命名数据网络转发方法
CN110784413A (zh) * 2018-07-31 2020-02-11 华硕电脑股份有限公司 更新集成接入后传节点的路由表的方法和设备
CN110932981A (zh) * 2019-11-27 2020-03-27 北京宝兰德软件股份有限公司 一种支持自动路由的数据交换系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003051009A1 (en) * 2001-12-06 2003-06-19 Meshnetworks,Inc. Method of using data rates as a routing metric in ad-hoc networks
CN1645863A (zh) * 2005-01-13 2005-07-27 西安电子科技大学 可支持多速率传输的Ad Hoc网络功能层结构及路由方法
CN101425968A (zh) * 2002-02-22 2009-05-06 艾利森电话股份有限公司 跨层综合式无冲突路径路由选择

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003051009A1 (en) * 2001-12-06 2003-06-19 Meshnetworks,Inc. Method of using data rates as a routing metric in ad-hoc networks
CN101425968A (zh) * 2002-02-22 2009-05-06 艾利森电话股份有限公司 跨层综合式无冲突路径路由选择
CN1645863A (zh) * 2005-01-13 2005-07-27 西安电子科技大学 可支持多速率传输的Ad Hoc网络功能层结构及路由方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韦蓉等: "面向连接的Ad hoc网络多径路由协议", 《电子科技大学学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320346A (zh) * 2014-10-31 2015-01-28 杭州华三通信技术有限公司 一种状态信息发布方法以及装置
CN104320346B (zh) * 2014-10-31 2017-11-14 新华三技术有限公司 一种状态信息发布方法以及装置
CN104618525A (zh) * 2015-03-05 2015-05-13 江苏物联网研究发展中心 基于分层路由跨异构网络的无缝连接的方法
CN104618525B (zh) * 2015-03-05 2017-11-28 江苏中科羿链通信技术有限公司 基于分层路由跨异构网络的无缝连接的方法
CN108366093A (zh) * 2018-01-16 2018-08-03 北京邮电大学 一种基于“虚拟中心”和“移动代理”的分布式无线自组网
CN108366093B (zh) * 2018-01-16 2020-08-21 北京邮电大学 一种基于“虚拟中心”和“移动代理”的分布式无线自组网
CN110784413A (zh) * 2018-07-31 2020-02-11 华硕电脑股份有限公司 更新集成接入后传节点的路由表的方法和设备
CN110784413B (zh) * 2018-07-31 2022-04-05 华硕电脑股份有限公司 更新集成接入后传节点的路由表的方法和设备
CN110752997A (zh) * 2019-09-26 2020-02-04 中国人民解放军陆军装甲兵学院 一种数据包主动寻路的命名数据网络转发方法
CN110752997B (zh) * 2019-09-26 2021-08-20 中国人民解放军陆军装甲兵学院 一种数据包主动寻路的命名数据网络转发方法
CN110932981A (zh) * 2019-11-27 2020-03-27 北京宝兰德软件股份有限公司 一种支持自动路由的数据交换系统

Similar Documents

Publication Publication Date Title
CN108337166B (zh) 一种面向航空集群网络的低时延高可靠路由方法
CN102148756B (zh) 一种基于6LoWPAN邻居发现的树状路由方法
CN103929790A (zh) 一种Ad Hoc网络的二层路由方法
US20100254309A1 (en) System, device, and method for unifying differently-routed networks using virtual topology representations
JP2009518968A (ja) 複数の無線を用いて無線通信ネットワークの容量を増加させるためのシステムおよび方法
CN107071850A (zh) 一种可适应不同运动场景的改进的aodv路由协议
Yang et al. OpenFlow-based load balancing for wireless mesh infrastructure
CN101883048A (zh) 多维网络的路由方法
WO2019183919A1 (zh) 融合组网的方法和装置
CN103260211B (zh) 一种改进的aomdv路由方法
CN103108374B (zh) 一种混合结构矿井应急救援无线网状网的节能路由算法
Shenbagapriya et al. A survey on proactive routing protocols in MANETs
CN101867973B (zh) 多维网络及其数据传输方法
Srivastava et al. Survey and overview of Mobile Ad-Hoc Network routing protocols
Lei et al. Performance analysis and comparison of routing protocols in mobile ad hoc network
CN103391595A (zh) 基于跨层链路状态反馈的矿井应急救援无线网状网路由方法
CN105072586B (zh) 嵌入式无线自组织网络中对广播消息的转发的管理方法
Khan et al. Performance of AODV, DSDV and DSR protocols in mobile wireless mesh networks
Sakurai et al. AODV multipath extension using source route lists with optimized route establishment
CN104219156A (zh) 一种适用于层次化空中自组织网络的组播路由方法
Khan et al. M-AODV: Modified Ad Hoc On-demand distance vector routing scheme
Roy et al. Performance optimization of Ad Hoc on demand vector routing protocol in cognitive radio network
Le et al. An efficient hybrid routing approach for hybrid wireless mesh networks
Chang et al. Multipath design for 6LoWPAN ad hoc on-demand distance vector routing
Ramakrishnan et al. Mathematical modeling of routing protocol selection for optimal performance of MANET

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140716