专利名称:一种路由表项的更新方法以及装置的制作方法
技术领域:
本发明涉及无线网络技术领域,尤其涉及一种路由表项的更新方法以及装置。
背景技术:
无线网状网络(Wireless Mesh Network,简称MESH网络)是一个动态的可以不断扩展的网络架构,位于MESH网络中的每个节点可能都处于移动状态,且移动的速度无法确定,因此,MESH网络的拓扑结构可能时刻在变化。但MESH网络的传输性能要比传统的无线网络的传输性能稳定,这是因为在数据通信中,网络传输性能的发挥并不是仅依靠某个节点。在MESH网络中,如果某个MESH节点(Mesh Point,简称MP)由于故障等原因而不可达时,它可以重新选择一个MP进行通信,数据仍然可以高速地到达目的MP。
在无线通信过程中,通信距离越短,通信的效果通常越好。因为随着通信距离的增长,无线信号不但会衰弱而且会相互干扰,从而降低数据通信的质量。而在MESH网络中,是以一条条较短的无线网络连接代替传统通信网络中长距离的连接,从而保证数据可以高速率在MP之间传递。
IEEE 802. Ils定义的路由协议为混合无线MESH协议(Hybrid Wireless Mesh Protocol,简称HWMP),它是工作在媒体访问控制(Media Access Control,简称MAC)层的路由协议。目前,HWMP路由协议只能使MP建立一条到达一个目的节点的路由表项,即每个 MP的路由表中只保存一条到达一个目的节点的路由表项,当某个MP发现邻居MP不可达时, 它必须进行重路由并重新选择一条新路径以保证与目的MP之间的通信。在发起重路由过程中,MP对接收的数据报文有以下处理方式 处理方式一、丢弃接收的数据报文。这种处理方式会使用户无法接收到数据报文, 影响业务质量。
处理方式二、缓存需要发送的数据报文,在通过重路由过程找到合适的路由后再发送缓存的数据报文。这种处理方式会增大数据的传输时延,特别是在多次尝试重路由的时候,缓存的数据报文会在很长时间内不会被发送出去。
处理方式三、广播该数据报文。这种处理方式会大量占用无线信道带宽资源,加重网络的负担。
因此,现有HWMP路由协议中,MP只保存一条到达一个目的节点的路由表项,当该 MP发现到达该目的节点的邻居MP不可达时,该MP需要进行重路由过程,该重路由的过程可能会导致的数据传输延迟、丢失等问题,因此,在MP中保存多条到达同一目的MP的路由表项,成为MESH网络技术中迫切需要解决的问题。
针对上述问题,目前主要通过在MP节点中手工静态配置多条路由表项的方式实现,但由于MESH网络的动态特性,通过手工静态配置的路由表项不能很好地适应拓扑结构不断变化的MESH网络。
发明内容
有鉴于此,本发明实施例提供一种路由表项的更新方法以及装置,采用该技术方案,能够实现在MP中动态更新路由表项的目的。
本发明实施例通过如下技术方案实现 根据本发明实施例的一个方面,提供了一种路由表项的更新方法,包括 源无线网状网络节点MP或位于源MP以及目的MP之间的中间MP接收控制报文; 确定所述控制报文符合路由表项的更新条件;其中,所述路由表项的更新条件包括根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的所有路由表项的优先级; 根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项。
根据本发明实施例的又一个方面,提供了一种路由表项的更新方法,包括 目的无线网状网络节点MP接收控制报文; 所述目的MP确定所述控制报文符合路由表项的更新条件,并根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项; 其中,所述路由表项的更新条件包括 第一更新条件,所述第一更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且到达所述源地址的路由表项数量未达到设定阈值;或 第二更新条件,所述第二更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项的优先级;或 第三更新条件,所述第三更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项、到达所述源地址的路由表项数量达到设定阈值、并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的至少一条路由表项的优先级。
根据本发明实施例的另一个方面,还提供了一种路由表项的更新装置,包括 控制报文接收单元,用于接收控制报文; 更新条件确定单元,用于确定所述控制报文符合路由表项的更新条件;其中,所述路由表项的更新条件包括根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的所有路由表项的优先级; 路由表项更新单元,用于根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项。
根据本发明实施例的另一个方面,还提供了一种路由表项的更新装置,包括 控制报文接收单元,用于接收控制报文; 更新条件确定单元,用于确定所述控制报文符合路由表项的更新条件,其中,所述路由表项的更新条件包括第一更新条件,所述第一更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且到达所述源地址的路由表项数量未达到设定阈值;或第二更新条件,所述第二更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项的优先级;或第三更新条件,所述第三更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项、到达所述源地址的路由表项数量达到设定阈值、并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的至少一条路由表项的优先级; 路由表项更新单元,用于并根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项。
通过本发明实施例提供的上述至少一个技术方案,MP在接收控制报文后,能够在确定该控制报文符合预先设置的路由表项的更新条件后,根据接收的控制报文,更新路由表中到达该控制报文携带的源地址的路由表项。根据该技术方案,MP能够根据控制报文以及路由表项的更新条件控制路由表中的路由表项进行动态更新,相对于现有技术静态配置路由表项的方式,更适用于拓扑结构不断变化的MESH网络。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中 图1为本发明实施例一提供的路由表项的更新方法所适用的报文传输系统示意图; 图2为本发明实施例一提供的路由表项的更新方法的一个流程图; 图3为本发明实施例一提供的中间MP根据接收的控制报文,更新路由表中到达该控制报文中包括的源地址的路由表项的流程图; 图4为本发明实施例一提供的路由表项的更新方法的又一个流程图; 图5为本发明实施例二提供的报文传输系统的示意图; 图6为本发明实施例二提供的基于图4实现路由表项动态更新的流程图; 图7为本发明实施例三提供的一个路由表项的更新装置的示意图; 图8为本发明实施例三提供的又一个路由表项的更新装置的示意图; 图9为本发明实施例三提供的又一个路由表项的更新装置的示意图; 图10为本发明实施例三提供的又一个路由表项的更新装置的示意图; 图11为本发明实施例三提供的又一个路由表项的更新装置的示意图; 图12为本发明实施例三提供的又一个路由表项的更新装置的示意图。
具体实施例方式为了给出在MP中动态更新路由表项的实现方案,本发明实施例提供了一种路由表项的更新方法以及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明各实施例中涉及的控制报文,主要用于指示各MP进行路由路径的学习,即在MP接收到控制报文后,能够根据该控制报文控制路由表中路由表项的更新。
本发明各实施例中涉及的控制报文中携带的源地址,通常为发送该控制报文的源 MP的地址;控制报文中携带的目的地址,通常为该控制报文的目的MP的地址。
本发明各实施例中涉及的控制报文中携带的序列号SN,为每个MP维护用于表征控制报文发送时间的标识。具体地,MP每发送一个控制报文,将维护的序列号SN加1,并在下次发送控制报文时携带该SN。因此,对于同一个MP来说,新发送的控制报文比在先发送的控制报文的序列号SN要大。MP接收到一个控制报文时,通过将该控制报文携带的序列号 SN与本地路由表中存储的到达该控制报文携带的源地址的路由表项中的序列号进行比较, 以确定此次接收的控制报文是否为源MP最新发送的控制报文。
本发明各实施例中涉及的路由表项的优先级,主要通过路由表项中包括的序列号 SN表征,通常在到达一个源地址的各路由表项中,路由表项中包括的SN越大,则该路由表项的优先级越高,路由表项中包括的SN越小,则该路由表项的优先级越低。进一步地,在到达一个源地址的各路由表项中,如果存在SN相等的多个路由表项,则可以进一步通过该路由表项中包括的路由代价表征其优先级,即在到达一个源地址的多个具有相同SN的路由表项中,路由表项包括的路由代价越小,则该路由表项的优先级越高,路由表项包括的路由代价越大,则该路由表项的优先级越低。
实施例一 本发明实施例一提供了一种路由表项的更新方法,该方法可以应用于路由设备中,能够实现在路由设备中动态更新路由表项的目的。
如图1所示,为本发明实施例一提供的路由表项的更新方法所适用的一种报文传输系统,该报文传输系统包括 源MP 101、中间 MP 102 以及目的 MP 103 ; 其中,中间MP 102位于源MP 101与目的MP 103之间,主要负责将来自源MP 101 的控制报文进行转发,以使该控制报文可以到达目的MP 103。实际应用中,该报文传输系统中可能包括多个中间MP 102。
如图2所示,为实现本发明实施例一提供的路由表项的更新方法对应的流程图, 该更新方法主要在中间MP中实现,具体地,该更新方法主要包括如下步骤 步骤201、中间MP接收控制报文,该控制报文中携带序列号SN、路由代价以及源地址。
该步骤201中,控制报文中还携带目的地址,通过该目的地址表征该控制报文的目的MP。
步骤202、该中间MP判断接收的控制报文是否符合与中间MP对应的路由表项的更新条件,若是,则执行步骤203,若否,则执行步骤204。
步骤203、该中间MP根据接收的控制报文,更新路由表中到达该控制报文中包括的源地址的路由表项。
步骤204、该中间MP丢弃该控制报文。
至此,中间MP根据当前接收的控制报文更新路由表项的流程结束。
图2对应流程包括的步骤202中,与中间MP对应的作为控制报文是否用来更新路由表项判断依据的路由表项的更新条件,包括 根据接收的控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达该控制报文携带的源地址的所有路由表项的优先级。
中间MP接收的控制报文为路径请求报文或针对路径请求报文反馈的路径请求应答报文,具体地,如果中间MP接收的控制报文为路径请求报文,则表征路由表项优先级的参数包括SN以及路由代价;如果中间MP接收的控制报文为针对路径请求报文反馈的路径请求应答报文,则表征路由表项优先级的参数包括SN。
即中间MP在接收到控制报文后,若确定该控制报文符合上述路由表项的更新条件,则根据该控制报文更新路由表项。
具体地,根据上述路由表项的更新条件,上述步骤202中,在中间MP接收到的控制报文为路径请求报文时,中间MP判断接收的控制报文符合路由表项的更新条件,即 确定接收的该控制报文中的SN大于路由表中到达控制报文中的源地址的所有路由表项中的SN;或 确定该控制报文中的SN等于路由表中到达该控制报文中的源地址的路由表项中的SN、且该控制报文中的路由代价小于路由表中到达控制报文中的源地址的所有路由表项中的路由代价。
根据以上路由表项的更新条件,在控制报文中的SN大于路由表中到达控制报文中的源地址的路由表项中的SN时,即确定该控制报文为新的控制报文时,可以用来更新路由表项;或者在确定控制报文携带的SN与相应的路由表项中的SN相等但控制报文中携带的路由代价更小时,即确定发送该控制报文的源MP与当前MP之间具有更小的路由代价,可以用来更新路由表项。在控制报文不符合上述的路由表项的更新条件时,可以将该控制报文丢弃。
在中间MP接收到的控制报文为针对路径请求报文反馈的路径请求应答报文时, 中间MP判断接收的控制报文符合路由表项的更新条件,即 确定接收的该控制报文中的SN大于路由表中到达控制报文中的源地址的所有路由表项中的SN。
图2对应流程包括的步骤203中,中间MP根据接收的控制报文,更新路由表中到达该控制报文中包括的源地址的路由表项的过程所对应的流程图,如图3所示,主要包括如下步骤 步骤301、中间MP确定到达该控制报文的源地址的路由表项中是否存在下一跳路由地址为发送该控制报文的上一跳MP的地址的路由表项,若是,执行步骤302,若否,执行步骤303。
步骤302、中间MP根据接收的控制报文,更新存在的下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项。
步骤303、中间MP根据接收的控制报文、以及到达该源地址的路由表项数量与设定阈值的关系,更新到达该源地址的路由表项。
至此,中间MP根据接收的控制报文更新路由表项的流程结束。
具体地,上述步骤302中,中间MP根据接收的控制报文,更新路由表中存在的下一跳路由地址为发送该控制报文的上一跳MP的地址的路由表项的过程,主要包括 中间MP根据接收的该控制报文中包括的SN以及路由代价,分别更新路由表中存在的该下一跳路由地址为发送该控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或 中间MP删除存在的该下一跳路由地址为发送该控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达该控制报文中包括的源地址且下一跳路由地址为发送该控制报文的上一跳MP的地址的路由表项,其中,添加的该路由表项中的SN以及路由代价分别等于该控制报文中的SN以及路由代价。
为了更好地理解上述步骤302中更新路由表项的具体过程,以下给出一个具体实例 假设接收的控制报文中的SN为Al、路由代价为Bi、源地址为M、上一跳路由地址为 N,则根据该控制报文,将要更新的路由表项为到达M且下一跳路由地址为N的路由表项, 具体地,可以将该路由表项中的SN更新为Al以及将该路由表项中的路由代价更新为Bl ; 或者直接将该路由表项删除,并添加一条到达M且下一跳路由地址为N的路由表项,该添加的路由表项中的SN为Al,路由代价为Bl。
具体地,上述步骤303中,中间MP根据接收的控制报文、以及到达该控制报文携带的源地址的路由表项数量与设定阈值的关系,更新到达该源地址的路由表项,包括 在到达源地址的路由表项数量未达到设定阈值时,在路由表中添加到达该控制报文中包括的源地址且下一跳路由地址为发送该控制报文的上一跳MP的地址的路由表项; 在到达该源地址的路由表项数量达到所述设定阈值时,删除到达该源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达该控制报文中包括的源地址且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项; 其中,添加的路由表项中的SN以及路由代价分别等于该控制报文中的SN以及路由代价。
上述过程中,删除到达该源地址的路由表项中具有最低优先级的路由表项,即删除到达源地址的路由表项中的具有最小SN的一项路由表项,若具有最小SN的路由表项为多项,则删除该多项具有最小SN的路由表项中具有最大路由代价的路由表项。
为了更好地理解上述步骤303中更新路由表项的具体过程,以下给出一个具体实例 假设接收的控制报文中的SN为Al、路由代价为Bi、源地址为M、上一跳路由地址为 N;则根据该控制报文要更新的路由表项为到达M且下一跳路由地址为N的路由表项。路由表中保存的到达M的路由表项数量为Ni,设定阈值为N2 ; 如果m小于N2,则在路由表中添加一条到达M且下一跳路由地址为N的路由表项,该添加的路由表项中的SN为Al,路由代价为Bl ; 如果m不小于N2,则将路由表中到达M的路由表项中具有最低优先级的路由表项删除,并在路由表中添加一条到达M且下一跳路由地址为N的路由表项,该添加的路由表项中的SN为Al,路由代价为Bi。
本发明实施例一提供的上述技术方案,在具体应用中,中间MP接收的控制报文可以为路径请求报文,或针对路径请求报文反馈的路径请求应答报文。
本发明实施例一提供的一个具体的实施方式中,若控制报文为路径请求报文时, 则该中间MP在通过上述步骤202确定该控制报文符合路由表项的更新条件后,还可以进一步执行如下步骤 该中间MP根据路径请求报文中还包括的目的地址,广播该路径请求报文。
具体地,中间MP根据路径请求报文中还包括的目的地址,广播该路径请求报文时,可以根据路由表中保存的到达该控制报文中的目的地址的各路由表项包括的下一跳地址信息进行广播。
通过上述步骤的执行,该中间MP在根据路由请求消息报文更新本地路由表中相应的路由表项后,通过进一步广播该路径请求报文,以达到其他MP根据该路径请求报文更新本地路由表中相应路由表项的目的,具体地,接收到广播路径请求报文的其他MP根据该路径请求报文更新本地路由表中的路由表项的流程与上述实施例描述的更新过程一致。
本发明实施例一提供的一个具体的实施方式中,若该控制报文为针对路径请求报文反馈的路径请求应答报文时,则该中间MP在通过上述步骤202确定该控制报文符合路由表项的更新条件后,还进一步执行如下步骤 该中间MP确定路由表中到达路径请求应答报文的目的地址的路由表项,并根据确定出的路由表项发送该路径请求应答报文,其中,针对路径请求报文反馈的路径请求应答报文的目的地址为对应的路径请求报文的源地址。具体地,如果中间MP确定路由表中到达路径请求应答报文的目的地址的路由表项为多项,则优选地可以从中选择一条优先级最高的路由表项,并根据选择出的该路由表项发送路径请求应答报文。
以上实施例中,以接收到控制报文的MP为中间MP为例描述了路由表项的更新过程,在实际应用中,接收到控制报文的MP还可以为源MP,若为源MP,则接收到的控制报文为针对路径请求报文反馈的路径请求应答报文,具体地,如果是源MP接收到针对路径请求报文反馈的路径请求应答报文,则上述步骤202、是由源MP判断接收的控制报文是否符合与源MP对应的路由表项的更新条件,其中,与源MP对应的路由表项的更新条件,包括 根据接收的控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达该控制报文携带的源地址的至少一个路由表项的优先级,其中,表征路由表项优先级的参数包括SN。
即确定控制报文携带的作为表征路由表项优先级的参数的SN大于路由表中到达该控制报文携带的源地址的至少一个路由表项中的SN。
如果源MP判断接收的控制报文(路径请求报文)符合上述的与源MP对应的路由表项的更新条件,则根据该控制报文更新路由表项,具体地,源MP更新路由表项的过程,与上述实施例中中间MP根据接收的控制报文更新路由表项的过程相同,此处不再详细描述。
根据本发明上述实施例,通过路径请求报文的转发,该路径请求报文的转发所经过的中间MP以及目的MP能够更新到达该源MP的路由表项,在路径请求报文到达目的MP 后,该目的MP会在判断该路径请求报文符合更新路由表项的条件后,更新路由表项,并针对该路径请求报文生成路径请求应答报文,并设置该路径请求应答报文的目的地址为该路径请求报文的源地址,从而进一步通过该路径请求应答报文的转发,该路径请求应答报文的转发所经过的中间MP以及目的MP能够更新到达该目的MP的路由表项。
以下针对目的MP接收到控制报文后的处理过程进行详细说明。
如图4所示,为实现本发明实施例一提供的路由表项的更新方法对应的流程图, 该更新方法主要在目的MP中实现,具体地,该更新方法主要包括如下步骤 步骤401、目的MP接收控制报文,该控制报文中携带序列号SN、路由代价以及源地址。
步骤402、该目的MP判断接收的控制报文符合与目的MP对应的路由表项的更新条件,若是,则执行步骤403,若否,则执行步骤404。
步骤403、目的MP根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项。
步骤404、目的MP丢弃该控制报文。
至此,目的MP根据当前接收的控制报文更新路由表项的流程结束。
图4对应流程包括的步骤402中,与目的MP对应的作为控制报文是否用来更新路由表项判断依据的路由表项的更新条件,包括 第一更新条件,所述第一更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且到达所述源地址的路由表项数量未达到设定阈值;或 第二更新条件,所述第二更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项的优先级;或 第三更新条件,所述第三更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项、到达所述源地址的路由表项数量达到设定阈值、并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的至少一条路由表项的优先级。
具体地,路由表项的更新条件可以同时包括上述的第一更新条件、第二更新条件以及第三更新条件,在目的MP进行判断时,控制报文只要符合其中的一条更新条件即可对路由表项进行更新。
根据控制报文所满足的更新条件不同,上述步骤403中,目的MP根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项,具体如下 当控制报文符合第一更新条件时,根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项,包括在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项,其中,添加的路由表项中的SN 以及路由代价分别等于控制报文携带的SN以及路由代价。
当控制报文符合第二更新条件时,根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项,包括根据接收的控制报文携带的SN以及路由代价,分别更新下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或删除存在的下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP 的地址的路由表项,其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的 SN以及路由代价。
当控制报文符合第三更新条件时,根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项,包括删除到达源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项;其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的SN以及路由代价。
本发明实施例一提供的上述技术方案,在具体应用中,目的MP接收的控制报文可以为路径请求报文。
本发明实施例一提供的一个具体的实施方式中,若该控制报文为路径请求报文时,则该目的MP在通过上述步骤402确定该控制报文符合路由表项的更新条件后,还可以进一步执行如下步骤 目的MP针对该路径请求报文,生成发往该路径请求报文的源MP的路径请求应答报文。
具体地,目的MP生成的该路径请求应答报文的源地址为路径请求消息报文的目的地址,该该路径请求应答报文的目的地址为路径请求消息报文的源地址。并且,优选地, 目的MP在选择路径请求应答报文的下一跳MP时,是根据与该路径请求应答报文对应的路径请求报文的上一跳MP确定,即将路径请求报文的上一跳MP确定为路径请求应答报文的下一跳MP。
通过上述步骤的执行,该目的MP通过生成路径请求应答报文,并通过该路径请求应答报文的发送,能够实现路径请求应答报文的发送路径上各MP,根据该路径请求应答报文更新到达该目的MP的路由表项的目的。
根据本发明实施例一提供的上述技术方案,能够在MP中实现动态更新路由表项的目的,并且可以设置到达同一目的MP的路由表项的数目的上限,从而能够针对同一目的 MP建立多条路由表项。
本发明实施例一进一步提供了一种在邻居MP不可达时的路由表项的更新方案, 具体地,该路由表项的更新方法还包括如下步骤 源MP、中间MP或目的MP在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
并且,根据本发明实施例一通过的技术方案,MP删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,还进一步需要选择性地执行广播路径错误消息的过程,具体地,在删除的路由表项为到达同一目的地址的路由表项中的优先级最高的路由表项时,广播路径错误消息,该路径错误消息包括删除的路由表项中的目的地址; 相应地,接收到路径错误消息的MP,在接收到路径错误消息后,将该路径错误消息中包括的地址确定为不可达的目的地址,该MP删除路由表中目的地址为该不可达的目的地址、且下一跳路由地址为发送该路径错误消息的上一跳MP的地址的路由表项。
根据本发明实施例提供的上述技术方案,通过路径请求报文的发送以及针对该路径请求报文的路径请求应答报文的发送,能够实现在MP中动态更新路由表项的目的,并且能够建立从源MP到目的MP之间的多条路由路径。
具体地,结合图1所示的报文传输系统,在路径请求报文的发送过程中,各MP所实现的具体功能如下 源MP 101 源MP 101在需要建立路径时,广播路径请求报文,该路径请求报文携带序列号 SN、路由代价Metric、源地址以及目的地址。
中间 MP 102 中间MP 102接收到路径请求报文时,查看本地路由表中到达路径请求报文携带的源地址的所有路由表项中是否存在这样一条路由表项路由表项中序列号SN比路径请求报文携带的SN大,或者SN相等但路由表项中的路由代价Metric比路径请求报文携带的路由代价Metric小,即存在不满足上述与中间MP对应的路由表项的更新条件的路由表项 (该过程也即上述步骤202中MP判断接收的控制报文是否符合路由表项的更新条件的过程),如果存在这样的路由表项,则丢弃该路径请求报文;否则,更新路由表项,并广播路径请求报文。其中,中间MP 102更新路由表项的过程如下 本地路由表中到达路径请求报文携带的源地址的路由表项的数量未达到最大值 (即设定阈值)的情况下,如果到达该源地址的所有路由表项中不存在下一跳等于路径请求报文上一跳节点的路由表项,则在本地路由表中添加一条到达该源地址且下一跳路由地址等于路径请求报文上一跳MP的地址的路由表项;如果到达该源地址的所有路由表项中存在下一跳等于路径请求报文上一跳节点的路由表项,则更新该路由表项(具体更新过程已在上述实施例中详细描述,此处不再赘述); 本地路由表中到达路径请求报文携带的源地址的路由表项的数量达到最大值 (即设定阈值)的情况下,如果到达该源地址的所有路由表项中不存在下一跳等于路径请求报文上一跳节点的路由表项,则删除优先级最低的路由表项,并在本地路由表中添加一条到达该源地址且下一跳路由地址等于路径请求报文上一跳MP的地址的路由表项;如果到达该源地址的所有路由表项中存在下一跳等于路径请求报文上一跳节点的路由表项,则更新该路由表项。
目的 MP 103 目的MP 103接收到路径请求报文后,在判断该路径请求报文符合与目的MP对应的路由表项的更新条件时,对本地路由表中的路由表项进行更新(具体判断过程以及更新过程与上述实施例图4所提供的流程相同,此处不再赘述),在更新后路由表中相应的路由表项后,生成并发送路径请求应答报文;如果目的MP 103判读该路径请求报文不符合与目的MP对应的路由表项的更新条件,则丢弃路径请求报文。
具体地,结合图1所示的报文传输系统,在路径请求应答报文的发送过程中,中间 MP 102根据接收到路径请求应答报文更新路由表项的过程,与上述步骤203给出的处理过程基本一致,此处不再赘述;源MP 101根据接收到路径请求应答报文更新路由表项的过程,与上述步骤403给出的处理过程基本一致,此处不再赘述。
根据本发明上述实施例,通过路径请求报文以及路径请求应答报文的发送,能够在发送路径请求报文的源MP与该路径请求报文的目的MP之间建立多条路由表项(即多条路由路径),从而在其中一条路由表项中的MP不可达时,可以切换到其它的到达该目的地址的路由路径上进行数据传输。
实施例二 本发明实施例二给出了上述实施例一所提供技术方案的一个具体应用。
图5给出了报文传输系统的一个具体示例。如图5所示,MPl作为路径请求报文的源节点,发送路径请求报文以试图建立到达MP4的路径,该MP4为该路径请求报文的目的节点。假设网络中所有MP可存储两条到达同一目的地址的路由表项(即最大备份路由数量为 2),图中虚线表示两个邻居MP之间可进行通信。假设消息不会丢失,MP4将接收到分别通过路径MP1-MP2-MP4、以及路径MP1-MP3-MP4发送来的同一路径请求报文(即接收到两条相同的路径请求报文),假设MP4接收到路径请求报文的顺序为MP1-MP2-MP4、MP1-MP3-MP4, 即先接收到MP1-MP2-MP4路径传输的路径请求报文。
如图6所示,基于图5实现路由表项动态更新的过程,主要包括如下步骤 步骤601、MP2接收MPl发送的路径请求报文,确定路由表中不存在到达MPl的路由表项,在路由表中添加一条到达MPl的路由表项,并转发路径请求报文。
该步骤601中,MP2在路由表中添加的到达MPl的路由表项中的序列号SN以及路由代价分别为该路径请求报文中携带的序列号SN以及路由代价。
步骤602、MP4接收到路径请求报文(来自路径MP1_MP2_MP4),确定路由表中不存在到达MPl的路由表项,在路由表中添加一条到达MPl的路由表项,并沿着路径 MP4-MP2-MP1发送路径请求应答报文。
该步骤602中,MP4在路由表中添加的到达MPl的路由表项中的序列号SN以及路由代价分别为该路径请求报文中携带的序列号SN以及路由代价。
步骤603、MP2接收到路径请求应答报文(来自路径MP4_MP2),确定路由表中不存在到达MP4的路由表项,在路由表中添加一条到达MP4的路由表项,并查找到达MPl 的路由表项,根据该路由表项中的下一跳路由地址转发该路径请求应答报文(经过路径 MP2-MP1)。
该步骤603中,MP2在路由表中添加的到达MP4的路由表项中的序列号SN以及路由代价分别为该路径请求应答报文中携带的序列号SN以及路由代价。
步骤604、MP1接收到路径请求应答报文(来自路径:MP4_MP2_MP1),确定路由表中不存在到达MP4的路由表项,在路由表中添加一条到达MP4的路由表项。
该步骤604中,MPl在路由表中添加的到达MP4的路由表项中的序列号SN以及路由代价分别为该路径请求应答报文中携带的序列号SN以及路由代价。
步骤605、MP3接收到路径请求报文时,确定路由表中不存在到达MPl的路由表项, 在路由表中添加一条到达MPl的路由表项,并转发路径请求报文。
步骤606、MP4接收到同一个路径请求报文(来自路径MP1_MP3_MP4),确定路由表中已存在一条到达MPl的路由表项,但最大备份路由数量未达到最大值,且路由表中不存在到达MP1、下一跳等于路径请求报文的上一跳MP3的路由表项,在路由表中添加一条到达 MP1、下一跳等于MP3的路由表项,并沿着路径MP4-MP3-MP1发送路径请求应答报文。
步骤607、MP3接收到路径请求应答报文(来自路径MP4_MP3)时,确定路由表中不存在到达MP4的路由表项,在路由表中添加一条到达MP4的路由表项,并查找到达MPl的路由表项,根据该路由表项中的下一跳路由地址转发该路径请求应答报文(通过路径 MP3-MP1)。
步骤608、MPl接收到路径请求应答报文(来自路径MP4_MP3_MP1)时,确定路由表中存在一条到达MP4的路由表项,但最大备份路由数量未达到最大值,且路由表中不存在到达MP4、下一跳等于路径请求应答报文上一跳MP3的路由表项,则添加一条到达MP4的路由表项。
至此,流程结束。通过上述步骤的执行,MP4的路由表中存在两条到达MPl的路由表项;MPl的路由表中也存在两条到达MP4的备份路由表项。
应当理解,以上流程中各步骤的序号仅为流程描述方便所添加,并不能用来限定各步骤的具体执行顺序,例如,步骤604与步骤606由不同的实体执行,并没有严格的先后执行顺序。
本发明各实施例中,MP在接收到控制报文后,都需要对控制报文中的路由代价进行更新,即将控制报文携带的路由代价加上与该控制报文上一跳MP之间的路由代价,利用得出的值更新控制报文中的路由代价。
实施例三 与上述实施例一以及实施例二提供的技术方案对应,本发明实施例三提供了一种路由表项的更新装置,该路由表项的更新装置可以位于路由设备中。
根据本发明实施例三的一个方面,提供了一种可以位于源MP或中间MP中的路由表项的更新装置。
如图7所示,本发明实施例三提供一种路由表项的更新装置,主要包括 控制报文接收单元701、更新条件确定单元702以及路由表项更新单元703 ; 其中 控制报文接收单元701,用于接收控制报文; 更新条件确定单元702,用于确定控制报文符合路由表项的更新条件;其中,路由表项的更新条件包括根据控制报文携带的表征路由表项优先级的参数确定出的优先级, 高于路由表中到达控制报文携带的源地址的所有路由表项的优先级; 路由表项更新单元703,用于根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项。
如图8所示,根据本发明实施例三提供的一个优选实施方式,图7所示的装置包括的路由表项更新单元703,包括 判断模块703A、第一更新模块70 以及第二更新模块703C,其中 判断模块703A,用于确定到达源地址的路由表项中是否存在下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项; 第一更新模块70;3B,用于在判断模块的判断结果为是时,根据接收的控制报文,更新下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项; 第二更新模块703C,用于在判断模块的判断结果为否时,根据接收的控制报文、以及到达源地址的路由表项数量与设定阈值的关系,更新到达源地址的路由表项。
根据本发明实施例三提供的一个优选实施方式,图8所示的装置包括的第一更新模块7(X3B,具体用于
20 根据接收的控制报文携带的SN以及路由代价,分别更新下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或 删除存在的下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳 MP的地址的路由表项,其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的SN以及路由代价。
根据本发明实施例三提供的一个优选实施方式,图8所示的装置包括的第二更新模块703C,具体用于 在到达源地址的路由表项数量未达到设定阈值时,在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项; 在到达源地址的路由表项数量达到设定阈值时,删除到达源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项; 其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的SN以及路由代价。
根据本发明实施例三提供的一个优选实施方式,图8所示的装置包括的第二更新模块703C,具体用于 删除到达源地址的路由表项中的具有最小SN的一项路由表项,若具有最小SN的路由表项为多项,则删除该多项具有最小SN的路由表项中具有最大路由代价的路由表项。
根据本发明实施例三提供的一个优选实施方式,图7所示的装置位于中间MP时, 控制报文接收单元701,具体用于接收路径请求报文或针对路径请求报文反馈的路径请求应答报文; 装置位于源MP时,控制报文接收单元701,具体用于接收针对路径请求报文反馈的路径请求应答报文。
根据本发明实施例三提供的一个优选实施方式,图7所示的装置包括的更新条件确定单元702,具体用于 在控制报文接收单元接收的控制报文为路径请求报文时,确定控制报文携带的作为表征路由表项优先级的参数的序列号SN大于路由表中到达控制报文携带的源地址的所有路由表项中的SN;或确定控制报文携带的SN等于路由表中到达控制报文携带的源地址的所有路由表项中的SN、且控制报文携带的作为表征路由表项优先级的参数的路由代价小于路由表中到达控制报文携带的源地址的所有路由表项中的路由代价; 或 在控制报文接收单元接收的控制报文为针对路径请求报文反馈的路径请求应答报文时,确定控制报文携带的作为表征路由表项优先级的参数的序列号SN大于路由表中到达控制报文携带的源地址的至少一个路由表项中的SN。
如图9所示,根据本发明实施例三提供的一个优选实施方式,图7所示的装置还可以进一步包括 第一路径请求报文转发单元704,用于在控制报文接收单元接收的控制报文为路径请求报文时,在确定控制报文符合路由表项的更新条件后,根据路径请求报文中还携带的目的地址,广播路径请求报文。
如图10所示,根据本发明实施例三提供的一个优选实施方式,图7所示的装置还可以进一步包括 第二路径请求报文转发单元705,用于在控制报文接收单元接收的控制报文为针对路径请求报文反馈的路径请求应答报文、且装置位于中间MP时,在确定控制报文符合路由表项的更新条件后,确定路由表中到达路径请求应答报文的目的地址的路由表项,并根据确定出的路由表项发送路径请求应答报文,其中,针对路径请求报文反馈的路径请求应答报文的目的地址为路径请求报文的源地址。
根据本发明实施例三提供的一个优选实施方式,图7至图10所示的装置包括的路由表项更新单元703,还用于 在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
根据本发明实施例三提供的一个优选实施方式,图7至图10所示的装置包括的路由表项更新单元703,还用于 在删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,若删除的路由表项为到达同一目的地址的路由表项中优先级最高的路由表项时,广播路径错误消息,路径错误消息包括删除的路由表项中的目的地址。
根据本发明实施例三提供的一个优选实施方式,图7至图10所示的装置包括的路由表项更新单元703路由表项更新单元,还用于 接收路径错误消息,并将路径错误消息中包括的地址确定为不可达的目的地址, 并删除路由表中目的地址为不可达的目的地址、且下一跳路由地址为发送路径错误消息的上一跳MP的地址的路由表项。
根据本发明实施例三的一个方面,提供了一种可以位于目的MP中的路由表项的更新装置。
如图11所示,本发明实施例三提供一种路由表项的更新装置,主要包括 控制报文接收单元1101、更新条件确定单元1102以及路由表项更新单元1103 ; 其中 控制报文接收单元1101,用于接收控制报文; 更新条件确定单元1102,用于确定控制报文符合路由表项的更新条件,其中,路由表项的更新条件包括第一更新条件,第一更新条件为路由表中到达控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项,并且到达源地址的路由表项数量未达到设定阈值;或第二更新条件,第二更新条件为路由表中到达控制报文携带的源地址的所有路由表项中存在下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项,并且根据控制报文携带的表征路由表项优先级的参数确定出的优先级,高于下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项的优先级;或第三更新条件,第三更新条件为路由表中到达控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项、到达源地址的路由表项数量达到设定阈值、并且根据控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达控制报文携带的源地址的至少一条路由表项的优先级; 路由表项更新单元1103,用于并根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项。
根据本发明实施例三提供的一个优选实施方式,图11所示的装置包括的路由表项更新单元1103,具体用于 在更新条件确定单元确定控制报文符合第一更新条件时,在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项, 其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的SN以及路由代价; 在更新条件确定单元确定控制报文符合第二更新条件时,根据接收的控制报文携带的SN以及路由代价,分别更新下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或删除存在的下一跳路由地址为发送控制报文的上一跳MP 的地址的路由表项,并在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项,其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的SN以及路由代价; 在更新条件确定单元确定控制报文符合第三更新条件时,删除到达源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达控制报文携带的源地址、且下一跳路由地址为发送控制报文的上一跳MP的地址的路由表项; 其中,添加的路由表项中的SN以及路由代价分别等于控制报文携带的SN以及路由代价。
如图12所示,根据本发明实施例三提供的一个优选实施方式,图11所示的装置还可以包括 路径请求应答报文生成单元1104,用于在控制报文为路径请求报文、且在更新条件确定单元确定控制报文符合路由表项的更新条件后,针对路径请求报文,生成发往路径请求报文的源MP的路径请求应答报文,其中,路径请求应答报文的源地址为路径请求报文的目的地址、且路径请求应答报文的目的地址为路径请求报文的源地址。
根据本发明实施例三提供的一个优选实施方式,图11以及图12所示的装置包括的路由表项更新单元1103,还用于 在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
根据本发明实施例三提供的一个优选实施方式,图11以及图12所示的装置包括的路由表项更新单元1103,还用于 在删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,若删除的路由表项为到达同一目的地址的路由表项中优先级最高的路由表项时,广播路径错误消息,路径错误消息包括删除的路由表项中的目的地址。
根据本发明实施例三提供的一个优选实施方式,图11以及图12所示的装置包括的路由表项更新单元1103,还用于 接收路径错误消息,并将路径错误消息中包括的地址确定为不可达的目的地址, 并删除路由表中目的地址为不可达的目的地址、且下一跳路由地址为发送路径错误消息的上一跳MP的地址的路由表项。
应当理解,以上装置包括的单元仅为根据该终端实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的路由表项的更新装置所实现的功能与上述实施例提供的路由表项的更新方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
并且,本实施例三中的路由表项的更新装置还具有能够实现实施例一和实施例二方案的相应功能模块,此处不再赘述。
根据本发明上述任一实施例提供的技术方案,能够实现MP中路由表项的动态更新,并且可以建立多条路由表项,从而能够达到以下技术效果 1、减少信道资源的占用 通过在MP的路由表存储多条备份路由表项,当优先级最高的路由表项对应的路由失效时,数据可切换到次优路由表项对应的路由上,减少了重路由的次数,并且减少了信道资源的占用。
2、提高网络收敛速度并减少数据的传送时延 通过在MP的路由表存储多条备份路由表项,当优先级最高的路由表项对应的路由失效时,数据可切换到次优路由表项对应的路由上,而不需要像HWMP协议标准一样发起重路由,可使MESH网络在出现MP不可达时,网络快速收敛,并减少数据的传送时延,保证数据的无缝传输。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种路由表项的更新方法,其特征在于,包括源无线网状网络节点MP或位于源MP以及目的MP之间的中间MP接收控制报文;确定所述控制报文符合路由表项的更新条件;其中,所述路由表项的更新条件包括 根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的所有路由表项的优先级;根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项。
2.如权利要求1所述的方法,其特征在于,根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项,包括确定到达所述源地址的路由表项中是否存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;若是,则根据接收的所述控制报文,更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;若否,则根据接收的所述控制报文、以及到达所述源地址的路由表项数量与设定阈值的关系,更新到达所述源地址的路由表项。
3.如权利要求2所述的方法,其特征在于,根据接收的所述控制报文,更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,包括根据接收的所述控制报文携带的SN以及路由代价,分别更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或删除存在的所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价。
4.如权利要求2所述的方法,其特征在于,根据接收的所述控制报文、以及到达所述源地址的路由表项数量与设定阈值的关系,更新到达所述源地址的路由表项,包括在到达所述源地址的路由表项数量未达到设定阈值时,在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;在到达所述源地址的路由表项数量达到所述设定阈值时,删除到达所述源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达所述控制报文携带的源地址、 且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价。
5.如权利要求4所述的方法,其特征在于,删除到达所述源地址的路由表项中具有最低优先级的路由表项,包括删除到达源地址的路由表项中的具有最小SN的一项路由表项,若具有最小SN的路由表项为多项,则删除该多项具有最小SN的路由表项中具有最大路由代价的路由表项。
6.如权利要求1所述的方法,其特征在于,若接收控制报文的MP为中间MP时,接收的所述控制报文为路径请求报文或针对路径请求报文反馈的路径请求应答报文;若接收控制报文的MP为源MP时,接收的所述控制报文为针对路径请求报文反馈的路径请求应答报文。
7.如权利要求6所述的方法,其特征在于,在所述控制报文为路径请求报文时,确定所述控制报文符合路由表项的更新条件,包括确定所述控制报文携带的作为表征路由表项优先级的参数的序列号SN大于路由表中到达所述控制报文携带的源地址的所有路由表项中的SN ;或确定所述控制报文携带的所述SN等于路由表中到达所述控制报文携带的源地址的所有路由表项中的SN、且所述控制报文携带的作为表征路由表项优先级的参数的路由代价小于路由表中到达所述控制报文携带的源地址的所有路由表项中的路由代价;在所述控制报文为针对路径请求报文反馈的路径请求应答报文时,确定所述控制报文符合路由表项的更新条件,包括确定所述控制报文携带的作为表征路由表项优先级的参数的序列号SN大于路由表中到达所述控制报文携带的源地址的至少一个路由表项中的 SN。
8.如权利要求6所述的方法,其特征在于,在所述控制报文为路径请求报文时,确定所述控制报文符合路由表项的更新条件后,还包括根据所述路径请求报文中还携带的目的地址,广播所述路径请求报文。
9.如权利要求6所述的方法,其特征在于,在所述控制报文为针对路径请求报文反馈的路径请求应答报文、且接收控制报文的MP为中间MP时,确定所述控制报文符合路由表项的更新条件后,还包括确定路由表中到达所述路径请求应答报文的目的地址的路由表项,并根据确定出的所述路由表项发送所述路径请求应答报文,其中,所述针对路径请求报文反馈的路径请求应答报文的目的地址为所述路径请求报文的源地址。
10.如权利要求1-9任一项所述的方法,其特征在于,还包括所述源MP或中间MP在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
11.如权利要求10所述的方法,其特征在于,所述源MP或中间MP删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,还包括若删除的所述路由表项为到达同一目的地址的路由表项中优先级最高的路由表项时, 广播路径错误消息,所述路径错误消息包括删除的所述路由表项中的目的地址。
12.如权利要求1-9任一项所述的方法,其特征在于,还包括所述源MP或中间MP接收路径错误消息,并将所述路径错误消息中包括的地址确定为不可达的目的地址;删除路由表中目的地址为所述不可达的目的地址、且下一跳路由地址为发送所述路径错误消息的上一跳MP的地址的路由表项。
13.—种路由表项的更新方法,其特征在于,包括目的无线网状网络节点MP接收控制报文;所述目的MP确定所述控制报文符合路由表项的更新条件,并根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项;其中,所述路由表项的更新条件包括第一更新条件,所述第一更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项, 并且到达所述源地址的路由表项数量未达到设定阈值;或第二更新条件,所述第二更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项的优先级;或第三更新条件,所述第三更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项、 到达所述源地址的路由表项数量达到设定阈值、并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的至少一条路由表项的优先级。
14.如权利要求13所述的方法,其特征在于,当所述控制报文符合第一更新条件时,根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项,包括在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价;当所述控制报文符合第二更新条件时,根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项,包括根据接收的所述控制报文携带的SN以及路由代价,分别更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或删除存在的所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;当所述控制报文符合第三更新条件时,根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项,包括删除到达所述源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价。
15.如权利要求13所述的方法,其特征在于,所述控制报文为路径请求报文,所述目的 MP确定所述控制报文符合路由表项的更新条件后,还包括所述目的MP针对所述路径请求报文,生成发往所述路径请求报文的源MP的路径请求应答报文,其中,所述路径请求应答报文的源地址为所述路径请求报文的目的地址、且所述路径请求应答报文的目的地址为所述路径请求报文的源地址。
16.如权利要求13-15任一项所述的方法,其特征在于,还包括所述目的MP在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
17.如权利要求16所述的方法,其特征在于,所述目的MP删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,还包括若删除的所述路由表项为到达同一目的地址的路由表项中优先级最高的路由表项时,广播路径错误消息,所述路径错误消息包括删除的所述路由表项中的目的地址。
18.如权利要求13-15任一项所述的方法,其特征在于,还包括所述目的MP接收路径错误消息,并将所述路径错误消息中包括的地址确定为不可达的目的地址;删除路由表中目的地址为所述不可达的目的地址、且下一跳路由地址为发送所述路径错误消息的上一跳MP的地址的路由表项。
19.一种路由表项的更新装置,其特征在于,包括 控制报文接收单元,用于接收控制报文;更新条件确定单元,用于确定所述控制报文符合路由表项的更新条件;其中,所述路由表项的更新条件包括根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的所有路由表项的优先级;路由表项更新单元,用于根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项。
20.如权利要求19所述的装置,其特征在于,所述路由表项更新单元,包括判断模块,用于确定到达所述源地址的路由表项中是否存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;第一更新模块,用于在所述判断模块的判断结果为是时,根据接收的所述控制报文,更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;第二更新模块,用于在所述判断模块的判断结果为否时,根据接收的所述控制报文、以及到达所述源地址的路由表项数量与设定阈值的关系,更新到达所述源地址的路由表项。
21.如权利要求20所述的装置,其特征在于,所述第一更新模块,具体用于根据接收的所述控制报文携带的SN以及路由代价,分别更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或删除存在的所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价。
22.如权利要求20所述的装置,其特征在于,所述第二更新模块,具体用于在到达所述源地址的路由表项数量未达到设定阈值时,在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;在到达所述源地址的路由表项数量达到所述设定阈值时,删除到达所述源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达所述控制报文携带的源地址、 且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价。
23.如权利要求22所述的装置,其特征在于,所述第二更新模块,具体用于 删除到达源地址的路由表项中的具有最小SN的一项路由表项,若具有最小SN的路由表项为多项,则删除该多项具有最小SN的路由表项中具有最大路由代价的路由表项。
24.如权利要求19所述的装置,其特征在于,所述装置位于中间MP时,所述控制报文接收单元,具体用于接收路径请求报文或针对路径请求报文反馈的路径请求应答报文;所述装置位于源MP时,所述控制报文接收单元,具体用于接收针对路径请求报文反馈的路径请求应答报文。
25.如权利要求M所述的装置,其特征在于,所述更新条件确定单元,具体用于在所述控制报文接收单元接收的控制报文为路径请求报文时,确定所述控制报文携带的作为表征路由表项优先级的参数的序列号SN大于路由表中到达所述控制报文携带的源地址的所有路由表项中的SN ;或确定所述控制报文携带的所述SN等于路由表中到达所述控制报文携带的源地址的所有路由表项中的SN、且所述控制报文携带的作为表征路由表项优先级的参数的路由代价小于路由表中到达所述控制报文携带的源地址的所有路由表项中的路由代价; 或在所述控制报文接收单元接收的控制报文为针对路径请求报文反馈的路径请求应答报文时,确定所述控制报文携带的作为表征路由表项优先级的参数的序列号SN大于路由表中到达所述控制报文携带的源地址的至少一个路由表项中的SN。
26.如权利要求M所述的装置,其特征在于,还包括第一路径请求报文转发单元,用于在所述控制报文接收单元接收的控制报文为路径请求报文时,在确定所述控制报文符合路由表项的更新条件后,根据所述路径请求报文中还携带的目的地址,广播所述路径请求报文。
27.如权利要求M所述的装置,其特征在于,还包括第二路径请求报文转发单元,用于在所述控制报文接收单元接收的控制报文为针对路径请求报文反馈的路径请求应答报文、且所述装置位于中间MP时,在确定所述控制报文符合路由表项的更新条件后,确定路由表中到达所述路径请求应答报文的目的地址的路由表项,并根据确定出的所述路由表项发送所述路径请求应答报文,其中,所述针对路径请求报文反馈的路径请求应答报文的目的地址为所述路径请求报文的源地址。
28.如权利要求19至27任一项所述的装置,其特征在于,所述路由表项更新单元,还用于在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
29.如权利要求观所述的装置,其特征在于,所述路由表项更新单元,还用于在删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,若删除的所述路由表项为到达同一目的地址的路由表项中优先级最高的路由表项时,广播路径错误消息,所述路径错误消息包括删除的所述路由表项中的目的地址。
30.如权利要求19至27任一项所述的装置,其特征在于,所述路由表项更新单元,还用于接收路径错误消息,并将所述路径错误消息中包括的地址确定为不可达的目的地址, 并删除路由表中目的地址为所述不可达的目的地址、且下一跳路由地址为发送所述路径错误消息的上一跳MP的地址的路由表项。
31.一种路由表项的更新装置,其特征在于,包括控制报文接收单元,用于接收控制报文;更新条件确定单元,用于确定所述控制报文符合路由表项的更新条件,其中,所述路由表项的更新条件包括第一更新条件,所述第一更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且到达所述源地址的路由表项数量未达到设定阈值;或第二更新条件, 所述第二更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项的优先级;或第三更新条件,所述第三更新条件为路由表中到达所述控制报文携带的源地址的所有路由表项中不存在下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项、到达所述源地址的路由表项数量达到设定阈值、并且根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的至少一条路由表项的优先级;路由表项更新单元,用于并根据接收的所述控制报文,更新路由表中到达所述控制报文携带的源地址的路由表项。
32.如权利要求31所述的装置,其特征在于,所述路由表项更新单元,具体用于在所述更新条件确定单元确定所述控制报文符合第一更新条件时,在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价;在所述更新条件确定单元确定所述控制报文符合第二更新条件时,根据接收的所述控制报文携带的SN以及路由代价,分别更新所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项中的SN以及路由代价;或删除存在的所述下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项,并在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;在所述更新条件确定单元确定所述控制报文符合第三更新条件时,删除到达所述源地址的路由表项中具有最低优先级的路由表项,并在路由表中添加到达所述控制报文携带的源地址、且下一跳路由地址为发送所述控制报文的上一跳MP的地址的路由表项;其中,添加的所述路由表项中的SN以及路由代价分别等于所述控制报文携带的SN以及路由代价。
33.如权利要求31所述的装置,其特征在于,还包括路径请求应答报文生成单元,用于在所述控制报文为路径请求报文、且在所述更新条件确定单元确定所述控制报文符合路由表项的更新条件后,针对所述路径请求报文,生成发往所述路径请求报文的源MP的路径请求应答报文,其中,所述路径请求应答报文的源地址为所述路径请求报文的目的地址、且所述路径请求应答报文的目的地址为所述路径请求报文的源地址。
34.如权利要求31-33任一项所述的装置,其特征在于,所述路由表项更新单元,还用于在确定与其存在邻居关系的MP不可达时,删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项。
35.如权利要求34所述的装置,其特征在于,所述路由表项更新单元,还用于在删除路由表中下一跳路由地址为该不可达的MP的地址的路由表项之后,若删除的所述路由表项为到达同一目的地址的路由表项中优先级最高的路由表项时,广播路径错误消息,所述路径错误消息包括删除的所述路由表项中的目的地址。
36.如权利要求31-33任一项所述的装置,其特征在于,所述路由表项更新单元,还用于接收路径错误消息,并将所述路径错误消息中包括的地址确定为不可达的目的地址, 并删除路由表中目的地址为所述不可达的目的地址、且下一跳路由地址为发送所述路径错误消息的上一跳MP的地址的路由表项。
全文摘要
本发明公开了一种路由表项的更新方法以及装置,主要技术方案包括源MP或中间MP接收控制报文,确定控制报文符合路由表项的更新条件,根据接收的控制报文,更新路由表中到达控制报文携带的源地址的路由表项;其中,路由表项的更新条件包括根据所述控制报文携带的表征路由表项优先级的参数确定出的优先级,高于路由表中到达所述控制报文携带的源地址的所有路由表项的优先级。根据该技术方案,MP能够根据控制报文以及路由表项的更新条件控制路由表中的路由表项进行动态更新,相对于现有技术静态配置路由表项的方式,更适用于拓扑结构不断变化的MESH网络。
文档编号H04W40/24GK102186221SQ20111010371
公开日2011年9月14日 申请日期2011年4月25日 优先权日2011年4月25日
发明者李艳 申请人:北京星网锐捷网络技术有限公司