CN101867519B - 一种自组网的动态区域路由方法及系统 - Google Patents

一种自组网的动态区域路由方法及系统 Download PDF

Info

Publication number
CN101867519B
CN101867519B CN2010101979586A CN201010197958A CN101867519B CN 101867519 B CN101867519 B CN 101867519B CN 2010101979586 A CN2010101979586 A CN 2010101979586A CN 201010197958 A CN201010197958 A CN 201010197958A CN 101867519 B CN101867519 B CN 101867519B
Authority
CN
China
Prior art keywords
routing table
node
routing
route
route exploration
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.)
Expired - Fee Related
Application number
CN2010101979586A
Other languages
English (en)
Other versions
CN101867519A (zh
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.)
UNIT 91655 OF PLA
Original Assignee
UNIT 91655 OF PLA
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 UNIT 91655 OF PLA filed Critical UNIT 91655 OF PLA
Priority to CN2010101979586A priority Critical patent/CN101867519B/zh
Publication of CN101867519A publication Critical patent/CN101867519A/zh
Application granted granted Critical
Publication of CN101867519B publication Critical patent/CN101867519B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种自组网的动态区域路由方法及系统,属于通信技术领域。本发明实施例中节点通过域内路由探测,以获得预定跳数的邻节点的路由表;并判断路由表的跳数是否达到预设置的域半径;如果不是,则扩大所述预定跳数,并继续进行域内路由探测;如果是,判断路由表的累积度是否达到预设值,如果是则步骤结束,否则继续进行域内路由探测。本发明实施例通过设置域半径和路由表累积度两个度量来动态控制节点的域半径,提高自组网的灵活性。在路由开销控制在一定范围的前提下,本发明可以最大化节点的域半径,降低域间路由的使用概率,提高了路由的可靠性,同时降低了数据传输的平均时延和时延抖动。

Description

一种自组网的动态区域路由方法及系统
技术领域
本发明涉及通讯技术领域,特别涉及一种自组网的动态区域路由方法及系统。
背景技术
ZRP(Zone Routing Protocol,区域路由协议)是一种利用集群结构、混合使用表驱动路由和按需路由策略的自组网路由协议。在ZRP协议中,每个节点都定义了一个半径为r的域,该域是一个以该节点为中心到该节点的距离不超过r跳的所有节点的集合。在ZRP协议中,区域半径的设置对ZRP协议的性能有非常大的影响。现有技术组中的ZRP采用预置固定区域半径,区域半径通常设为两跳。
ZRP协议包括多个子协议:IARP(IntrAzone Routing Protocol,区域内路由协议)和IERP(IntErzone Routing Protocol,区域间路由协议)。IARP完成节点到区域内节点间的路由功能,采用表驱动路由方式,且区域内部有周期性的拓扑更新消息。IERP完成节点到区域外节点间的路由功能,采用按需路由方式。
现有的区域路由方法是:当节点开机完成入网过程后应立即发送路由探测分组表明它的存在,同时接收邻节点发送的路由探测分组来更新其域内路由表。当网络中所有节点都发送过路由探测分组之后,各个节点都将获得一跳邻节点表,称为第一轮路由探测分组。然后各节点再将获得的邻节点信息填入路由探测分组内发送,称为第二轮路由探测分组。在经过第二论路由探测分组发送后,每个节点会获得相邻两跳节点的信息。同理,如果路由探测分组内中含有两跳邻节点的信息,经过第三轮路由探测分组交换后,各个节点就获得了三跳邻节点信息。
在实现本发明的过程中,发明人发现现有技术至少具有以下缺点:
现有技术中,为了防止由于将区域半径设置过大导致路由探测分组过大而耗费过多的网络资源,一般会将域半径设定为一个较小的固定值。在网状拓扑结构时,节点比较多,因此设置较小的域半径比较合适。而对于线形拓扑结构时,每个节点的相邻节点比较少,设置较小的域半径并不合适。而对于自组网的优势在于灵活性高,而固定的域半径对自组网的灵活性带来很多限制。
发明内容
为了解决现有技术中在ZRP协议中域半径采用固定值,导致对自组网的灵活性带来限制的问题,发明实施例提出了一种自组网的动态区域路由方法及系统。所述技术方案如下:
本发明实施例提出了一种自组网的动态区域路由方法,包括:
步骤1、节点通过域内路由探测获得预定跳数的邻节点的路由表;
步骤2、判断路由表的跳数是否大于或等于预设置的域半径,如果不是,则将所述预定跳数增大并返回步骤1;如果是,则判断路由表的累积度是否达到预设值,如果是则步骤结束,否则将所述预定跳数增大并返回步骤1;
其中,所述路由表的累积度为所述路由表中的节点数。
作为上述技术方案的优选,在所述步骤1之后,步骤2之前,所述方法还包括:
步骤3、所述节点根据链路的变化或接收到的路由更新消息,实时更新所述路由表。
作为上述技术方案的优选,所述步骤1包括:
步骤11、每一节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息;
步骤12、当每一节点接收到路由探测信息时,启动延时定时器;当所述延时定时器溢出时,节点根据接收到的空的路由探测信息生成路由表;
步骤13、节点将生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
作为上述技术方案的优选,所述步骤13中的每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新,包括:
步骤13a、接收节点从接收的路由探测消息中提取发送节点的路由表;
步骤13b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;
步骤13c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤13d、判断更新后的路由表的最大跳数是否大于预设值并且累积度大于预设值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于预设值或者累积度等于预设值;如果否则步骤结束。
作为上述技术方案的优选,所述步骤3包括:
步骤3a、当检测到失败的链路或发现新的链路时,节点更新自身的路由表,并将更新后的路由表放入路由更新消息中发送;
步骤3b、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
本发明实施例还提出了一种自组网的一种自组网的动态区域路由装置,包括:
域内路由探测模块,用于使节点通过域内路由探测获得预定跳数的邻节点的路由表;
控制模块,用于读取路由表的最大跳数,并判断该最大跳数是否大于或等于预设置的域半径;如果不是,则将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;如果是,则判断累积度是否达到预设值,如果未达到,将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;
其中,所述路由表的累积度为所述路由表中的节点数。
作为上述技术方案的优选,所述系统还包括:
域内路由维护装置,用于根据链路的变化或接收到的路由更新消息,实时更新节点的路由表。
作为上述技术方案的优选,所述域内路由探测模块包括:
发送单元,用于在节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息;
接收单元,用于当节点接收到路由探测信息时,启动延时定时器;并当所述延时定时器溢出后,使每一节点根据接收到的空的路由探测信息生成路由表;
探测路由单元,用于将节点生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
作为上述技术方案的优选,所述探测路由单元通过以下方法更新路由表:
步骤a、接收节点从接收的路由探测消息中提取发送节点的路由表;
步骤b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;
步骤c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤d、判断更新后的路由表的最大跳数是否大于预设值并且累积度大于预设值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于预设值或者累积度等于预设值;如果否则步骤结束。
作为上述技术方案的优选,所述域内路由维护装置接收到路由更新消息时,通过以下方法更新路由表:
步骤A、从接收的路由更新消息中提取发送节点的路由表;
步骤B、将该发送节点的路由表中,该发送节点对应的分支删除;
步骤C、将发送节点的路由表添加到节点自身的路由表中,并将所有的跳数项加1;
步骤D、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤E、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
本发明实施例的有益效果是:本发明将域半径度量和邻节点表累积度度量结合使用,使节点可以根据周围邻居的稀疏程度动态调整区域半径,域半径收敛速度快,实现简单。在域内路由控制开销保持一定的前提下,增加了网络的平均域半径,减少了域间路由控制开销,降低了域间路由的使用概率,提高了路由的可靠性,降低了数据传输的平均时延和时延抖动。
附图说明
图1为本发明第一实施例的流程示意图;
图2为本发明第二实施例的流程示意图;
图3为稀疏路由树的数据结构示意图;
图4为域内路由探测过程中的路由表更新过程的流程示意图;
图5为域内路由维护过程中的路由表更新过程的流程示意图;
图6为本发明第三实施例的结构示意图;
图7为本发明第四实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明将域半径度量和邻节点表累积度度量结合使用,使节点可以根据周围邻居的稀疏程度动态调整区域半径,在域内路由控制开销保持一定的前提下,尽量减少域间路由控制开销,域半径收敛速度快,实现简单。
实施例1
本发明第一实施例提出了一种自组网的区域路由动态设置方法,其流程如图1所示,包括:
步骤101、节点通过域内路由探测获得预定跳数的邻节点的路由表;
步骤102、判断路由表的跳数是否大于或等于预设置的域半径,如果不是,则将所述预定跳数增大并返回步骤101;如果是,则判断路由表的累积度是否达到预设值,如果是则步骤结束,否则将所述预定跳数增大并返回步骤101。
实施例2
本发明第二实施例提出了一种自组网的区域路由动态设置方法,其流程如图2所示,包括:
步骤201、每一节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息。其中,预定跳数可以根据使用者的需要自由设置。例如:设置为1时,则节点启动时只向与其路由跳数为1的节点发送空的路由探测信息。
步骤202、当每一节点接收到路由探测信息时,启动延时定时器;当所述延时定时器溢出时,节点根据接收到的空的路由探测信息生成路由表。
步骤203、节点将生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
步骤204、所述节点根据链路的变化或接收到的路由更新消息,实时更新所述路由表。
本发明实施例中,在节点加电启动或是符合预设条件时,启动域内路由探测过程。步骤201-步骤203即为域内路由探测过程,通过路由探测信息获取路由表。在步骤202中设置一个延时定时器,并当延时定时器溢出时停止发送空的路由探测信息;并当路由探测定时器溢出时,停止域内路由探测过程。在域内路由探测过程执行完毕后,执行步骤204的域内路由维护过程。步骤204是为了在路由链路改变或是接收到其他节点的路由更新消息时启动域内路由维护过程,以保证路由表的准确性。由于自组网具有很大的灵活性和随意性,因此会发生链路改变。当然步骤204并非是本发明实施例的必须步骤,在链路不发生改变时,则无需启动域内路由维护过程。
步骤205、读取路由表,判断路由表中的路由最大跳数是否大于或等于预设置的域半径;如果是则进入步骤206;如果否则将步骤201中所述的预定跳数加大,并返回步骤201再次进行域内路由探测过程;
步骤206、判断该路由表中的节点数是否大于预设值,如果是则步骤结束;如果否则将步骤201中所述的预定跳数加大,并返回步骤201再次进行域内路由探测过程。
上述的步骤201-步骤206是一个域内路由探测过程和域内路由维护过程,可以通过现有技术的方法发送路由探测信息,以获取预设域半径内的路由表。并通过将路由表的最大跳数与预设的域半径进行比较,如果小于域半径则扩大跳数再次进行域内路由探测。然后判断路由表中的节点数是否达到了预设值,如果达到了说明是网状拓扑结构,则步骤结束。如果未达到,说明是线性拓扑结构,可以扩大预定跳数继续进行域内路由探测过程。这样可以有效地根据网络拓扑逐渐扩大域的范围,以提高效率。
其中,步骤204是一个域内路由维护过程,即在步骤201-步骤203的域内路由探测过程建立起路由表后,要根据链路的变化实时或接收到的路由更新消息更新路由表,以保持路由表的准确性。在出现对于检测到失败的链路或发现新的链路,或是节点接收到路由更新消息时,则步骤204可以具体为:
步骤204a、当检测到失败的链路或发现新的链路时,节点更新自身的路由表,并将更新后的路由表放入路由更新消息中发送。
步骤204b、当有节点接收到路由更新消息时,根据路由更新信息中的路由表对现有的路由表进行更新。然后判断更新后的路由表与原有路由表是否相同,如果相同则不处理;如果不同则将新的路由表添加到路由更新信息中发送到其他节点。
步骤204a和步骤204b提供了针对不同的两种情况进行路由表更新的方法,因此步骤204a和步骤204b的顺序可以任意改变。
在上述第一、第二实施例的方法中,域内的路由表可以采用稀疏路由树的方式表示,其数据结构如图3所示。
在步骤201-步骤202中,接收到的路由探测信息是一个空的路由探测信息,可以直接根据该路由探测信息生成路由表,该路由表中具有发送该空的路由探测信息的节点与接收到该空的路由探测信息的节点之间的路由。在步骤203中,接收到的是带有路由表的非空的路由探测信息,并根据该路由表更新自身的路由表。该过程可以如图4所示,包括:
步骤203a、接收节点从接收的路由探测消息中提取发送节点的路由表。
步骤203b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;这是由于发动节点到接收节点又增加了一跳,因此需要将所有路由的跳数+1。
步骤203c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项。这是由于在网络中到达同一节点可能存在多条路由,而只需包括跳数最小的一条路由即可,以降低路由表的复杂度。而当存在多条跳数最小的路由时,则选择延时最低的路由,这样进一步降低路由表的复杂度。
步骤203d、判断更新后的路由表的最大跳数是否大于预设值并且累积度大于预设值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于预设值,或者累积度等于预设值;如果否则步骤结束。
而步骤204或步骤204a或步骤204b的域内路由维护过程中,对路由表进行更新的方式可以如图5所示,包括:
步骤2041、从接收的路由更新消息中提取发送节点的路由表。
步骤2042、将该发送节点的路由表中,该发送节点对应的分支删除。
步骤2043、将发送节点的路由表添加到节点自身的路由表中,并将所有的跳数项加1。
步骤2044、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项。
这是由于在网络中到达同一节点可能存在多条路由,而只需包括跳数最小的一条路由即可,以降低路由表的复杂度。而当存在多条跳数最小的路由时,则选择延时最低的路由,这样进一步降低路由表的复杂度。
步骤2045、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
上述方案是针对域内路由探测过程和域内路由维护过程的。当发送数据分组时,如果域内路由表中没有目标节点的路由信息,则需要进行域间路由发现过程,并在需要时进行域间路由维护过程。
其中,域间路由发现过程可以采用AODV(Ad hoc On-Demand Distance Vector Routing,无线自组网按需平面距离矢量路由协议)等按需路由协议中相应的方法,本发明实施例并不以此为限。但在添加新的域间路由表项时应查看域内路由表,保证域内和域间路由表不出现重复的路由。
域间路由表建立后,还需要对域间路由表进行维护。当节点发现域间路由表中相关的链路断开时需要启动域间路由维护过程。该过程可采用AODV等按需路由协议中的相应方法,但在添加新的域间路由表项时应查看域内路由表,保证域内和域间路由表不出现重复的表项。
实施例3
本发明第三实施例提出了一种自组网的区域路由动态设置装置,其结构如图6所示,包括:
域内路由探测模块1,用于使节点通过域内路由探测获得预定跳数的邻节点的路由表;
控制模块2,用于读取路由表的最大跳数,并判断该最大跳数是否大于或等于预设置的域半径;如果不是,则将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;如果是,则判断累积度是否达到预设值,如果未达到,将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表。
实施例4
本发明第四实施例提出了一种自组网的区域路由动态设置装置,其结构如图7所示,包括:
域内路由探测模块1,用于使节点通过域内路由探测获得预定跳数的邻节点的路由表;
控制模块2,用于读取路由表的最大跳数,并判断该最大跳数是否大于或等于预设置的域半径;如果不是,则将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;如果是,则判断累积度是否达到预设值,如果未达到,将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表。
当然,为了提高域内路由探测的效率,对于原来域半径内的节点之间无需再重新发送空的路由探测信息。
其中域内路由探测模块1包括:
发送单元11、每一节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息。
接收单元12、用于当节点接收到路由探测信息时,启动延时定时器,;当所述延时定时器溢出时,节点根据接收到的空的路由探测信息生成路由表。
探测路由单元13,用于将节点生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
其中,该装置还可以包括:
域内路由维护装置3,用于根据链路的变化或接收到的路由更新消息,实时更新节点的路由表。
本发明实施例中,在节点加电启动或是符合预设条件时,启动域内路由探测模块1,由发送单元11、接收单元12、探测路由单元13共同完成路由探测过程,通过路由探测信息获取路由表。启动预设置的延时定时器,并当延时定时器溢出时停止发送空的路由探测信息;并当预设置的路由探测定时器溢出时,停止整个域内路由探测过程。然后启动域内路由维护装置3,以在路由链路改变或是接收到其他节点的路由更新消息时,启动域内路由维护过程,以保证路由表的准确性。
上述的域内路由探测模块1进行域内路由探测过程;可以通过现有技术的方法发送路由探测信息,通过将路由表的最大跳数与预设的域半径进行比较,如果小于域半径则扩大跳数再次进行域内路由探测。这样就可以获取预设域半径内的路由表。然后判断路由表中的节点数是否达到了预设值,如果达到了说明是网状拓扑结构,则步骤结束。如果未达到,说明是线性拓扑结构,可以扩大预定跳数继续进行域内路由探测过程。这样可以有效地根据网络拓扑逐渐扩大域的范围,以提高效率。
其中,域内路由探测模块1的域内路由探测过程建立起路由表后,要根据链路的变化实时或接收到的路由更新消息更新路由表,以保持路由表的准确性。在出现对于检测到失败的链路或发现新的链路,或是节点接收到路由更新消息时,由域内路由维护装置3实时更新节点的路由表。因此,域内路由维护装置3可以包括:
链路检测单元31,当检测到失败的链路或发现新的链路时,节点更新自身的路由表,并将更新后的路由表放入路由更新消息中发送。
更新路由单元32,当有节点接收到路由更新消息时,根据路由更新信息中的路由表对现有的路由表进行更新。然后判断更新后的路由表与原有路由表是否相同,如果相同则不处理;如果不同则将新的路由表添加到路由更新信息中发送到其他节点。
链路检测单元31和更新路由单元32提供了针对不同的两种情况进行路由表更新的方法。
在上述第三、第四实施例的方法中,域内的路由表可以采用稀疏路由树的方式表示,其数据结构如图3所示。
其中,探测路由单元13是用于接收带有路由表的非空的路由探测信息,并根据该路由表更新自身的路由表。该过程可以包括:
步骤301、接收节点从接收的路由探测消息中提取发送节点的路由表。
步骤302、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;这是由于发动节点到接收节点又增加了一跳,因此需要将所有路由的跳数+1。
步骤303、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项。这是由于在网络中到达同一节点可能存在多条路由,而只需包括跳数最小的一条路由即可,以降低路由表的复杂度。而当存在多条跳数最小的路由时,则选择延时最低的路由,这样进一步降低路由表的复杂度。
步骤304、判断更新后的路由表的最大跳数是否大于预设值并且累积度大于预设值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于预设值或者累积度等于预设值;如果否则步骤结束。
而域内路由维护装置3的域内路由维护过程中,对路由表进行更新的方式可以包括:
步骤401、从接收的路由更新消息中提取发送节点的路由表。
步骤402、将该发送节点的路由表中,该发送节点对应的分支删除。
步骤403、将发送节点的路由表添加到节点自身的路由表中,并将所有的跳数项加1。
步骤404、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项。
这是由于在网络中到达同一节点可能存在多条路由,而只需包括跳数最小的一条路由即可,以降低路由表的复杂度。而当存在多条跳数最小的路由时,则选择延时最低的路由,这样进一步降低路由表的复杂度。
步骤405、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。本发明实施例所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上该仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种自组网的动态区域路由方法,其特征在于,包括:
步骤1、节点通过域内路由探测获得预定跳数的邻节点的路由表;
步骤2、判断路由表的跳数是否大于或等于预设置的域半径,如果不是,则将所述预定跳数增大并返回步骤1;如果是,则判断路由表的累积度是否达到预设值,如果是则步骤结束,否则将所述预定跳数增大并返回步骤1;
其中,所述路由表的累积度为所述路由表中的节点数。
2.根据权利要求1所述的自组网的动态区域路由方法,其特征在于,在所述步骤1之后,步骤2之前,所述方法还包括:
步骤3、所述节点根据链路的变化或接收到的路由更新消息,实时更新所述路由表。
3.根据权利要求1或2所述的自组网的动态区域路由方法,其特征在于,所述步骤1包括:
步骤11、每一节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息;
步骤12、当每一节点接收到路由探测信息时,启动延时定时器;当所述延时定时器溢出时,节点根据接收到的空的路由探测信息生成路由表;
步骤13、节点将生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
4.根据权利要求3所述的自组网的动态区域路由方法,其特征在于,所述步骤13中的每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新,包括:
步骤13a、接收节点从接收的路由探测消息中提取发送节点的路由表;
步骤13b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;
步骤13c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤13d、判断更新后的路由表的最大跳数是否大于预设值并且累积度大于预设值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于预设值或者累积度等于预设值;如果否则步骤结束。
5.根据权利要求2所述的自组网的动态区域路由方法,其特征在于,所述步骤3包括:
步骤3a、当检测到失败的链路或发现新的链路时,节点更新自身的路由表,并将更新后的路由表放入路由更新消息中发送;
步骤3b、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
6.一种自组网的动态区域路由系统,其特征在于,包括:
域内路由探测模块,用于使节点通过域内路由探测获得预定跳数的邻节点的路由表;
控制模块,用于读取路由表的最大跳数,并判断该最大跳数是否大于或等于预设置的域半径;如果不是,则将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;如果是,则判断累积度是否达到预设值,如果未达到,将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;
其中,所述路由表的累积度为所述路由表中的节点数。
7.根据权利要求6所述的自组网的动态区域路由系统,其特征在于,所述系统还包括:
域内路由维护装置,用于根据链路的变化或接收到的路由更新消息,实时更新节点的路由表。
8.根据权利要求6所述的自组网的动态区域路由系统,其特征在于,所述域内路由探测模块包括:
发送单元,用于在节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息;
接收单元,用于当节点接收到路由探测信息时,启动延时定时器;并当所述延时定时器溢出后,使每一节点根据接收到的空的路由探测信息生成路由表;
探测路由单元,用于将节点生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
9.根据权利要求8所述的自组网的动态区域路由系统,其特征在于,所述探测路由单元通过以下方法更新路由表:
步骤a、接收节点从接收的路由探测消息中提取发送节点的路由表;
步骤b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;
步骤c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤d、判断更新后的路由表的最大跳数是否大于预设值并且累积度大于预设值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于预设值或者累积度等于预设值;如果否则步骤结束。
10.根据权利要求7所述的自组网的动态区域路由系统,其特征在于,所述域内路由维护装置接收到路由更新消息时,通过以下方法更新路由表:
步骤A、从接收的路由更新消息中提取发送节点的路由表;
步骤B、将该发送节点的路由表中,该发送节点对应的分支删除;
步骤C、将发送节点的路由表添加到节点自身的路由表中,并将所有的跳数项加1;
步骤D、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤E、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
CN2010101979586A 2010-06-03 2010-06-03 一种自组网的动态区域路由方法及系统 Expired - Fee Related CN101867519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101979586A CN101867519B (zh) 2010-06-03 2010-06-03 一种自组网的动态区域路由方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101979586A CN101867519B (zh) 2010-06-03 2010-06-03 一种自组网的动态区域路由方法及系统

Publications (2)

Publication Number Publication Date
CN101867519A CN101867519A (zh) 2010-10-20
CN101867519B true CN101867519B (zh) 2013-03-13

Family

ID=42959089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101979586A Expired - Fee Related CN101867519B (zh) 2010-06-03 2010-06-03 一种自组网的动态区域路由方法及系统

Country Status (1)

Country Link
CN (1) CN101867519B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124238A1 (en) * 2010-11-12 2012-05-17 Alcatel-Lucent Bell N.V. Prioritization of routing information updates
CN102164125A (zh) * 2011-03-17 2011-08-24 武汉大学 基于asgka协议的安全通信系统及方法
WO2011116725A2 (zh) * 2011-04-29 2011-09-29 华为技术有限公司 实时数据传输的方法和设备
CN107580353A (zh) * 2016-07-04 2018-01-12 邵贵阳 一种无线Ad Hoc网络的路由方法
CN106411734B (zh) * 2016-10-18 2019-08-16 网宿科技股份有限公司 一种路由选择方法和路由器
CN107070798B (zh) * 2016-12-23 2020-12-15 华为技术有限公司 网络区域划分方法、网络设备和系统
CN109474908B (zh) * 2018-12-04 2021-10-26 中国航空无线电电子研究所 一种基于任务驱动的航空自组网方法
CN111711571B (zh) * 2020-08-20 2020-11-13 湖南智领通信科技有限公司 支持ip透传的自组网按需路由方法、装置和计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304556B1 (en) * 1998-08-24 2001-10-16 Cornell Research Foundation, Inc. Routing and mobility management protocols for ad-hoc networks
CN1299478C (zh) * 2004-03-26 2007-02-07 清华大学 无线自组织网络中基于节点的度的路由搜寻和维护方法
CN101616466B (zh) * 2009-07-22 2010-12-01 哈尔滨工程大学 一种自组网区域路由方法

Also Published As

Publication number Publication date
CN101867519A (zh) 2010-10-20

Similar Documents

Publication Publication Date Title
CN101867519B (zh) 一种自组网的动态区域路由方法及系统
Li et al. Sink mobility in wireless sensor networks
CN100442786C (zh) 基于树形结构的路由方法
CN109547351B (zh) Ad Hoc网络中基于Q学习和信任模型的路由方法
CN101127714B (zh) 一种无线网状网络中路由管理方法及设备
Zhu et al. Energy-efficient tree-based message ferrying routing schemes for wireless sensor networks
CN101083595A (zh) 一种路由建立方法
CN101459949B (zh) 路由建立方法
CN101145976A (zh) 引入节点重要性的对等网络超级节点选择和资源搜索方法
Manzoor et al. Enhanced TL-LEACH routing protocol for large-scale WSN applications
CN106792912B (zh) 一种基于aodv的改进路由方法及装置
Ahvar et al. FEAR: A fuzzy-based energy-aware routing protocol for wireless sensor networks
CN101990269A (zh) 一种数据转发的方法、网络节点及系统
He et al. PUAR: Performance and usage aware routing algorithm for long and linear wireless sensor networks
CN102625426B (zh) 异构无线网络中能耗均衡和延时双优化拓扑控制方法
He et al. Greedy construction of load‐balanced virtual backbones in wireless sensor networks
Singh et al. A review on Internet of Multimedia Things (IoMT) routing protocols and quality of service
Nehra et al. Neural network based energy efficient clustering and routing in wireless sensor networks
CN101547188B (zh) 一种实现无线传感器网络通用路由协议的系统及方法
Xu et al. Algebraic connectivity aided energy-efficient topology control in selfish ad hoc networks
CN104737589A (zh) 网络装置以及发送程序
CN103281724B (zh) 泛在网络终端选择方法
Park et al. Retracted: A Data Gathering Method Based on a Mobile Sink for Minimizing the Data Loss in Wireless Sensor Networks
Singh et al. Mutual exclusive distributive clustering (medc) protocol for wireless sensor networks
Saad et al. Ellipse routing: A geographic routing protocol for mobile sensor networks with uncertain positions

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: 20130313

Termination date: 20160603