静态路由配置的检测方法和装置的制作方法

文档序号:7552124阅读:510来源:国知局
专利名称:静态路由配置的检测方法和装置的制作方法
技术领域
本发明实施例涉及网络路由技木,尤其涉及ー种静态路由配置的检测方法和装置。
背景技术
目前,互联网通信已经开始使用互联网协议版本6 (Internet ProtocolVersion6,以下缩写为 IPv6)。IPv6 是互联网工程任务组(Internet Engineering TaskForce, IETF)设计的用于替代现行版本IPv4的下一代IP协议。基于IPv6的网络由主机和路由器构成,网络三层流量通过路由信息进行报文转发。路由是数据通信网络中最基本的要素。路由信息就是指导报文转发的路径信息,路由的过程就是报文中继转发的过程。路由器保存路由表和转发信息库(ForwardingInformation Base,以下缩写为FIB)。路由器通过FIB指导报文转发。路由表中保存了各种路由协议发现的路由,根据来源不同,路由表中的路由通常可分为以下三类:链路层协议发现的路由,也称为接ロ路由或直连路由;由管理员手工配置的静态路由;以及动态路由协议发现的路由。静态路由是ー种需要管理员手工配置的特殊路由,多用于网络结构比较简单的场景。举例来说,一条静态路由包含以下要素:I)目的地址与掩码;2)出接ロ或下一跳IPv6地址。出接ロ为本设备指向下一跳IPv6地址的端ロ,静态路由器也可以配置下一跳IPv6地址迭代出接ロ的配置,两者的实际功能一致。例如,“ ipv6route-static33::3641::2”,其中,33::3为目的地址,64为掩码,1::2为下ー跳路由器的地址。与动态路由协议不同,静态路由自身没有检测机制。当网络发生故障的时候,需要管理员介入。另外,如果管理员配置失误,通信也可能出现问题,如静态路由配置错误或者链路问题。现有技术中,人工为静态路由绑定双向转发检测(Bidirectional Forwarding Detection,简称BFD)会话,用于检测静态路由所在链路的状态,这种方式需要人工配置,工作量大,耗时长,而且容易出错。

发明内容
本发明实施例提供ー种静态路由配置的检测方法和装置,以提高静态路由配置的可靠性,減少人工配置的工作量。第一方面,提供ー种静态路由配置的检测方法。所述方法包括:路由器接收静态路由的配置信息,所述配置信息包括目的IPv6地址和下一跳IPv6地址。所述路由器查找匹配所述下ー跳IPv6地址的邻居缓存表项。如果找不到匹配所述下ー跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息。所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址。所述路由器确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息。如果在所述第一预设的时间内没有接收到响应所述第一邻居请求 消息的所述第一邻居通告消息,则设置所述静态路由不活跃。
根据第一方面,提供第一种可能的实现方式。所述方法还包括:如果在所述第一预设的时间内接收到响应所述第一邻居请求消息的所述第一邻居通告消息,且所述第一邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。根据第一方面或第一方面的第一种可能的实现方式,提供第二种可能的实现方式。所述方法还包括:如果所述路由器找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项的状态为可达,则设置所述静态路由活跃。根据第一方面或第一方面的第一种或第二种可能的实现方式,提供第三种可能的实现方式。所述方法还包括:如果所述路由器找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项状态不是可达,则通过出接口发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。如果在第二预设的时间内没有接收到响应所述第二邻居请求消息的第二邻居通告消息,则设置所述静态路由不活跃。根据第一方面的第三种实现方式,提供第四种可能的实现方式。所述方法还包括:如果在第二预设的时间内接收到响应所述第二邻居请求消息的第二邻居通告消息,所述第二邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。根据第一方面或者第一方面的上述任何一种实现方式,提供第五种可能的实现方式。所述方法还包括:当路由器收到请求删除所述静态路由对应的邻居缓存表项的消息时,所述路由器通过所述出接口发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。如果在第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携带的目标地址为所述下一跳IPv6地址,则省略执行删除所述邻居缓存表项的操作,保持所述静态路由活跃。如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的第三邻居通告消息,则删除所述邻居缓存表项,所述静态路由设置不活跃。根据第一方面或者第一方面的上述任何一种实现方式,提供第六种可能的实现方式。所述方法还包括:周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。如果在第四预设的时间内接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由活跃。如果在第四预设的时间内未接收到响应所述第四邻居请求消息的邻居通告消息,则设置所述静态路由不活跃。根据第一方面或者第一方面的上述任何一种实现方式,提供第七种可能的实现方式。所述配置信息还包括出接口和匹配长度。根据第一方面或者第一方面的第一种到第六种实现方式的任何一种实现方式,提供第八种可能的实现方式。当所述配置信息不包括出接口时,所述路由器根据所述下一跳IPv6地址迭代出所述静态路由的出接口。第二方面提供一种静态路由配置的检测装置,包括:接收模块,用于路由器接收到静态路由的配置信息,所述配置信息至少包括目的IPv6地址和下一跳IPv6地址;查找模块,用于所述路由器查找匹配所述下一跳IPv6地址的邻居缓存表项;发送模块,用于如果找不到匹配所述下一跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息,所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址;确定模块,用于确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息;设置状态模块,用于如果在第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息,则设置所述静态路由不活跃。根据第二方面,提供第一种可能的实现方式。所述设置状态模块,还用于:如果在第一预设的时间内接收到响应所述第一邻居请求消息的第一邻居通告消息,且所述第一邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。根据第二方面或者第二方面的第一种实现方式,提供第二种可能的实现方式。所述设置状态模块,还用干:如果所述路由器找到匹配所述下ー跳IPv6地址的邻居缓存表项,且所述邻居缓存表项的状态为可达,则设置所述静态路由活跃。根据第二方面或者第二方面的第一种或第二种实现方式,提供第三种可能的实现方式。所述发送模块还用于:如果所述路由器找到匹配所述下ー跳IPv6地址的邻居缓存表项,且所述邻居缓存表项状态不是可达,则通过出接ロ发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下ー跳IPv6地址。所述确定模块,还用于确定在第二预设的时间内是否接收到响应所述第二邻居请求消息的第二邻居通告消息。所述设置状态模块,还用于:如果在第二预设的时间内没有接收到响应所述第二邻居请求消息的第二邻居通告消息,则设置所述静态路由不活跃。结合第二方面的第三种可能的实现方式,提供第四种可能的实现方式。所述设置状态模块,还用干:如果在所述第二预设的时间内接收到响应所述第二邻居请求消息的所述第二邻居通告消息,所述第二邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。根据第二方面或者第二方面的上述任何一种实现方式,提供第五种可能的实现方式。所述接收模块,还用于接收请求删除所述静态路由对应的邻居缓存表项的消息。所述发送模块还用于通过出接ロ发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下ー跳IPv6地址,目的地址是所述下ー跳IPv6地址。所述确定模块,还用于确定在第三预设的时间内是否接收到响应所述第三邻居请求消息的第三邻居通告消息。所述装置还包括:省略删除模块,用于如果在第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则省略执行删除所述邻居缓存表项的操作,保持所述静态路由活跃。所述装置还包括:删除模块,用于如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的第三邻居通告消息,则删除所述邻居缓存表项,设置所述静态路由不活跃。根据第二方面或者第二方面的上述任何一种实现方式,提供第六种可能的实现方式。所述发送模块还用于:周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下ー跳IPv6地址,目的地址是所述下ー跳IPv6地址。所述确定模块,还用于确定在第四预设的时间内是否接收到响应所述第四邻居请求消息的第四邻居通告消息。所述设置状态模块,还用干:如果在第四预设的时间内接收到响应所述第四邻居请求消息的邻居通告消息,则设置所述静态路由活跃,如果在第四预设的时间内没有接收到响应所述第四邻居请求消息的邻居通告消息,则设置所述静态路由不活跃。根据第二方面或者第二方面的上述任何一种实现方式,提供第七种可能的实现方式。所述配置信息还包括出接口和匹配长度。
根据第二方面或者第二方面的第一种到第六种中的任何一种实现方式,提供第八种可能的实现方式。所述装置还包括:迭代模块,用于当所述配置信息不包括所述出接口时,所述路由器根据所述下一跳IPv6地址迭代出所述静态路由的出接口。本发明实施例提供的静态路由配置的检测方法和装置,路由器接收静态路由的配置信息,配置信息包括下一跳IPv6地址。路由器查找匹配所述下一跳IPv6地址的邻居缓存表项,如果找不到匹配所述下一跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息,如果在第一预设的时间内没有收到响应所述第一邻居请求消息的第一邻居响应消息,则设置所述静态路由活跃。本发明实施例的方案,能够自动发现静态路由配置错误或者链路问题,可以提高静态路由配置的可靠性,减少人工配置的工作量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一个实施例中静态路由配置的检测方法的流程图;图2为本发明又一个实施例中静态路由配置的检测方法的流程图;图3为本发明实施例所适用的场景一的组网示意图;图4为本发明实施例所适用的场景二的组网示意图;图5为本发明实施例所适用的场景三的组网示意
图6为本发明一个实施例中静态路由配置的检测装置的结构示意图;图7为本发明又一个实施例中静态路由配置的检测装置的结构示意图;图8为本发明一个实施例中静态路由配置的检测装置的结构示意图;图9为本发明另一个实施例提供的路由器的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例的静态路由配置的检测方法可以由检测装置来执行,该检测装置可集成在路由器中。该路由器中配置有静态路由。静态路由是指由管理员手工配置的路由。当网络的拓扑结构或链路的状态发生变化时,管理员需要手工去修改路由表中相关的静态路由信息。举例来说,静态路由信息在缺省情况下是私有的,不会传递给其他的路由器,因此使用静态路由网络安全保密性高。当然,管理员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。举例来说,路由器A (地址为1:: 1/64)的下一跳为路由器B (地址为1::2/64),通过路由器B要将报文转发给目的地址为33:: 3的主机,管理员就要在路由器A上配置一条“ipv6route-static33::3641:: 2”的路由信息,该静态路由信息决定了报文转发的路径为路由器A到路由器B,再由路由器B转发给目的地址33:: 3的主机。本实施例提供对如上静态路由的检测方案,该实施例的方法可以包括:检测装置基于路由器中配置的静态路由中的下一跳IPv6地址,进行邻居缓存表项学习;其中,邻居发现(Neighbor Discovery,以下缩写为ND)是确定邻居节点之间关系的ー组消息和进程,IPv6的邻居发现协议替代了 IPv4的地址解析协议(AddressResolution Protocol,以下缩写为ARP)、Internet控制报文协议路由器发现(InternetControl Message Protocol Router Discovery, ICMP Router Discovery)和 ICMP 重定向(Redirect)消息,并提供了其他功能。

对于ー个节点而言,当其配置IPv6地址之后,首先会确定此地址是否可用、不冲突。当ー个节点是主机时,路由器需要通知主机向特定目的地址转发报文的理想下一跳IPv6地址;当ー个节点是路由器时,需要发布自己的地址、地址前缀和其他配置參数以指导主机进行參数配置。在IPv6报文转发过程中,节点需要确定邻居节点的媒体访问控制(Media Access Control,以下缩写为MAC)地址和邻居节点的IPv6地址的对应关系和其可达性。邻居缓存包括邻居节点的MAC地址和邻居节点的IPv6地址的对应关系。具体的,上述例子中,静态路由配置的下一跳IPv6地址为路由器B的IPv6地址。又举例来说,静态路由的配置信息可以包括出接ロ。路由器A在配置静态路由之后,查找邻居缓存确定该下一跳IPv6地址匹配的邻居缓存表项是否存在,若确定该下一跳IPv6地址匹配的邻居缓存表项不存在,根据该下一跳IPv6地址进行邻居发现。检测装置根据所述邻居发现的结果,设置所述静态路由的状态,例如活跃,或者不活跃。举例来说,若确定该下一跳IPv6地址匹配的邻居缓存表项存在且状态为可达时,设置所述静态路由活跃。下面采用几个具体的实施例,对上述技术方案进行详细说明。图1为本发明一个实施例中静态路由配置的检测方法的流程图,如图1所示,包括101、路由器接收静态路由的配置信息。举例来说,所述配置信息包括目的IPv6地址和下一跳IPv6地址。可选地,所述配置信息还可以包括出接口和匹配长度。可选地,当所述配置信息不包括所述出接ロ时,所述路由器根据所述下一跳IPv6地址迭代出所述出接ロ。102、路由器查找匹配下一跳IPv6地址的邻居缓存表项。举例来说,所述路由器存储邻居缓存,所述邻居缓存包括至少ー个邻居缓存表项,所述至少ー个邻居缓存表项包括所述路由器的邻居设备的IPv6地址和对应的出接ロ。103、如果找不到匹配所述下ー跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息(Neighbor Solicitation message),所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址Isolicited-node multicast address corresponding to the next-hop IPvoaddress)。104、所述路由器确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息(Neighbor Advertisement message)。105、如果在所述第一预设的时间内没有接收到响应所述第一邻居通告消息,则设置所述静态路由不活跃。
图2为本发明又一个实施例中静态路由配置的检测方法的流程图,相较于图1所示的方法,还可以包括:在105后执行重复执行103和104,即重复发送所述第一邻居请求消息,确定在所述第一预设的时间内是否接收到所述第一邻居通告消息。如果在所述第一预设的时间内接收到所述第一邻居通告消息,执行106、设置所述静态路由活跃。可选地,重复发送所述第一邻居请求消息的时间间隔可以递增。例如,初始时,I秒后,第二次发送所述第一邻居请求消息。如果没有在第一预设时间内接收到所述第一邻居通告消息,则过10秒后第三次发送所述第一邻居请求消息。如果仍没有在第一预设时间内接收到所述第一邻居通告消息,则过20秒后第三次发送所述第一邻居请求消息,以此类推。这种按照时间递增方式重复进行邻居发现的方式可以节省资源本发明实施例提供的静态路由配置的检测方法,通过为路由器配置静态路由时查找匹配所述下一跳IPv6地址的邻居缓存表项,如果找不到匹配所述下一跳IPv6地址的邻居缓存表项,则进行邻居发现,如果在预设的时间接收不到邻居通告消息,则设置所述静态路由不活跃。本发明实施例能够实现静态路由配置的自动检测,可以提高静态路由配置的可靠性,减少人工配置的工作量。可选地,上述实施例中,收到所述第一邻居通告消息后,创建第一邻居缓存表项,存储所述第一邻居缓存表项与所述静态路由的对应关系。可选地,如果在所述第一预设的时间内接收到响应所述第一邻居请求消息的第一邻居通告消息,所述第一邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。可选地,上述实施例所述的方法还可以包括:如果所述路由器找到匹配所述下一跳IPv6地址和出接口的邻居缓存表项,且所述邻居缓存表项的状态为可达(reachable),则设置所述静态路由活跃。可选地,所述路由器存储所述匹配的邻居缓存表项与所述静态路由的对应关系。举例来说,所述静态路由的配置信息包括所述出接口。又举例来说,当所述静态路由的配置信息不包括所述出接口时,所述路由设备根据所述下一跳IPv6地址迭代出所述出接口。可选地,上述实施例所述的方法还可以包括:如果所述路由器找到匹配所述下一跳IPv6地址和所述出接口的邻居缓存表项,且所述邻居缓存表项的状态不是可达(reachable),则通过所述出接口发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。如果在所述第二预设的时间内没有接收到响应所述第二邻居请求消息的第二邻居通告消息,则设置所述静态路由不活跃。可选地,如果在第二预设的时间内接收到响应所述第二邻居请求消息的第二邻居通告消息,所述第二邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。可选地,所述路由器存储所述匹配的邻居缓存表项与所述静态路由的对应关系。举例来说,所述第二预设的时间与所述第一预设的时间可以相同,也可以不同。可选地,上述实施例所述的方法还可以包括:周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址,如果在第四预设的时间内接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由活跃,如果在第四预设的时间内没有接收到响应所述第四邻居请求消息的第四邻居通告消息,设置所述静态路由不活跃。举例来说,当所述静态路由删除时,省略周期性发送所述第四邻居请求消息的操作。
本发明实施例提供的静态路由配置的检测方法,通过为路由器配置静态路由吋,在邻居缓存表项不存在时进行邻居发现的表项学习,能够自动发现静态路由配置错误或者链路问题,提高了流量转发的可靠性。可选地,上述实施例所述的方法还可以包括:当路由器收到请求删除所述静态路由对应的邻居缓存表项的消息时,所述路由器则通过所述出接ロ发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下ー跳IPv6地址。如果在所述第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则省略执行删除所述邻居缓存表项的操作,保持所述静态路由活跃。可选地,如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的第三邻居通告消息,则删除所述邻居缓存表项,设置所述静态路由不活跃。采用上述方案,可以避免静态路由不会被错误删除,提高静态路由的可用性。以下以几个具体应用场景为例,进ー步对图2所示实施例进行详细说明。图3为本发明实施例所适用的场景ー的组网示意图,如图3所示,本实施例说明的是,若在组网链路某段出问题情况下,利用本发明实施例的方法可以有效规避流量不通的发生。具体的,图3的组网中,路由器RTA、路由器RTB和路由器RTC中间通过ニ层交换机连接,当交換机和RTB链接的链路出问题吋,RTA和交換机相连的接ロ无法感知,此时如果在RTA上面配置静态路由,下ー跳是RTB的地址时,本发明实施例针对此场景可以在配置静态路由时根据路由器RTB的IPv6地址查找邻居缓存确定是否存在匹配的邻居缓存表项,如果不存在匹配的邻居缓存表项,则发送邻居请求消息,此时由于交换机和RTB之间的链路问题,收不到响应所述邻居请求消息的邻居通告消息,则设置静态路由不活跃。不活跃的路由不会下发到FIB表项中,从而不会通过所述发生故障的路径传输数据流。图4为本发明实施例所适用的场景ニ的组网示意图,如图4所示,本实施例说明的是,若在管理员配置错误的情况下,利用本发明实施例的方法可以有效规避流量断流的发生。具体的,图4的组网中,路由器RTA和路由器RTB通过双链路相连接,其中路由器RTA的一条链路地址1:2:: 1/64、出接ロ Ethernetl/0/0与路由器RTB地址1:2::2/64,出接ロ Ethernetl/0/l相连接,路由器RTA的另一条链路地址2:1:: 1/64、出接ロEthernet2/0/0与路由器RTB地址2:1:: 2/64、出接ロ Ethernet2/0/l相连接。若管理员在RTA上面配置静态路由时由于操作失误,配了错误的下一跳和出接ロ,做成如下配置吋:ipv6 route-static 1:2::264Ethernet 1/0/0 2:1::2本发明实施例通过查找邻居缓存,以及进行邻居发现,可以发现这种错误,避免数据流传输中断。而现有的技术方案中配置静态路由后,所述静态路由会用于指导报文转发,并没有检测配置的静态路由是否可达,因为出接ロ Ethernetl/0/0和下一跳IPv6地址2:1::2没有连接,导致数据流传输中断。图5为本发明实施例所适用的场景三的组网示意图。具体的,图5的组网中,路由器RTA和路由器RTB连接,路由器RTB与目的地址33::3/64的主机连接。在RTA如果配置一个到达目的地址33:: 3的静态路由:
ipv6 route-static 33:: 3 64 1:: 2本发明实施例会在配置静态路由时查找邻居缓存确定下一跳IPv6地址匹配的邻居缓存表项是否存在,如果不存在,则进行邻居发现,在预设的时间内收到响应邻居请求消息的邻居通告消息时,设置静态路由活跃,而现有技术在RTA上配置静态路由后,就会将该配置的静态路由下发到FIB用于指导报文转发,把到达33:: 3的流量引入,流量引入后才会由流量触发1::2的ND表项的学习,因此,在学习到ND表项之前的流量都被丢弃。而本发明实施例由于接收到数据流前已学习到了 ND表项,故不会丢包。图6为本发明一个实施例中静态路由配置的检测装置的结构示意图,可以执行上述实施例提供的静态路由配置的检测方法,该装置可集成在路由器中。如图6所示,本发明实施例的装置,包括:接收模块61, 用于接收静态路由的配置信息,所述配置信息至少包括目的IPv6地址和下一跳IPv6地址;查找模块62,用于查找匹配所述下一跳IPv6地址的邻居缓存表项;发送模块63,用于如果找不到匹配所述下一跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息,所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址;确定模块64,用于确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息;设置状态模块65,用于如果在第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息,则设置所述静态路由不活跃。本实施例的装置,可以用于执行上述实施例提供的静态路由配置的检测方法,各操作的实现细节请参考方法实施例,此处不再赘述。本发明实施例提供的静态路由配置的检测装置,接收静态路由的配置信息,查找匹配的邻居缓存表项,如果找不到匹配的邻居缓存表项,则进行邻居发现,如果在第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息,则设置所述静态路由不活跃。因此,这种方案能够自动发现静态路由配置错误或者链路问题,可以提高静态路由配置的可靠性,减少人工配置的工作量。可选的,所述设置状态模块65,还用于:如果在所述第一预设的时间内接收到响应所述第一邻居请求消息的所述第一邻居通告消息,且所述第一邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。可选的,所述设置状态模块65,还用于:如果所述路由器找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项的状态为可达,则设置所述静态路由活跃。可选的,所述发送模块63还用于:如果所述路由器找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项状态不是可达,则通过出接口发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。所述确定模块64,还用于确定在第二预设的时间内是否接收到响应所述第二邻居请求消息的第二邻居通告消息。所述设置状态模块65,还用于:如果在第二预设的时间内没有接收到响应所述第二邻居请求消息的第二邻居通告消息,则设置所述静态路由不活跃。
可选的,所述设置状态模块65,还用于:如果在所述第二预设的时间内接收到响应所述第二邻居请求消息的所述第二邻居通告消息,所述第二邻居通告消息携帯的目标地址为所述下ー跳IPv6地址,则设置所述静态路由活跃。图7为本发明又一个实施例中静态路由配置的检测装置的结构示意图,图7所示的装置相较于上述图6所示的装置,还可以包括:触发模块66,用于当所述下ー跳IPv6地址匹配的邻居缓存表项存在且状态不是可达时,或当在所述第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息时,触发所述发送模块63重复发送所述第一邻居请求消息。举例来说,其中,所述触发模块66具体用于当所述下ー跳IPv6地址的邻居缓存表项存在,且状态不是可达时,或当在所述第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息吋,按照时间递增方式触发所述发送模块63重复发送所述第一邻居请求消息。可选的,所述发送模块63还用于:周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下ー跳IPv6地址;所述确定模块64,还用于确定在第四预设的时间内是否接收到响应所述第四邻居请求消息的第四邻居通告消息。所述设置状态模块65,还用于:如果在第四预设的时间内接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由活跃,如果在第四预设的时间内没有接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由不活跃。图7所示的装置,可以用于执行上述实施例提供的静态路由配置的检测方法,各操作的实现细节请參考方法实施例,此处不再赘述。图8为本发明一个实施例中静态路由配置的检测装置的结构示意图,图8所示的装置相较于图7所示的装置,所述接收模块61还用于接收请求删除静态路由对应的邻居缓存表项的消息。所述发送模块63还用于通过所述出接ロ发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下ー跳IPv6地址。所述确定模块64,还用于确定在第三预设的时间内是否接收到响应所述第三邻居请求消息的第三邻居通告消息。省略删除模块67,用于如果在第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则省略执行删除所述静态路由对应的邻居缓存表项的操作,保持所述静态路由活跃。删除模块68,用于如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的第三邻居通告消息,则删除所述静态路由对应的邻居缓存表项,设置所述静态路由不活跃。图8所示的装置,收到请求删除静态路由对应的邻居缓存表项的消息吋,进行邻居发现,可以避免路由被错误删除,确保路由的可用性。可选的,如图8所示,上述各实施例的装置中的所述发送模块63,包括第一发送单元631和第二发送单元632,其中:所述第一发送单元631,用于当所述下ー跳IPv6地址匹配的邻居缓存表项不存在时,发送所述第一邻居请求消息,所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址。所述第二发送单元632,用于当所述下一跳IPv6地址匹配的邻居缓存表项存在而状态不是可达时,通过出接口发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。图8所示的装置,可以避免静态路由不会被错误删除,提高静态路由的可用性。可选的,所述静态路由的配置信息还包括出接口和匹配长度。可选的,图8所示的装置还包括:迭代模块69,用于当所述静态路由的配置信息不包括所述出接口时,根据所述下一跳IPv6地址迭代出所述静态路由的出接口。图8所示的装置,可以用于执行上述实施例提供的静态路由配置的检测方法,各操作的实现细节请参考方法实施例,此处不再赘述。综上所述,本发明实施例提供的静态路由配置的检测方法和装置,接收静态路由的配置信息,进行邻居发现,可以自动发现静态路由配置错误或者链路问题,可以提高静态路由配置的可靠性,减少人工配置的工作量。图9为本发明另一个实施例提供的路由器的结构示意图,该路由器包括至少一个处理器901,至少一个网络接口 902,存储器903,和至少一个通信总线904,用于实现装置之间的连接通信。处理器901用于执行存储器903中存储的指令。举例来说,存储器903可以包含高速随机存取存储器(RAM:Random Access Memory),也可以还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口 902实现路由器与其他路由器或主机之间的通信连接。在一些实施方式中,存储器903存储了程序905,程序905可以被处理器901执行,这个程序包括执行一种静态路由配置的检测方法,该方法包括:接收静态路由的配置信息,所述配置信息至少包括目的IPv6地址和下一跳IPv6地址。所述路由器查找匹配所述下一跳IPv6地址的邻居缓存表项。如果找不到匹配所述下一跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息,所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址。如果在第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息,则设置所述静态路由不活跃。可选地,上述程序905还可以包括:如果在所述第一预设的时间内接收到响应所述第一邻居请求消息的所述第一邻居通告消息,且所述第一邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。可选地,上述程序905还可以包括:如果找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项的状态为可达,则设置所述静态路由活跃。可选地,上述905还可以包括:如果找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项状态不是可达,则通过出接口发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址。如果在第二预设的时间内没有接收到响应所述第二邻居请求消息的第二邻居通告消息,则设置所述静态路由不活跃。可选地,上述程序905还可以包括:如果在第二预设的时间内接收到响应所述第ニ邻居请求消息的第二邻居通告消息,所述第二邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。可选地,上述程序905还包括:当收到请求删除所述静态路由对应的邻居缓存表项的消息时,通过出接ロ发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下ー跳IPv6地址,目的地址是所述下ー跳IPv6地址。如果在第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则省略执行删除所述邻居缓存表项的操作,保持所述静态路由活跃。如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的所述第三邻居通告消息,则删除所述邻居缓存表项,设置所述静态路由不活跃。可选地,上述程序905还可以包括:周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下ー跳IPv6地址。如果在第四预设的时间内接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由活跃,如果在第四预设的时间内没有接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由不活跃。可选地,所述静态路由的配置信息还包括出接口和匹配长度。可选地,上述程序905还可以包括,当所述配置信息不包括所述出接ロ时,根据所述下ー跳IPv6地址迭代出所述静态路由的出接ロ。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于ー计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管參照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
权利要求
1.一种静态路由配置的检测方法,其特征在于,包括: 路由器接收静态路由的配置信息,所述配置信息包括目的IPv6地址和下一跳IPv6地址; 所述路由器查找匹配所述下一跳IPv6地址的邻居缓存表项; 如果找不到匹配所述下一跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息,所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下一跳IPv6地址的请求节点组播地址; 所述路由器确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息; 如果在所述第一预设的时间内没有接收到响应所述第一邻居请求消息的所述第一邻居通告消息,则设置所述静态路由不活跃。
2.根据权利要求1所述的方法,其特征在于,还包括:如果在所述第一预设的时间内接收到响应所述第一邻居请求消息的所述第一邻居通告消息,且所述第一邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。
3.根据权利要求1或2所述的方法,其特征在于,还包括:如果所述路由器找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项的状态为可达,则设置所述静态路由活跃。
4.根据权利要求1-3任一所述的方法,其特征在于,还包括: 如果所述路由器找到匹配所述下一跳IPv6地址的邻居缓存表项,且所述邻居缓存表项状态不是可达,则通过出接口发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址; 如果在第二预设的时间内没有接收到响应所述第二邻居请求消息的第二邻居通告消息,则设置所述静态路由不活跃。
5.根据权利要求4所述的方法,其特征在于,还包括: 如果在所述第二预设的时间内接收到响应所述第二邻居请求消息的所述第二邻居通告消息,所述第二邻居通告消息携带的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。
6.根据权利要求1-5任一所述的方法,其特征在于,还包括: 当所述路由器收到请求删除所述静态路由对应的邻居缓存表项的消息时,所述路由器通过出接口发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址; 如果在第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携带的目标地址为所述下一跳IPv6地址,则省略执行删除所述静态路由对应的邻居缓存表项的操作,保持所述静态路由活跃; 如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的所述第三邻居通告消息,则删除所述静 态路由对应的邻居缓存表项,设置所述静态路由不活跃。
7.根据权利要求1-6任一所述的方法,其特征在于,还包括: 周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址;如果在第四预设的时间内接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由活跃,如果在第四预设的时间内没有接收到响应所述第四邻居请求消息的所述第四邻居通告消息,则设置所述静态路由不活跃。
8.根据权利要求1-7任一所述的方法,其特征在于,所述配置信息还包括出接口和匹配长度。
9.根据权利要求1-7所述的方法,其特征在干,当所述配置信息不包括出接ロ时,所述路由器根据所述下一跳IPv6地址迭代出所述静态路由的出接ロ。
10.ー种静态路由配置的检测装置,其特征在于,包括: 接收模块,用于接收静态路由的配置信息,所述配置信息包括目的IPv6地址和下一跳IPv6地址; 查找模块,用于查找匹配所述下ー跳IPv6地址的邻居缓存表项; 发送模块,用于如果找不到匹配所述下ー跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息,所述第一邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是对应所述下ー跳IPv6地址的请求节点组播地址; 确定模块,用于确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息; 设置状态模块,用于如果在第一预设的时间内没有接收到响应所述第一邻居请求消息的第一邻居通告消息,则设置所述静态路由不活跃。
11.根据权利要求10所述的装置,其特征在于,所述设置状态模块,还用于: 如果在第一预设的时间内 接收到响应所述第一邻居请求消息的所述第一邻居通告消息,且所述第一邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。
12.根据权利要求10或11所述的装置,其特征在于,所述设置状态模块,还用于: 如果找到匹配所述下ー跳IPv6地址的邻居缓存表项,且所述邻居缓存表项的状态为可达,则设置所述静态路由活跃。
13.根据权利要求10-12任一所述的装置,其特征在干, 所述发送模块还用于:如果找到匹配所述下ー跳IPv6地址的邻居缓存表项,且所述邻居缓存表项状态不是可达,则通过出接ロ发送第二邻居请求消息,所述第二邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下ー跳IPv6地址; 所述确定模块,还用于确定在第二预设的时间内是否接收到响应所述第二邻居请求消息的第二邻居通告消息; 所述设置状态模块,还用干:如果在第二预设的时间内没有接收到响应所述第二邻居请求消息的所述第二邻居通告消息,则设置所述静态路由不活跃。
14.根据权利要求13所述的装置,其特征在于,所述设置状态模块,还用于: 如果在所述第二预设的时间内接收到响应所述第二邻居请求消息的所述第二邻居通告消息,所述第二邻居通告消息携帯的目标地址为所述下一跳IPv6地址,则设置所述静态路由活跃。
15.根据权利要求10-14任一所述的装置,其特征在干, 所述接收模块,还用于接收请求删除所述静态路由对应的邻居缓存表项的消息;所述发送模块,还用于通过出接口发送第三邻居请求消息,所述第三邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址; 所述确定模块,还用于确定在第三预设的时间内是否接收到响应所述第三邻居请求消息的第三邻居通告消息; 所述装置还包括: 省略删除模块,用于如果在第三预设的时间内接收到响应所述第三邻居请求消息的第三邻居通告消息,所述第三邻居通告消息携带的目标地址为所述下一跳IPv6地址,则省略执行删除所述静态路由对应的邻居缓存表项的操作,保持所述静态路由活跃; 删除模块,用于如果在所述第三预设的时间内没有接收到响应所述第三邻居请求消息的所述第三邻居通告消息,则删除所述静态路由对应的邻居缓存表项,设置所述静态路由不活跃。
16.根据权利要求10-15任一所述的装置,其特征在于, 所述发送模块还用于:周期性地发送第四邻居请求消息,所述第四邻居请求消息的目标地址是所述下一跳IPv6地址,目的地址是所述下一跳IPv6地址; 所述确定模块,还用于确定在第四预设的时间内是否接收到响应所述第四邻居请求消息的第四邻居通告消息; 所述设置状态模块,还用于:如果在第四预设的时间内接收到响应所述第四邻居请求消息的第四邻居通告消息,则设置所述静态路由活跃,否则设置所述静态路由不活跃。
17.根据权利要求10-16所述的装置,其特征在于,所述配置信息还包括出接口和匹配长度。
18.根据权利要求10-16所述的装置,其特征在于,还包括: 迭代模块,用于当所述配置信息不包括出接口时,根据所述下一跳IPv6地址迭代出所述静态路由的出接口。
全文摘要
本发明实施例提供一种静态路由配置的检测方法和装置。所述方法包括路由器接收静态路由的配置信息,所述配置信息包括目的IPv6地址和下一跳IPv6地址。所述路由器查找匹配所述下一跳IPv6地址的邻居缓存表项。如果找不到匹配下一跳IPv6地址的邻居缓存表项,则发送第一邻居请求消息。所述第一邻居请求消息的目标地址是下一跳IPv6地址,目的地址是对应下一跳IPv6地址的请求节点组播地址。所述路由器确定在第一预设的时间内是否收到响应所述第一邻居请求消息的第一邻居通告消息。如果在所述第一预设的时间内没有接收到响应所述第一邻居请求消息的所述第一邻居通告消息,则设置所述静态路由不活跃。本发明实施例可提高静态路由配置的可靠性。
文档编号H04L12/741GK103117930SQ20131004925
公开日2013年5月22日 申请日期2013年2月7日 优先权日2013年2月7日
发明者王凤梅 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1