专利名称::基于环路分群的单向无线自组织网络路由方法
技术领域:
:本发明属于无线通信网络
技术领域:
,具体来说涉及一种基于环路分群的单向无线自组织网络路由方法。
背景技术:
:无线自组织网络,又称无线AdHoc网络(WirelessAdhocNetworks),是由多个移动节点组成的多跳无线网络。无线自组织网络不依赖于任何特定的网络基础设施,具有无中心、自组织、自修复、组网灵活且低成本、覆盖范围广、节点可移动等特点,能实现快速自动组网,可以广泛应用于战场通信指挥与控制、灾难救助、偏远地区等无法得到有线网络支持或某些只是临时需要通信但建立有线通信网络代价太大的环境。在无线自组织网络中,当两个节点在彼此的通信覆盖范围内,它们可以相互通信,但由于节点的通信范围有限,相距较远的节点需要通过其它节点的中继(Relay)才能通信,即多跳路由方式。因此,在无线自组织网络中每个节点不仅能移动,而且都兼有路由器和主机两种功能,能完成发现和维持到其他节点的路由。不过,在这种情况下,节点一旦移动将导致网络的拓扑结构发生变化,加上节点之间都是通过无线信道进行通信,因此,多跳路由面临着动态变化的网络拓扑结构、有限的带宽等方面的挑战。为了支持多跳路由,在目前的多跳无线自组织网络研究中,已提出了多种路由协议,按照路由建立的方式不同,可分为先应式(Proactive)路由协议和按需(On-demand)路由协议。先应式路由协议又称为表驱动路由协议,在先应式路由协议中(如DSDV、LANMAR、FSR、OLSR、TBRPF),无论是否有通信需求,每两个节点之间都预先建立起路由,源节点一旦要发送分组,可以立即获得指向目的节点的路由。这种路由协议的优点是能够及时交换网络信息,如可用带宽、时延、拓扑结构等,可以支持实时业务。但是,它不适合规模较大的网络,因为许多没有使用的路由仍然需要维护,周期性的路由更新可能引起过度的处理和通信开销。另外,快速变化的拓扑结构会使所获得的路由有效时间縮短,路由信息利用率下降。按需路由协议(如AODV、DSR、TORA、ABR),只有当网络节点有路由的需求时才发起路由的査找过程,并对建立的路由进行维护,数据传输结束后将释放建立的路由。与先应式路由协议相比,按需路由协议可以降低路由开销,路由的使用效率更高。一般来说,按需路由协议更适合于无线自组织网络。但是,按需路由协议也存在不足,当一条正在使用的链路由于节点失效或节点移动而发生中断时,会触发路由的重新建立,这个过程不仅会带来新的开销,也会增加业务的时延。因此,单纯的按需路由协议不太适合于实时的通信需求。由于节点的覆盖范围有差异或存在隐藏终端等问题,会导致无线自组织网络中出现单向链路。但是无论是先应式路由协议,还是按需路由协议,目前提出的路由协议基本上都是建立在"对称"网络即节点间的链路为双向的假设之上,当网络中出现单向链路时有可能无法正常工作。虽然DSR提到支持单向链路,但DSR没有给出具体的方法,没有说明对单向链路中的通信应答和路由维护如何进行处理。因此,无线自组织网络路由协议支,单向链路是一个有待解决的问题。存在单向链路的网络称为单向网络。将单向网络抽象成一个有向图GKr,五),其中m示网络节点集合,五表示链路集合。在网络G-(F,五)中,若对w,v口r,有(",v)OEA(v,m)口£,此时v可以直接收到w发出的信息,但w不能直接收到v发出的信息,我们称(w,v)是单向链路,即链路w只能沿固定的一个方向发送数据而不能沿相反的方向发送数据,并称M为v的上游节点,v是"的下游节点。双向链路是能够沿两个方向发送数据的链路。若网络中每条链路都是单向链路,则称这样的网络为纯单向网络。若网络中既有单向链路,也有双向链路,则称这样的网络为混合单向网络。由于单向链路的存在,一个节点可以通过邻居发现知道单向链路上游的邻居节点,但却无法知道单向链路下游的邻居节点。因此,在现阶段针对单向网络的按需路由协议中,一般路由请求消息和路由应答消息都需要采取广播的方式来实现。在网络G-(r,五)中,对M,v口F,如果存在一条从节点M到节点v的有向路径,则称v由"可达,或者说,从"可达v。如果G中任意两个节点都互相可达,则称G是强连通的(stronglyconnected)。因为在通信网络中,任意两个进行通信的节点一般都需要进行信息交互,也就是要求网络中任意两个节点是相互可达的,所以,如果不进行特别说明,则本发明所针对的网络是强连通的。如果G中的一条路径的起点和终点是同一个节点,则称此条路径为回路。如果一条回路中除了起点和终点没有重复的节点,则称这样的回路为环路(Loop)。由单向链路所构成的环路具有这样的特点,即环路中的每个节点可以通过环路内部路由知道单向链路的下游邻居节点。
发明内容本发明的目的在于针对无线自组织网络中存在单向链路的情况,提供一种基于环路分群的单向无线自组织网络路由方法。基本思想是由单向无线自组织网络中每一条环路构成一个群,群内的节点保存有到群内其他节点的路由信息,是一种先应式的路由方式。群间和群外的节点只有在有路由需要时才发起路由的査找过程,是一种按需的路由方式。目的是充分利用由单向链路构成环路后所具有的特点,发挥先应式路由方式和按需路由方式的优点,减少路由控制开销,保障路由的有效性。本发明通过如下技术方案实现。本发明所提供的一种基于环路分群的单向无线自组织网络路由方法,包括邻居发现过程、环路分群过程、路由选择过程和路由维护过程(1)所述的邻居发现过程,是指网络中的每个节点通过邻居(即邻居节点)发现过程知道自己有哪些邻居,并确定邻居之间的链路是单向链路还是双向链路。具体过程为-每个节点每隔时间T向自己的邻居广播Hello消息,Hello消息中携带有该节点己知邻居节点的标识(ID)。当一个节点接收到一个Hello消息,首先查看消息中是否包含了自己ID,如果包含了自己的ID,则说明该条链路为双向链路,否则为单向链路。然后,将获得的邻居ID和链路方向记录在自己的节点邻居表中。所述的Hello消息的内容包括:消息类型、发送节点ID、已知邻居列表等;如果一个节点在规定的时间内收不到某个邻居的Hello消息,则认为与该邻居的链路已经失效,将此邻居从自己的邻居表中删除。(2)所述的环路分群过程,首先査找网络中的环路,并把获得的环路看成是一个群,然后让群中的每个节点获得到达群内其他节点的路由。具体过程如下最初,网络中所有节点为初始节点(InitialNode)。在网络中任意选取一个节点S(—般可以选择便于管理和操作的节点),由S向网络中广播环路发现消息LDM(Lo叩DiscoveryMessage),LDM的内容包括消息类型、发送节点ID、消息序列号、所经过的节点与经过的链路方向序列等。当一个初始节点接收到一个LDM消息,并且自己没有发送过同一LDM(根据发送节点ID、消息序列号和所经过的节点进行判断),则获取其中的路由信息,并把自己的ID加入到所经过的节点序列中,同时,也将接收LDM的链路的方向标识也加入到序列中,然后继续广播转发该消息。所述的链路方向标识为O表示双向,l表示单向。如果一个节点已经发送过一次相同的LDM,则该节点不再转发LDM,只是査看自己是否在所经过的节点序列中,并获取其中的路由信息。如果一个节点已经加入到某一个群而成为了群内节点,且收到的LDM不是自己发送过的LDM,如果LDM中有新的路由信息,则获取其中的路由信息,否则丢弃收到的LDM。如果接收到LDM的节点在LDM所经过的节点与经过的链路方向序列中,一种情形是发过来的LDM只传递了一跳,因为它与邻居之间为双向链路,这种情况下丢弃收到的LDM。另一种情形是该节点获取了网络中的一个环路信息,于是基于此环路的节点和链路即构成一个群,并根据LDM中的节点与链路方向序列建立群内节点的路由表,并沿所接收LDM走过的路径发送路由建立消息RCM(RoutingCreatingMessage),通知群内节点建立群内路由信息。RCM的内容包括消息类型、发送节点ID、接收节点ID、群标识(ID)、群内节点与链路方向序列等。接收到RCM消息的节点首先判断该消息是否发给自己,若不是,则丢弃该消息;若是,则根据节点与链路方向序列建立到群内其他节点的路由表。然后,改变消息的接收节点ID继续转发该消息。当环路上的所有节点都接收到了RCM,并建立了路由,则基于该环路的群内路由已经建立。当一个节点收到的RCM中包含的环路信息与自己发送过的RCM完全一样时,将不再转发此RCM,发送RCM的节点在规定的时间内收不到自己发送的RCM即表示RCM传递不成功,即环路信息已由其他的RCM传送而不需要重复传送。当一个群内节点有到群外面的路由时,我们称这样的节点为网关节点,网关节点会保存与自己相关的群外路由。当群内节点有到群外面的路由、或发现某个群内节点有到群外面的路由、或者获得了新的路由时,将通过路由更新消息RUM(RoutingUpdateMessage)通知群内其他节点哪个节点为网关节点,并将新的路由发给网关节点。RUM的内容包括消息类型、发送节点ID、路由更新列表等。如果一个节点属于两个或两个以上的群,它将保存每个群的信息,发送数据时选取其中最优的路由,并且它也是网关节点。由于没有加入任何群的节点仍然为初始节点,这样将网络节点分成了两大部分群内节点和初始节点。(3)所述的路由选择过程,是指当源节点需要向目的节点发送数据时,源节点如何获取到达目的节点的路由。具体过程如下当源节点与目的节点位于同一个群内时,直接利用群内路由就可以将数据发送到目的节点。当源节点是某个群中的节点,且目的节点不在该群时,源节点将向群中的网关节点发送路由请求消息RREQ(RouteRequest),RREQ的内容包括消息类型、目的节点ID、目的节点序列号、源节点ID、源节点序列号、路由标识、所经过的节点与链路方向序列等,其中路由标识表示RREQ是否有到目的节点的路由,若有,该标识为l,若没有,该标识为0。如果源节点是初始节点,则它将广播RREQ消息。当一个中间节点接收到RREQ,首先将自己的ID与接收RREQ链路的方向标识加入到RREQ所经过的节点与链路方向序列中,然后查找自己是否有到目的节点的路由,如果有,则将路由写入RREQ中所经过的节点与链路方向序列中,并置路由标识为1,RREQ将沿其中的路由进行转发,不再进行广播。如果接收到RREQ的中间节点没有到达目的节点的路由时,若该节点为群内节点,则将RREQ发送给自己群中的网关节点,网关节点也没有到达目的节点路由时将广播RREQ。若该节点为初始节点,则继续广播RREQ。任何节点重复收到相同的RREQ时,将丢弃此RREQ。目的节点有可能接收到多个RREQ而获取多条路由,它将对这些路由进行比较,选取其中一条最优的路由。所述的最优路由可以是跳数最少、或时延最小、或能量消耗最小、或稳定度最高、或其他可衡量的量化值等。然后向源节点回复路由应答消息RREP(RouteReply),RREP的内容包括消息类型、源节点ID、目的节点ID、目的节点序列号、路由标识、所经过的节点与链路方向序列、到达目的节点的路由表项等。RREP的传递与RREQ的传递机制一样。源节点接收到RREP后,一方面可以得到到达目的节点的路由,另一方面也得到了目的节点到达自己的路由。当需要目的节点给自己发送数据时,可以将此路由信息发送给目的节点。如果源节点在规定的时间内没有收到RREP,则认为不存在到达目的节点的路由,将放弃数据发送。(4)所述的路由维护过程,是指当网络中的一条链路出现失效时,需要通知源节点与该链路相关的路由已经失效,不能再通过此路由发送数据。具体过程如下当一个群内节点发现群内的一条链路失效,将沿群内路由向群内节点发送链路失效通知消息LFN(LinkFailureNotification),通告与该链路相关的路由与群都已失效。所述的LFN的内容包括消息类型、发送节点ID、群标识、消息传递路由、失效链路列表等。在LFN发出规定的时间后,如果发送LFN的节点已不属于任何群,该节点将广播环路发现消息LDM,对网络中初始节点重新进行一次环路分群过程。如果一个初始节点检测到一条链路失效,它将广播LFN,将群标识置为0,传递路由置为空。收到LFN的群内节点将删除与失效链路相关的路由与群,如果LFN的群标识指向自己所在的群,则继续根据LFN的传递路由转发LFN。如果LFN的群标识不是指向自己所在的群,且LFN来自群外节点,则利用群内路由重置LFN的传递路由,将LFN发送给自己群中的节点。网关节点收到LFN后,将传递路由置为空,并向群外广播LFN。如果一个初始节点收到LFN后,将删除与失效链路相关的路由,并继续广播LFN。任何节点收到重复的LFN,将丢弃此LFN。源节点到目的节点的路由由于链路失效被删除以后,如果仍然需要给目的节点发送数据,则源节点重新发起路由选择过程。本发明所提供一种基于环路分群的单向无线自组织网络路由方法,与现有技术相比,具有如下优势(1)通过环路分群,将网络节点分为两部分群内节点和初始节点。这样,除了源节点和目的节点,群内节点只有网关节点需要参与路由选择过程,避免了采用洪泛(Flooding)方式来传递RREQ和RREP,减小了路由控制开销。(2)采用了分级的路由方式,即群内路由和群间群外路由。与一般的表驱动路由方式相比,具有更好的可扩展性。(3)结合了先应式路由方式和按需路由方式,即群内路由是先应式路由方式,群间、群外路由是按需路由方式。由于先应式路由被限制在一个群内部,所以不会造成严重的路由开销。对按需路由方式来说,由于避免了采用洪泛方式来进行路由选择,所以在一定程度上减小了路由建立的时延。因此,本发明所提供的路由方法可以充分发挥先应式路由方式和按需路由方式的优势。图1为本发明实施例网络示意图2为本发明实施方式中Hello消息格式示意图3为实施方式中环路发现消息LDM格式示意图4为实施方式中路由建立消息RCM格式示意图图5为实施方式中路由更新消息RUM格式示意图图6本实施例完成环路分群后的网络示意图7为实施方式中环路分群过程流程图8为实施方式中路由请求消息RREQ格式示意图9为实施方式中路由应答消息RREP格式示意图;图10为实施方式中路由选择过程流程图;图ll为实施方式中链路失效通知消息LFN格式示意图;图12为本实施例中链路CD失效后的网络示意图。具体实施例方式下面结合具体网络实例来说明本发明所提供方法的具体实施方式-实施例的初始网络如图1所示,总共15个节点,均为初始节点,具有网络节点唯一标识符(ID或地址)。节点之间有连线表示两个节点之间存在无线链路,箭头方向表示链路方向,没有箭头的连线表示为双向链路,即AI、BC、KL、ER之间为双向链路。一、邻居发现过程网络中15个节点每隔时间T(取T二15秒)向自己的邻居广播Hello消息,Hello消息中携带有该节点已知邻居节点的标识(ID),其格式如图2所示。当一个节点接收到一个Hello消息,首先查看消息中是否包含了自己ID,如果包含了自己的ID,则说明该条链路为双向链路,否则为单向链路。各个节点将获得的邻居ID和链路方向记录在自己的节点邻居表中,本实施例中用O表示双向链路,l表示单向链路,15个节点的邻居表如表l所示。如果一个节点在规定的时间T(取T二30秒)内收不到某个邻居的Hello消息,则认为与该邻居的链路已经失效,将此邻居从邻居表中删除。表1<table>tableseeoriginaldocumentpage11</column></row><table>二、环路分群过程首先査找网络中的环路,并把获得的环路看成是一个群,然后让群中的每个节点获得到达群内其他节点的路由。具体过程如下-(1)在网络中选取节点S,由S向网络中广播环路发现消息LDM(LoopDiscoveryMessage),其中消息序列号=1,代表S第一次发送的LDM;所经过的节点序列为S。LDM的格式如图3所示。(2)当一个初始节点如A和J,接收到S发送的LDM消息,因为A和J没有发送过该LDM(根据发送节点ID和消息序列号进行判断),则获取其中的路由信息,并把自己的ID加入到所经过的节点序列中,同时,将接收LDM的链路的方向标识也加入到序列中,然后继续广播转发该消息。所述的链路方向标识为0表示双向,l表示单向。于是,A和J广播出去LDM中,"所经过的节点序列与链路方向序列"分别为SIA和SIJ。(3)如果一个节点如A接收到H发送过来的与自己转发过的相同的LDM,则A不再转发LDM,只获取其中的路由序列S1A1B1H。如果一个节点己经加入到某一个群而成为了群内节点,且收到的LDM不是自己发送过的LDM,如果LDM中有新的路由信息,则获取这些新的信息,否则丢弃收到的LDM。(4)节点A还会收到I发送来的LDM,因为AI之间为双向链路,所以有两种情形一种情形是I收到A广播的LDM后,继续转发LDM时,A也会收到,但LDM只传递了一跳,这种情况下A会丢弃收到的LDM。另一种情形是I收到H广播的LDM后,将继续转发LDM,A会收到此LDM,A不会丢弃,也不会再转发此LDM,因为它己经转发过一次。A由此LDM获取了一条新的路由序列SIAIBIHII。(5)A获取了路由序列S1A1B1H和SIAIBIHII后,发现自己的ID包含在这两个路由序列中,于是A获得了网络中的两个环路信息A1B1H1A和A1B1H1I0A。由于每条环路都构成一个群,因此A同时属于这两个群,它将保存每个群的信息,发送数据时选取其中最优的路由。A根据获得的路由序列建立群内节点的路由表,并沿所接收LDM走过的路径发送路由建立消息RCM(RoutingCreatingMessage),通知群内其他节点B、H、I建立路由信息,其中两个群的群标识分别由A1和A2表示。RCM的格式如图4所示。(6)接收到RCM消息的节点首先判断该消息是否发给自己,若不是,则丢弃该消息;若是,则根据RCM中群内节点与链路方向序列建立到群内其他节点的路由表,记录自己所属的群标识。然后,改变消息的接收节点ID继续转发该消息。当环路上的所有节点B、H、I都接收到了RCM并建立了路由,则群ABH和群ABHI的群内路由都己经建立。(7)因为节点A、B、H属于两个群的公共节点,所以它们也是两个群的网关节点。但在群ABHI中,节点I并不知道A、B、H是网关节点,于是由位于群内路由序列最前且具有最优路由到达I的节点A,通过路由更新消息RUM(RoutingUpdateMessage)通知节点I群内节点A、B、H为网关节点。如果节点H、B收到了新的路由信息,也会通过RUM通知群内与路由相关的节点或其他的网关节点。RUM的格式如图5所示。(8)经过环路分群过程后,本实施例中形成的群有ABH,ABHI,SABHI,CDFG。这样,S、A、B、C、D、F、G、H、I等9个节点成为群内节点,其中前2个群的群内节点都为网关节点,群SABHI的网关节点为S、B,群CDFG的网关节点为C、D、G。J、K、L、M、E、R仍为初始节点。环路分群过程完成后的网络如图6所示。环路分群过程的实现流程如图7所示。三、路由选择过程当源节点S需要向目的节点R发送数据时,S获取到达R的路由的过程如下(1)S判断R是否与自己属于同一个群,因为S所在的群为SABHI,R为初始节点,所以,S与R不属于同一个群,不能利用已有的路由发送数据。(2)S向群中的网关节点B和初始节点J发送路由请求消息RREQ(RouteRequest),RREQ的格式如图8所示。如果源节点是初始节点,则它将广播RREQ消息。(3)当一个中间节点如C接收到RREQ,首先将自己的ID与接收RREQ链路的方向标识O加入到RREQ所经过的节点与链路方向序列中,得到序列为S1A1B0C。然后C查找自己是否有到R的路由,如果有,则将路由写入RREQ中所经过的节点与链路方向序列中,RREQ将沿其中的路由进行转发,不再进行广播。由于C没有到达目的节点R的路由,且C属于群CDFG,为群内节点,于是C将RREQ发送给自己群中的其他网关节点D和G,因为网关节点D和G也没有到达目的节点R的路由,于是广播RREQ。若中间节点为初始节点如K,又没有到达R的路由,则继续广播RREQ。(4)节点E知道R是它的邻节点,会将收到的RREQ发给R。目的节点R可以接收到2个RREQ而获取2条路由S1A1B0C1D1E0R、S1J1K0L1M1E0R,它将对这2条路由进行比较,选取其中一条最优的路由S1A1B0C1D1E0R。本实施例最优路由的条件是是跳数最少、时延最小,两条路由跳数相同,但携带第一条路由的RREQ首先到达R。(5)R向S回复路由应答消息RREP(RouteReply),RREP的格式如图9所示。RREP的传递采用与RREQ的传递相同的机制,最后RREP经过路由R0E1F1G1H1I1S到达S。(6)源节点S接收到RREP后,一方面可以得到到达R的路由S1A1BOC1D1EOR,另一方面也得到了R到达自己的路由R0E1F1G1H1I1S。S和R之间可以通过这两条路由进行信息的交互和数据的发送了。(7)如果源节点S在规定的时间T(取T=90秒)内没有收到RREP,则认为不存在到达目的节点R的路由,将放弃数据发送。路由选择过程的实现流程如图IO所示。四、路由维护过程当网络中的一条链路如CD出现失效时,需要通知各节点与链路CD相关的路由已经失效,不能再通过此路由发送数据。具体过程如下(1)节点D检测到链路CD失效。(2)因为CD属于群CDFG中的链路,于是D利用群内路由向群中其他节点F、G、C发送链路失效通知消息LFN(LinkFailureNotification),通告与该链路相关的路由与群CDFG都已失效,LFN的格式如图ll所示。如果一个初始节点检测到一条链路失效,它将广播LFN,将群标识置为0,消息传递路由置为空。(3)收到LFN的群内节点F、G、C将删除与失效链路CD相关的路由与群CDFG。另外,由于D、G、C均为群CDFG的网关节点,他们将LFN的传递路由置为空,然后向群外广播LFN。如果一个初始节点收到LFN后,将删除与失效链路相关的路由,并继续广播LFN。(4)节点H、B收到LFN后,检测到LFN的群标识不是指向自己所在的群SABHI,且LFN来自群外节点,于是将LFN发送给自己群中的其他节点S、A、I。H会收到B发送的LFN,但由于与自己从G收到的LFN重复,所以H丢弃从B收到的LFN。S是群SABHI中的网关节点,S将LFN的传递路由置为空并继续广播LFN。(5)源节点S收到LFN后,由于链路CD失效,将删除到目的节点R的路由S1A1B0C1D1E0R。如果仍然需要给目的节点R发送数据,则源节点S重新发起路由选择过程。(6)在节点D发出LFN消息相隔时间T(取T=60秒)后,因为节点D已不属于任何群,于是D广播环路发现消息LDM,对网络中初始节点重新进行一次环路分群过程,得到新的群DFGCM。链路CD失效后,重新进行环路分群过程后的网络如图12所示。本发明所提供一种基于环路分群的单向无线自组织网络路由方法,关键之处是通过基于环路的分群将网络中节点分成了群内节点和初始节点两部分,从而避免使用洪泛的方式来传递路由请求消息RREQ和路由应答消息RREP,减少了路由控制开销。另外,本发明所提供的方法在群内采用的是先应式路由方式,群间采用的是按需路由方式,两种路由方式的结合可以在单向无线自组织网络中充分发挥这两种路由方式的优势。权利要求1、基于环路分群的单向无线自组织网络路由方法,该方法中由在单向无线自组织网络中查找到的每一条环路构成一个群,群内的节点保存有到群内其他节点的路由信息,群内的节点之间采用的是一种先应式的路由协议;群间和群外的节点之间只有在有路由需要时才发起路由的查找过程,采用的是一种按需的路由协议,其特征在于该方法包括邻居发现过程,网络中的每个节点通过邻居发现过程知道自己有哪些邻居,并确定自己与邻居之间的链路是单向链路还是双向链路;环路分群过程,首先查找网络中的环路,并把获得的环路当成是一个群,然后让群中的每个节点获得到达群内其他节点的路由;路由选择过程,当源节点需要向目的节点发送数据时,首先查询自己的路由表中是否有到达目的节点的路由,如果有,则利用已有的路由发送数据;如果没有,则发起路由查找过程以获取到达目的节点的路由;路由维护过程,当网络中的一条链路出现失效时,需要通知源节点与该链路相关的路由已经失效,不能再通过此路由发送数据。2、根据权利要求l所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述邻居发现过程包括每个节点每隔时间T向自己的邻居广播Hello消息,Hello消息中携带有该节点已知邻居节点的标识,当一个节点接收到一个Hello消息,首先査看消息中是否包含了自己的ID,如果包含了自己的ID,则说明该条链路为双向链路,否则为单向链路;然后,将获得的邻居ID和链路方向记录在自己的节点邻居表中,所述的Hello消息的内容包括消息类型、发送节点ID和已知邻居列表;如果一个节点在规定的时间内收不到某个邻居的Hello消息,则认为与该邻居的链路已经失效,将此邻居从自己的邻居表中删除。3、根据权利要求l所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述的环路分群过程包括网络中所有节点最初为初始节点,在网络中任意选取一个节点S,由节点S向网络中广播环路发现消息LDM,LDM的内容包括消息类型、发送节点ID、消息序列号和所经过的节点与经过的链路方向序列,当一个初始节点接收到一个LDM消息,并且自己没有发送过同一LDM,则获取其中的路由信息,并把自己的ID加入到所经过的节点序列中,同时,也将接收LDM的链路方向标识也加入到序列中,然后继续广播转发该消息,所述的链路方向标识为0表示双向,1表示单向;如果一个节点已经发送过一次相同的LDM,则该节点不再转发LDM,只是查看自己是否在所经过的节点序列中,并获取其中的路由信息;如果一个节点已经加入到某一个群而成为了群内节点,且收到的LDM不是自己发送过的LDM,如果LDM中有新的路由信息,则获取其中的路由信息,否则丢弃收到的LDM。4、根据权利要求3所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述的环路分群过程还包括如果接收到LDM的节点在LDM所经过的节点与经过的链路方向序列中,一种情形是发过来的LDM只传递了一跳,该接收到LDM的节点与邻居之间为双向链路,这种情况下丢弃收到的LDM;另一种情形是该收到LDM的节点获取了网络中的一个环路信息,于是基于此环路的节点和链路即构成一个群,并根据LDM中的节点与链路方向序列建立群内节点的路由表,并沿接收的LDM所经过的路径发送路由建立消息RCM,通知群内节点建立群内路由信息,RCM的内容包括消息类型、发送节点ID、接收节点ID、群标识、群内节点与链路方向序列;接收到RCM消息的节点首先判断该消息是否发给自己,若不是,则丢弃该消息,若是,则根据节点与链路方向序列建立到群内其他节点的路由;然后,改变消息的接收节点ID继续转发该消息;当环路上的所有节点都接收到了RCM并建立了路由,则基于该环路的群内路由已经建立;当一个节点收到的RCM中包含的环路信息与自己发送过的RCM完全一样时,将不再转发此RCM;发送RCM的节点在规定的时间内收不到自己发送的RCM即表示环路信息已由其他的RCM传递,不再等待收到自己发送的RCM。5、根据权利要求4所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述的环路分群过程还包括当一个群内节点具有到群外面的路由时,该节点定义为网关节点,网关节点会保存与自己相关的群外路由;当群内节点有到群外面的路由或发现某个群内节点有到群外面的路由或者获得了新的路由时,将通过路由更新消息RUM通知群内其他节点哪个节点为网关节点,并将新的路由发给网关节点;如果一个节点属于两个或两个以上的群,它将保存每个群的信息,发送数据时选取其中最优的路由,并且它也是网关节点,所述RUM的内容包括消息类型、发送节点ID和路由更新列表,所述的最优路由是跳数最少、时延最小、能量消耗最小或稳定度最高的路由。6、根据权利要求1所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述路由选择过程包括当源节点与目的节点位于同一个群内时,直接利用群内路由将数据发送到目的节点;当源节点是某个群中的节点,且目的节点不在该群时,源节点将向群中的网关节点发送路由请求消息RREQ,RREQ的内容包括消息类型、目的节点ID、目的节点序列号、源节点ID、源节点序列号、路由标识、所经过的节点与链路方向序列,其中路由标识表示RREQ是否有到目的节点的路由,若有,该标识为l,若没有,该标识为0;如果源节点是初始节点,则它将广播RREQ消息;当一个中间节点接收到RREQ,首先将自己的ID与接收RREQ链路的方向标识加入到RREQ所经过的节点与链路方向序列中,然后查找自己是否有到目的节点的路由,如果有,则将路由写入RREQ所经过的节点与链路方向序列中,并置路由标识为l,RREQ将沿其中的路由进行转发,不再进行广播;如果接收到RREQ的中间节点没有到达目的节点的路由时,若该节点为群内节点,则将RREQ发送给自己群中的网关节点,网关节点也没有到达目的节点路由时将广播RREQ,若该节点为初始节点,则继续广播RREQ;任何节点重复收到相同的RREQ时,将丢弃此RREQ。7、根据权利要求6所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述路由选择过程还包括若目的节点接收到多个RREQ而获取多条路由,它将对这些路由进行比较,选取其中一条最优的路由,所述的最优路由是跳数最少、时延最小、能量消耗最小或稳定度最高的路由;然后向源节点回复路由应答消息RREP,RREP的内容包括消息类型、源节点ID、目的节点ID、目的节点序列号、路由标识、所经过的节点与链路方向序列和到达目的节点的路由表,RREP与所述RREQ的传递机制一样;源节点接收到RREP后,一方面得到到达目的节点的路由,另一方面得到了目的节点到达自己的路由,当需要目的节点给自己发送数据时,将此路由信息发送给目的节点,如果源节点在规定的时间内没有收到RREP,则认为不存在到达目的节点的路由,将放弃数据发送。8、根据权利要求1所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述路由维护过程包括如果一个群内节点发现群内的一条链路失效,将沿群内路由向群内节点发送链路失效通知消息LFN,通告与该链路相关的路由与群都己失效,所述的LFN的内容包括消息类型、发送节点ID、群标识、消息传递路由和失效链路列表;在LFN发出后,在规定的时间内,如果发送LFN的节点己不属于任何群,该节点将广播环路发现消息LDM,对网络中初始节点重新进行一次环路分群过程;如果一个初始节点检测到一条链路失效,它将广播LFN,将群标识置为0,传递路由置为空;收到LFN的群内节点将删除与失效链路相关的路由与群,如果LFN的群标识指向自己所在的群,则继续根据LFN的传递路由转发LFN,如果LFN的群标识不是指向自己所在的群,且LFN来自群外节点,则利用群内路由重置LFN的传递路由,将LFN发送给自己群中的节点;网关节点收到LFN后,将传递路由置为空,并向群外广播LFN;如果一个初始节点收到LFN,将删除与失效链路相关的路由,并继续广播LFN。9、根据权利要求8所述的基于环路分群的单向无线自组织网络路由方法,其特征在于所述路由维护过程还包括任何节点收到重复的LFN,将丢弃此LFN;源节点到目的节点的路由由于链路失效被删除以后,如果仍然需要给目的节点发送数据,则源节点重新发起路由选择过程。10、根据权利要求19所述的基于环路分群的单向无线自组织网络路由方法,其特征在于经过环路分群后整个网络中的节点分为两部分群内节点和初始节点。全文摘要本发明提供了基于环路分群的单向无线自组织网络路由方法,其中群内的节点之间采用先应式的路由方式,群间和群外的节点之间采用按需的路由方式,该方法具体包括邻居发现过程、环路分群过程、路由选择过程和路由维护过程;通过环路分群,将网络节点分为两部分群内节点和初始节点,这样,除了源节点和目的节点,群内节点只有网关节点需要参与路由选择过程,本发明充分利用由单向链路构成环路后所具有的特点,发挥先应式路由方式和按需路由方式的优点,减少路由控制开销,保障路由的有效性。文档编号H04L12/56GK101394352SQ200810218800公开日2009年3月25日申请日期2008年10月31日优先权日2008年10月31日发明者刘桂开,军张,王洪江,岗韦申请人:华南理工大学