CN107659497A - 路由修复方法和装置 - Google Patents
路由修复方法和装置 Download PDFInfo
- Publication number
- CN107659497A CN107659497A CN201711072878.6A CN201711072878A CN107659497A CN 107659497 A CN107659497 A CN 107659497A CN 201711072878 A CN201711072878 A CN 201711072878A CN 107659497 A CN107659497 A CN 107659497A
- Authority
- CN
- China
- Prior art keywords
- node
- local
- route
- message
- address
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种路由修复方法和装置,解决了现有路由修复方式会增加过多的控制开销和修复时延的问题。该路由修复方法,适用于一种网络拓扑结构中的一个本地节点,包括:根据预定规则确定新的父节点;以及,生成路由本地修复消息,并将所述路由本地修复消息发送给所述新的父节点;其中,所述路由本地修复消息包括故障地址列表,其中所述故障地址列表至少包括本地节点的地址;或,接收到网络层的目的地址为所述本地节点的地址的所述路由本地修复消息时,建立或更新向所述故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发所述路由本地修复消息。
Description
技术领域
本发明涉及低功耗有损网络(Low Power and Lossy Networks,LLN)技术领域,具体涉及一种路由修复方法和装置。
背景技术
低功耗有损网络(LLN网络)是一种由功耗较低的节点组成的、节点间链路不保证可靠的多跳网络(通常指无线网络)。LLN网络具有不需要基础设施支持、节点功耗较低、链路可靠性受环境影响等特点。在LLN网络中,所有节点逻辑地位平等,同时拥有主机和路由器的功能,能够转发数据,它们通过协作实现与其它相邻或不相邻节点之间的数据通信。通信模式主要有以下三种:点到点(Point-to-Point,P2P)、点到多点(Point-to-Multi-Point,P2MP)、多点到点(Multi-Point-to-Point,MP2P)。
由于一个LLN中的节点数可以从几个到几十个,甚至成百上千,因此要求路由开销尽可能小。然而传统的无线多跳网络路由协议,比如移动Ad hoc网络中的按需距离矢量路由协议AODV(Ad-hoc On-demand Distance Vector)和动态源路由DSR(Dynamic SourceRouting),由于路由开销偏大的缘故并不是很适用于LLN。因此,LLN的路由设计思路与传统的移动Ad hoc网络路由的设计思路有所不同。基于此,互联网工程任务组(InternetEngineering Task Force,IETF)的ROLL(Routing Over Low power and Lossy networks)工作组提出了一种全新的基于IPv6的低功耗有损耗路由协议——RPL(IPv6RoutingProtocol for Low Power and Lossy Networks)(T.Winter,P.Thubert,A.Brandt,J.Hui,R.Kelsey,P.Levis,K.Pister,R.Struik,JP.Vasseur,R.Alexander.RPL:IPv6RoutingProtocol for Low power and Lossy Networks[S].RFC6550,March 2012)。RPL通过构建有向无环图DODAG(Destination Oriented Direncted Acyclic Gragh,面向目的地的有向无环图)来形成网络拓扑,DODAG的构建由sink节点或者边界路由器(也被称为根节点)发起,其组网时消息的发送和处理过程具体如下:
(1)sink节点周期性广播DIO(DODAG Information Object,DODAG信息对象)消息。DIO消息包含sink的地址和节点深度值(节点深度值即节点到sink节点的跳数;sink的节点深度值为0)。
(2)节点A收到sink节点发送的DIO信息后,根据从其中获取的DODAG信息,判断是否加入该DODAG,并决定是否选取sink节点作为最优父节点。如果节点A决定加入该DODAG,则将sink节点添加到自己的父节点列表中,并单播含有自身IPv6地址的DAO(DODAGDestination Advertisement Object,目的地通告对象)消息给sink节点;如果A决定不加入该DODAG,则不做上述操作。(3)sink节点收到节点A回复的DAO消息后建立到A的下行路由。(4)节点A更新自己的路由信息后,周期性广播DIO信息。该DIO消息包含A的地址和深度值(在本场景中A的深度值为1)。(5)节点B收到A广播的DIO消息后,根据从其中获取的DODAG信息,判断是否加入该DODAG,并决定是否选A作为最优父节点。如果B决定加入该DODAG,则将A添加到自己的父节点列表中,并单播含有自身IPv6地址的DAO消息给A;如果B决定不加入该DODAG,则不做上述操作。(6)节点A收到节点B发来的DAO消息后,将B标记为自己的子节点;然后向sink节点转发该DAO消息。(7)sink节点收到节点A转发的DAO消息后建立到节点B的下行路由。(8)设节点C在一段时间内没有收到任何DIO消息,于是它主动广播一个DIS(DODAG Information Solicitation,DODAG信息请求)消息。(9)节点B收到节点C的DIS消息后单播一个DIO消息给C。(10)节点C收到B单播的DIO信息后将B节点加入父节点列表,并回复一个DAO消息给B。(11)加入DODAG之后,节点A或B如果收到自己的子节点单播来的DAO消息,则将该消息单播给自己的父节点,以便每个节点都掌握完整的子节点信息。
LLN是一类路由节点和路由节点之间的互连都受到限制的网络。路由节点受到的限制主要体现在处理能力、存储能力、能量功耗和寿命四个方面。路由节点互连受到的限制主要体现在链路和路径损失率高、数据速率低、连接不稳定等方面。节点之间的连接不稳定会导致路由出现故障,当路由出现故障时,为了保障数据传输的正常进行,需要对路由进行修复。
LLN网络中路由的修复有两种方式:全局修复和本地修复(也称“局部修复”)。全局修复是指LLN中的所有节点的路由从DODAG的根节点开始重构,本地修复是指LLN中出现路由故障节点的路由进行局部重构,而其他未出故障的路由保持不变。由于全局修复相当于LLN中所有节点路由整体重构,会造成大量的路由开销和较大的修复时延。所以,当LLN网络中路由出现故障后通常先进行本地修复。当本地修复方式不能完成路由修复功能时,才采用全局修复方式。因此,对路由本地修复的研究显得十分重要,人们在这方面已经开展了一些工作。
然而,现有的一些路由修复方式需要广播寻路消息(如前述的DIS消息)才能完成路由修复过程,寻路消息的操作会带来一定的冗余控制开销和修复时延。具体过程如下:(1)设节点A、D之间的链路发生断裂,如图1a所示。当故障点下游(离sink节点更远的那一端)节点D检测到与节点A的无线连接中断,则向邻居节点广播一个含有INFINITE_Rank字段的DIO消息(被称为“拆路消息”),节点D这样做的主要目的在于通告其子节点:它与上一跳节点(即父节点)的无线连接中断,通过它无法再向上传输数据。(2)作为节点D的子节点,节点G、H收到D广播的含有INFINITE_Rank字段的DIO消息后,分别从其父节点列表中清除之前存储的节点D的信息,不再将D节点作为它们的父节点。(3)节点D广播一个DIS消息,在邻居节点中寻找通往根节点sink的新路径。(4)节点D的邻居节点收到D广播的DIS消息后,如果有通往sink节点的路由,则将自己的地址和深度值装入一个DIO消息中,用单播方式回复给D,相当于将自己的路由信息告知D。(5)节点D在邻居回复的路由中,选择一个最优者,确定为自己通往sink的新路由,并将该路由上的邻居节点确定为自己的新的父节点。(6)节点D向新父节点单播一个DAO消息。(7)节点D的新父节点收到该DAO消息后,向sink节点转发,直至该DAO消息到达sink节点从而完成新的下行路由的创建。至此,与D相关的路由的本地修复完成。(8)节点G、H分别执行与步骤(3)-(7)中节点D类似的操作,完成路由的本地修复。修复后的路由如图1b所示。
由此可见,现有的路由修复方式的修复操作偏复杂,在控制开销和修复时延方面存在较明显的冗余,这会严重影响路由本地修复的效率和速度,有必要提出创新性的方法加以解决。
发明内容
有鉴于此,本发明实施例提供了一种路由修复方法和装置,解决了现有路由修复方式会增加过多的控制开销和修复时延的问题。
本发明一实施例提供的一种路由修复方法,适用于一种网络拓扑结构中的一个本地节点,该路由修复方法包括:
根据预定规则确定新的父节点;以及,生成路由本地修复消息,并将所述路由本地修复消息发送给所述新的父节点;其中,所述路由本地修复消息包括故障地址列表,其中所述故障地址列表至少包括本地节点的地址;
或,
接收到网络层的目的地址为所述本地节点的地址的所述路由本地修复消息时,建立或更新向所述故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发所述路由本地修复消息。
在本发明一实施例中,所述将所述路由本地修复消息发送给所述新的父节点包括:以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将所述路由本地修复消息发送给所述新的父节点,其中所述目的节点网络地址为所述新的父节点的地址;
和/或,
所述沿原有的上行路由向根节点转发所述路由本地修复消息包括:以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将所述路由本地修复消息转发给所述原有路由中的上一节点,其中所述目的节点网络地址为所述上一节点的地址。
在本发明一实施例中,所述路由修复方法进一步包括:
若没能根据所述预定规则确定所述新的父节点,则向子节点发送路径断裂消息;若收到了所述子节点发送的所述路由本地修复消息,判断所述子节点发送的所述路由本地修复消息的所述故障地址列表中是否包括了所述本地节点;如果判断结果为是,则建立向所述子节点的上行路由;
或,
接收到父节点发送的所述路径断裂消息,根据所述预定规则确定新的父节点;判断是否接收到从属于同一个父节点的兄弟节点发出的所述路由本地修复消息;如果判断结果为是,则生成所述路由本地修复消息,在所述路由本地修复消息的故障地址列表中装入所述本地节点的地址;如果判断结果为否,则生成所述路由本地修复消息,在所述路由本地修复消息的故障地址列表中装入所述本地节点和所述父节点的地址;以及,将所述路由本地修复消息以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式发送给所述新的父节点,其中所述目的节点网络地址为所述新的父节点的地址。
在本发明一实施例中,在建立向所述子节点的上行路由之后,所述路由修复方法进一步包括:
忽略其他所述子节点发送的所述路由本地修复消息。
在本发明一实施例中,所述向子节点发送路径断裂消息包括:
若所述本地节点包括多个所述子节点,则向所述多个所述子节点广播所述路径断裂消息;以及
若所述本地节点仅包括一个所述子节点,则向所述一个所述子节点单播所述路径断裂消息。
在本发明一实施例中,所述路由修复方法进一步包括:
若没能根据所述预定规则确定所述新的父节点,且所述本地节点没有所述子节点,则保持MAC层旁听和帧接收,等待接收全局修复的控制消息或者其它节点发出的帧以便进行路由修复。
在本发明一实施例中,所述根据预定规则确定新的父节点包括:
根据所述本地节点存储的邻居节点的节点类型确定新的父节点。
在本发明一实施例中,所述节点类型包括以下分类中的一种或多种:节点深度比所述本地节点低的备选父节点、节点深度与所述本地节点相同但并不从属于同一个父节点的非兄弟同深度节点、节点深度比所述本地节点高但并不从属于同一个父节点的潜在子节点、从属于同一个父节点的兄弟节点、以及从属于所述本地节点的子节点。
在本发明一实施例中,所述节点类型包括以下分类:节点深度比所述本地节点低的备选父节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点包括:
根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述备选父节点的所述邻居节点;若只查找到一个所述备选父节点,则将该所述备选父节点作为所述新的父节点;若查找到多个所述备选父节点,则根据预设的路径判据条件确定其中的一个所述备选父节点为所述新的父节点,或将所述本地节点最先存储的所述备选父节点作为所述新的父节点。
在本发明一实施例中,所述节点类型进一步包括以下分类:节点深度与所述本地节点相同且从属于同一个父节点的兄弟节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点进一步包括:
若没有查找到所述备选父节点,则根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述兄弟节点的所述邻居节点,并判断所述父节点是否存在设备故障;若判断为所述父节点没有存在设备故障,且只查找到一个所述兄弟节点,则将该所述兄弟节点作为所述新的父节点;若判断为所述父节点没有存在设备故障,且查找到多个所述兄弟节点,则根据预设的路径判据条件确定其中的一个所述兄弟节点为所述新的父节点,或将所述本地节点最先存储的所述备选父节点作为所述新的父节点。
在本发明一实施例中,所述判断所述父节点是否存在设备故障包括:
旁听所述兄弟节点向所述父节点连续发送的预定个数据帧;以及
若所述连续发送的预定个数据帧中的数据内容发生了变化,则判断为所述父节点没有存在设备故障。
在本发明一实施例中,所述节点类型进一步包括以下分类:节点深度与所述本地节点相同但并不从属于同一个父节点的非兄弟同深度节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点进一步包括:
若没有查找到所述备选父节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述非兄弟同深度节点的所述邻居节点;若只查找到一个所述非兄弟同深度节点,则将该所述非兄弟同深度节点作为所述新的父节点;若查找到多个所述非兄弟同深度节点,则根据预设的路径判据条件确定其中的一个所述非兄弟同深度节点为所述新的父节点,或将所述本地节点最先存储的所述非兄弟同深度节点作为所述新的父节点。
在本发明一实施例中,所述节点类型进一步包括以下分类:节点深度比所述本地节点高但并不从属于同一个父节点的潜在子节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点进一步包括:
若没有查找到所述备选父节点或所述非兄弟同深度节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述潜在子节点的所述邻居节点;若只查找到一个所述潜在子节点,则将该所述潜在子节点作为所述新的父节点;若查找到多个所述潜在子节点,则根据预设的路径判据条件确定其中的一个所述潜在子节点为所述新的父节点,或将所述本地节点最先存储的所述潜在子节点作为所述新的父节点。
本发明一实施例提供的一种路由修复装置,适用于一种网络拓扑结构中的一个本地节点,该路由修复装置包括:
父节点确定模块,配置为根据预定规则确定新的父节点;
路由本地修复消息发布模块,配置为生成路由本地修复消息,并将所述路由本地修复消息发送给所述新的父节点;其中,所述路由本地修复消息包括故障地址列表,其中所述故障地址列表至少包括本地节点的地址;以及,
第一路由建立模块,配置为接收到网络层的目的地址为所述本地节点的地址的所述路由本地修复消息时,建立或更新向所述故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发所述路由本地修复消息。
在本发明一实施例中,所述路由本地修复消息发布模块进一步配置为:以MAC层广播网络层单播的方式将所述路由本地修复消息发送给所述新的父节点,其中所述网络层单播的目的地址为所述新的父节点;
和/或,
所述第一路由建立模块进一步配置为:以MAC层广播网络层单播的方式将所述路由本地修复消息转发给所述原有路由中的上一节点,其中所述网络层单播的目的地址为所述上一节点。
在本发明一实施例中,所述路由修复装置进一步包括:
路径断裂消息发布模块,配置为若没能根据所述预定规则确定所述新的父节点,则向子节点发送路径断裂消息;第二路由建立模块,配置为若收到了所述子节点发送的所述路由本地修复消息,判断所述子节点发送的所述路由本地修复消息的所述故障地址列表中是否包括了所述本地节点;如果判断结果为是,则建立向所述子节点的上行路由;
或,
所述父节点确定模块进一步配置为:接收到父节点发送的所述路径断裂消息时,根据所述预定规则确定新的父节点;其中所述装置进一步包括:
第一判断模块,配置为判断是否接收到从属于同一个父节点的兄弟节点发出的所述路由本地修复消息;其中所述路由本地修复消息发布模块进一步配置为:如果所述第一判断模块的判断结果为是,则生成所述路由本地修复消息,在所述路由本地修复消息的故障地址列表中装入所述本地节点的地址;如果所述第一判断模块的判断结果为否,则生成所述路由本地修复消息,在所述路由本地修复消息的故障地址列表中装入所述本地节点和所述父节点的地址;以及,将所述路由本地修复消息以MAC层广播网络层单播的方式发送给所述新的父节点,其中所述网络层单播的目的地址为所述新的父节点。
在本发明一实施例中,所述父节点确定模块进一步配置为:
在建立向所述子节点的上行路由之后,忽略其他所述子节点发送的所述路由本地修复消息。
在本发明一实施例中,所述路径断裂消息发布模块进一步配置为:若所述本地节点包括多个所述子节点,则向所述多个所述子节点广播所述路径断裂消息;以及若所述本地节点仅包括一个所述子节点,则先所述一个所述子节点单播所述路径断裂消息。
在本发明一实施例中,所述路由修复装置进一步包括:
旁听模块,配置为:若没能根据所述预定规则确定所述新的父节点,且所述本地节点没有所述子节点,则保持MAC层旁听和帧接收,等待接收全局修复的控制消息或者其它节点发出的帧以便进行路由修复。
在本发明一实施例中,所述父节点确定模块进一步配置为:
根据所述本地节点存储的邻居节点的节点类型确定新的父节点。
在本发明一实施例中,所述节点类型包括以下分类中的一种或多种:节点深度比所述本地节点低的备选父节点、节点深度与所述本地节点相同但并不从属于同一个父节点的非兄弟同深度节点、节点深度比所述本地节点高但并不从属于同一个父节点的潜在子节点、从属于同一个父节点的兄弟节点、以及从属于所述本地节点的子节点。
在本发明一实施例中,所述节点类型包括以下分类:节点深度比所述本地节点低的备选父节点;
其中,所述父节点确定模块进一步配置为:
根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述备选父节点的所述邻居节点;若只查找到一个所述备选父节点,则将该所述备选父节点作为所述新的父节点;若查找到多个所述备选父节点,则根据预设的路径判据条件确定其中的一个所述备选父节点为所述新的父节点,或将所述本地节点最先存储的所述备选父节点作为所述新的父节点。
在本发明一实施例中,所述节点类型进一步包括以下分类:节点深度与所述本地节点相同且从属于同一个父节点的兄弟节点;
其中,所述父节点确定模块进一步配置为:
若没有查找到所述备选父节点,则根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述兄弟节点的所述邻居节点,并判断所述父节点是否存在设备故障;若判断为所述父节点没有存在设备故障,且只查找到一个所述兄弟节点,则将该所述兄弟节点作为所述新的父节点;若判断为所述父节点没有存在设备故障,且查找到多个所述兄弟节点,则根据预设的路径判据条件确定其中的一个所述兄弟节点为所述新的父节点,或将所述本地节点最先存储的所述备选父节点作为所述新的父节点。
在本发明一实施例中,所述判断所述父节点是否存在设备故障包括:
旁听所述兄弟节点向所述父节点连续发送的预定个数据帧;以及
若所述连续发送的预定个数据帧中的数据内容发生了变化,则判断为所述父节点没有存在设备故障。
在本发明一实施例中,所述节点类型进一步包括以下分类:节点深度与所述本地节点相同但并不从属于同一个父节点的非兄弟同深度节点;
其中,所述父节点确定模块进一步配置为:
若没有查找到所述备选父节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述非兄弟同深度节点的所述邻居节点;若只查找到一个所述非兄弟同深度节点,则将该所述非兄弟同深度节点作为所述新的父节点;若查找到多个所述非兄弟同深度节点,则根据预设的路径判据条件确定其中的一个所述非兄弟同深度节点为所述新的父节点,或将所述本地节点最先存储的所述非兄弟同深度节点作为所述新的父节点。
在本发明一实施例中,所述节点类型进一步包括以下分类:节点深度比所述本地节点高但并不从属于同一个父节点的潜在子节点;
其中,所述父节点确定模块进一步配置为:
若没有查找到所述备选父节点或所述非兄弟同深度节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述潜在子节点的所述邻居节点;若只查找到一个所述潜在子节点,则将该所述潜在子节点作为所述新的父节点;若查找到多个所述潜在子节点,则根据预设的路径判据条件确定其中的一个所述潜在子节点为所述新的父节点,或将所述本地节点最先存储的所述潜在子节点作为所述新的父节点。本发明实施例提供的一种路由修复方法和装置,仅采用一种路由本地修复消息即可完成整个路由修复过程,相对于现有技术中需要采用DIO、DIS和DAO三种控制消息才能完成路由修复过程,节省了控制消息的数量;同时,通过在路由本地修复消息中设置故障地址列表,可使得新的父节点一次性建立故障地址列表中所有故障节点的下行路由,避免了分别进行的重复修复过程。由此可见,本发明实施例所提供的路由修复方法大大降低了路由修复的控制开销,减小了路由修复时延,提高了路由修复的效率和可靠性。
附图说明
图1a~图1b所示为现有技术提供的一种路由修复方法的原理示意图。
图2a和图2b分别所示为本发明一实施例提供的一种路由修复方法的流程示意图。
图3a和3b分别所示为本发明一实施例提供的一种路由修复方法中通过子节点来寻求路由修复的流程示意图。
图4所示为本发明一实施例提供的一种路由修复方法中根据预定规则确定新的父节点的流程示意图。
图5所示为本发明一实施例提供的一种路由修复方法中的网络拓扑信息收集方法的流程示意图。
图6所示为本发明一实施例所提供的路由修复方法中的网络拓扑信息收集方法中确定邻居节点的节点类型的流程示意图。
图7所示为本发明一实施例所提供的路由修复方法中的网络拓扑信息收集方法中判断邻居节点是否为兄弟节点的流程示意图。
图8所示为本发明一实施例所提供的路由修复方法中的网络拓扑信息收集方法中本地节点的媒介访问控制层将邻居节点的父节点的物理地址上传至网络层的流程示意图。
图9所示为本发明一实施例所提供的路由修复方法中的网络拓扑信息收集方法中本地节点的媒介访问控制层判断邻居节点的数据帧中是否包括目的地通告对象消息的流程示意图。
图10所示为本发明一实施例提供的一种路由修复装置的结构示意图。
图11所示为本发明另一实施例提供的一种路由修复装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2a和图2b分别所示为本发明一实施例提供的一种路由修复方法的流程示意图。该路由修复方法适用于一种网络拓扑结构中的一个本地节点。该网络拓扑结构可以为LLN网络,在LLN网络中除了根节点以外,每个节点的物理构造和性质均相同。LLN网络中的所有节点处于静态或准静态。LLN网络中每个节点都具有路由功能。LLN网络中每个节点既可作为消息的发布者,也可作为消息的接收者。
如图2a所示,该路由修复方法包括如下步骤:
步骤101a:根据预定规则确定新的父节点。
此时本地节点可能为故障节点的下游节点,由于本地节点的父节点(故障节点)出现了故障,因此需要确定新的父节点以重新建立路由。
在本发明一实施例中,本地节点可存储了一些网络拓扑信息,例如,这些网络拓扑信息可包括本地节点的邻居节点的节点类型。此时该预定规则可具体为根据本地节点存储的邻居节点的节点类型来确定新的父节点,即从本地节点的邻居节点中按照预定规则选取一个作为新的父节点。本地节点所存储的邻居节点的节点类型可包括以下分类中的一种或多种:节点深度比本地节点低的备选父节点、节点深度与本地节点相同但并不从属于同一个父节点的非兄弟同深度节点、节点深度比本地节点高但并不从属于同一个父节点的潜在子节点、从属于同一个父节点的兄弟节点、以及从属于本地节点的子节点。
然而应当理解,确定新的父节点的预定规则可根据实际的场景需求而调整,例如也可简单地将路径距离最近的一个仍保持正常通信状态的邻居节点作为新的父节点,本发明对该确定新的父节点的预定规则并不做具体限定。
步骤102a:生成路由本地修复消息,并将路由本地修复消息发送给新的父节点;其中,路由本地修复消息包括故障地址列表,其中故障地址列表至少包括本地节点的地址。
路由本地修复消息是本发明提出的一种类似于DAO消息的新的控制消息,用于让故障点下游节点指定新路由和公告路由故障,或让得知了路由故障的邻居节点建立与新的父节点之间的路由关系。路由本地修复消息中的故障地址列表用于让新的父节点了解需要向那些故障节点建立下行路由,当该故障地址列表中包括了多个节点的地址时,新的父节点便可一次性建立对该多个节点的下行路由,避免了分别进行的重复修复过程。此外,该路由本地修复消息还可包括“消息类型”、“源地址”和“目的地址”三个字段。
或,如图2b所示,该路由修复方法也可包括如下步骤:
步骤101b:接收到网络层的目的地址为本地节点的地址的路由本地修复消息时,建立或更新向故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发路由本地修复消息。
如前所述,路由本地修复消息是要发给新的父节点的,因此当本地节点接收到了一个网络层的目的地址为本地节点的地址的路由本地修复消息时,说明本地节点被确定为该路由本地修复消息的发起节点的新的父节点。此时本地节点便会将该路由本地修复消息的发起节点作为下一跳节点(该路由本地修复消息的发起节点的地址可从该路由本地修复消息的“源地址”字段取得),建立或更新向故障地址列表中所包括的故障节点的下行路由(对于之前已建立的下行路由则进行更新),并沿原有的上行路由向根节点转该发路由本地修复消息。而原有上行路由上的节点在接收到该路由本地修复消息时,便也会执行步骤101b的路由修复过程,直至抵达根节点,以实现本地路由的完整修复过程。
本发明实施例提供的一种路由修复方法和装置,仅采用一种路由本地修复消息即可完成整个路由修复过程,相对于现有技术中需要采用DIO、DIS和DAO三种控制消息才能完成路由修复过程,节省了控制消息的数量;同时,通过在路由本地修复消息中设置故障地址列表,可使得新的父节点一次性建立故障地址列表中所有故障节点的下行路由,避免了分别进行的重复修复过程。由此可见,本发明实施例所提供的路由修复方法大大降低了路由修复的控制开销,减小了路由修复时延,提高了路由修复的效率和可靠性。
在本发明一实施例中,可以MAC层广播网络层单播的方式将路由本地修复消息发送给新的父节点,具体而言以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将路由本地修复消息发送给新的父节点,其中目的节点网络地址为新的父节点的地址;和/或,在沿原有的上行路由向根节点转发路由本地修复消息时,以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将路由本地修复消息转发给原有路由中的上一节点,其中目的节点网络地址为上一节点的地址。这种MAC层广播网络层单播的通信方式不仅可保证该新的父节点和原有上行路由上的节点都能通过网络层建立或更新通往故障节点的路由,还可使得其他节点也能够通过MAC层接收到包括路由本地修复消息的数据帧,并取出其中的路由本地修复消息上传给网络层,即,使得任何能接收到包括路由本地修复消息的数据帧的节点都能够获得新的路由信息,从而实现了将新的路由信息传播到最大范围的效果。这样可使数据尽可能地保证在正确的路由上传送,从而有利于提高数据传输可靠性。此外,上述过程不需要额外发送其他控制消息,相关路由修复操作只在网络层进行。不需要额外配置MAC层以通过跨层信息共享将本不要求传递的信息传递给网络层,所有节点通过MAC层的常规操作即可将路由本地修复消息上传给网络层,路由信息的传播方式简洁且效率高。
在本发明一实施例中,也可能并未能根据预定规则确定新的父节点,例如,当根据本地节点存储的邻居节点的节点类型来确定新的父节点时,并未能从邻居节点中确定合适的父节点,此时可进一步通过子节点来寻求路由修复。如图3a和3b所示,此时该路由修复方法可进一步包括如下步骤:
步骤301a:若没能根据预定规则确定新的父节点,则向子节点发送路径断裂消息。
路径断裂消息也是本发明提出的一种信息控制消息,用于向子节点通知本地节点的路径已断,且本地节点无法根据预定规则确定新的父节点,需要通过子节点来寻求路由修复。该路径断裂消息可包括“消息类型”、“源地址”和“目的地址”三个字段。
在本发明一实施例中,考虑到当本地节点仅包括一个子节点时,则向该子节点单播路径断裂消息即可,因此可根据子节点的数量自适应处理路径断裂消息的发布方式。具体而言,若本地节点包括多个子节点,则向多个子节点广播路径断裂消息;若本地节点仅包括一个子节点,则向该一个子节点单播路径断裂消息。由此实现了一种可根据子节点数量自适应处理路由修复过程的方式,能够在完成上行路由修复的情况下减少收发的控制消息,从而进一步节省控制开销。
步骤302a:若收到了子节点发送的路由本地修复消息,判断子节点发送的路由本地修复消息的故障地址列表中是否包括了本地节点。
如果本地节点在发布了路径断裂消息后,又收到了来自一个子节点的路由本地修复消息,则说明该子节点已经确定了新的父节点,可以建立新的上行路由,此时还需要判断该子节点的路由本地修复消息的故障地址列表中是否包括了本地节点。之所以进行该判断是考虑到当本地节点包括了多个子节点时,则涉及到必须选择其中的一个子节点进行后续路由修复的问题,否则会产生子节点选择冲突。因此,当子节点生成路由本地修复消息时,可先判断是否已经接收到了其他子节点的路由本地修复消息。如果接收到了,则说明该其他子节点已经先于该子节点确定了新的父节点,且本地节点可能已经获得了该其他子节点的路由本地修复消息,并通过该其他子节点的进行了路由修复;此时则仅会在路由本地修复消息的故障地址列表中装入该子节点的地址。如果没有接收到其他子节点的路由本地修复消息,则说明该子节点是本地节点的所有子节点中首先确定新的父节点的,因此则会在路由本地修复消息的故障地址列表中装入该子节点的地址以及该本地节点的地址。这样当本地节点判断为该子节点发送的路由本地修复消息的故障地址列表中包括了本地节点时,则会直接选择通过该子节点进行路由修复,从而有效地避免了子节点的选择冲突问题,保证路由修复过程有序可靠地进行。
步骤303a:如果判断结果为是,则建立向子节点的上行路由。
如前所述,当本地节点判断为该子节点发送的路由本地修复消息的故障地址列表中包括了本地节点时,则会直接将该子节点作为自己的新父节点,建立向子节点的上行路由,并由此建立起指向根节点的新路由。如果本地节点建立了指向一个子节点的新路由后,又收到了其它子节点发出的路由本地修复消息时,由于这些其它子节点发出的路由本地修复消息的故障地址列表中也不可能包括本地节点,也为了避免产生子节点选择冲突问题,因此可直接忽略这些其他子节点发送的路由本地修复消息。
或,该路由修复方法也可进一步包括如下步骤:
步骤301b:接收到父节点发送的路径断裂消息,根据预定规则确定新的父节点。
当本地节点接收到了父节点发送的路径断裂消息时,则说明父节点已无法根据预定规则确定新的父节点,需要通过本地节点来寻求路由修复。在此之前,本地节点首先要确定自身能够找到新的路由,因此本地节点便会重新开启一个路由修复过程,即,根据预定规则确定新的父节点。
步骤302b:判断是否接收到从属于同一个父节点的兄弟节点发出的路由本地修复消息。
如前所述,为了避免父节点在子节点选择问题上的冲突,本地节点在根据预定规则确定了新的父节点后,还要判断是否接收到从属于同一个父节点的兄弟节点发出的路由本地修复消息。
步骤303b:如果判断结果为是,则生成路由本地修复消息,在路由本地修复消息的故障地址列表中装入本地节点的地址。
此时则说明已经有兄弟节点提前确定了新的父节点,且父节点很可能也已经收到了该兄弟节点的路由本地修复消息,此时在本地节点的路由本地修复消息的故障地址列表中装入本地节点的地址即可,以建立新的上行路由。
步骤304b:如果判断结果为否,则生成路由本地修复消息,在路由本地修复消息的故障地址列表中装入本地节点和父节点的地址。
此时则说明本地节点是父节点的所有子节点中最先确定新的父节点的,此时可在路由本地修复消息的故障地址列表中装入本地节点和父节点的地址,以便于父节点在接收到该路由本地修复消息时,选择本地节点作为父节点的新的父节点。
步骤305b:将路由本地修复消息以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式发送给新的父节点,其中目的节点网络地址为新的父节点的地址。
新的父节点在接收该路由本地修复消息时,便会将本地节点作为下一跳节点(本地节点的地址可从该路由本地修复消息的“源地址”字段取得),建立向本地节点的下行路由,并沿原有的上行路由向根节点转该发路由本地修复消息。而原有上行路由上的节点在接收到该路由本地修复消息时,便也会执行步骤101b的路由修复过程,直至抵达根节点,以实现本地路由的完整修复过程。同时由于是以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式发布路由本地修复消息,因此原来的父节点也会收到该路由本地修复消息,并根据故障地址列表中是否包括了父节点的地址来判断选择哪个子节点作为新的父节点。
在本发明一实施例中,若本地节点既没能根据预定规则确定新的父节点,且本地节点也没有子节点,则可保持MAC层旁听和帧接收,以等待接收全局修复的控制消息以通过全局修复完成路由修复。
图4所示为本发明一实施例提供的一种路由修复方法中根据预定规则确定新的父节点的流程示意图。在图4所示的实施例中,本地存储的邻居节点的节点类型可包括:节点深度比本地节点高的备选父节点,该根据预定规则确定新的父节点的方法可包括如下步骤:
步骤401:根据本地节点存储的邻居节点的节点类型查找节点类型为备选父节点的邻居节点;若只查找到一个备选父节点,则将该备选父节点作为新的父节点;若查找到多个备选父节点,则根据预设的路径判据条件确定其中的一个备选父节点为新的父节点,或将本地节点最先存储的备选父节点作为新的父节点。在本发明一实施例中,当通过步骤401无法确定新的父节点时,则可直接进入等待过程,等待接收全局修复的控制消息以通过全局修复完成路由修复。
在本发明一实施例中,本地存储的邻居节点的节点类型可进一步包括:兄弟节点,此时该确定新的父节点的方法可进一步包括如下步骤:
步骤402:若没有查找到备选父节点,则根据本地节点存储的邻居节点的节点类型查找节点类型为兄弟节点的邻居节点,并判断父节点是否存在设备故障;若判断为父节点没有存在设备故障,且只查找到一个兄弟节点,则将该兄弟节点作为新的父节点;若判断为父节点没有存在设备故障,且查找到多个兄弟节点,则根据预设的路径判据条件确定其中的一个兄弟节点为新的父节点,或将本地节点最先存储的备选父节点作为新的父节点。
由于当本地节点与父节点之间出现路由故障时,本地节点仅可以确定本地节点是否出现了设备问题,至于本地节点与父节点之间的通信信道是否出现了问题,或者父节点是否出现了设备故障问题,本地节点并无法确定。而如果实际的情况是父节点出现了设备问题,由于兄弟节点与本地节点从属于同一个父节点,因此即使选择兄弟节点作为新的父节点也无法完成路由修复过程。因此在考虑将兄弟节点作为新的父节点时,需要先判断一下父节点是否出现了设备故障。如果父节点并未存在设备故障,那么就可以考虑选择兄弟节点作为新的父节点。
在本发明一实施例中,本地节点可通过旁听的方式判断父节点是否存在设备故障。具体而言:旁听兄弟节点向父节点连续发送预定个数据帧。若连续发送的预定个数据帧中的数据内容发生了变化,则说明兄弟节点与父节点之间仍保持着正常的通信,此时可判断为父节点没有存在设备故障,可以考虑选择兄弟节点作为新的父节点。若连续发送的预定个数据帧中的数据内容一直没有变化,说明很可能是兄弟节点在不停的向父节点重复发送用于建立通信信道的数据帧但一直未得到父节点的回应,此时说明父节点存在设备故障,也就不需要再考虑兄弟节点作为新的父节点了。
在本发明一实施例中,本地存储的邻居节点的节点类型可进一步包括:非兄弟同深度节点,此时该确定新的父节点的方法可进一步包括如下步骤:
步骤403:若没有查找到备选父节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据本地节点存储的邻居节点的节点类型查找节点类型为非兄弟同深度节点的邻居节点;若只查找到一个非兄弟同深度节点,则将该非兄弟同深度节点作为新的父节点;若查找到多个非兄弟同深度节点,则根据预设的路径判据条件确定其中的一个非兄弟同深度节点为新的父节点,或将本地节点最先存储的非兄弟同深度节点作为新的父节点。在本发明一实施例中,当通过步骤403无法确定新的父节点时,则可直接进入等待过程,等待接收全局修复的控制消息以通过全局修复完成路由修复。
在本发明一实施例中,本地存储的邻居节点的节点类型可进一步包括:潜在子节点,该确定新的父节点的方法可进一步包括如下步骤:
步骤404:若没有查找到备选父节点或非兄弟同深度节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据本地节点存储的邻居节点的节点类型查找节点类型为潜在子节点的邻居节点;若只查找到一个潜在子节点,则将该潜在子节点作为新的父节点;若查找到多个潜在子节点,则根据预设的路径判据条件确定其中的一个潜在子节点为新的父节点,或将本地节点最先存储的潜在子节点作为新的父节点。在本发明一实施例中,当通过步骤404无法确定新的父节点时,则可直接进入等待过程,等待接收全局修复的控制消息以通过全局修复完成路由修复。
应当理解,上面提到的路径判据条件可包括多种实现形式,例如路径长度判据,通信信号稳定度判据等,具体选择哪些条件来作为该路径判决条件也可根据实际的应用场景需求而定,本发明对该预设的路径判据条件的具体形式不做限定。此外还应当理解,虽然图4给出了一种确定新的父节点的方法流程,但根据本地存储的邻居节点的节点类型种类以及本地存储的邻居节点的拓扑信息内容,还可有很多其他的组合方式来确定新的父节点。具体需要根据哪些本地存储的哪些拓扑信息或从其他节点接收到的哪些拓扑信息来确定新的父节点,也可根据实际的场景需求而调整,本发明对此同样不做严格限定。
应当理解,本地节点存储的网络拓扑信息可为预先录入到本地节点中存储,也可通过一个网络拓扑信息收集方法来获取并存储,本发明对本地节点存储的网络拓扑信息的来源和获取方式并不做限定。
图5所示为本发明一实施例提供的一种网络拓扑信息收集方法的流程示意图。如图5所示,该网络拓扑信息收集方法适用于一种网络拓扑结构中的一个本地节点的网络层。该网络拓扑结构可以为LLN网络,在LLN网络中除了根节点以外,每个节点的物理构造和性质均相同。LLN网络中的所有节点处于静态或准静态。LLN网络中每个节点都具有路由功能。LLN网络中每个节点既可作为消息的发布者,也可作为消息的接收者。
该网络拓扑信息收集方法包括:
步骤501:根据邻居节点与本地节点之间的拓扑结构关系确定邻居节点的节点类型。
具体而言,邻居节点与本地节点之间的拓扑结构关系可根据二者各自的节点深度而定,节点深度的值即节点到根节点的跳数;根据邻居节点与本地节点之间的节点深度差异可将邻居节点归类为不同的节点类型。在本发明一实施例中,节点类型可包括以下分类中的一种或多种:节点深度比本地节点高的备选父节点、节点深度与本地节点相同但并不从属于同一个父节点的非兄弟同深度节点、节点深度比本地节点低但并不从属于同一个父节点的潜在子节点、从属于同一个父节点的兄弟节点、以及从属于本地节点的子节点。应当理解,具体需要确定节点类型的哪些分类可根据实际应用场景的需求而定,本发明对节点类型具体包括的分类数量和种类并不做严格限定,只要节点类型的内容能够反映邻居节点与本地节点之间的拓扑结构关系即可,本发明对此不做限定。
步骤502:在本地节点存储邻居节点的节点类型。
本地节点通过存储邻居节点的节点类型,即相当于在本地掌握了邻居节点与所述本地节点之间的拓扑结构关系。这样当发生路由故障而需要修复路由时,本地节点根据邻居节点与所述本地节点之间的拓扑结构关系即可直接确定新的路由,从而省略了现有技术中的广播寻路消息,也避免了全局及本地序列号、以及ACK消息的使用,降低了路由修复的控制开销,减小了路由修复时延,提高了路由修复的效率和可靠性。
图6所示为本发明一实施例所提供的路由修复方法中的网络拓扑信息收集方法中确定邻居节点的节点类型的流程示意图。如图6所示,该邻居节点的节点类型的确定方法包括如下步骤:
步骤601:判断邻居节点是否为兄弟节点。
由于备选父节点、非兄弟同深度节点以及潜在子节点肯定都不会是兄弟节点,因此通过首先判断邻居节点是否为兄弟节点,可缩小备选父节点、非兄弟同深度节点以及潜在子节点的筛选范围,并可同时先确定邻居节点是否为兄弟节点。
步骤602:若判断结果为是,则将邻居节点的节点类型确定为兄弟节点。
步骤603:若判断结果为否,则获取邻居节点的节点深度。
在本发明一实施例中,可从由邻居节点广播的包括面向目的地有向无环图信息对象信息(DIO消息)的数据帧中提取邻居节点的节点深度。
步骤604:将邻居节点的节点深度与本地节点的节点深度进行第一比较过程。
如前所述,邻居节点与本地节点之间的拓扑结构关系可根据二者各自的节点深度而定,根据将邻居节点的节点深度与本地节点的节点深度进行该第一比较过程即可将邻居节点归类为不同的节点类型。
步骤605:根据第一比较过程的结果确定邻居节点的节点类型;其中,若邻居节点的节点深度比本地节点的节点深度低,则将邻居节点确定为备选父节点;若邻居节点的节点深度与本地节点的节点深度相同,则将邻居节点确定为非兄弟同深度节点;若邻居节点的节点深度比本地节点的节点深度高,则将邻居节点确定为潜在子节点。
在本发明一实施例中,当本地节点接收到来自一个邻居节点单播的目的地通告对象消息(DAO消息)时,即可直接将该邻居节点的节点类型确定为自己的子节点。
由此可见,通过以上所述的节点类型的确定方法,邻居节点的以下几种节点类型即可被确定下来:备选父节点、兄弟同深度节点、潜在子节点、兄弟节点、和子节点。邻居节点的这几种节点类型的信息可作为路由修复的重要依据。
图7所示为本发明一实施例所提供的路由修复方法中的网络拓扑信息收集方法中判断邻居节点是否为兄弟节点的流程示意图。如图7所示,该判断邻居节点是否为兄弟节点的过程包括如下步骤:
步骤6011:获取邻居节点的父节点的物理地址。
如前所述,兄弟节点的定义为从属于同一个父节点的多个节点。因此为了确定一个邻居节点是否为兄弟节点,就要确定该邻居节点的父节点与本地节点的父节点是否为同一个节点。而物理地址是可以唯一代表一个节点的,每个节点都有一个唯一的物理地址。
在本发明一实施例中,网络层可以通过跨层信息共享从媒介访问控制层获取邻居节点的父节点的物理地址。具体而言,如图8所示,考虑到DAO消息中会包括一个节点的父节点的物理地址,本地节点的媒介访问控制层可通过如下步骤将邻居节点的父节点的物理地址上传至网络层:
步骤S81:获取到来自邻居节点的目的地址不是本地节点的包括DAO消息的数据帧。具体而言,媒介访问控制层可以先判断来自邻居节点的数据帧的目的地址是否为本地节点或广播地址。如果来自邻居节点的数据帧的目的地址是本地节点,那么即使该数据帧中包括DAO消息,该DAO消息的目的地址只能是本地节点,这样邻居节点只能是本地节点的子节点,而不可能是本地节点的兄弟节点;如果来自邻居节点的数据帧的目的地址为广播地址,那么该数据帧就不可能包括DAO消息,也就无法根据DAO消息获取邻居节点的父节点的物理地址了;因此,为了获取到包括了可能是兄弟节点的邻居节点的父节点的物理地址,来自该邻居节点的数据帧的目的地址首先不应是本地节点也不应是广播地址。
当媒介访问控制层获取到了目的地址不是本地节点或广播地址的数据帧后,还要进一步判断该数据帧中是否真的包括了DAO消息。具体而言,媒介访问控制层可根据该来自邻居节点的数据帧中对应DAO消息字段的值判断该邻居节点的数据帧中是否包括目的地通告对象消息。然而,由于媒介访问控制层是不会默认知悉DAO消息字段在数据帧的头部中的位置以及DAO消息应有的值的,因此如图9所示,本地节点的媒介访问控制层可首先通过跨层信息共享接收网络层发送的DAO消息字段在数据帧的头部中的位置以及DAO消息的值(S91);然后提取来自邻居节点的数据帧中对应DAO消息字段的值(S92);并判断DAO消息字段的值是否为DAO消息的值(S93);如果判断结果为是,判断为该邻居节点的数据帧中包括了DAO消息(S94)。如果判断结果为否,则可直接删除该数据帧(S95)。
在本发明一实施例中,由于在同一个网络拓扑结构中的数据帧的数据结构一般是不会变化的,因此当媒介访问控制层已经得知DAO消息字段在数据帧的头部中的位置以及DAO消息应有的值时,就没有必要重复获取该DAO消息的位置和应有的值了。为了进一步提高拓扑信息的收集效率,网络层可以先判断一下是否为首次尝试通过跨层信息共享向媒介访问控制层发送DAO消息字段在数据帧的头部中的位置以及DAO消息的值,并只有当判断结果为是时才向媒介访问控制层发送DAO消息字段在数据帧的头部中的位置以及DAO消息的值。
应当理解,媒介访问控制层也可以通过其他方式(例如提前预置的方式)获取DAO消息字段在数据帧的头部中的位置以及DAO消息的值,而并不是从网络层通过跨层信息共享的方式获取,本发明对此不做严格限定。
步骤S82:从目的地址不是本地节点的包括DAO消息的数据帧的头部获取目的地址,将目的地址作为邻居节点的父节点的物理地址。
如前所述,由于该来自邻居节点的数据帧的目的地址不是本地节点,因此该来自邻居节点的包括DAO消息的数据帧的头部的目的地址,即邻居节点的父节点的物理地址,很可能就是本地节点的父节点的物理地址。
步骤S83:将邻居节点的父节点的物理地址通过跨层信息共享上传至网络层。在完成该上传过程后,媒介访问控制层可删除该数据帧。
网络层在接收到媒介访问控制层上传的该邻居节点的父节点的物理地址后,即可通过在后续的过程中将该邻居节点的父节点的物理地址与本地节点的父节点的物理地址进行比较,以确定该邻居节点是否为本地节点的兄弟节点。
步骤6012:将邻居节点的父节点的物理地址与本地节点的父节点的物理地址进行第二比较过程。
步骤6013:若第二比较过程的结果为相同,则将邻居节点确定为兄弟节点。
如前所述,由于物理地址是可以唯一代表节点的,每个节点都有一个唯一的物理地址,因此通过将邻居节点的父节点的物理地址与本地节点的父节点的物理地址进行该第二比较过程即可确定该邻居节点是否为兄弟节点。
在本发明一实施例中,该网络拓扑信息收集方法可进一步包括:在本地节点存储邻居节点的节点深度,该邻居节点的节点深度可从由邻居节点广播的包括面向目的地有向无环图信息对象信息的数据帧中提取;和/或,根据邻居节点的节点深度确定本地节点与邻居节点之间的路径距离,在本地节点存储路径距离。在本发明另一实施例中,该网络拓扑信息收集方法可进一步包括:在本地节点存储邻居节点的网络地址;和/或,在本地节点存储邻居节点的物理地址,该邻居节点的物理地址可通过跨层信息共享从媒介访问控制层获取。
由此而可见,这样本地节点除了存储了邻居节点的节点类型外,还存储了邻居节点的节点深度、本地节点与邻居节点之间的路径距离、邻居节点的网络地址、以及邻居节点的物理地址,从而进一步丰富了本地节点所拥有的拓扑信息。在本发明一实施例中,所收集的拓扑信息可存储在网络层的路由表或新建的路由表中,路由表中的每个表项可分别对应一项拓扑信息的内容,例如是否为某一个节点类型。应当理解,本地节点所存储的拓扑信息越充分,就越有利于路由发生故障后的路由修复以及组网时路由的建立。然而具体本地节点需要收集哪些拓扑信息可根据实际的场景需求而定,本发明对此不做限定。
在本发明一实施例中,除了在本地存储拓扑信息外,该网络拓扑信息收集方法还可进一步包括:根据本地节点存储的邻居节点的节点类型生成本地节点的拓扑状态信息,将本地节点的拓扑状态信息发布给网络拓扑结构中的其他节点进行存储。这样可进一步使得网络拓扑结构中每个节点之间共享所收集到的拓扑信息,更有利于路由发生故障后的路由修复以及组网时路由的建立。
在本发明一实施例中,每个节点的网络层可将本地节点拓扑状态信息保存在控制消息的保留字段中,利用控制消息将本地节点拓扑状态信息发布给网络拓扑结构中的其他节点进行存储。该控制消息可包括:DIS、DIO、或DAO三种控制消息,该拓扑状态信息的内容可为是否包括了其中一种或多种节点类型的邻居节点。例如,每个节点可在DIS、DIO、或DAO三种控制消息的保留字段中取5位(缺省使用前5位)用于装载有无备选父节点(1bit,以第一预设值(例如1)代表有,以第二预设值(例如0)代表无,下同)、有无兄弟节点(1bit,缺省值为:1-有,0-无)、有无非兄弟同深度节点(1bit,缺省值为:1-有,0-无)、有无子节点(1bit,缺省值为:1-有,0-无)、以及有无潜在子节点(1bit,缺省值为:1-有,0-无)的信息。这五种信息可以从本地节点网络层存储的路由表中查到。
应当理解,虽然在上面的描述中以1bit的第一预设值或第二预设值表征本地节点拓扑状态信息的内容,但本地节点拓扑状态信息的内容其实也可由其他的表征方式,本发明对此不做限定。
这样每个节点在发送DIS、DIO、DAO三种控制消息之前,可先从本地存储的路由表或所接收到的其它存储节点的拓扑状态信息中查询自己是否有备选父节点、兄弟节点、非兄弟同深度节点、子节点、潜在子节点,接着根据查询的结果对控制消息中装载上述信息的5位的值进行设置;然后将控制消息发送出去。每个节点收到DIS、DIO、DAO三种控制消息后,可从保留字段中装有是否有备选父节点、兄弟节点、非兄弟同深度节点信息、子节点、潜在子节点的5位取出值,然后存储到本地节点的路由表相应的路由表项中。通过利用这些保留字段,在不增加任何额外控制开销的情况下,将节点有无备选父节点、兄弟节点、非兄弟同深度节点、子节点、潜在子节点的信息发布出去,使每个节点对自己邻居节点的拓扑信息有更多的了解。
由此可见,通过如前所述的实施例内容进行网络拓扑信息收集,使得网络拓扑结构中的每个节点不仅能够了解自身的拓扑信息,还能够了解邻居节点的拓扑信息,从而使得在路由出现故障时,每个节点都能更迅速和高效地选出更好的路由以完成路由的本地修复。
图10所示为本发明一实施例提供的一种路由修复装置的结构示意图。该路由修复装置适用于一种网络拓扑结构中的一个本地节点,该路由修复装置100包括:
父节点确定模块1001,配置为根据预定规则确定新的父节点;
路由本地修复消息发布模块1002,配置为生成路由本地修复消息,并将路由本地修复消息发送给新的父节点;其中,路由本地修复消息包括故障地址列表,其中故障地址列表至少包括本地节点的地址;以及,
第一路由建立模块1003,配置为接收到网络层的目的地址为本地节点的地址的路由本地修复消息时,建立或更新向故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发路由本地修复消息。
在本发明一实施例中,路由本地修复消息发布模块1002进一步配置为:以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将路由本地修复消息发送给新的父节点,其中目的节点网络地址为新的父节点的地址;
和/或,
第一路由建立模块1003进一步配置为:以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将路由本地修复消息转发给原有路由中的上一节点,其中目的节点网络地址为上一节点的地址。
在本发明一实施例中,如图11所示,该路由修复装置100进一步包括:
路径断裂消息发布模块1004,配置为若没能根据预定规则确定新的父节点,则向子节点发送路径断裂消息;第二路由建立模块1005,配置为若收到了子节点发送的路由本地修复消息,判断子节点发送的路由本地修复消息的故障地址列表中是否包括了本地节点;如果判断结果为是,则建立向子节点的上行路由;
或,
父节点确定模块1001进一步配置为:接收到父节点发送的路径断裂消息时,根据预定规则确定新的父节点;其中路由修复装置100进一步包括:
第一判断模块1006,配置为判断是否接收到从属于同一个父节点的兄弟节点发出的路由本地修复消息;其中路由本地修复消息发布模块1002进一步配置为:如果第一判断模块1006的判断结果为是,则生成路由本地修复消息,在路由本地修复消息的故障地址列表中装入本地节点的地址;如果第一判断模块1006的判断结果为否,则生成路由本地修复消息,在路由本地修复消息的故障地址列表中装入本地节点和父节点的地址;以及,将路由本地修复消息以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式发送给新的父节点,其中目的节点网络地址为新的父节点的地址。
在本发明一实施例中,父节点确定模块1001进一步配置为:
在建立向子节点的上行路由之后,忽略其他子节点发送的路由本地修复消息。
在本发明一实施例中,路径断裂消息发布模块1004进一步配置为:若本地节点包括多个子节点,则向多个子节点广播路径断裂消息;以及若本地节点仅包括一个子节点,则先一个子节点单播路径断裂消息。
在本发明一实施例中,该路由修复装置100进一步包括:
旁听模块1007,配置为:若没能根据预定规则确定新的父节点,且本地节点没有子节点,则保持MAC层旁听和帧接收。
在本发明一实施例中,父节点确定模块1001进一步配置为:
根据本地节点存储的邻居节点的节点类型确定新的父节点。
在本发明一实施例中,节点类型包括以下分类中的一种或多种:节点深度比本地节点低的备选父节点、节点深度与本地节点相同但并不从属于同一个父节点的非兄弟同深度节点、节点深度比本地节点高但并不从属于同一个父节点的潜在子节点、从属于同一个父节点的兄弟节点、以及从属于本地节点的子节点。
在本发明一实施例中,节点类型包括以下分类:节点深度比本地节点低的备选父节点;
其中,父节点确定模块1001进一步配置为:
根据本地节点存储的邻居节点的节点类型查找节点类型为备选父节点的邻居节点;若只查找到一个备选父节点,则将该备选父节点作为新的父节点;若查找到多个备选父节点,则根据预设的路径判据条件确定其中的一个备选父节点为新的父节点,或将本地节点最先存储的备选父节点作为新的父节点。
在本发明一实施例中,节点类型进一步包括以下分类:节点深度与本地节点相同且从属于同一个父节点的兄弟节点;
其中,父节点确定模块1001进一步配置为:
若没有查找到备选父节点,则根据本地节点存储的邻居节点的节点类型查找节点类型为兄弟节点的邻居节点,并判断父节点是否存在设备故障;若判断为父节点没有存在设备故障,且只查找到一个兄弟节点,则将该兄弟节点作为新的父节点;若判断为父节点没有存在设备故障,且查找到多个兄弟节点,则根据预设的路径判据条件确定其中的一个兄弟节点为新的父节点,或将本地节点最先存储的备选父节点作为新的父节点。
在本发明一实施例中,判断父节点是否存在设备故障包括:
旁听兄弟节点向父节点连续发送的预定个数据帧;以及
若连续发送的预定个数据帧中的数据内容发生了变化,则判断为父节点没有存在设备故障。
在本发明一实施例中,节点类型进一步包括以下分类:节点深度与本地节点相同但并不从属于同一个父节点的非兄弟同深度节点;
其中,父节点确定模块1001进一步配置为:
若没有查找到备选父节点,也没有找到合适的兄弟节点作为新的父节点,根据本地节点存储的邻居节点的节点类型查找节点类型为非兄弟同深度节点的邻居节点;若只查找到一个非兄弟同深度节点,则将该非兄弟同深度节点作为新的父节点;若查找到多个非兄弟同深度节点,则根据预设的路径判据条件确定其中的一个非兄弟同深度节点为新的父节点,或将本地节点最先存储的非兄弟同深度节点作为新的父节点。
在本发明一实施例中,节点类型进一步包括以下分类:节点深度比本地节点高但并不从属于同一个父节点的潜在子节点;
其中,父节点确定模块1001进一步配置为:
若没有查找到备选父节点或非兄弟同深度节点,也没有找到合适的兄弟节点作为新的父节点,根据本地节点存储的邻居节点的节点类型查找节点类型为潜在子节点的邻居节点;若只查找到一个潜在子节点,则将该潜在子节点作为新的父节点;若查找到多个潜在子节点,则根据预设的路径判据条件确定其中的一个潜在子节点为新的父节点,或将本地节点最先存储的潜在子节点作为新的父节点。
应当理解,上述实施例所提供的路由修复装置100中记载的每个模块或单元都与前述的一个方法步骤相对应。由此,前述的方法步骤描述的操作和特征同样适用于该路由修复装置100及其中所包含的对应的模块和单元,重复的内容在此不再赘述。
本发明一实施例还提供一种计算机设备,包括存储器、处理器以及存储在存储器上被处理器执行的计算机程序,其特征在于,处理器执行计算机程序时实现如前任一实施例所述路由修复方法的步骤。
本发明一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如前任一实施例所述路由修复方法的步骤。该计算机存储介质可以为任何有形媒介,例如软盘、CD-ROM、DVD、硬盘驱动器、甚至网络介质等。
应当理解,虽然以上描述了本发明实施方式的一种实现形式可以是计算机程序产品,但是本发明的实施方式的方法或装置可以被依软件、硬件、或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和设备可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的方法可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
应当理解,尽管在上文的详细描述中提及了装置的若干模块或单元,但是这种划分仅仅是示例性而非强制性的。实际上,根据本发明的示例性实施方式,上文描述的两个或更多模块/单元的特征和功能可以在一个模块/单元中实现,反之,上文描述的一个模块/单元的特征和功能可以进一步划分为由多个模块/单元来实现。此外,上文描述的某些模块/单元在某些应用场景下可被省略。
应当理解,本发明实施例描述中所用到的限定词“第一”和“第二”仅用于更清楚的阐述技术方案,并不能用于限制本发明的保护范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种路由修复方法,适用于一种网络拓扑结构中的一个本地节点,其特征在于,包括:
根据预定规则确定新的父节点;以及,生成路由本地修复消息,并将所述路由本地修复消息发送给所述新的父节点;其中,所述路由本地修复消息包括故障地址列表,其中所述故障地址列表至少包括本地节点的地址;
或,
接收到网络层的目的地址为所述本地节点的地址的所述路由本地修复消息时,建立或更新向所述故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发所述路由本地修复消息。
2.根据权利要求1所述的方法,其特征在于,所述将所述路由本地修复消息发送给所述新的父节点包括:以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将所述路由本地修复消息发送给所述新的父节点,其中所述目的节点网络地址为所述新的父节点的地址;
和/或,
所述沿原有的上行路由向根节点转发所述路由本地修复消息包括:以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式将所述路由本地修复消息转发给所述原有路由中的上一节点,其中所述目的节点网络地址为所述上一节点的地址。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
若没能根据所述预定规则确定所述新的父节点,则向子节点发送路径断裂消息;若收到了所述子节点发送的所述路由本地修复消息,判断所述子节点发送的所述路由本地修复消息的所述故障地址列表中是否包括了所述本地节点;如果判断结果为是,则建立向所述子节点的上行路由;
或,
接收到父节点发送的所述路径断裂消息,根据所述预定规则确定新的父节点;判断是否接收到从属于同一个父节点的兄弟节点发出的所述路由本地修复消息;如果判断结果为是,则生成所述路由本地修复消息,在所述路由本地修复消息的故障地址列表中装入所述本地节点的地址;如果判断结果为否,则生成所述路由本地修复消息,在所述路由本地修复消息的故障地址列表中装入所述本地节点和所述父节点的地址;以及,将所述路由本地修复消息以帧的目的节点MAC地址为广播地址而帧中分组的目的节点网络地址为单播地址的通信方式发送给所述新的父节点,其中所述目的节点网络地址为所述新的父节点的地址。
4.根据权利要求3所述的方法,其特征在于,在建立向所述子节点的上行路由之后,进一步包括:
忽略其他所述子节点发送的所述路由本地修复消息。
5.根据权利要求3所述的方法,其特征在于,所述向子节点发送路径断裂消息包括:
若所述本地节点包括多个所述子节点,则向所述多个所述子节点广播所述路径断裂消息;以及
若所述本地节点仅包括一个所述子节点,则向所述一个所述子节点单播所述路径断裂消息。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
若没能根据所述预定规则确定所述新的父节点,且所述本地节点没有所述子节点,则保持MAC层旁听和帧接收,等待接收全局修复的控制消息或者其它节点发出的帧以便进行路由修复。
7.根据权利要求1所述的方法,其特征在于,所述根据预定规则确定新的父节点包括:
根据所述本地节点存储的邻居节点的节点类型确定新的父节点。
8.根据权利要求7所述的方法,其特征在于,所述节点类型包括以下分类中的一种或多种:节点深度比所述本地节点低的备选父节点、节点深度与所述本地节点相同但并不从属于同一个父节点的非兄弟同深度节点、节点深度比所述本地节点高但并不从属于同一个父节点的潜在子节点、从属于同一个父节点的兄弟节点、以及从属于所述本地节点的子节点。
9.根据权利要求7所述的方法,其特征在于,所述节点类型包括以下分类:节点深度比所述本地节点低的备选父节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点包括:
根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述备选父节点的所述邻居节点;若只查找到一个所述备选父节点,则将该所述备选父节点作为所述新的父节点;若查找到多个所述备选父节点,则根据预设的路径判据条件确定其中的一个所述备选父节点为所述新的父节点,或将所述本地节点最先存储的所述备选父节点作为所述新的父节点。
10.根据权利要求9所述的路由修复方法,其特征在于,所述节点类型进一步包括以下分类:节点深度与所述本地节点相同且从属于同一个父节点的兄弟节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点进一步包括:
若没有查找到所述备选父节点,则根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述兄弟节点的所述邻居节点,并判断所述父节点是否存在设备故障;若判断为所述父节点没有存在设备故障,且只查找到一个所述兄弟节点,则将该所述兄弟节点作为所述新的父节点;若判断为所述父节点没有存在设备故障,且查找到多个所述兄弟节点,则根据预设的路径判据条件确定其中的一个所述兄弟节点为所述新的父节点,或将所述本地节点最先存储的所述备选父节点作为所述新的父节点。
11.根据权利要求10所述的路由修复方法,其特征在于,所述判断所述父节点是否存在设备故障包括:
旁听所述兄弟节点向所述父节点连续发送的预定个数据帧;以及
若所述连续发送的预定个数据帧中的数据内容发生了变化,则判断为所述父节点没有存在设备故障。
12.根据权利要求11所述的路由修复方法,其特征在于,所述节点类型进一步包括以下分类:节点深度与所述本地节点相同但并不从属于同一个父节点的非兄弟同深度节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点进一步包括:
若没有查找到所述备选父节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述非兄弟同深度节点的所述邻居节点;若只查找到一个所述非兄弟同深度节点,则将该所述非兄弟同深度节点作为所述新的父节点;若查找到多个所述非兄弟同深度节点,则根据预设的路径判据条件确定其中的一个所述非兄弟同深度节点为所述新的父节点,或将所述本地节点最先存储的所述非兄弟同深度节点作为所述新的父节点。
13.根据权利要求12所述的路由修复方法,其特征在于,
所述节点类型进一步包括以下分类:节点深度比所述本地节点高但并不从属于同一个父节点的潜在子节点;
其中,所述根据所述本地节点存储的邻居节点的节点类型确定新的父节点进一步包括:
若没有查找到所述备选父节点或所述非兄弟同深度节点,也没有找到合适的所述兄弟节点作为所述新的父节点,根据所述本地节点存储的邻居节点的节点类型查找节点类型为所述潜在子节点的所述邻居节点;若只查找到一个所述潜在子节点,则将该所述潜在子节点作为所述新的父节点;若查找到多个所述潜在子节点,则根据预设的路径判据条件确定其中的一个所述潜在子节点为所述新的父节点,或将所述本地节点最先存储的所述潜在子节点作为所述新的父节点。
14.一种路由修复装置,适用于一种网络拓扑结构中的一个本地节点,其特征在于,包括:
父节点确定模块,配置为根据预定规则确定新的父节点;
路由本地修复消息发布模块,配置为生成路由本地修复消息,并将所述路由本地修复消息发送给所述新的父节点;其中,所述路由本地修复消息包括故障地址列表,其中所述故障地址列表至少包括本地节点的地址;以及,
第一路由建立模块,配置为接收到网络层的目的地址为所述本地节点的地址的所述路由本地修复消息时,建立或更新向所述故障地址列表中所包括的故障节点的下行路由,并沿原有的上行路由向根节点转发所述路由本地修复消息。
15.一种计算机设备,包括存储器、处理器以及存储在所述存储器上被所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至13中任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711072878.6A CN107659497A (zh) | 2017-11-03 | 2017-11-03 | 路由修复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711072878.6A CN107659497A (zh) | 2017-11-03 | 2017-11-03 | 路由修复方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107659497A true CN107659497A (zh) | 2018-02-02 |
Family
ID=61096743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711072878.6A Pending CN107659497A (zh) | 2017-11-03 | 2017-11-03 | 路由修复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107659497A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804678A (zh) * | 2018-06-12 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种列表节点管理方法及装置 |
CN110233709A (zh) * | 2019-06-11 | 2019-09-13 | 南方电网科学研究院有限责任公司 | 一种rpl路由方法及相关装置 |
CN112583688A (zh) * | 2019-09-30 | 2021-03-30 | 华为技术有限公司 | 混合网络的通信方法和设备 |
CN115834462A (zh) * | 2021-09-15 | 2023-03-21 | 华为技术有限公司 | 路由信息处理方法、通信装置及通信网络 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102272A (zh) * | 2007-07-13 | 2008-01-09 | 北京航空航天大学 | 一种路由更新方法 |
CN101420445B (zh) * | 2007-10-25 | 2011-12-28 | 厦门大学 | 一种无线传感器网络的快速路由协议 |
EP3082308A1 (en) * | 2015-04-17 | 2016-10-19 | Fujitsu Limited | Centralized routing method and apparatus and system |
-
2017
- 2017-11-03 CN CN201711072878.6A patent/CN107659497A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102272A (zh) * | 2007-07-13 | 2008-01-09 | 北京航空航天大学 | 一种路由更新方法 |
CN101420445B (zh) * | 2007-10-25 | 2011-12-28 | 厦门大学 | 一种无线传感器网络的快速路由协议 |
EP3082308A1 (en) * | 2015-04-17 | 2016-10-19 | Fujitsu Limited | Centralized routing method and apparatus and system |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804678A (zh) * | 2018-06-12 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种列表节点管理方法及装置 |
CN110233709A (zh) * | 2019-06-11 | 2019-09-13 | 南方电网科学研究院有限责任公司 | 一种rpl路由方法及相关装置 |
CN112583688A (zh) * | 2019-09-30 | 2021-03-30 | 华为技术有限公司 | 混合网络的通信方法和设备 |
CN112583688B (zh) * | 2019-09-30 | 2023-08-22 | 华为技术有限公司 | 混合网络的通信方法和设备 |
CN115834462A (zh) * | 2021-09-15 | 2023-03-21 | 华为技术有限公司 | 路由信息处理方法、通信装置及通信网络 |
WO2023040646A1 (zh) * | 2021-09-15 | 2023-03-23 | 华为技术有限公司 | 路由信息处理方法、通信装置及通信网络 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101815287B (zh) | 基于树状网的无线传感网路由方法及路由系统 | |
CN107612743A (zh) | 网络拓扑信息收集方法、以及路由修复方法 | |
CN107659497A (zh) | 路由修复方法和装置 | |
Qureshi et al. | Topology based routing protocols for vanet and their comparison with manet | |
JP5812917B2 (ja) | マルチホップネットワークにおいて複数の経路を発見する方法および複数の経路を検索するノード | |
CN105792312A (zh) | 一种主动与被动相结合的自组网路由方法 | |
CN103260211B (zh) | 一种改进的aomdv路由方法 | |
Mishra et al. | Comparison of MANET routing protocols | |
Tee et al. | Survey of position based routing for inter vehicle communication system | |
Shaheen et al. | Comparison and Analysis Study between AODV DSR Routing Protocols in Vanet with IEEE 802.11. | |
Dorle et al. | Evaluation of multipath, unipath and hybrid routing protocols for vehicular Ad hoc networks | |
Ambhaikar et al. | Improved AODV protocol for solving link failure in MANET | |
KR100955246B1 (ko) | 무선 이동 애드혹 네트워크를 위한 동적 그룹 소스 라우팅방법 | |
Qureshi et al. | Study of efficient topology based routing protocols for vehicular ad-hoc network technology | |
CN102916876A (zh) | 一种面向主从结构网络单向链路环境的路由方法 | |
Amjad et al. | Road aware QoS routing in VANETs | |
Amjad et al. | Two-level hierarchical routing based on road connectivity in VANETs | |
Brahmi et al. | Routing in vehicular ad hoc networks: towards road-connectivity based routing | |
Ding et al. | A performance comparison of routing protocols for tramcars in mining industry | |
Paliwal et al. | A topology based routing protocols comparative analysis for manets | |
Syarif et al. | Adding gateway mode for r-aodv routing protocol in hybrid ad hoc network | |
Kawtar et al. | Comparative study about the routing protocols on the vehicular networks and the v2v communications | |
Kanzaki et al. | Data forwarding method based on status of connection with multiple mobile sinks in wireless sensor networks | |
Jibhkate et al. | Advanced Adaptive Routing Algorithm for Highway and City Scenarios in VANET | |
Shen et al. | A cross‐layer design for heterogeneous routing in wireless mesh networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180202 |
|
RJ01 | Rejection of invention patent application after publication |