CN101651619A - 一种基于MAC层标签循环移位的ad hoc网络路由方法 - Google Patents
一种基于MAC层标签循环移位的ad hoc网络路由方法 Download PDFInfo
- Publication number
- CN101651619A CN101651619A CN200910102395A CN200910102395A CN101651619A CN 101651619 A CN101651619 A CN 101651619A CN 200910102395 A CN200910102395 A CN 200910102395A CN 200910102395 A CN200910102395 A CN 200910102395A CN 101651619 A CN101651619 A CN 101651619A
- Authority
- CN
- China
- Prior art keywords
- label
- address field
- mac frame
- packet
- mac
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 230000001351 cycling effect Effects 0.000 claims description 2
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 9
- 238000013507 mapping Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于MAC层标签循环移位的ad hoc网络路由方法,包括:a)源节点发送数据包时,将由标签组成的路由信息放在MAC帧的地址域中,将数据包放在MAC帧的body域,然后将MAC帧发送出去;b)中间节点收到数据包中如果地址域仅包含一个标签,则取出MAC帧body域内的数据包,并上传给IP层,完成数据包的传输;如果地址域包含的标签多于一个,则将地址域中所有标签循环移位,再将该MAC帧发送至循环移位后地址域中首个标签对应的节点;c)循环操作步骤b),直至完成数据包的传输。本发明的ad hoc网络路由方法通过MAC帧的地址域来携带标签路由,从而让数据包的传输过程仅通过的中间节点的MAC,而不用通过IP层,可大大提升网络性能。
Description
技术领域
本发明涉及无线网络中的路由技术,特别是一种在MAC层实现数据包路由的ad hoc网络路由方法。
背景技术
Ad hoc网络是由一组带有无线收发装置的移动终端组成的多跳临时性网络,每个移动终端同时具有主机和路由器的功能。Ad hoc网络具有无中心控制节点、无组织性、网络拓扑动态变化等特性。由于Ad hoc网络中所有节点都具有移动性,并且可以动态地保持与其他节点的联系,具有能够临时组网的优点。因此,ad hoc网络经常应用于军事领域、防震救灾、应急通信等领域。
Ad Hoc按需距离矢量路由协议(Ad-Hoc On Demand Distance VectorRouting,AODV)和动态源路由协议(Dynamic Source Routing,DSR)是应用于Ad hoc网络中的两种按需路由协议。这两个协议都是在网络层完成路由和分组转发工作。在ad hoc网络中,当一个无线网卡(NIC:networkinterface card)收到一个数据帧时,首先分析目的地址,若NIC是该帧的接收者,则取出帧头,把分组交给网络层。把数据包从NIC交给网络层的过程实际上需要把数据从NIC的存储器转移到主机的存储器。然后网络层寻找它的路由表,找出该分组的下一跳IP地址,并把下一跳IP地址通过ARP协议或寻找高速缓存得到MAC地址,接着把分组交给MAC层用下一跳的MAC地址封装。以上过程可以看出网络层的主要功能就是决定下一跳的IP/MAC地址。其中涉及到了许多步骤,包括将数据从网络接口移到主机,再从主机移到网络接口,搜索路由表,封装和解封装等。这些操作消耗了大量的时间、能源和存储器资源,而这些对于自组织网络节点来说都是非常宝贵的资源。
发明内容
本发明的目的是在ad hoc网络中实现基于MAC层的路由协议,以提高ad hoc网络中传输速率和服务质量。在MAC层实现数据包的分组转发。
一种基于MAC层标签循环移位的ad hoc网络路由方法,包括:
a)源节点发送数据包时,将由标签组成的路由信息放在MAC帧的地址域中,将数据包放在MAC帧的body域,然后将MAC帧发送出去;
b)中间节点收到地址域中的首个标签是自身标签数据包时,判断地址域中标签的个数;如果地址域仅包含一个标签,则取出MAC帧body域内的数据包,并上传给IP层,完成数据包的传输;如果地址域包含的标签多于一个,则将地址域中所有标签循环移位,再将该MAC帧发送至循环移位后地址域中首个标签对应的节点;
c)循环操作步骤b),直至完成数据包的传输。
MAC层地址域的大小是固定的,且大小比较小,仅仅能容纳2-6个IP地址或MAC地址。因此本发明用较短的标签来代替IP地址和MAC地址,这样MAC层地址域就可以容纳较多的标签。每个节点的标签是唯一的,与节点的IP地址一一对应。
源节点发送数据包时,将由标签组成的路由信息放在MAC帧的地址域中,将数据包放在MAC帧的body域,然后将MAC帧发送出去。中间节点收到数据包时,首先查看地址域中的首个标签是不是自身标签,如果不是则丢弃该MAC帧。如果首个标签是自己的标签,说明该节点是数据包转发过程中的中间节点或目的节点。然后该节点查看地址域是否仅仅包含一个标签。如果仅包含一个标签,那么说明该节点是目的节点,MAC取出MAC帧body域内的数据包,并上传给IP层,该数据包传输成功。如果地址域包含的标签多于一个,那么说明该节点是中间转发节点,该节点将地址域中所有标签循环移位。循环移位相当于把地址域中首个标签后面的所有标签向前移动一个标签的长度,再将原来的首个标签放在地址域尾部。然后,中间节点将该MAC帧发送至循环移位后地址域中首个标签对应的节点。
当中间节点在MAC层转发单播数据包时,如果达到一定的重发次数,那么说明链路中断,这时需要向源节点报告路由中断。数据包在MAC层转发时,地址域的标签采用的是循环移位的方式处理的,而且地址域携带了源节点至目的节点的完整路由,所以可以用地址域尾部的标签做为路由信息向源节点发送路由中断消息。
本发明的ad hoc网络路由方法,用8bits的标签来标识节点,通过MAC帧的地址域来携带标签路由,从而让数据包的传输过程仅通过的中间节点的MAC层,而不用通过IP层。理论分析和仿真结果表明,相对于经典的按需路由协议AODV和DSR,本发明方法大大提升了网络各方面的性能。
附图说明
图1为本发明方法中路由请求消息RREQ和路由回复消息RREP的封装格式示意图;
图2为本发明方法中MAC层帧处理流程图;
图3为本发明方法中IP层包处理流程图。
具体实施方式:
网络中的每个节点维护两张表,IP-标签-路由指针映射表和标签路由表。IP-标签-路由指针映射表提供IP地址、标签、路由指针三者之间的映射,节点根据IP地址可以得到对应的标签和路由指针。路由指针指向标签路由表中的表项,其中存放的是到相应IP地址的表签路由。
本发明方法实施过程如下:
标签路由的建立:
第一步:路由请求
当源节点需要发送数据时,首先检查IP-标签-路由指针映射表是否包含到目的节点的路由指针,如果没有相应的路由指针,说明没有到目的节点的路由,那么发起路由请求。设置并广播路由请求消息RREQ,同时设置RREQ定时器。RREQ包含源节点地址、目的节点地址、广播ID和路由域(参见图1)。其中广播ID是唯一的且递增,路由域用于存放中间经过节点的IP地址和标签。RREQ消息记录中间节点的IP地址和标签。
当一个中间节点接收到一个RREQ消息时,它首先查看该RREQ是否头次收到。若是头次收到,则将其记录在RREQ表中。若不是头次收到,则丢弃。RREQ表记录收到的RREQ,并保持一段时间,基本上用于查看是否重复收到已记录的RREQ。对于首次收到的RREQ,中间节点将自身的IP地址和标签添加到RREQ消息路由域中,同时将RREQ消息中已记录的路由信息添加到自身路由表中,然后向它的邻居节点广播修改后的RREQ。
当RREQ消息到达目的节点时,它首先查看该RREQ是否头次收到。若是头次收到,则将其记录在RREQ表中,并将回复RREQ。若不是头次收到,则丢弃。
第二步:路由回复
目的节点首先将RREQ消息中已记录的路由信息添加到自身路由表中,该路由信息可以用于目的节点至源节点的数据包传输。目的节点通过改变RREQ消息中的类型域,将其类型修改成RREP,来生成路由回复消息RREP,然后利用从RREQ中提取的路由信息将RREP单播至源节点。中间节点在MAC层转发RREP,转发方式和数据包的转发方式相同。
当源节点成功收到RREP,它提取记录在RREP中所有的IP地址和标签,然后添加到路由表中。当源节点的定时器过期却没有收到相应的RREP,如果此时还没达到最大RREQ重发次数,那么源节点重新发起路由请求过程。如果达到最大RREQ重发次数,那么源节点报告上层目的节点不可达。
数据包的发送过程:
源节点发送数据包时,将由标签组成的路由信息放在DATA类型MAC帧的地址域中,将数据包放在DATA类型MAC帧的body域,然后将DATA类型MAC帧以单播方式发送出去。中间节点MAC层收到DATA类型MAC帧时,首先查看地址域中的首个标签是不是自身标签,如果不是则丢弃该DATA类型MAC帧。如果首个标签是自己的标签,说明该节点是数据包转发过程中的中间节点或目的节点。然后该节点查看地址域是否仅仅包含一个标签。如果仅包含一个标签,那么说明该节点是目的节点,MAC取出DATA类型MAC帧body域内的数据包,并上传给IP层,该数据包传输成功。如果地址域包含的标签多于一个,那么说明该节点是中间转发节点,该节点将地址域中所有标签循环移位,然后将该修改后的DATA类型MAC帧以单播方式发送至现在地址域中首个标签对应的节点。
MAC层收到广播DATA类型MAC帧时,简单的取出body域中的数据包,然后上传给IP层。对于广播DATA类型MAC帧,其地址域不含有标签,仅含有不属于标签的标志。
标签路由的维护。
1.IP-标签-路由指针映射表和标签路由表中的表项,当有数据发送或到达时,相对应的条目的生存时间会更新。而没有得到更新的条目,生存时间到后会自动删除。
2.当两节点间的链路断开或某中间节点失效时,断开链路的上游节点需要向源节点发送路由中断消息RERR,以报告链路中断。
在本发明中,数据包的转发操作发生在中间节点的MAC层。由于转发的数据包不经过中间节点的IP层,所以仅可以用链路层确认机制来确认数据包的正确接收。链路层确认机制即是MAC层中的ACK确认,当下一跳节点正确收到DATA帧后会回复ACK帧。如果中间转发节点没有收到相应的ACK帧,则说明该节点至下一跳节点间的链路中断,该节点需要产生RERR消息,并单播至源节点报告路由中断。
3.源节点收到RERR后,删除路由表中相应的路由。如果源节点还有数据包要发送,则重新发起路由请求,以建立新的路由。
Claims (2)
1、一种基于MAC层标签循环移位的ad hoc网络路由方法,其特征在于:
a)源节点发送数据包时,将由标签组成的路由信息放在MAC帧的地址域中,将数据包放在MAC帧的body域,然后将MAC帧发送出去;
b)中间节点收到地址域中的首个标签是自身标签数据包时,判断地址域中标签的个数;如果地址域仅包含一个标签,则取出MAC帧body域内的数据包,并上传给IP层,完成数据包的传输;如果地址域包含的标签多于一个,则将地址域中所有标签循环移位,再将该MAC帧发送至循环移位后地址域中首个标签对应的节点;
c)循环操作步骤b),直至完成数据包的传输。
2、根据权利要求1所述的ad hoc网络路由方法,其特征在于:当中间节点在MAC层转发单播数据包时如果发现链路中断,中间节点根据地址域中携带的路由向源节点发送路由中断消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101023955A CN101651619B (zh) | 2009-09-07 | 2009-09-07 | 一种基于MAC层标签循环移位的ad hoc网络路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101023955A CN101651619B (zh) | 2009-09-07 | 2009-09-07 | 一种基于MAC层标签循环移位的ad hoc网络路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101651619A true CN101651619A (zh) | 2010-02-17 |
CN101651619B CN101651619B (zh) | 2011-09-07 |
Family
ID=41673739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101023955A Expired - Fee Related CN101651619B (zh) | 2009-09-07 | 2009-09-07 | 一种基于MAC层标签循环移位的ad hoc网络路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101651619B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101835236A (zh) * | 2010-04-23 | 2010-09-15 | 浙江大学 | 实现基于驱动层的移动ad hoc网络标签路由和分组交换方法 |
CN102158331A (zh) * | 2011-05-23 | 2011-08-17 | 浙江工商大学 | 一种无线自组织网络的mac层可靠组播方法 |
CN103763750A (zh) * | 2014-01-08 | 2014-04-30 | 西安电子科技大学 | 在tdma协议的无线自组网中实现快速分组转发的方法 |
CN107396418A (zh) * | 2017-07-10 | 2017-11-24 | 西安电子科技大学 | 基于LoRa的无中心自组织网络的实现方法 |
CN109362114A (zh) * | 2018-11-20 | 2019-02-19 | 上海海事大学 | 一种基于标签的动态源路由的路径表达方法 |
WO2019218813A1 (zh) * | 2018-05-18 | 2019-11-21 | 华为技术有限公司 | 路由方法及装置 |
-
2009
- 2009-09-07 CN CN2009101023955A patent/CN101651619B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101835236A (zh) * | 2010-04-23 | 2010-09-15 | 浙江大学 | 实现基于驱动层的移动ad hoc网络标签路由和分组交换方法 |
CN101835236B (zh) * | 2010-04-23 | 2012-03-28 | 浙江大学 | 实现基于驱动层的移动ad hoc网络标签路由和分组交换方法 |
CN102158331A (zh) * | 2011-05-23 | 2011-08-17 | 浙江工商大学 | 一种无线自组织网络的mac层可靠组播方法 |
CN102158331B (zh) * | 2011-05-23 | 2013-10-30 | 浙江工商大学 | 一种无线自组织网络的mac层可靠组播方法 |
CN103763750A (zh) * | 2014-01-08 | 2014-04-30 | 西安电子科技大学 | 在tdma协议的无线自组网中实现快速分组转发的方法 |
CN103763750B (zh) * | 2014-01-08 | 2017-02-08 | 西安电子科技大学 | 在tdma协议的无线自组网中实现快速分组转发的方法 |
CN107396418A (zh) * | 2017-07-10 | 2017-11-24 | 西安电子科技大学 | 基于LoRa的无中心自组织网络的实现方法 |
WO2019218813A1 (zh) * | 2018-05-18 | 2019-11-21 | 华为技术有限公司 | 路由方法及装置 |
CN110505600A (zh) * | 2018-05-18 | 2019-11-26 | 华为技术有限公司 | 路由方法及装置 |
EP3780671A4 (en) * | 2018-05-18 | 2021-03-10 | Huawei Technologies Co., Ltd. | ROUTING PROCESS AND DEVICE |
CN110505600B (zh) * | 2018-05-18 | 2022-05-10 | 华为技术有限公司 | 路由方法及装置 |
US11792124B2 (en) | 2018-05-18 | 2023-10-17 | Huawei Technologies Co., Ltd. | Routing method and apparatus to transmit data packets to nodes |
CN109362114A (zh) * | 2018-11-20 | 2019-02-19 | 上海海事大学 | 一种基于标签的动态源路由的路径表达方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101651619B (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | An optimized ad-hoc on-demand multipath distance vector (AOMDV) routing protocol | |
CN1645838B (zh) | 完整路由信息的自组网按需距离矢量多路由方法 | |
CN103339988B (zh) | 网络*** | |
KR101423331B1 (ko) | 하드웨어 주소를 기반으로 한 이동 애드 혹 네트워크라우팅 시스템, 방법 및 컴퓨터 판독 가능한 매체 | |
Lee et al. | IEEE 802.15. 5 WPAN mesh standard-low rate part: Meshing the wireless sensor networks | |
CN101651619B (zh) | 一种基于MAC层标签循环移位的ad hoc网络路由方法 | |
Accettura et al. | Standardized power-efficient & internet-enabled communication stack for capillary M2M networks | |
CN102447686A (zh) | 一种aodv应用路由协议 | |
CN102769885B (zh) | 一种在传感器网络中实现路由的方法和传感器网络 | |
CN101521926B (zh) | 用于大规模无线分布式网络的协同路由方法 | |
CN101102283A (zh) | 一种在无线接入点上优化未知单播转发的方法及设备 | |
CN101106522A (zh) | 一种基于标签交换的Ad Hoc网络多路径路由技术 | |
JP2006279168A (ja) | アドホック網を構成する通信装置、ブリッジ装置及び通信システム | |
CN103108374A (zh) | 一种混合结构矿井应急救援无线网状网的节能路由算法 | |
CN101867973B (zh) | 多维网络及其数据传输方法 | |
CN100536429C (zh) | 一种无线网状网中数据传输的方法 | |
CN103391595A (zh) | 基于跨层链路状态反馈的矿井应急救援无线网状网路由方法 | |
CN106686680A (zh) | 一种用于车联网的路由优化***及方法 | |
CN101815337B (zh) | 基于概率的无线自组织网络反应式路由方法 | |
CN102916876B (zh) | 一种面向主从结构网络单向链路环境的路由方法 | |
CN102695192A (zh) | IPv6无线传感器网络的路由方法 | |
CN109041167A (zh) | 一种支持eigrp协议进行链路单双向状态检测的方法 | |
CN104735712B (zh) | 一种Ad Hoc网络路由的维护方法 | |
JP4913208B2 (ja) | アドレス解決方法 | |
CN101883394B (zh) | 一种支持无线自组网网络编码机会发现的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110907 Termination date: 20140907 |
|
EXPY | Termination of patent right or utility model |