用于无线自组织网络路由的邻居节点判定方法

文档序号:7868539阅读:438来源:国知局
专利名称:用于无线自组织网络路由的邻居节点判定方法
技术领域
本发明涉及一种用于无线自组织网络路由的邻居节点判定方法,属于无线自组织网络中的路由技术领域。
背景技术
无线自组织网络是一种不需要基础设施的网络,在这种网络中,网络的拓扑处于动态的变化中,每个节点都运行路由协议,且每个节点都具备路由功能。当需要通信的两个节点不能直接通信时,可以使用多跳的方式,即由中间的多个节点来充当路由器,进行逐跳的信息转发。
·
按需距离矢量路由协议AODV (Ad hoc on-demand distance vector routing)是无线自组织网络中的经典路由协议,它属于反应式路由。当源节点需要一条到达目标节点的路径时,以广播的形式向邻居节点发送路由请求RREQ (RouteRequest)报文,RREQ报文中携带有本节点的IP地址、序列号和目标节点IP地址等信息;收到RREQ报文的中间节点,如果该节点知道目标节点路径,则回应路由应答RREP (Route Reply)报文,否则,就进行RREQ转发;直到最终找到目标节点,完成多跳路由的查找。多跳路由的传输路径是由多个逐跳的无线链路所组成。AODV路由协议的邻居节点发现是维护AODV无线链路的重要手段。邻居节点的发现是通过Hello消息完成的每个节点间隔一个设定的时间周期,就会广播Hello消息。当一个节点收到若干个相同Hello消息时,就查找路由表,如果路由表中没有此项,则表示这是一个新的邻居节点,此时就将这个I跳路由插入到路由表。AODV路由协议定义了邻居节点的生存时间在建立邻居关系后,如果超过这个生存时间一直没有收到任何该邻居的Hello消息,即可以认为这个邻居已经断开,则删除这个I跳路由(即AODV无线链路)。链路的质量对多跳路由的传输路径至关重要,它是构成这条传输路径的重要基础。AODV路由协议通过Hello机制来确认链路。但是,在实际应用中,通过简单的Hello发现机制是无法保证链路质量的,需要采取增强的机制。现有的方法是使用无线信号强度RSSI (Received Signal Strength Indication)来确认邻居节点,但是,受到地形、单向路径和频带干扰等因素的影响,这个方法并不准确;同时在众多的便携式无线终端上,底层的驱动并没有提供相应的接口,以便精确获知自组织网络中每个节点的无线信号强度。另一种现有技术是将全球定位系统GPS (Global Positioning System)模块引入节点,通过地理位置的筛选来确定路由。它的局限是使用范围限制于室外,同时增加了成本。另外,还有一种方法是通过链路的数据丢包率统计,进行邻居的筛选,其缺陷是需要较多的数据传输开销。

发明内容
有鉴于此,本发明的目的是提供一种用于无线自组织网络路由的邻居节点判定方法,本发明方法是工作在应用层的邻居发现机制,操作步骤简单,其是通过对传统的邻居节点发现机制进行改进,使得互为邻居的两个节点之间的无线链路质量稳定,以提高多跳路由的传输稳定性。为了达到上述目的,本发明提供了一种用于无线自组织网络路由的邻居节点判定方法,其特征在于该方法是在传 统的邻居发现方法中引入交互握手操作,即增设ACK预同步和data预同步的状态转换过程;并要求在data预同步状态的前后,都必须满足下述设定条件连续接收设定数量η个Hello消息;这样既对所选链路提出了适宜要求,也避免了原先必须成功连续接收设定数量2η个Hello消息的过高要求,允许无线网络具有设定数量的丢包;所述方法包括下列操作步骤(I)源节点发送Hello消息源节点在初始化启动后,与其他节点的关系都处于失步状态;此时,源节点和网络中的其他节点各自分别按照发送周期TJfello秒广播发送Hello消息,以便于各个节点的互相发现;(2)其他节点接收到Hello消息其他节点接收到源节点的Hello消息,获知Hello消息的发送节点地址,然后,向源节点单播回应Hello-ack消息;(3)源节点接收到Hello-ack消息源节点接收到Hello-ack消息后,将该源节点自身与Hello-ack消息发送节点的邻居关系设置为ACK预同步状态;(4)源节点执行ACK预同步状态的处理在ACK预同步状态时,源节点判断是否连续接收到由步骤(3)中Hello-ack消息发送节点所发出的设定数量η个Hello消息;若是,则将其状态转换为data预同步状态,并执行后续步骤(5);如果在ACK预同步状态的响应周期T_ACK定时器超时,则源节点转换为失步状态,即返回步骤(I ),重新初始化邻居关系;(5)源节点执行data预同步状态的处理在data预同步状态下,源节点判断是否重新连续接收到由步骤(3)中Hello-ack消息发送节点所发出的设定数量η个Hello消息;若是,则将其状态转换为data同步状态,并正式确定Hello-ack消息的发送节点为源节点的邻居,并执行后续步骤(6);如果在data预同步状态下,源节点连续遗漏了由步骤(3)中Hello-ack消息发送节点所发出的m个Hello消息,就返回步骤(4),重新进行Hello消息的接收训练;(6)源节点执行data同步状态的处理在该状态下,邻居关系正式确立,源节点就能够使用这条AODV链路传输数据;如果在数据周期T_data定时器的时间内,都没有Hello消息或用户数据经过该链路传输,则源节点将状态复原为失步状态,表示该链路已失效,需要返回步骤(I ),重新初始化邻居关系。所述方法操作过程经过下述4个状态的顺序转移失步、ACK预同步、data预同步和data同步的4个状态。所述发送周期TJfello的数值单位是秒,其取值范围为[O. 5,I. 5],所述data预同步状态以前、即ACK预同步状态时,以及data预同步状态时,都要求连续接收到的Hello消息的设定数量为η ;自然数η是用户根据网络链路状况设置的变量,其取值范围是[1,10].所述步骤(5)中,data预同步状态时,源节点连续遗漏了由步骤(3)中Hello-ack消息发送节点所发出的m个Hello消息,就要重新进行Hello消息的接收训练;自然数m是用户根据网络链路状况设置的变量,其取值范围是[2,5],所述响应周期定时器T_ACK的数值单位是秒,其取值范围为[3,10];所述数据周期定时器T_data的数值单位是秒,其取值范围为[3,10]。现有路由协议中对邻居节点的判定方法是通过Hello机制来确认的。但是,在实际应用中,通过简单的Hello机制无法保证链路的质量。有的方法使用无线信号强度RSSI来确认邻居节点,有的方法将GPS引入节点。这些方法都会受到地形、单向路径或频带干扰等因素的影响,还需要这些便携式无线终端能精确获知自组织网络中每个节点的无线信号强度,并提供接口。本发明无线自组织网络路由的邻居节点判定方法创新之处首次通过应用层的工作机制,对邻居发现机制进行了改进,无须添加新的硬件模块,且对底层驱动的接口非常简单,能够筛选建立稳定的邻居链路,且确定的邻居节点之间的无线链路工作稳定,提高了多跳路由的传输质量,具有很好的推广应用前景。


图I是本发明邻居关系状态自动转换示意图。图2是用于无线自组织网络路由的邻居节点判定方法的消息交互示意图。图3是本发明实施例的实验I的拓扑结构示意图。图4是本发明实施例的实验2的拓扑结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。本发明用于无线自组织网络路由的邻居节点判定方法是一种引入预同步机制来进行邻居筛选的发现邻居节点方法在传统的邻居发现方法中引入交互握手操作,即增设ACK预同步和data预同步的状态转换过程;并要求在data预同步状态的前后,都必须满足下述设定条件连续接收设定数量η个Hello消息;这样既对所选链路提出了适宜要求,也避免了原先必须成功连续接收设定数量2η个Hello消息的过高要求,允许无线网络具有设定数量的丢包,从而提高了 AODV无线链路的质量。参见图I和图2,介绍本发明方法实施例的操作过程经过下述4个状态的顺序转移失步、ACK预同步、data预同步和data同步。具体操作步骤如下步骤1,源节点发送Hello消息初始化启动后,源节点与其他节点的关系都处于失步状态;此时,源节点和网络中的其他节点各自分别按照发送周期TJfello秒广播发送Hello消息(消息的生存时间设置为I秒),以便于各个节点的互相发现。步骤2,其他节点接收到Hello消息其他节点接收到源节点的Hello消息后,获知Hello消息的发送节点地址,并查看路由表;如果路由表中没有此节点,并不立即将其列为自身的邻居节点,而是向源节点单播回应Hello-ack消息。该Hello-ack消息用于回应Hello消息,以便通过握手机制先确认这两个邻居节点的可达关系。步骤3,源节点接收到Hello-ack消息源节点接收到Hello-ack消息后,将该源节点自身与Hello-ack消息发送节点的邻居关系设置为ACK预同步状态;步骤4,源节点执行ACK预同步状态的处理在ACK预同步状态时,源节点开始对Hello消息进行计数,并判断是否连续接收到由步骤3中Hello-ack消息发送节点所发出的设定数量η个Hello消息(自然数η是用户根据网络链路状况设置的变量,其取值范围是[I, 10]);若是,则将其邻居关系状态转换为data预同步状态,并执行后续步骤(5);如果在ACK预同步状态的响应周期T_ACK定时器超时,都没有接收到的I个Hello消息,则源节点取消ACK预同步状态而转换为失步状态,即返回步骤1,重新初始化邻居关系。步骤5,源节点执行data预同步状态的处理在data预同步状态下,源节点重新对Hello消息进行计数,并判断是否重新连续接收到由步骤3中Hello-ack消息发送节点所发出的设定数量η个Hello消息;若是,则将其状态转换为data同步状态,即正式确定Hello-ack消息的发送节点为源节点的邻居,并执行后续步骤6 ;如果在data预同步状态下,源节点连续遗漏了由步骤3中Hello-ack消息发送节点所发出的m个Hello消息(自然数m是用户根据网络链路状况设置的变量,其取值范围是[2,5]),就返回步骤4,重新进行Hello消息的接收训练。步骤6,源节点执行data同步状态的处理在data同步状态下,邻居关系正式确立,源节点就能够使用这条AODV链路传输数据。该链路的生命周期可以通过Hello消息来维护,也可以通过进入该链路接口的用户数据消息来维护。如果在数据周期!'_(1&〖&定时器的时间内,都没有Hello消息或用户数据经过该链路传输,则源节点将其状态复原为失步状态,表示该链路已失效,需要返回步骤1,重新初始化邻居关系。参见图1,展示了本发明方法的上述状态转移过程失步、ACK预同步、data预同步、data同步等4个状态自动转移情况。图2是上述过程的时序图。为了验证本发明邻居节点判定方法的效果,申请人进行了仿真实施试验,通过实际环境部署进行了实施评价比较。节点为嵌入式的无线节点,处理器为ARMll系列;通信接口采用802. Ilb的无线模块;操作系统采用Linux2. 6. 28 ;路由协议采用AODV协议,并分别采用传统的普通邻居发现和本发明邻居发现两个方法版本;节点部署在长约80米、宽约20米的楼宇内。处理过程中的T_ACK定时器设置为3秒,T_data定时器设置为5秒,TJfello定时器设置为I秒,自然数变量n、m和k分别设置为3、2、3。实验I的拓扑结构如图3如示,由于室内建筑的遮拦,IP地址为11. O. O. 60的节点到IP地址为11. O. O. 57的节点无法直接通信,需要经由多跳中转。中转路径存在多条。其测试数据如下(I)第一类数据是在IP地址为11. O. O. 60节点上发送周期40ms、报文大小1000字节的m)P测试数据流,目的地IP地址为11. O. O. 57 ;(2)第二类数据是在IP地址为11. O. O. 60节点上发送480 X 272的YUV图像,压缩格式为H. 264编码的UDP测试视频流,目的地IP地址为11. O. O. 57 ;测试结果的表I
权利要求
1.一种用于无线自组织网络路由的邻居节点判定方法,其特征在于该方法是在传统的邻居发现方法中引入交互握手操作,即增设ACK预同步和data预同步的状态转换过程;并要求在data预同步状态的前后,都必须满足下述设定条件连续接收设定数量η个Hello消息;这样既对所选链路提出了适宜要求,也避免了原先必须成功连续接收设定数量2η个Hello消息的过高要求,允许无线网络具有设定数量的丢包;所述方法包括下列操作步骤 (1)源节点发送Hello消息源节点在初始化启动后,与其他节点的关系都处于失步状态;此时,源节点和网络中的其他节点各自分别按照发送周期TJfello秒广播发送Hello消息,以便于各个节点的互相发现; (2)其他节点接收到Hello消息其他节点接收到源节点的Hello消息,获知Hello消息的发送节点地址,然后,向源节点单播回应Hello-ack消息; (3)源节点接收到Hello-ack消息源节点接收到Hello-ack消息后,将该源节点自身与Hello-ack消息发送节点的邻居关系设置为ACK预同步状态; (4)源节点执行ACK预同步状态的处理在ACK预同步状态时,源节点判断是否连续接收到由步骤(3)中Hello-ack消息发送节点所发出的设定数量η个Hello消息;若是,则将其状态转换为data预同步状态,并执行后续步骤(5);如果在ACK预同步状态的响应周期T_ACK定时器超时,则源节点转换为失步状态,即返回步骤(I ),重新初始化邻居关系; (5)源节点执行data预同步状态的处理在data预同步状态下,源节点判断是否重新连续接收到由步骤(3)中Hello-ack消息发送节点所发出的设定数量η个Hello消息;若是,则将其状态转换为data同步状态,并正式确定Hello-ack消息的发送节点为源节点的邻居,并执行后续步骤(6);如果在data预同步状态下,源节点连续遗漏了由步骤(3)中Hello-ack消息发送节点所发出的m个Hello消息,就返回步骤(4),重新进行Hello消息的接收训练; (6)源节点执行data同步状态的处理在该状态下,邻居关系正式确立,源节点就能够使用这条AODV链路传输数据;如果在数据周期1'_(1&丨&定时器的时间内,都没有Hello消息或用户数据经过该链路传输,则源节点将状态复原为失步状态,表示该链路已失效,需要返回步骤(I ),重新初始化邻居关系。
2.根据权利要求I所述的方法,其特征在于所述方法操作过程经过下述4个状态的顺序转移失步、ACK预同步、data预同步和data同步的4个状态。
3.根据权利要求I所述的方法,其特征在于所述发送周期TJfello的数值单位是秒,其取值范围为[O. 5,1.5]。
4.根据权利要求I所述的方法,其特征在于所述data预同步状态以前、即ACK预同步状态时,以及data预同步状态时,都要求连续接收到的Hello消息的设定数量为η ;自然数η是用户根据网络链路状况设置的变量,其取值范围是[1,10]。
5.根据权利要求I所述的方法,其特征在于所述步骤(5)中,data预同步状态时,源节点连续遗漏了由步骤(3)中Hello-ack消息发送节点所发出的m个Hello消息,就要重新进行Hello消息的接收训练;自然数m是用户根据网络链路状况设置的变量,其取值范围是[2,5]。
6.根据权利要求I所述的方法,其特征在于所述响应周期定时器T_ACK的数值单位是秒,其取值范围为[3,10];所述数据周期定时器T_data的数值单位是秒,其取值范围为 [3, 10]ο
全文摘要
一种用于无线自组织网络路由的邻居节点判定方法,在传统的邻居发现方法中引入交互握手操作,即增设ACK预同步和data预同步的状态转换过程;并要求在data预同步状态的前后,都必须满足下述条件连续接收设定数量n个Hello消息;这样既对所选链路提出了适宜要求,也避免了原先必须成功连续接收设定数量2n个Hello消息的过高要求,允许无线网络具有设定数量的丢包,提高了AODV无线链路的质量。本发明方法的创新之处是首次通过应用层的工作机制,对邻居发现机制进行了改进,无须添加新的硬件模块,且对底层驱动的接口非常简单,能够筛选建立稳定的邻居链路,且确定的邻居节点之间的无线链路工作稳定,提高了多跳路由的传输质量,具有很好的推广应用前景。
文档编号H04W84/18GK102984781SQ20121053877
公开日2013年3月20日 申请日期2012年12月13日 优先权日2012年12月13日
发明者段鹏瑞, 马华东, 李强, 李文生 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1