CN101867519A - 一种自组网的动态区域路由方法及系统 - Google Patents
一种自组网的动态区域路由方法及系统 Download PDFInfo
- Publication number
- CN101867519A CN101867519A CN201010197958A CN201010197958A CN101867519A CN 101867519 A CN101867519 A CN 101867519A CN 201010197958 A CN201010197958 A CN 201010197958A CN 201010197958 A CN201010197958 A CN 201010197958A CN 101867519 A CN101867519 A CN 101867519A
- Authority
- CN
- China
- Prior art keywords
- routing table
- node
- routing
- route
- jumping
- 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
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。
作为上述技术方案的优选,所述方法还包括:
步骤3、所述节点根据链路的变化或接收到的路由更新消息,实时更新所述路由表。
作为上述技术方案的优选,所述步骤1包括:
步骤11、每一节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息;
步骤12、当每一节点接收到路由探测信息时,启动延时定时器;当所述延时定时器溢出时,节点根据接收到的空的路由探测信息生成路由表;
步骤13、节点将生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
作为上述技术方案的优选,所述步骤13包括:
步骤13a、接收节点从接收的路由探测消息中提取发送节点的路由表。
步骤13b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;
步骤13c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤13d、判断更新后的路由表的最大跳数是否大于设置的值并且累积度大于设置的值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于设置的值或者累积度等于设置的值;如果否则步骤结束。
作为上述技术方案的优选,所述步骤3包括:
步骤3a、当检测到失败的链路或发现新的链路时,节点更新自身的路由表,并将更新后的路由表放入路由更新消息中发送;
步骤3b、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
本发明实施例还提出了一种自组网的一种自组网的动态区域路由装置,包括:
域内路由探测模块,用于使节点通过域内路由探测获得预定跳数的邻节点的路由表;
控制模块,用于读取路由表的最大跳数,并判断该最大跳数是否大于或等于预设置的域半径;如果不是,则将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表;如果是,则判断累积度是否达到预设值,如果未达到,将所述预定跳数增大并通过所述域内路由探测模块使节点通过域内路由探测获得重新确定的预定跳数的邻节点的路由表。
作为上述技术方案的优选,所述装置还包括:
域内路由维护装置,用于根据链路的变化或接收到的路由更新消息,实时更新节点的路由表。
作为上述技术方案的优选,所述域内路由探测模块包括:
发送单元,用于在节点加电启动或符合预设条件时,启动路由探测定时器,并向预定跳数的邻节点发送空的路由探测信息;
接收单元,用于当节点接收到路由探测信息时,启动延时定时器;并当所述延时定时器溢出后,使每一节点根据接收到的空的路由探测信息生成路由表。
探测路由单元,用于将节点生成的路由表添加到路由探测信息中,生成非空的路由探测信息;并将该非空的路由探测信息发送到其他节点;每一节点提取接收到的非空的路由探测信息中的其他节点的路由表,对自身的路由表进行更新;当所述路由探测定时器溢出时,不再发送非空的路由探测信息。
作为上述技术方案的优选,所述探测路由单元通过以下方法更新路由表:
步骤a、接收节点从接收的路由探测消息中提取发送节点的路由表。
步骤b、将新的路由表添加到接收节点自身的路由表中,并将所有的跳数项+1;这是由于发动节点到接收节点又增加了一跳,因此需要将所有路由的跳数+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所述的自组网的动态区域路由方法,其特征在于,所述方法还包括:
步骤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;这是由于发动节点到接收节点又增加了一跳,因此需要将所有路由的跳数+1。
步骤c、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项。这是由于在网络中到达同一节点可能存在多条路由,而只需包括跳数最小的一条路由即可,以降低路由表的复杂度。而当存在多条跳数最小的路由时,则选择延时最低的路由,这样进一步降低路由表的复杂度。
步骤d、判断更新后的路由表的最大跳数是否大于设置的值并且累积度大于设置的值;如果是,则删除路由树最低层路径对应的节点,直到域半径等于设置的值或者累积度等于设置的值;如果否则步骤结束。
10.根据权利要求7所述的自组网的动态区域路由系统,其特征在于,所述域内路由维护装置接收到路由更新消息时,通过以下方法更新路由表:
步骤A、从接收的路由更新消息中提取发送节点的路由表;
步骤B、将该发送节点的路由表中,该发送节点对应的分支删除;
步骤C、将发送节点的路由表添加到节点自身的路由表中,并将所有的跳数项加1;
步骤D、将路由表中具有相同入口节点地址的表项,保留跳数最小的表项,将其余的表项删除;如果跳数最小的表项有多个,保留一个开销最小的项;
步骤E、判断更新后的路由表的累积度是否大于预设值;如果否则步骤结束;如果是,则删除路由树最低层路径对应的节点,直到路由表的累积度不大于预设值。
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 true CN101867519A (zh) | 2010-10-20 |
CN101867519B 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) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164125A (zh) * | 2011-03-17 | 2011-08-24 | 武汉大学 | 基于asgka协议的安全通信系统及方法 |
CN102405624A (zh) * | 2011-04-29 | 2012-04-04 | 华为技术有限公司 | 实时数据传输的方法和设备 |
CN103201987A (zh) * | 2010-11-12 | 2013-07-10 | 阿尔卡特朗讯公司 | 区分路由信息更新的优先级 |
CN106411734A (zh) * | 2016-10-18 | 2017-02-15 | 网宿科技股份有限公司 | 一种路由选择方法和路由器 |
CN107070798A (zh) * | 2016-12-23 | 2017-08-18 | 华为技术有限公司 | 网络区域划分方法、网络设备和系统 |
CN107580353A (zh) * | 2016-07-04 | 2018-01-12 | 邵贵阳 | 一种无线Ad Hoc网络的路由方法 |
CN109474908A (zh) * | 2018-12-04 | 2019-03-15 | 中国航空无线电电子研究所 | 一种基于任务驱动的航空自组网方法 |
CN111711571A (zh) * | 2020-08-20 | 2020-09-25 | 湖南智领通信科技有限公司 | 支持ip透传的自组网按需路由方法、装置和计算机设备 |
CN118338380A (zh) * | 2024-06-13 | 2024-07-12 | 广东电网有限责任公司茂名供电局 | 自组网邻居节点确定方法、装置及电子设备 |
Citations (3)
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 |
CN1564544A (zh) * | 2004-03-26 | 2005-01-12 | 清华大学 | 无线自组织网络中基于节点的度的路由搜寻和维护方法 |
CN101616466A (zh) * | 2009-07-22 | 2009-12-30 | 哈尔滨工程大学 | 一种自组网区域路由方法 |
-
2010
- 2010-06-03 CN CN2010101979586A patent/CN101867519B/zh not_active Expired - Fee Related
Patent Citations (3)
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 |
CN1564544A (zh) * | 2004-03-26 | 2005-01-12 | 清华大学 | 无线自组织网络中基于节点的度的路由搜寻和维护方法 |
CN101616466A (zh) * | 2009-07-22 | 2009-12-30 | 哈尔滨工程大学 | 一种自组网区域路由方法 |
Non-Patent Citations (2)
Title |
---|
《IEEE/ACM TRANSACTIONS ON NETWORKING》 20040830 Prince Samar等 Independent Zone Routing:An Adaptive Hybrid Routing Framework for Ad Hoc Wireless Networks 595-608 1-10 第12卷, 第4期 2 * |
《计算机工程与应用》 20081231 吴少川,王常虹,沙学军 Ad Hoc网络混合路由协议AOHR能耗分析 5-8,18 1-10 , 第34期 2 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103201987A (zh) * | 2010-11-12 | 2013-07-10 | 阿尔卡特朗讯公司 | 区分路由信息更新的优先级 |
CN102164125A (zh) * | 2011-03-17 | 2011-08-24 | 武汉大学 | 基于asgka协议的安全通信系统及方法 |
CN102405624A (zh) * | 2011-04-29 | 2012-04-04 | 华为技术有限公司 | 实时数据传输的方法和设备 |
CN102405624B (zh) * | 2011-04-29 | 2014-03-12 | 华为技术有限公司 | 实时数据传输的方法和设备 |
CN107580353A (zh) * | 2016-07-04 | 2018-01-12 | 邵贵阳 | 一种无线Ad Hoc网络的路由方法 |
CN106411734A (zh) * | 2016-10-18 | 2017-02-15 | 网宿科技股份有限公司 | 一种路由选择方法和路由器 |
CN106411734B (zh) * | 2016-10-18 | 2019-08-16 | 网宿科技股份有限公司 | 一种路由选择方法和路由器 |
CN107070798A (zh) * | 2016-12-23 | 2017-08-18 | 华为技术有限公司 | 网络区域划分方法、网络设备和系统 |
CN109474908A (zh) * | 2018-12-04 | 2019-03-15 | 中国航空无线电电子研究所 | 一种基于任务驱动的航空自组网方法 |
CN111711571A (zh) * | 2020-08-20 | 2020-09-25 | 湖南智领通信科技有限公司 | 支持ip透传的自组网按需路由方法、装置和计算机设备 |
CN111711571B (zh) * | 2020-08-20 | 2020-11-13 | 湖南智领通信科技有限公司 | 支持ip透传的自组网按需路由方法、装置和计算机设备 |
CN118338380A (zh) * | 2024-06-13 | 2024-07-12 | 广东电网有限责任公司茂名供电局 | 自组网邻居节点确定方法、装置及电子设备 |
CN118338380B (zh) * | 2024-06-13 | 2024-08-09 | 广东电网有限责任公司茂名供电局 | 自组网邻居节点确定方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101867519B (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101867519B (zh) | 一种自组网的动态区域路由方法及系统 | |
CN109547351B (zh) | Ad Hoc网络中基于Q学习和信任模型的路由方法 | |
Gawade et al. | A centralized energy efficient distance based routing protocol for wireless sensor networks | |
Gajjar et al. | FAMACRO: Fuzzy and ant colony optimization based MAC/routing cross-layer protocol for wireless sensor networks | |
CN101127714B (zh) | 一种无线网状网络中路由管理方法及设备 | |
CN101459949B (zh) | 路由建立方法 | |
CN1984020A (zh) | 一种传输数据的方法及装置 | |
Avokh et al. | Dynamic balanced spanning tree (DBST) for data aggregation in wireless sensor networks | |
Manzoor et al. | Enhanced TL-LEACH routing protocol for large-scale WSN applications | |
CN101990269A (zh) | 一种数据转发的方法、网络节点及系统 | |
Shanmugam et al. | A dynamic probabilistic based broadcasting scheme for manets | |
CN102625426B (zh) | 异构无线网络中能耗均衡和延时双优化拓扑控制方法 | |
Singh et al. | A review on Internet of Multimedia Things (IoMT) routing protocols and quality of service | |
CN105049355A (zh) | 一种路由方法和装置 | |
Nehra et al. | Neural network based energy efficient clustering and routing in wireless sensor networks | |
Bai et al. | Accuracy, latency, and energy cross‐optimization in wireless sensor networks through infection spreading | |
Ebadi | A multihop clustering algorithm for energy saving in wireless sensor networks | |
Ducrocq et al. | Balancing energy consumption in clustered wireless sensor networks | |
CN101547188B (zh) | 一种实现无线传感器网络通用路由协议的系统及方法 | |
Xu et al. | Algebraic connectivity aided energy-efficient topology control in selfish ad hoc networks | |
CN104737589A (zh) | 网络装置以及发送程序 | |
Afsar | Effective data aggregation using a hierarchical multi-layered scheme for large-scale 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 | |
Park et al. | Retracted: A Data Gathering Method Based on a Mobile Sink for Minimizing the Data Loss in Wireless Sensor Networks |
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 |