CN104104605A - 下行路由获取及维护方法和装置 - Google Patents
下行路由获取及维护方法和装置 Download PDFInfo
- Publication number
- CN104104605A CN104104605A CN201310112066.5A CN201310112066A CN104104605A CN 104104605 A CN104104605 A CN 104104605A CN 201310112066 A CN201310112066 A CN 201310112066A CN 104104605 A CN104104605 A CN 104104605A
- Authority
- CN
- China
- Prior art keywords
- node
- packet
- data
- data entries
- father node
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种下行路由获取及维护方法和装置,该装置为多跳网络中的节点,该节点包括:解码单元,其对转发或侦听到的数据包进行解码,获得该数据包的数据源节点、数据目标节点、发送节点、接收节点、类型以及数据段;第一确定单元,其在该数据包的数据源节点的跳数大于该节点的跳数且两者之差为2时,根据转发数据包表,确定是否转发过或侦听到过该数据源节点的数据包;发送单元,其在第一确定单元确定没有转发过或侦听到过该数据源节点的数据包时,如果该数据包的接收节点为该节点,则在该数据包中添加该数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。通过本发明,可以在Gateway处获取和维护下行路由,并减小系统开销。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种多跳网络中的下行路由获取及维护方法和装置。
背景技术
为满足数据包向网关(Gateway)汇聚,多跳网络路由主要实现上行路由(从普通节点到Gateway)。而当Gateway需要控制节点或主动查询节点数据时,往往需要下行路由。由于普通节点的存储空间有限,难以维护多跳子节点路由,这就需要在Gateway处获取和维护下行路由。
传统路由算法可以通过在Gateway处建立全局路由表的方式,实现在Gateway获取和维护下行路由,但由于这种方法依赖广播(Broadcast)和洪范(Flooding)方法,获取和维护开销大。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
本发明实施例的主要目的在于提供一种下行路由的获取及维护方法和装置,以便有效的在Gateway处获取和维护下行路由,并减小为此带来的系统开销。
本发明实施例的上述目的是通过如下技术方案实现的:
一种多跳网络中的节点,其中,所述节点包括:
解码单元,其对转发或侦听到的数据包进行解码,获得所述数据包的数据源节点、数据目标节点、发送节点、接收节点、类型以及数据段;
第一确定单元,其在所述数据包的数据源节点至数据目标节点的跳数大于所述节点至数据目标节点的跳数且两者之差为2时,根据所述节点的转发数据包表,确定是否转发过或侦听到过所述数据源节点的数据包;
发送单元,其在所述第一确定单元确定没有转发过或侦听到过所述数据源节点的数据包时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包;
第一更新单元,其在所述第一确定单元确定没有转发过或侦听到过所述数据源节点的数据包时,在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值,以及初始化预设的对应所述信息条目的遗忘时间。
一种多跳网络中的网关节点,其中,所述网关节点包括:
第一判断单元,其根据接收到的包含父节点信息的数据包判断下行路由表是否存储了对应所述数据包的数据源节点的地址及其父节点的地址的信息条目;
第一更新单元,其在所述第一判断单元判断为否时,将所述数据包中的数据源节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间;其在所述第一判断单元判断为是时,更新所述下行路由表中对应该信息条目的更新时间,或者更新所述下行路由表中对应该信息条目的更新时间并重置对应该信息条目的失效时间;
其中,所述下行路由表包含多个信息条目,每一个信息条目包含节点地址、父节点地址和更新时间;或者,每一个信息条目包含节点地址、父节点地址、更新时间和失效时间。
本发明实施例的技术效果在于,减小在Gateway处获取和维护下行路由带来的系统开销。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
参照以下的附图可以更好地理解本发明的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大或缩小。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。
在附图中:
图1是本发明实施例的下行路由获取和维护方法的流程图;
图2是本发明实施例的数据包的帧结构示意图;
图3是将父节点信息添加入数据包的方法的流程图;
图4是将父节点信息添加入数据包后的数据包的帧结构的示意图;
图5是本发明实施例的多跳网络中的节点的组成示意图;
图6是本发明另一实施例的下行路由获取和维护方法的流程图;
图7是图6所示的方法中网关节点更新其下行路由表的流程图;
图8是下行路由表的结构示意图;
图9是修改后的ACK消息帧结构示意图;
图10是下行路由建立实例中的网络拓扑示意图;
图11是下行路由查询过程示意图;
图12是本发明实施例的网关节点的组成示意图。
具体实施方式
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。这些实施方式只是示例性的,不是对本发明的限制。
为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明实施例以Ad-hoc网络为例进行说明,但可以理解,本发明实施例并不限于Ad-hoc网络,例如,本发明实施例提供的方法和装置也适用于传感器网络等其他多跳网络。
在Ad hoc网络中,包含两种类型节点:数据源节点(Source Node)和转发节点(Relay Node)。其中,数据源节点定时或不定时发送以Gateway为最终目的地的数据包,而转发节点不产生原始数据,仅转发数据源节点发送来的数据包。另外,数据源节点也可以具备转发来自其他数据源节点的数据的能力,此时其功能与转发节点相同。其中,当一个数据源节点向Gateway发送数据包时,该数据包内所包含的地址信息包括:GS(Global Source,数据源节点)、GD(Global Destination,数据目标节点)、LS(Local Source,发送节点)、LD(Local Destination,接收节点)。
在本发明实施例中,假设网络已经建立上行路由,也即,所有节点均已获得下一跳父节点。
实施例1
本实施例提供了一种下行路由获取和维护方法,该方法应用于多跳网络中具备数据转发功能的节点,例如转发节点或者数据源节点。图1是该方法的流程图,请参照图1,该方法包括:
步骤101:所述节点解码转发或侦听到的数据包,获得该数据包的数据源节点、数据目标节点、发送节点、接收节点、类型以及数据段;
其中,该数据包的帧结构如图2所示,包含数据源节点(GS)、数据目标节点(GD)、发送节点(LS)、接收节点(LD)、编号(FID)、类型(TYPE)、以及数据段(DATAPayload)。其中,各字段的含义与现有技术相同,在此不再赘述。
步骤102:如果所述数据包的数据源节点的跳数(数据源节点到数据目标节点的跳数)大于自身的跳数(上述节点到数据目标节点的跳数),且所述跳数相差2,则所述节点根据自身存储的转发数据包表,确定是否转发过或侦听到过所述数据源节点的数据包;
其中,转发数据包表包含了若干个(一个或多个)信息条目,各信息条目是该节点在转发或侦听到数据包后存储的。其中,每个信息条目包含一个数据源节点的地址及其父节点的地址。
优选的,每个信息条目还可以包含一个传输标识,用于指示该信息条目的更新时间。其中,每个节点将工作时间分割成许多更新周期,在一个更新周期的时间内,如果节点执行了添加父节点信息进入数据包的操作或者侦听到与条目对应的父节点信息已经发送到其他节点,则将这一信息条目对应的传输标识置为预定值,例如为1;当进入到下一个更新周期时,将传输标识重置为非预定值,例如为0。另外,一个节点在接收到来自数据源节点的数据包时,当数据包中的信息与存储的条目信息相同时,需要判断该传输标识,在一个更新周期内,如果该传输标识为上述预定值(例如为1),则结束处理,如果该传输标识不是上述预定值(例如为0),则执行将父节点信息加入数据包的操作,并修改传输标识为上述预定值。具体的处理过程将在以下进行说明。
优选的,每个信息条目还可以包含一个遗忘时间,用于指示该信息条目的过期时间。在创建数据包表的信息条目时,可以对该信息条目的遗忘时间进行初始化分配。在节点接收到或者侦听到与信息条目相对应的数据包时(例如,数据包中的信息与存储的条目信息相同),将该信息条目对应的遗忘时间重置为初始值。当一个信息条目对应的遗忘时间到达时,节点可以根据自己的负载决定是否删除该信息条目。
其中,由于转发数据包表中存储了包含数据源节点的地址的信息条目,如果转发过某数据源节点的数据包,则该转发数据包表中应该存储有对应该数据源节点的信息条目。因此通过查询本地存储的转发数据包表中的信息条目,可以确认是否转发过该数据源节点发送的数据包。
步骤103:如果没有转发过或侦听到过所述数据源节点的数据包,且所述数据包的接收节点为所述节点,则所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
在一个实施例中,如果该节点没有转发过或侦听到过所述数据源节点的数据包,则该节点还可以在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值。
其中,如果该节点没有转发过或侦听到过该数据源节点的数据包,且该数据包中的LD(接收节点)为自身的ID,也就是说,本地节点为该数据包的接收节点,本地节点需要转发该数据包,则本地节点将该数据包中的数据源节点的父节点信息添加到该数据包中,并转发包含该父节点信息的数据包。在一个实施例中,该节点还需要在本地的转发数据包表中创建对应该数据源节点及其父节点的信息条目,其中,该信息条目中的数据源节点就是该数据包中的GS,其父节点就是数据包中的LS。其中,还可以将该新创建的信息条目对应的传输标识设为前述预定值。其中,还可以初始化该新创建的信息条目对应的遗忘时间。
其中,如果该节点没有转发过或侦听到过该数据源节点的数据包,且该数据包中的LD(接收节点)并不是自身的ID,这就说明,本地节点不是该数据包的接收节点,本地节点只是侦听到该数据包,并不需要转发给数据包,则本地节点只需要在转发数据包表中创建对应该数据源节点及其父节点的信息条目即可,与前述相同,该信息条目中的数据源节点就是该数据包中的GS,其父节点就是该数据包中的LS。同理,可以在创建该信息条目时将其对应的传输标识设为前述预定值。还可以同时初始化该新创建的信息条目对应的遗忘时间。
其中,本地节点可以通过图3所示的方法将该数据包中的数据源节点的父节点信息添加到该数据包中,如图3所示,该方法包括:
步骤301:取出所述数据包中的发送节点;
其中,根据步骤102的说明,由于本地节点是距离数据源节点两跳的节点,因此该数据包中的发送节点(LS)即为该数据源节点的父节点。
步骤302:将所述数据包的发送节点加入到所述数据包的数据段中;
其中,通过将数据源节点的父节点加入到该数据包的数据段中,可以协助网关获取节点及其父节点信息,以确定下行路由。具体将在以下的实施例中加以说明。
修改后的数据包的帧结构如图4所示,其中,在该数据包的数据段(DATAPayload)中,不仅包含了其原有的数据内容(DATA),还包含了父节点信息(ParentID)。图4所示的示例是以父节点的信息加入数据段的头部为例,但本实施例并不以此作为限制。
步骤303:修改所述数据包的类型为包含数据源节点的父节点信息的数据包。
其中,通过修改该数据包的类型(如图4所示的TYPE段),可以协助网关节点确认该数据包的类型。如果通过确认该数据包的类型,发现该数据包是包含了父节点信息的数据包,则可以提取其中的数据源节点及其父节点的信息,并添加入其下行路由表中。具体将在以下的实施例中加以说明。
为使本实施方式的方法更加清楚易懂,以下通过举例对该方法进行说明。
举例说明,假设数据源节点A经过节点B发送数据包到节点C,则节点C收到的数据包中,GS为A,LS为B,LD为C,而节点C通过查询其本地的转发数据包表,发现没有转发过或侦听到过节点A发送的数据包,也就是说,其转发数据包表中不包含数据源节点为节点A的信息条目,则根据本实施方式的方法,节点C取出数据包中的LS,也即B的地址,添加入该数据包的数据段中,并修改该数据包的类型为包含父节点信息的数据包,转发该数据包,并可以在转发数据包表中创建节点A及其父节点B的信息条目,同时,可以将该条目对应的传输标识设为预定值,并初始化该信息条目对应的遗忘时间。
根据本实施方式的另外一种情况,在该举例中,如果节点D侦听到了该数据包(GS为A,LS为B,LD为C),同样的,该节点D通过查询其本地的转发数据包表,发现没有转发过或侦听到过节点A发送的数据包,也就是说,其转发数据包表中也不包含数据源节点为节点A的信息条目,则根据本实施方式的方法,由于节点D并不是该数据包的接收节点,节点D只需要在其转发数据包表中创建对应该数据包的节点A及其父节点B的信息条目即可,当然,可选的,还可以将该条目对应的传输标识设为预定值,并初始化该信息条目对应的遗忘时间。
通过步骤101-103的处理,该节点将包含父节点信息的数据包转发出去,由此网关节点可以获得该数据源节点及其父节点,并存储在其下行路由表中。当网关节点通过这种方式获得了该多跳网络中的所有数据源节点及其父节点的信息后,即可由此确定到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。其中,对于网关侧的处理将在以下的实施例中加以说明。
在本实施例的一个实施方式中,通过步骤102的判断,如果该节点转发过或侦听到过该数据源节点发送的数据包,则该方法还可以包括以下步骤:
步骤104:所述节点根据自身存储的转发数据包表,确定是否存储过对应所述数据源节点及其父节点的信息条目;
步骤105:如果没有存储过对应所述数据源节点及其父节点的信息条目,且所述数据包的接收节点为所述节点,则所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
其中,与步骤103类似,如果没有存储过对应所述数据源节点及其父节点的信息条目,该节点还可以在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,优选的,还可以将该信息条目对应的传输标识设为预定值,优选的,还可以初始化该信息条目对应的遗忘时间。
在该实施方式中,本地节点可能转发过或侦听到过该数据源节点发送的数据包,但是没有存储过对应该数据源节点及其父节点的信息条目,则本地节点可以执行如前所述的处理,包括:如果数据包的LD是本地节点,则执行将父节点信息添加入数据包的操作并转发该包含了父节点信息的数据包,同时在转发数据包表中创建新的信息条目,优选的可以将该条目对应的传输标识设为预定值,优选的还可以初始化该信息条目对应的遗忘时间;如果数据包的LD不是本地节点,则仅在转发数据包表中创建新的信息条目,优选的可以将该条目对应的传输标识设为预定值,优选的还可以初始化该信息条目对应的遗忘时间。
其中,在本实施方式中,本地节点也可以通过图3所示的方法将该数据包中的数据源节点的父节点信息添加到该数据包中,如前所述,在此不再赘述。
为使本实施方式的方法更加清楚易懂,以下通过举例加以说明。
举例说明,假设数据源节点A经过节点B发送数据包到节点C,则节点C收到的数据包中,GS为A,LS为B,LD为C,而节点C通过查询其本地的转发数据包表,发现包含节点A及其父节点E的信息条目,但不包含节点A及其父节点B的信息条目,也就是说转发过或侦听到过该数据源节点A的数据包,但该数据包不是通过节点B转发的而是通过节点E转发的,所以存储的信息条目是节点A及其父节点E,没有存储过对应此次接收到的数据包的数据源节点A及其父节点B的信息条目。则根据本实施方式的方法,节点C取出数据包中的LS,也即B的地址,添加入该数据包的数据段中,并修改该数据包的类型为包含父节点信息的数据包,转发该数据包,并可以在转发数据包表中创建节点A及其父节点B的信息条目,同时,可以将该条目对应的传输标识设为预定值,并初始化该信息条目对应的遗忘时间。
根据本实施方式的另外一种情况,在该举例中,如果节点D侦听到了该数据包(GS为A,LS为B,LD为C),同样的,该节点D的转发数据包表中存储了节点A及其父节点E的信息条目,而没有存储对应该数据包的节点A及其父节点B的信息条目,则由于节点D并不是该数据包的接收节点,节点D只需要在其转发数据包表中创建对应该数据包的节点A及其父节点B的信息条目即可,当然,可选的,还可以将该条目对应的传输标识设为预定值,并初始化该信息条目对应的遗忘时间。
通过步骤101-102、104-105的处理,该节点将包含父节点信息的数据包转发出去,由此网关节点可以获得该数据源节点及其父节点,并存储在其下行路由表中。当网关节点通过这种方式获得了该多跳网络中的所有数据源节点及其父节点的信息后,即可由此确定到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。其中,对于网关侧的处理将在以下的实施例中加以说明。
在本实施例的一个实施方式中,通过步骤104的判断,如果存储过对应数据源节点及其父节点的信息条目,则该方法还可以包括以下步骤:
步骤106:所述节点判断在预设的更新周期内,所述信息条目对应的传输标识是否为预定值;
步骤107:如果在预设的更新周期内,所述信息条目对应的传输标识不是预定值,且所述数据包的接收节点为所述节点,则所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
其中,如果在预设的更新周期内,所述信息条目对应的传输标识不是预定值,该节点还可以将该信息条目对应的传输标识修改为该预定值,优选的,还可以将该信息条目对应的遗忘时间重置为初始值。
其中,如果在预设的更新周期内,所述信息条目对应的传输标识是预定值,则该节点可以结束处理。
在该实施方式中,本地节点可能转发过或侦听到过该数据源节点发送的数据包,并且存储过对应该数据源节点及其父节点的信息条目,如果该信息条目对应的传输标识仍然是预定值(例如为1),则说明该信息条目还未过更新周期,此时可以不做处理,也可以将该信息条目对应的遗忘时间重置为初始值;如果该信息条目对应的传输标识是非预定值(例如为0),则说明该信息条目已经过了更新周期,此时如果该数据包的LD是本地节点,则执行将父节点信息添加入数据包的操作并转发该包含了父节点信息的数据包,由于该信息条目类似于被重新处理过,因此可以将该条目对应的传输标识重新修改为预定值,优选的还可以将该信息条目对应的遗忘时间重置为初始值;如果数据包的LD不是本地节点,也就是说,该本地节点只是侦听到该数据包,则本地节点可以仅将其转发数据包表中的该信息条目的传输标识修改为上述预定值,优选的还可以将该信息条目对应的遗忘时间重置为初始值。
其中,在本实施方式中,本地节点也可以通过图3所示的方法将该数据包中的数据源节点的父节点信息添加到该数据包中,如前所述,在此不再赘述。
为使本实施方式的方法更加清楚易懂,以下通过举例加以说明。
举例说明,假设数据源节点A经过节点B发送数据包到节点C,则节点C收到的数据包中,GS为A,LS为B,LD为C,而节点C通过查询其本地的转发数据包表,发现包含节点A及其父节点B的信息条目,也就是说不但转发过或侦听到过该数据源节点A的数据包,而且存储过对应该数据包的数据源节点A及其父节点B的信息条目。则根据本实施方式的方法,节点C查看在更新周期内该信息条目对应的传输标识是为预定值,如果是预定值,就说明可能刚刚转发过该数据包,则节点C可以不做任何处理;如果不是预定值,就说明该条目已经过了更新周期,此时由于节点C就是该数据包的接收节点,则节点C取出数据包中的LS,也即B的地址,添加入该数据包的数据段中,并修改该数据包的类型为包含父节点信息的数据包,转发该数据包,同时,该节点C还可以将该条目对应的传输标识修改为上述预定值,并将该信息条目对应的遗忘时间重置为初始值。
根据本实施方式的另外一种情况,在该举例中,如果节点D侦听到了该数据包(GS为A,LS为B,LD为C),同样的,该节点D的转发数据包表中存储了节点A及其父节点B的信息条目,则由于节点D并不是该数据包的接收节点,节点D只需要将其转发数据包表中的对应该数据包的节点A及其父节点B的信息条目的传输标识修改为上述预定值即可,当然,可选的,还可以将该信息条目对应的遗忘时间重置为初始值。
通过步骤101-102、104、106-107的处理,该节点将包含父节点信息的数据包转发出去,由此网关节点可以获得该数据源节点及其父节点,并存储在其下行路由表中。当网关节点通过这种方式获得了该多跳网络中的所有数据源节点及其父节点的信息后,即可由此确定到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。其中,对于网关侧的处理将在以下的实施例中加以说明。
在本实施例中,如果上述本地节点是只执行转发其它节点的数据包而不产生原始数据包的转发(Relay)节点,则该节点在第一次转发其它节点的数据包后,可以按照更新周期,主动向网关(Gateway)节点发送一条数据段为空的消息,以便接收到这一消息的具备数据转发功能的节点,按照与数据源节点发送数据包结构相同的方式处理,以便网关节点可以获知该节点的父节点信息。
在本实施例中,本地节点在转发了其他节点的包含父节点信息的数据包后,为了保障传输的可靠性,还可以暂存该包含父节点信息的数据包,当带有父节点信息的数据包被成功传递到下一跳节点时(成功发送并被成功接收),该本地节点可以删除该包含父节点信息的数据包,当带有父节点信息的数据包未成功传递到下一跳节点时,该本地节点可以将该数据包重新放入到发送队列中,重新发送。其中,放入位置可以根据实际情况进行选择,例如可以放入发送队列的末尾。
在本实施例中,为了进一步减小系统开销,如果该节点是该多跳网络中的一跳节点,在该节点向Gateway转发数据包时,可以不执行如本实施例1的操作(将父节点信息添加入数据包、在转发数据包表中创建条目等),而是按照传统方法直接转发该数据包,此时,Gateway可以在自身的邻居表中,查询到所有一跳节点,进而获得一跳节点的父节点信息,也即Gateway本身。
在本实施例中,为了进一步减小系统开销,在带有握手(Hello)机制或确认(ACK)机制的情况下,如果该节点是该多跳网络中的一跳节点,在转发其数据包时,可以去掉数据包中的LS信息,也即一跳节点在向Gateway转发数据包时,在传统方法的基础上去掉该数据包的LS信息,Gateway可以通过侦听该一跳节点与两跳节点之间的Hello包或者ACK包来获得两跳节点对应的父节点(一跳节点)信息。具体的过程将在实施例3进行详细说明。
通过本实施例的方法,多跳网络中的具备数据转发功能的节点可以将包含父节点信息的数据包传递到下一跳节点,由此网关可以获得各节点及其父节点的信息,利用该信息建立下行路由表,可以确定其到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。
本发明实施例还提供了一种多跳网络中的节点,如下面的实施例2所述,由于该节点解决问题的原理与实施例1的方法类似,因此其具体的实施可以参照实施例1的方法的实施,重复之处不再赘述。
实施例2
本发明实施例提供了一种多跳网络中的节点。图5是该节点的组成示意图,请参照图5,该节点包括:
解码单元51,其对转发或侦听到的数据包进行解码,获得所述数据包的数据源节点、数据目标节点、发送节点、接收节点、类型以及数据段;
第一确定单元52,其在所述数据包的数据源节点的跳数(数据源节点到数据目标节点的跳数)大于所述节点的跳数(上述节点到数据目标节点的跳数)且两者之差为2时,根据所述节点的转发数据包表,确定是否转发过或侦听到过所述数据源节点的数据包;
发送单元53,其在所述第一确定单元52确定没有转发过或侦听到过所述数据源节点的数据包时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
在一个实施方式中,该节点还可以包括:
第一更新单元54,其在所述第一确定单元52确定没有转发过或侦听到过所述数据源节点的数据包时,在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值。
在一个实施方式中,该节点还可以包括:
第二确定单元55,其在所述第一确定单元52确定转发过或侦听到过所述数据源节点的数据包时,根据所述节点的转发数据包表,确定是否已经存储过对应所述数据源节点及其父节点的信息条目;
所述发送单元53在所述第二确定单元55确定没有存储过对应所述数据源节点及其父节点的信息条目时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
在该实施方式中,该节点还可以包括:
第二更新单元56,其在所述第二确定单元55确定没有存储过对应所述数据源节点及其父节点的信息条目时,在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值。
在一个实施方式中,该节点还可以包括:
第三确定单元57,其在所述第二确定单元55确定存储过对应所述数据源节点及其父节点的信息条目时,判断在预设的更新周期内,所述信息条目对应的传输标识是否为预定值;
所述发送单元53在所述第三确定单元57判断为否时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
在该实施方式中,该节点还可以包括:
第三更新单元58,其在所述第三确定单元57判断为否时,将所述信息条目对应的传输标识修改为所述预定值。
在以上的实施方式中,发送单元53可以包括:
提取模块531,其取出所述数据包中的发送节点;
添加模块532,其将所述数据包的发送节点加入到所述数据包的数据段中;
修改模块533,其修改所述数据包的类型为包含数据源节点的父节点信息的数据包;
发送模块534,其发送包含父节点信息的数据包。
在以上的实施方式中,第一更新单元54还可以在将信息条目对应的传输标识设为预定值后,初始化预设的对应所述信息条目的遗忘时间。
在以上的实施方式中,第二更新单元56还可以在将信息条目对应的传输标识设为预定值后,初始化预设的对应所述信息条目的遗忘时间。
在以上的实施方式中,第三更新单元58还可以在将所述信息条目对应的传输标识修改为所述预定值后,将预设的对应所述信息条目的遗忘时间重置为初始值。
在本实施例中,如果所述节点为转发(Relay)节点,则所述发送单元53还可以在第一次转发其他节点的数据包后,按照预定的更新周期,向网关发送一条数据段为空的消息。
在一个实施方式中,该节点还可以包括:
暂存单元59,其在所述发送单元53转发了包含父节点信息的数据包之后,暂存所述包含父节点信息的数据包;
所述发送单元53在所述包含父节点信息的数据包被成功发送并被成功接收后,删除所述暂存单元59中所存储的包含父节点信息的数据包,否则重传所述暂存单元59中所存储的包含父节点信息的数据包,例如将该包含父节点信息的数据包加入到发送队列中进行发送。
本实施例的节点的各组成部分的功能与实施例1的方法的各步骤相同,其内容被合并于此,在此不再赘述。
通过本实施例的节点将包含父节点信息的数据包传递到下一跳节点,由此网关可以获得各节点及其父节点的信息,利用该信息建立下行路由表,可以确定其到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。
实施例3
本发明实施例还提供了一种下行路由获取和维护方法,该方法应用于多跳网络的网关节点。图6是该方法的流程图,请参照图6,该方法包括:
步骤601:所述网关节点根据接收到的包含父节点信息的数据包更新其预先存储的下行路由表,
其中,所述下行路由表包含多个信息条目,每一个信息条目包含节点地址、父节点地址和更新时间,或者每一个信息条目包含节点地址、父节点地址、更新时间和失效时间。
在步骤601的一个实施方式中,网关节点更新其下行路由表的步骤可以通过图7所示的方法来实现,请参照图7,该方法包括:
步骤701:根据下行路由表确定是否已经存储对应该数据包的数据源节点的地址及其父节点的地址的信息条目;
步骤702:如果没有存储对应该数据包的数据源节点的地址及其父节点的地址的信息条目,则所述网关节点将所述数据包中的数据源节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。
步骤703:如果已经存储对应该数据包的数据源节点的地址及其父节点的地址的信息条目,则所述网关节点更新所述下行路由表中对应该信息条目的更新时间,或者所述网关节点更新所述下行路由表中对应该信息条目的更新时间并重置对应该信息条目的失效时间。
在本实施例中,当Gateway接收到一个Type类型为包含了父节点信息的数据包时,Gateway将其中包含的节点ID(GS)和父节点ID(Parent)存储在下行路由表中,该下行路由表的结构如图8所示。其中,节点ID可能是产生原始数据的数据源节点的ID,也可能是只转发其他节点的数据包而不产生原始数据包的Realy节点,如实施例1所述,由于该Relay节点也向Gateway发送了数据段为空的消息,则该消息中的GS即为该Realy节点的ID。
如图8所示,在该下行路由表中,第一列存储内容为节点ID标识,第二列存储内容为对应的父节点ID标识,第三列存储这一条目的更新时间,第四列是可选的,其可以存储这一信息条目的失效时间。
当Gateway接收到包含一个条目的数据包时,若相同条目已经存储在Gateway上,则Gateway更新该条目的更新时间,可选的还可以重置该条目的失效时间。当条目的失效时间到达仍未更新时,Gateway可以根据节点的父节点个数、内存使用情况等因素,选择删除或继续保存这一条目。
通过本实施例的方法,当Gateway需要查询某个节点的下行路径时,按照该节点到Gateway的顺序反向查找到完整路径,即节点的上行路径,将上行路径反向即为下行路径。其中,当该下行路由表中存储了多于一个父节点时,可从中选择一个作为下行路由的父节点,例如选择最近一次作为父节点转发数据包的节点,也即更新时间与当前时刻最接近的节点。
在本实施例的一个实施方式中,为了进一步减小系统开销,距离Gateway一跳范围内的节点,可以不向网关汇聚父节点信息,也即不按照实施例1的方法向网关转发数据包,而是按照传统方法转发数据包,也即不在数据包中添加父节点信息。此时,Gateway可以在自身的邻居节点表中,查询到所有的一跳节点,获得其父节点信息。也即,在该实施方式中,网关节点查询其邻居节点表,以确定该多跳网络中的一跳节点的父节点信息,并将该一跳节点的地址及其父节点地址(也即Gateway本身)写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。
在本实施例的另一个实施方式中,为了进一步减小系统开销,距离Gateway两跳范围的节点,在带有握手(Hello)机制或确认(ACK)机制的情况下,一跳节点在转发其数据包时,可以去掉数据包中的LS信息。Gateway通过监听从一跳节点发送到两跳节点的HELLO包或者ACK包,来获取两跳节点的父节点信息,此时,该Gateway将两跳节点的地址及其父节点的地址写入该下行路由表的一个信息条目,并更新该条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。其中,所述HELLO包或者所述ACK包中包含有发送节点(一跳节点)的信息和接收节点(两跳节点)的信息,所述发送节点的信息为所述两跳节点的父节点信息。
在本实施方式中,在带有握手机制的情况下,如果用于节点间握手的Hello包中带有发送节点的子节点信息,则当一跳节点向两跳节点发送Hello包时,Gateway可以侦听这些Hello包,获得两跳节点(子节点)对应的一跳节点(父节点)信息,并保存在图8所示的下行路由表中;
在本实施方式中,在带有ACK机制的情况下,距离Gateway两跳的节点不向Gateway发送父节点信息。距离Gateway两跳的节点,需要距离Gateway一跳的节点转发数据包。当距离Gateway一跳的节点成功接收到数据包后,会向距离Gateway两跳的节点回复ACK消息。Gateway可以通过侦听这些ACK消息,从中获得两跳节点(子节点)和一跳节点(父节点)的路由信息,并将父节点加入到下行路由表的相应位置中。
在以上的两个实施方式中,不同协议中ACK消息的结构不同,但都较为简单。为实现本发明实施例的方法,ACK消息中可以包含一跳节点(ACK消息发送端)的ID和两跳节点(ACK消息接收端)的ID。以IEEE802.11协议为例,修改后的ACK消息帧结构如图9所示。其中,接收端ID可从需确认的数据帧中复制,即为数据帧中的源节点ID,而发送端ID即为节点自身ID。
为了使本实施例的方法更加清楚易懂,以下结合附图和一个具体示例对本实施例的方法进行说明。
请参照图10所示的网络拓扑示意图以及图11所示的下行路由查询过程的示意图。对于图10所示的网络拓扑,假设为其建立了如图11所示的下行路由表。当Gateway需要查询节点8的下行路由时,首先在下行路由表中查询到节点8的父节点为节点7,继续查询节点7的父节点为节点3,重复这一过程,直到查询到某节点的父节点为Gateway自身为止。将查询到的所有节点按照相反顺序排列,Gateway即可获得完整的到节点8的下行路径:0→1→3→7→8。
通过本实施例的方法,Gateway根据获取到的包含父节点信息的数据包建立和更新下行路由表,可以确定其到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。
本发明实施例还提供了一种多跳网络中的网关节点,如下面的实施例4所述,由于该网关节点解决问题的原理与实施例3的方法类似,因此其具体的实施可以参照实施例3的方法的实施,重复之处不再赘述。
实施例4
本发明实施例提供了一种多跳网络中的网关节点。图12是该网关节点的组成示意图,请参照图12,该网关节点包括:
第一判断单元121,其根据接收到的包含父节点信息的数据包判断下行路由表是否存储了对应所述数据包的数据源节点的地址及其父节点的地址的信息条目;
第一更新单元122,其在第一判断单元121判断为否时,将所述数据包中的数据源节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间;在第一判断单元121判断为是时,更新所述下行路由表中对应该信息条目的更新时间,或者更新所述下行路由表中对应该信息条目的更新时间并重置对应该信息条目的失效时间。
其中,所述下行路由表包含多个信息条目,每一个信息条目包含节点地址、父节点地址和更新时间;或者,每一个信息条目包含节点地址、父节点地址、更新时间和失效时间。
在一个实施方式中,网关节点还包括:
第二判断单元123,其判断所述下行路由表的各个信息条目的失效时间是否到达。
第二更新单元124,其在第二判断单元123判断为是时,根据预定策略选择删除失效时间到达的信息条目或者继续保存该失效时间到达的信息条目。
在一个实施方式中,网关节点还包括:
查询单元125,其查询其邻居节点表确定所述多跳网络中的一跳节点的父节点信息;
此时,第一更新单元121将所述一跳节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。
在一个实施方式中,网关节点还包括:
获取单元126,其通过监听从所述多跳网络的一跳节点发送到两跳节点的HELLO包或者ACK包,获取所述两跳节点的父节点信息;
此时,第一更新单元121将所述两跳节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。其中,所述HELLO包或者所述ACK包中包含有发送节点的信息和接收节点的信息,所述发送节点为所述一跳节点,所述接收节点为所述两跳节点,所述发送节点的信息为所述两跳节点的父节点信息。
通过本实施例的网关节点根据获取到的包含父节点信息的数据包建立和更新下行路由表,可以确定其到任意一个节点的下行路径。不但可以在网关节点处获取和维护下行路由,还减小了为此带来的系统开销。
本发明实施例还提供了一种通信网络,该通信网络包括一个或多个实施例2所述的节点,以及实施例4所述的网关节点。其内容被合并于此,在此不再赘述。
本发明实施例还提供了一种计算机可读程序,其中当在终端设备中执行该程序时,该程序使得计算机在所述终端设备中执行实施例1或实施例3所述的下行路由获取和维护方法。
本发明实施例还提供了一种存储有计算机可读程序的存储介质,其中该计算机可读程序使得计算机在终端设备中执行实施例1或实施例3所述的下行路由获取和维护方法。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
应当理解,本发明的各部分可以用硬件、软件、固件或者它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可以用本领域共知的下列技术中的任一项或者他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
根据本发明实施例的方法和装置,还公开了以下附记:
附记1,一种下行路由获取和维护方法,该方法应用于多跳网络中的具备数据转发功能的节点,其中,所述方法包括:
所述节点解码转发或侦听到的数据包,获得所述数据包的数据源节点、数据目标节点、发送节点、接收节点、类型以及数据段;
如果所述数据包的数据源节点的跳数(数据源节点到数据目标节点的跳数)大于自身的跳数(上述节点到数据目标节点的跳数),且所述跳数相差2,则所述节点根据自身存储的转发数据包表,确定是否转发过所述数据源节点的数据包;
如果没有转发过所述数据源节点的数据包,且所述数据包的接收节点为所述节点,则所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
附记2,根据附记1所述的方法,其中,如果没有转发过所述数据源节点的数据包,则所述方法还包括:
所述节点在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值。
附记3,根据附记1所述的方法,其中,如果转发过所述数据源节点的数据包,则所述方法还包括:
所述节点根据自身存储的转发数据包表,确定是否存储过对应所述数据源节点及其父节点的信息条目;
如果没有存储过对应所述数据源节点及其父节点的信息条目,且所述数据包的接收节点为所述节点,则所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
附记4,根据附记3所述的方法,其中,如果没有存储过对应所述数据源节点及其父节点的信息条目,则所述方法还包括:
所述节点在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值。
附记5,根据附记3所述的方法,其中,如果存储过对应所述数据源节点及其父节点的信息条目,则所述方法还包括:
所述节点判断在预设的更新周期内,所述信息条目对应的传输标识是否为预定值;
如果在预设的更新周期内,所述信息条目对应的传输标识不是预定值,且所述数据包的接收节点为所述节点,则所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包。
附记6,根据附记5所述的方法,其中,如果在预设的更新周期内,所述信息条目对应的传输标识不是预定值,则所述方法还包括:
所述节点将所述信息条目对应的传输标识修改为所述预定值。
附记7,根据附记1-附记6任一项所述的方法,其中,所述节点在所述数据包中添加所述数据包的数据源节点的父节点信息的步骤包括:
取出所述数据包中的发送节点;
将所述数据包的发送节点加入到所述数据包的数据段中;
修改所述数据包的类型为包含数据源节点的父节点信息的数据包。
附记8,根据附记2或4所述的方法,其中,在将信息条目对应的传输标识设为预定值后,所述方法还包括:
初始化预设的对应所述信息条目的遗忘时间。
附记9,根据附记6所述的方法,其中,在将所述信息条目对应的传输标识修改为所述预定值后,所述方法还包括:
将预设的对应所述信息条目的遗忘时间重置为初始值。
附记10,根据附记1所述的方法,其中,如果所述节点为转发(Relay)节点,则所述方法还包括:
在第一次转发其他节点的数据包后,按照预定的更新周期,向网关发送一条数据段为空的消息。
附记11,根据附记1所述的方法,其中,所述方法还包括:
在转发了包含父节点信息的数据包后,暂存所述包含父节点信息的数据包,如果所述包含父节点信息的数据包被成功发送并被成功接收,则所述节点删除所述包含父节点信息的数据包,否则重传所述包含父节点信息的数据包。
附记12,一种下行路由获取和维护方法,该方法应用于多跳网络的网关节点,其中,所述方法包括:
所述网关节点根据接收到的包含父节点信息的数据包更新其预先存储的下行路由表,
其中,所述下行路由表包含多个信息条目,每一个信息条目包含节点地址、父节点地址和更新时间,或者每一个信息条目包含节点地址、父节点地址、更新时间和失效时间。
附记13,根据附记12所述的方法,其中,所述网关节点根据接收到的包含父节点信息的数据包更新其预先存储的下行路由表的步骤包括:
当所述下行路由表没有存储对应所述数据包的数据源节点的地址及其父节点的地址的信息条目时,所述网关节点将所述数据包中的数据源节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。
附记14,根据附记12所述的方法,其中,所述网关节点根据接收到的包含父节点信息的数据包更新其预先存储的下行路由表的步骤包括:
当所述下行路由表存储了对应所述数据包的数据源节点的地址及其父节点的地址的信息条目时,所述网关节点更新所述下行路由表中对应该信息条目的更新时间,或者所述网关节点更新所述下行路由表中对应该信息条目的更新时间并重置对应该信息条目的失效时间。
附记15,根据附记12所述的方法,其中,所述方法还包括:
当所述下行路由表的一个信息条目的失效时间到达时,所述网关节点根据预定策略选择删除该信息条目或者继续保存该信息条目。
附记16,根据附记12所述的方法,其中,所述方法还包括:
所述网关节点查询其邻居节点表,以确定所述多跳网络中的一跳节点的父节点信息,并将该一跳节点的地址及其父节点地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。
附记17,根据附记12所述的方法,其中,所述方法还包括:
所述网关节点通过监听从所述多跳网络的一跳节点发送到两跳节点的HELLO包或者ACK包,来获取所述两跳节点的父节点信息;
所述网关节点将所述两跳节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间,
其中,所述HELLO包或者所述ACK包中包含有发送节点的信息和接收节点的信息,所述发送节点为所述一跳节点,所述接收节点为所述两跳节点,所述发送节点的信息为所述两跳节点的父节点信息。
Claims (10)
1.一种多跳网络中的节点,其中,所述节点包括:
解码单元,其对转发或侦听到的数据包进行解码,获得所述数据包的数据源节点、数据目标节点、发送节点、接收节点、类型以及数据段;
第一确定单元,其在所述数据包的数据源节点至数据目标节点的跳数大于所述节点至数据目标节点的跳数且两者之差为2时,根据所述节点的转发数据包表,确定是否转发过或侦听到过所述数据源节点的数据包;
发送单元,其在所述第一确定单元确定没有转发过或侦听到过所述数据源节点的数据包时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包;
第一更新单元,其在所述第一确定单元确定没有转发过或侦听到过所述数据源节点的数据包时,在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值,以及初始化预设的对应所述信息条目的遗忘时间。
2.根据权利要求1所述的节点,其中,所述节点还包括:
第二确定单元,其在所述第一确定单元确定转发过或侦听到过所述数据源节点的数据包时,根据所述节点的转发数据包表,确定是否已经存储过对应所述数据源节点及其父节点的信息条目;
所述发送单元在所述第二确定单元确定没有存储过对应所述数据源节点及其父节点的信息条目时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包;
第二更新单元,其在所述第二确定单元确定没有存储过对应所述数据源节点及其父节点的信息条目时,在所述转发数据包表中存储对应所述数据源节点及其父节点的信息条目,并将该信息条目对应的传输标识设为预定值,以及初始化预设的对应所述信息条目的遗忘时间。
3.根据权利要求2所述的节点,其中,所述节点还包括:
第三确定单元,其在所述第二确定单元确定存储过对应所述数据源节点及其父节点的信息条目时,判断在预设的更新周期内,所述信息条目对应的传输标识是否为预定值;
所述发送单元在所述第三确定单元判断为否时,如果所述数据包的接收节点为所述节点,则在所述数据包中添加所述数据包的数据源节点的父节点信息,并转发包含父节点信息的数据包;
第三更新单元,其在所述第三确定单元判断为否时,将所述信息条目对应的传输标识修改为所述预定值,并将预设的对应所述信息条目的遗忘时间重置为初始值。
4.根据权利要求1-3任一项所述的节点,其中,所述发送单元包括:
提取模块,其取出所述数据包中的发送节点;
添加模块,其将所述数据包的发送节点加入到所述数据包的数据段中;
修改模块,其修改所述数据包的类型为包含数据源节点的父节点信息的数据包;
发送模块,其发送包含父节点信息的数据包。
5.根据权利要求1所述的节点,其中,如果所述节点为转发(Relay)节点,则所述发送单元还用于在第一次转发其他节点的数据包后,按照预定的更新周期,向网关发送一条数据段为空的消息。
6.根据权利要求1所述的节点,其中,所述节点还包括:
暂存单元,其在所述发送单元转发了包含父节点信息的数据包之后,暂存所述包含父节点信息的数据包;
所述发送单元在所述包含父节点信息的数据包被成功发送并被成功接收后,删除所述包含父节点信息的数据包,否则重传所述包含父节点信息的数据包。
7.一种多跳网络中的网关节点,其中,所述网关节点包括:
第一判断单元,其根据接收到的包含父节点信息的数据包判断下行路由表是否存储了对应所述数据包的数据源节点的地址及其父节点的地址的信息条目;
第一更新单元,其在所述第一判断单元判断为否时,将所述数据包中的数据源节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间;其在所述第一判断单元判断为是时,更新所述下行路由表中对应该信息条目的更新时间,或者更新所述下行路由表中对应该信息条目的更新时间并重置对应该信息条目的失效时间;
其中,所述下行路由表包含多个信息条目,每一个信息条目包含节点地址、父节点地址和更新时间;或者,每一个信息条目包含节点地址、父节点地址、更新时间和失效时间。
8.根据权利要求7所述的网关节点,其中,所述网关节点还包括:
第二判断单元,其判断所述下行路由表的各个信息条目的失效时间是否到达;
第二更新单元,其在所述第二判断单元判断为是时,根据预定策略选择删除失效时间到达的信息条目或者继续保存该失效时间到达的信息条目。
9.根据权利要求7所述的网关节点,其中,所述网关还包括:
查询单元,其查询其邻居节点表确定所述多跳网络中的一跳节点的父节点信息;
所述第一更新单元将所述一跳节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间。
10.根据权利要求7所述的网关节点,其中,所述网关还包括:
获取单元,其通过监听从所述多跳网络的一跳节点发送到两跳节点的HELLO包或者ACK包,获取所述两跳节点的父节点信息;
所述第一更新单元将所述两跳节点的地址及其父节点的地址写入所述下行路由表的一个信息条目,并更新该信息条目对应的更新时间,或者更新该信息条目对应的更新时间和失效时间;
其中,所述HELLO包或者所述ACK包中包含有发送节点的信息和接收节点的信息,所述发送节点为所述一跳节点,所述接收节点为所述两跳节点,所述发送节点的信息为所述两跳节点的父节点信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310112066.5A CN104104605A (zh) | 2013-04-02 | 2013-04-02 | 下行路由获取及维护方法和装置 |
JP2014074364A JP2014204437A (ja) | 2013-04-02 | 2014-03-31 | ダウンリンクルーティングの取得及び保守の方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310112066.5A CN104104605A (zh) | 2013-04-02 | 2013-04-02 | 下行路由获取及维护方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104104605A true CN104104605A (zh) | 2014-10-15 |
Family
ID=51672414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310112066.5A Pending CN104104605A (zh) | 2013-04-02 | 2013-04-02 | 下行路由获取及维护方法和装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2014204437A (zh) |
CN (1) | CN104104605A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113688A (zh) * | 2014-12-24 | 2017-08-29 | 德克萨斯仪器股份有限公司 | 用于无线收发器的简单网格网络 |
CN111510982A (zh) * | 2019-01-30 | 2020-08-07 | 电信科学技术研究院有限公司 | 一种传输数据的方法及装置 |
WO2022252705A1 (zh) * | 2021-05-31 | 2022-12-08 | 华为技术有限公司 | 一种业务报文的转发方法、网络设备以及无线网络 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6584075B1 (en) * | 1997-06-30 | 2003-06-24 | Sun Microsystems, Inc. | Efficient caching of routing information for unicast and multicast connections |
US7668146B2 (en) * | 2004-12-20 | 2010-02-23 | Connectivities Llc | Internet-oriented ad-hoc network |
KR100664953B1 (ko) * | 2005-10-04 | 2007-01-04 | 삼성전자주식회사 | 모바일 애드 혹 네트워크 환경에서의 멀티캐스트 라우팅방법 |
JP4800067B2 (ja) * | 2006-02-21 | 2011-10-26 | 株式会社エヌ・ティ・ティ・ドコモ | 通信ノード及びルーティング方法 |
JP5477462B2 (ja) * | 2010-03-31 | 2014-04-23 | 富士通株式会社 | ノード装置およびデータ送信方法 |
JP5750973B2 (ja) * | 2011-03-29 | 2015-07-22 | 富士通株式会社 | 通信方法および通信装置 |
JP5533964B2 (ja) * | 2012-09-13 | 2014-06-25 | 沖電気工業株式会社 | パケット中継システム及び無線ノード |
-
2013
- 2013-04-02 CN CN201310112066.5A patent/CN104104605A/zh active Pending
-
2014
- 2014-03-31 JP JP2014074364A patent/JP2014204437A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113688A (zh) * | 2014-12-24 | 2017-08-29 | 德克萨斯仪器股份有限公司 | 用于无线收发器的简单网格网络 |
CN107113688B (zh) * | 2014-12-24 | 2021-10-01 | 德克萨斯仪器股份有限公司 | 用于无线收发器的简单网格网络 |
CN111510982A (zh) * | 2019-01-30 | 2020-08-07 | 电信科学技术研究院有限公司 | 一种传输数据的方法及装置 |
CN111510982B (zh) * | 2019-01-30 | 2022-03-11 | 大唐移动通信设备有限公司 | 一种传输数据的方法及装置 |
WO2022252705A1 (zh) * | 2021-05-31 | 2022-12-08 | 华为技术有限公司 | 一种业务报文的转发方法、网络设备以及无线网络 |
Also Published As
Publication number | Publication date |
---|---|
JP2014204437A (ja) | 2014-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2134018C (en) | Highly dynamic destination-sequenced destination vector routing for mobile computers | |
KR100664953B1 (ko) | 모바일 애드 혹 네트워크 환경에서의 멀티캐스트 라우팅방법 | |
US8787257B2 (en) | Network communication system, node device, routing method and routing program | |
Herberg et al. | A comparative performance study of the routing protocols load and rpl with bi-directional traffic in low-power and lossy networks (lln) | |
US8774051B2 (en) | Path notification | |
US20070127379A1 (en) | Method and system for improving a wireless communication route | |
US7672307B2 (en) | Apparatus and method for transparent layer 2 routing in a mobile ad hoc network | |
CN104396199A (zh) | 使用igp的自适应mtu大小优化 | |
US20080165692A1 (en) | Method and system for opportunistic data communication | |
JP4193678B2 (ja) | 通信端末および通信ネットワーク | |
CN111543116A (zh) | 中继网络中节点间转发数据的方法和网络节点 | |
US9930608B2 (en) | Method and system for operating a vehicular data network based on a layer-2 periodic frame broadcast, in particular a routing protocol | |
US9900079B2 (en) | Reliable connectionless low power coverage extension | |
CN104104605A (zh) | 下行路由获取及维护方法和装置 | |
JP2007251811A (ja) | 無線通信装置、無線通信方法および経路情報テーブルの作成方法 | |
JP5131127B2 (ja) | 経路制御装置、経路制御方法、経路制御プログラム及びノード | |
JP4520350B2 (ja) | 無線装置 | |
Alic et al. | Self-Adaptive Practical Opportunistic Network-Coding Procedure for Static Wireless Mesh Networks. | |
Clausen et al. | A depth first forwarding (dff) extension for the loadng routing protocol | |
JP2008099074A (ja) | データ送信スケジューリング方法およびそれを用いたセンサネットワークシステム | |
Rath | Optimized network layer protocol with cross layer handshaking mechanism in MANET | |
Rohrer et al. | DTN hybrid networks for vehicular communications | |
Garcia-Luna-Aceves et al. | Simple and Efficient Loop-Free Multipath Routing in Wireless Networks | |
Rangarajan et al. | On-demand loop-free routing in ad hoc networks using source sequence numbers | |
JP4905342B2 (ja) | 通信パケット中継方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141015 |