一种无线自组网的路由方法及装置与流程

文档序号:12732421阅读:276来源:国知局
一种无线自组网的路由方法及装置与流程
本发明涉及第四代移动通信技术(The4thGenerationMobileCommunication,4G)长期演进(LongTermEvolution,LTE)以及无线移动自组网领域,特别涉及一种无线自组网的路由方法及装置。
背景技术
:Adhoc网络通信技术是一种能够快速自动组网的移动通信技术,它不同于一般的有中心的、集中式控制的、依赖预先部署通信基础设施的网络,具有快速部署、不依赖基础通信设施、能自维护自管理、抗毁性强等特点,网络中的节点不仅具有普通移动终端的功能,而且具有路由功能,网络的通信靠节点之间的相互协作、自组织和自运行、共同完成通信任务;已广泛的用于应急通信中。目前Adhoc网络通信技术逐步向着高速化、宽带化和网络化方向发展,已从最初的话音为主,发展到以数据为主、数话并重,通信保障模式也从传统的单手段模式,发展到多手段综合运用的互联网模式。而传统的技术不再适用,LTE技术具有传输速率高,无线传输时延低,频谱效率高,全IP架构,语音和数据融合等特点,符合当前战术通信的需求,因此将LTE技术应用到应急通信中是一个新的挑战,也为移动通信设备提供了新的机遇。基于Adhoc网络通信技术和LTE技术的上述特点,Adhoc网络通信技术和LTE技术相结合已成为一种技术发展趋势,在基于LTE技术的无线自组网中如何路由成为亟待解决的问题。技术实现要素:本发明的目的在于提供一种无线自组网的路由方法及装置,能更好地在基于LTE通信方式的无线自组网中通过节点模式选举解决路由的问题。根据本发明的一个方面,提供了一种无线自组网的路由方法,包括:当前节点通过与其它节点交互节点信息,获取当前节点所在无线自组网鱼眼域的拓扑信息;根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点;根据所述当前节点及其一跳邻居节点的类型,建立相应的邻接关系,并得到链路状态信息;根据所述链路状态信息,以本节点为根节点,生成路由表。优选地,所述当前节点通过与其它节点交互节点信息,获取当前节点所在无线自组网鱼眼域的拓扑信息的步骤包括:所述当前节点向其它节点广播携带本节点信息和两跳内邻居节点信息的广播报文,并接收来自其它节点的广播报文;根据所收到的每个广播报文的序列号,判断所述广播报文是否是最新广播报文;若是最新广播报文,则更新拓扑表,从而得到以当前节点为中心的鱼眼域的拓扑信息。优选地,所述根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点的步骤包括:当根据所获取的鱼眼域的拓扑信息,确定所述当前节点的三跳及以内的邻居节点均为空闲模式节点时,判断所述当前节点的连接数是否大于其三跳及以内的空闲模式节点的连接数;若判断所述当前节点的连接数大于其三跳及以内的空闲模式节点的连接数,则将所述当前节点选举为基站模式节点;若判断所述当前节点的连接数等于其三跳及以内的空闲模式节点的连接数,则将节点ID最小的节点选举为基站模式节点。优选地,所述根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点的步骤还包括:当根据所获取的鱼眼域的拓扑信息,确定所述当前节点的三跳及以内的邻居节点中存在基站模式节点时,将所述当前节点选举为终端模式节点。优选地,所述根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点的步骤包括:根据所获取的鱼眼域的拓扑信息,判断所述当前节点的连接数是否大于其三跳及以内的邻居节点的连接数;若判断所述当前节点的连接数大于其三跳及以内的邻居节点的连接数,则将所述当前节点选举为基站模式节点;若判断所述当前节点的连接数等于其三跳及以内的邻居节点的连接数,则将节点ID最小的节点选举为基站模式节点。优选地,所述根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点的步骤还包括:当根据所获取的鱼眼域的拓扑信息,确定所述当前节点的邻居节点中存在基站模式节点和终端模式节点时,判断所述当前节点的连接数是否大于终端模式节点的连接数;若所述当前节点的连接数大于终端模式节点的连接数,则将所述当前节点选举为基站模式节点,否则将所述当前节点选举为终端模式节点。优选地,所述根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点的步骤还包括:当根据所获取的鱼眼域的拓扑信息,确定所述当前节点的邻居节点中存在基站模式节点且不存在终端模式节点时,将所述当前节点选举为终端模式节点。优选地,所述根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点的步骤还包括:当根据所获取的鱼眼域的拓扑信息,确定所述当前节点的一跳邻居节点均为终端模式节点,或者一跳邻居节点中不存在基站模块节点且两跳邻居节点中存在基站模块时,将所述当前节点选举为基站模式节点。优选地,所述根据所述当前节点及其一跳邻居节点的类型,建立相应的邻接关系,并得到链路状态信息的步骤包括:若所述当前节点为基站模式节点,则所述当前节点与其一跳邻居节点中的终端模式节点建立邻接关系,生成对应于所述邻接关系的链路状态信息,并将所生成的链路状态信息分别携带于两个不同的报文,发送至鱼眼域内的节点和鱼眼域外的节点,以供鱼眼域内和鱼眼域外的各节点更新链路状态信息;若所述当前节点为终端模式节点,则所述当前节点与其一跳邻居节点中的基站模式节点建立邻接关系,生成对应于所述邻接关系的链路状态信息,并将所生成的链路状态信息发送至鱼眼域内的各个节点,以供鱼眼域内的各节点更新链路状态信息。根据本发明的另一方面,提供了一种无线自组网的路由装置,包括设置在每个节点上的以下模块:交互模块,用于通过与其它节点交互节点信息,获取当前节点所在鱼眼域的拓扑信息;选举模块,用于根据所获取的鱼眼域的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点;链路状态生成模块,用于根据所述当前节点及其一跳邻居节点的类型,建立相应的邻接关系,并得到链路状态信息;路由生成模块,用于根据所述链路状态表,以本节点为根节点,生成路由表。与现有技术相比较,本发明的有益效果在于:通过本发明的路由方法及装置,实现了将现有的LTE技术应用到了无线自组网中,更适应网络拓扑的快速变化,提高了路由精准度,节省了路由开销。附图说明图1是本发明实施例提供的无线自组网的路由方法的原理框图;图2是本发明实施例提供的无线自组网的路由装置框图;图3是本发明实施例提供的路由协议算法的基本步骤示意图;图4是本发明实施例提供的定期广播节点信息的过程图;图5是本发明实施例提供的节点初始上电时网络拓扑图;图6是本发明实施例提供的节点间获取到邻居节点信息后的网络拓扑图;图7是本发明实施例提供的节点模式选举完成后形成邻接关系的拓扑图;图8是本发明实施例提供的普通的节点模式选举流程图;图9是本发明实施例提供的优选的节点模式选举流程图;图10是本发明实施例提供的新节点进入网络时的拓扑图;图11是本发明实施例提供的拓扑稳定后的拓扑图;图12是本发明实施例提供的重新进行模式选举时使用普通的选举算法后的邻接关系图;图13是本发明实施例提供的重新进行模式选举时使用优选的举算法后的邻接关系图。具体实施方式以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1是本发明实施例提供的无线自组网的路由方法的原理框图,如图1所示,步骤包括:步骤S101:当前节点通过与其它节点交互节点信息,获取当前节点所在无线自组网鱼眼域的拓扑信息。对于任意一个节点,节点上电并广播序列号为1的广播报文时,该广播报文中只有本节点信息。通过节点信息交互,节点在发送后续的广播报文时,可以携带本节点信息及所获取的鱼眼域内的其它节点信息。所述鱼眼域可以是以本节点为中心的N跳(例如3跳)以内的区域。步骤S102:根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点。无线自组网中,随着网络拓扑的变化,每个节点所在鱼眼域的拓扑信息也可能发生变化,因此需要根据不同的情况选举或重新选举所述鱼眼域内的节点。例如在网络初始形成阶段,若鱼眼域内网络收敛,则可以通过选举将鱼眼域内的节点确定为基站模式节点(即节点工作模式为基站模式)或终端模式节点(即节点工作模式为终端模式),而在网络维护节点,节点连接数等变化时可能导致重新选举。步骤S103:根据所述当前节点及其一跳邻居节点的类型,建立相应的邻接关系,并得到链路状态信息。若步骤S102确定当前节点为基站模式节点,则建立当前节点与其一跳邻居节点中的终端模式节点之间的邻接关系,生成对应于所述邻接关系的链路状态信息,并将所生成的链路状态信息分别携带于两个不同的报文,发送至鱼眼域内的节点和鱼眼域外的节点。例如,将链路状态信息携带于广播报文中发送至鱼眼域内,实现鱼眼域内各节点链路状态信息的更新;将链路状态信息携带于链路状态报文中发送至鱼眼域外,实现鱼眼域外的节点的链路状态信息更新。若步骤S102确定所述当前节点为终端模式节点,则建立当前节点与其一跳邻居节点中的基站模式节点之间的邻接关系,生成对应于所述邻接关系的链路状态信息,并将所生成的链路状态信息发送至鱼眼域内的各个节点,以供鱼眼域内的各节点更新链路状态信息。步骤S104:根据所述链路状态表,生成以本节点为根节点的路由表。图2是本发明实施例提供的无线自组网的路由装置框图,如图2所示,包括设置在每个节点上的交互模块、选举模块、链路状态生成模块和路由生成模块。交互模块,用于通过与其它节点交互节点信息,获取当前节点所在无线自组网鱼眼域的拓扑信息。当所述鱼眼域是以本节点为中心的N跳(例如3跳)以内的区域时,以3跳为例,所述拓扑信息包括3跳及以内的节点的信息。选举模块,用于根据所获取的拓扑信息,将所述鱼眼域内的节点选举为基站模式节点或终端模式节点。当链路状态发生变化时,选举模块也可以根据具体情况进行重新选举。链路状态生成模块,用于根据所述当前节点及其一跳邻居节点的类型,建立相应的邻接关系,并得到链路状态信息。各个节点可以交互链路状态信息,使得每个节点都可以及时更新各自的链路状态信息,从而得到到达目的节点的路由。路由生成模块,用于根据所述链路状态表,生成以本节点为根节点的路由表。无线自组网网中的节点采用LTE制式通信时,存在如下特点:1)由于射频阻塞特性,约定节点工作模式要么为基站模式,要么为终端模式。2)当网络要求节点作为基站模式工作时,作为终端模式工作的邻居节点按照链接要求与此节点建立链接。3)网络的主要作用为转发数据以及本网内接入节点间的通信,组成的网络要连通性好。4)作为终端模式的工作节点作为中继节点使用时,需连接多个基站模式工作的节点。5)终端模式工作的邻居节点间不建立邻接关系,只有基站模式和终端模式的邻居节点间存在邻接关系。6)基站模式的节点不工作(即Down掉)后,要重新进行节点模式的选取。7)由于网络移动性带来的拓扑多变、易变,网络状态信息和路由信息必须快速收敛。基于上述LTE的无线通信方式的特点,需要对节点进行模式的选举以及维护,且终端模式的节点只能和基站模式的节点直接通信,基站模式的节点和基站模式的节点不能直接通信。现有的无线路由算法主要是基于路由发现或链路-状态交换进行的各种演变算法,仅适用于所有邻居节点间可以直接通信,即不受节点工作模式制约的无线自组网,而不适用于受节点工作模式制约的无线自组网,即不适用于结合LTE技术的无线自组网。同时,所有邻居节点间可以直接通信的无线自组网考虑网络移动性不足,且网络中路由控制报文过多,浪费资源。本发明通过结合LTE无线传输特性和节点的高速移动,基于链路状态协议,提出的改进性鱼眼路由算法协议。本实施例为基于改进鱼眼状态路由(FisheyeStateRouting,FSR)改进的路由协议算法,以节点3跳内的区域设为鱼眼域,3跳外的区域设为鱼眼模糊域为例,3跳内每个节点通过定时广播本节点和2跳及以内的邻居节点信息进行3跳拓扑信息的维护,并通过结合最大链路数和节点ID,利用以本节点为中心的3跳拓扑信息选取节点的工作模式,进而在基站模式(MANETDesignatedRouter,MDR)节点和终端模式节点之间形成邻接关系;3跳外的区域,只有MDR(即基站模式的节点)节点能够以更长的周期对每个节点信息进行广播式泛洪,其中,只和一个基站模式节点建立邻接关系的终端模式节点在收到后不进行转发,只有和多个基站模式节点建立邻接关系的终端模式节点在收到后进行转发。每个节点根据维护的节点链路状态表进行路由表的生成和维护,根据3跳内的拓扑表进行节点模式维护。需要说明的是,节点的模式分为基站模式、终端模式和空闲模式,其中,节点身份未确定前为空闲模式,例如终端模式节点根据接收的广播报文周期检查自己所接入的MDR的状态,若所接入的MDR节点down掉或者离开,则先根据邻居节点信息确定是否有可以接入的MDR节点,如果存在则直接接入,如果不存在就将该终端模块节点设置为空闲模式节点,并等待重新进行节点模式的选择;又例如MDR节点周期检查2跳上的MDR邻居节点数,如果MDR节点具有2跳节点(排除网络本来就是一跳拓扑的情况)且MDR节点数变为0,说明以此MDR节点为中心的一跳网络变为孤立网络,此时将该MDR节点设置为空闲模式节点,并等待重新进行节点模式的选择。图3是本发明实施例提供的路由协议算法的基本步骤示意图,如图3所示,步骤包括:步骤S201:网络拓扑信息生成及维护。节点上电初始化后,通过定时广播本节点和2跳及以内的邻接点信息以及接收邻居节点的广播报文来生成和维护以本节点为中心的3跳拓扑信息。广播消息分为全广播报文(fullbroadcast)和差异广播报文(differentbroadcast),其中,fullbroadcast以较长的周期(3倍于differentbroadcast的广播周期)定时发送所有的2跳的双向邻居的节点信息,differentbroadcast以较短的周期定时发送变化的邻居节点信息,既可以节省带宽资源,又可以及时了解网络拓扑变化情况。节点收到来自其它节点的广播报文后,根据序号和报文信息更新拓扑表,并判断拓扑信息是否发生变化,在拓扑信息变化后要等到拓扑稳定后才能够进行步骤S202的节点模式选举步骤。网络维护阶段,节点收到fullbroadcast报文后,根据节点序号判断是否是最新的广播报文,如果序号最新,更新3跳内拓扑表;节点收到differentbroadcast报文后,更新链路状态表,若链路状态发生变化,更新路由表,并进行节点模式的维护。步骤S202:节点模式选举及邻接关系形成与维护。初始态时,节点需要等到获取到的3跳网络拓扑稳定即达到收敛后,根据3跳网络拓扑的拓扑信息进行节点模式的选举。维护态时,当3跳内网络拓扑发生变化,并需要重新进行节点模式的选举时,等到网络拓扑结构在一定时间内一直处于收敛状态即拓扑稳定后,根据3跳内的拓扑信息进行节点模式的选举。判断节点模式是否需要重新进行选举的标准是:1、如果本节点是工作在终端模式的节点,当本节点的邻居节点数增多或者本节点连接的所有MDR节点DOWN掉时,需要进行节点模式的选举;2、如果本节点是工作在基站模式的节点,即MDR节点,当本节点的邻居节点数减少到1或者本节点的邻接中继节点数减少为0时,需要进行节点模式的选举。节点身份选举后,根据一跳邻居节点的模式进行邻接关系的建立,即本节点及周围一跳邻居节点的工作模式确定后,进行邻接关系的建立,即终端模式节点与基站模式节点之间建立链接,并生成各自的链路状态表。步骤S203:链路状态信息定时更新处理。对于每个节点,3跳内的链路状态信息通过3跳内节点的广播信息来更新和维护;3跳外节点的链路状态信息,通过接收3跳外节点广播的链路状态报文来更新和维护,即接收到链路状态报文时,根据序号更新链路状态表,如果链路状态发生变化,则在步骤S204中更新路由表。进一步地,3跳内的基站模式节点也以较长的周期定时向3跳外的节点广播链路状态报文,使3跳外的节点维护链路状态信息。步骤S204:路由表的生成及维护。以计算节点为根节点,根据链路状态表建立到各个目的节点的路径,更新路由表,并进行路由表维护。优选地,根据链路状态表使用迪杰斯特拉算法建立到各个目的节点的最短路径。下面结合附图对网络拓扑初步逐步形成阶段和网络维护阶段分别进行详细描述。一、网络拓扑初始逐步形成时实施步骤:步骤1:网络拓扑的形成。节点上电并完成初始化后,启动周期广播定时器,定时器时长为△t,当定时器超时后,发送differentbroadcast报文,报文序列号为1,此时报文只包含本节点信息,无邻居节点信息,当定时器超时次数为3n△t时(n=1,2,3…),发送fullbroadcast报文,如图4所示的定期广播节点信息的过程图,节点每次发送广播报文时报文序列号加1。节点接收到邻居节点的广播报文后,根据序号和报文类型,进行广播报文的处理。具体地说,节点收到fullbroadcast广播报文后,根据节点序列号判断是否是最新的广播报文,如果序列号最新,则更新3跳内拓扑表,并在下次发送广播报文时携带拓扑表中的邻居节点信息;节点收到differentbroadcast报文后,更新链路状态表,但不进行路由表的更新。图5是本发明实施例提供的节点初始上电时网络拓扑图,如图5所示,本例只讲述节点上电的情景:网络初始态时,同时有节点1、节点2、节点3和节点4上电。开始时各个节点均没有邻居节点,每个节点在第一次发送differenthello广播报文时只携带自己的节点信息,各节点间没有邻接关系。例如,节点1收到节点2的第一次发送的广播报文后,节点1更新拓扑表如表1所示。表1节点1节点2节点10节点20节点1收到节点3的广播报文后,节点1更新拓扑表如表2所示。表2节点1节点2节点3节点100节点200节点300期间,节点2分别收到节点1和节点3的第一次发送的广播报文,更新后的拓扑表如表3所示。表3节点1节点2节点3节点100节点200节点300节点3分别收到节点1、节点2和节点4的广播报文,更新后的拓扑表如表4所示。表4节点4收到节点3的广播报文,更新后的拓扑表如表5所示。表5第2个周期超时,节点1发送携带有本节点信息和邻居节点2和邻居节点3的信息的广播报文,报文序列号为2。节点2收到节点1的广播报文后,发现节点1中有自己,更新自己和节点1的邻居关系为双向邻居,并更新本节点的拓扑表,如表6所示。表6节点1节点2节点3节点110节点210节点300节点2收到节点3的广播报文后,更新本节点的拓扑表如表7。表7节点1节点2节点3节点4节点1100节点2110节点3010节点4000节点1收到节点2的广播报文后,发现节点2中有新增邻居节点4和3以及自己,更新拓扑表如表8。表8节点1节点2节点3节点4节点1100节点2100节点3000节点4000期间,节点3先后收到节点1、2和4的广播报文,更新拓扑表如表9所示。表9节点1节点2节点3节点4节点1010节点2010节点3111节点4001期间节点4收到节点3的广播报文,更新拓扑表如表10。表10节点1节点2节点3节点4节点1000节点2000节点3001节点4001第3个周期超时广播报文后,各个节点的拓扑表如表11。表11节点1节点2节点3节点4节点1110节点2110节点3111节点4001其中,各个表中的1表示双向邻居关系,0表示非邻居关系。然后,又经过连续4个周期,即4△t后,拓扑结构仍然没变,说明拓扑收敛拓扑稳定,拓扑图如图6所示的节点间获取到邻居节点信息后的网络拓扑图。步骤2:节点模式选举及邻接关系形成。等到网络拓扑稳定即收敛后进行节点模式的选举以及建立邻接关系,形成如图7所示的节点模式选举完成后形成邻接关系的拓扑图。需要说明的是,网络拓扑收敛的标准是网络拓扑在一定时间4△t内没有变化。图8是本发明实施例提供的普通的节点模式选举流程图,如图8所示,步骤包括:步骤S301:选举定时器超时。步骤S302:判断本节点是否存在邻居节点,若存在,执行步骤S303,否则,执行步骤S307。步骤S303:判断本节点的3跳及以内邻居节点是否全为空闲模式,若全为空闲模式,则执行步骤S308,否则,执行步骤S304。步骤S304:判断本节点是否存在基站模式的邻居节点,若存在,执行步骤S310,否则执行步骤S305。步骤S305:判断邻居节点是否均为终端模式,若均为终端模式,则执行步骤S309,否则执行步骤S306。步骤S306:判断2跳中是否存在基站模式节点,若存在,则执行步骤S309,否则执行步骤S307。步骤S307:启动选举定时器,定时时长为△t。步骤S308:判断本节点是否在3跳及以内的节点中的连接数最大且节点ID最小,若是,则执行步骤S309,否则执行步骤S307。步骤S309:设置本节点的工作模式为基站模式,即本节点的身份为基站模式节点。步骤S310:设置本节点的工作模式为终端模式,即本节点的身份为终端模式节点,并执行步骤S311。步骤S311:判断本节点的周围邻居节点的工作模式是否均已确定,若是,则执行步骤S312,否则执行步骤S307。步骤S312:基站模式节点与终端模式节点之间建立邻接关系,建立链路,两个节点分别建立并更新链路状态表。步骤S313:结束流程。通过流程可以看出,普通的选举过程为:1)如果本节点不存在邻居节点,则本节点的工作模式设置为空闲模式,并设置选举定时器,时长为△t,等待下一个周期选举。2)如果本节点的三跳及以内的邻居全为空闲模式,本节点的连接数在所有的3跳及以内具有空闲模式的节点中最大,则选择本节点的工作模式为基站模式,连接数存在相等的情况时,选择节点ID小的节点作为基站模式节点;否则设置选举定时器,等到下个周期进行选举。3)如果本节点存在基站模式的邻居节点,则本节点设置为终端模式节点。4)如果本节点的一跳邻居节点只有终端模式,则本节点设置为基站模式节点,为MDR节点。5)如果本节点一跳中不存在基站模式的节点,2跳邻居中存在基站模式的节点,则设置本节点为基站模式节点。6)如果本节点的一跳邻居节点模式和本节点模式都已经确定,则进行邻接关系的建立,终端模式节点选择邻居为基站模式的节点发起连接建立,否则设置选举定时器,等待下个周期进行连接的建立。图9是本发明实施例提供的优选的节点模式选举流程图,如图9所示,步骤包括:步骤S401:选举定时器超时。步骤S402:判断本节点是否存在邻居节点,若存在,执行步骤S403,否则,执行步骤S408。步骤S403:判断本节点是否在3跳及以内的节点中的连接数最大且节点ID最小,若是,则执行步骤S413,否则执行步骤S404。步骤S404:判断本节点是否存在基站模式的邻居节点和终端模式的邻居节点,若存在,执行步骤S409,否则执行步骤S405。步骤S405:判断邻居节点是否均为基站模式或者基站和非终端模式,若是,则执行步骤S410,否则执行步骤S406。步骤S406:判断邻居节点是否均为终端模式,若是,则执行步骤S413,否则执行步骤S407。步骤S407:判断本节点的2跳邻居节点中是否存在基站模式节点,若存在,则执行步骤S413,否则执行步骤S408。步骤S408:启动选举定时器,定时时长为△t。步骤S409:判断本节点的连接数是否大于终端模式的邻居节点的连接数,若是,则执行步骤S413,否则执行步骤S410。步骤S410:设置本节点的工作模式为终端模式,即本节点的身份为终端模式节点,并执行步骤S411。步骤S411:判断本节点的周围邻居节点的工作模式是否均已确定,若是,则执行步骤S412,否则执行步骤S408。步骤S412:基站模式节点与终端模式节点之间建立邻接关系,建立链路,两个节点分别建立并更新链路状态表。步骤S413:设置本节点的工作模式为基站模式。步骤S414:结束流程。通过流程可以看出,优选的选举过程为:1)如果本节点不存在邻居节点,则本节点的工作模式设置为空闲模式,并设置选举定时器,时长为△t,等待下一个周期选举。2)如果本节点的连接数在所有的3跳及以内的节点中最大,则选择本节点为基站模式节点,当存在连接数相等的情况时,选择节点ID小的节点作为基站模式节点。3)如果本节点存在基站模式的邻居节点和终端模式的邻居节点,且本节点连接数大于终端模式的邻居节点的连接数,则设置本节点为基站模式,否则设置本节点为终端模式。4)如果本节点只存在基站模式的邻居节点或者基站模式和非终端模式的邻居节点,则设置本节点为终端模式。5)如果本节点的一跳邻居节点只有终端模式,则本节点设置为基站模式节点,为MDR节点。6)如果本节点一跳中不存在基站模式的节点,2跳邻居中存在基站模式的节点,则设置本节点为基站模式节点。7)如果本节点的一跳邻居节点模式和本节点模式都已经确定,则进行邻接关系的建立,终端模式节点选择邻居为基站模式的节点发起连接建立,否则设置选举定时器,等待下个周期进行连接的建立。承接步骤1的例子,网络中拓扑已经稳定,开始进行节点模式选举,节点1、节点2和节点4发现3跳内本节点的连接度不是最大的,等到下个周期选举,节点3发现自己的连接度是最大的,设置本节点为基站模式;等到下个周期超时后,节点1,2,4分别设置自己为终端模式;并且节点1,2,4发起和节点3的连接建立,建立邻接关系,如图7所示。步骤3:链路状态定时更新处理。3跳内属于鱼眼域,3跳外属于鱼眼模糊域,3跳内的链路状态通过differentbroadcast报文定时更新,节点定时向3跳外发送链路状态更新(LinkStateUpdate,LSU)报文。3跳内节点模式选举完成且邻接关系建立,如果本节点为基站模式,则向3跳外发送链路状态更新报文,并设置链路状态更新定时器,时长为k(k>3△t),具有中继功能的终端模式节点收到该报文后,根据报文中的序列号判断该报文是否为最新报文,如果为最新报文,则进行转发,否则丢弃报文。进一步地,节点收到链路状态更新报文后,判断序列号为最新,则更新链路状态表,并判断链路状态是否发生变化,存在变化则更新路由表。承接步骤1的例子,链路状态更新后的邻接关系如表12所示。表12节点1节点2节点3节点4节点1010节点2010节点3111节点4001步骤4:路由表的形成。根据链路状态表,以本节点为根节点,按照迪杰斯特拉算法生成最短路径树的路由表。路由表信息包括目的节点、下一跳节点和跳数等信息。二、网络维护阶段的具体实施步骤步骤10:网络拓扑更新及维护。本节点通过周期广播本节点和2跳及以内的邻居节点信息以及接收来自其它节点的广播报文来维护3跳内的拓扑信息和链路状态信息,定时器时长为△t,当定时器超时后,发送differentbroadcast报文,当定时器超时次数为3n△t时(n=1,2,3…),发送fullbroadcast报文,如图4所示。节点接收到fullbroadcast广播报文后,根据节点序列号判断是否是最新的广播报文,如果序列号为最新,则更新3跳内的拓扑表,接收到differentbroadcast报文后,更新链路状态表。此处列举一个节点增加引起拓扑变化的场景,本发明不局限于此场景:图10是本发明实施例提供的新节点进入网络时的拓扑图,如图10所示,节点5和节点6开机进入。开始时节点5和6没有邻居信息,只广播自己的节点信息;经过4△t时间后,各个节点的拓扑表稳定,如图11所示的拓扑稳定后的拓扑图,拓扑表如表13所示。表13节点1节点2节点3节点4节点5节点6节点101000节点201011节点311100节点400100节点501000节点601000步骤20:节点模式及邻接关系的维护。当网络拓扑发生变化时,判断是否需要重新进行节点模式选举的标准如下:1、如果本节点是工作在终端模式的节点,则在本节点的邻居节点数增多或者本节点连接的所有MDR节点DOWN掉时,需要重新进行节点模式的选举。2、如果本节点是MDR节点即工作在基站模式的节点,则在本节点的邻居节点数减少到小于等于1或者本节点的邻接中继节点数减少为0时,需要重新进行节点模式的选举。节点模式的选举及邻接关系建立过程与初始态(即网络拓扑初始逐步形成时)时的选举过程相同,在此不再赘述。承接步骤10中的例子,根据网络拓扑变化节点是否重新选举的标准,节点2需要重新进行节点模式选举。图12是本发明实施例提供的重新进行模式选举时使用普通的选举算法后的邻接关系图,如图12所示,按照普通的节点选举方式,节点2的邻居有基站模式的节点,所以其仍然为终端模式,节点5的邻居节点只有终端模式,所以节点5为基站模式;节点6的邻居节点只有终端模式,所以节点6为基站模式。模式选举完后,节点2向节点5和节点6发起邻接关系的建立。图13是本发明实施例提供的重新进行模式选举时使用优选的举算法后的邻接关系图,如图13所示,按照优先的节点选举的方式,节点2的连接度比节点1大,选择自己为基站模式,节点5的邻居只有基站模式,选择自己为终端模式。节点模式选举完后,通过广播报文节点1发现自己的邻居节点2模式改为基站模式,于是向节点2发起连接的建立,节点5向节点2发起邻接关系的建立。步骤30:链路状态定时更新处理。处理机制与初始态(即网络拓扑初始逐步形成时)时的步骤3相同。步骤40:路由表更新及维护。在以下3种情况更新路由表:1)链路状态变化时当根据接收到的链路状态报文或者发现邻居链路状态发生变化时,更新链路状态表,根据最新的链路状态表更新路由表。2)接收到不可达报文当收到不可达报文时,根据目的ip地址,删除到此目的的路由。3)数据转发不存在到目的的路由时当进行数据转发查找到目的的路由时,发现路由不存在且目的节点不在节点的3跳拓扑范围内时,向具有邻接关系的MDR或者中继节点发送路由请求报文(RouteRequest,RREQ)并启动定时器,接收到RREQ报文的MDR或者中继节点,根据序列号确认是到目的节点的最新RREQ报文后,记录到源节点的反向路由,并查看自己是否具有到目的IP的路由,如果存在,则按原路径向源节点回复路由响应报文(RouteResponse,RREP)报文,如果此节点发现到目的节点的路径不可达,则丢弃此报文,否则启动反向路由清除定时器,继续转发RREQ报文;中间节点若在收到RREP响应报文前定时器超时,则清除反向路由,若在超时前收到RREP报文,建立到目的节点的正向路由,更新到路由表;源节点在定时器超时前如果收到RREP报文,则更新路由表,并发送报文;如果定时器超时后没有收到任何响应报文,则直接丢弃数据,并向源发送目的不可达报文。综上所述,本发明具有以下技术效果:1、本发明将现有的LTE技术应用到无线自组网中,提高了通信的速率和质量,数据业务也可以得到很好的应用;2、本发明在广播链路状态报文时,只有具有邻接关系的节点转发该报文,节省了路由开销;3、本发明结合按需路由发现的协议与链路状态协议,节省了路由控制报文的开销,节省了带宽,更适应网络拓扑的快速变化,提高了路由精准度,可以有效的降低报文的丢包率;4、本发明适用于采用对等或分层方式的无线自组网。尽管上文对本发明进行了详细说明,但是本发明不限于此,本
技术领域
技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1