一种网络设备地址通告的方法和装置与流程

文档序号:13763279阅读:131来源:国知局
一种网络设备地址通告的方法和装置与流程

本申请涉及通讯技术,特别是涉及一种网络设备地址通告的方法和装置。



背景技术:

IRDP(ICMP Router Discovery Protocol,路由器发现协议)是ICMP(InternetControl Message Protocol,Internet控制消息协议)的一个扩展,它使得每一个路由器周期性地从每一个多点传送接口传送一个IRDP通告报文,通告接口地址。主机收到该IRDP通告报文后,发现邻近的网络设备的地址,从而能够动态地发现缺省网络设备的接口地址。

参见图1,其示出了现有技术中的IRDP的组网环境示意图,该组网环境包括:主机、网络设备A和网络设备B,其中网络设备A支持IRDP功能,而网络设备B不支持IRDP功能,因此需要网络设备A作为代理路由器将网络设备B的接口地址发送给用户。

基于上述组网环境,现有的IRDP发送路由通告消息(Router Advertisement,简称RA)的流程为:首先,网络设备A手工配置被代理的网络设备B的接口地址。其次,将代理的网络设备B的接口地址填入RA报文中,然后进行广播或者组播发送,主机接收广播或组播的RA报文,并将RA报文携带的接口地址,添加到本地路由,根据现有的缺省路由选择方式,主机会从RA报文携带的接口地址中选择一个地址作为缺省路由。如果主机选择网络设备B的一个接口地址作为缺省路由,当网络设备B的该接口地址变化或无效时,网络设备A是无法感知的,因而不会通告主机该接口地址的变化,使得主机依然将网络设备B的该接口地址作为缺省路由,从而导致主机无法正常转发报文。



技术实现要素:

本申请提供了一种网络设备地址通告的方法和装置,以解决目前当被代理的网络设备的接口地址变化或失效时,主机无法感知该接口地址变化或失效,从而无法正常转发报文的问题。

本发明实施例提供一种网络设备地址通告的方法,应用于第一网络设备,所述第一网络设备用于代理第二网络设备通告所述第二网络设备的接口地址,所述方法包括:

发送携带有所述第二网络设备的接口地址的第一路由通告消息RA报文,以使所述第二网络设备在接收到所述第一RA报文后,确定所述接口地址为有效的接口地址时,向所述第一网络设备发送用于指示所述接口地址有效的确认报文;

若在预设周期内未收到所述确认报文,则将所述接口地址对应的优先级设置为最低,并发送第二RA报文,所述第二RA报文用于通告所述接口地址不可用。

本发明实施例还提供一种网络设备地址通告的装置,应用于第一网络设备,所述第一网络设备用于代理第二网络设备通告所述第二网络设备的接口地址,所述装置包括:

发送模块,用于发送携带有所述第二网络设备的接口地址的第一RA报文,以使所述第二网络设备在接收到所述第一RA报文后,确定所述接口地址为有效的接口地址时,向所述第一网络设备发送用于指示所述接口地址有效的确认报文;

接口地址模块,用于若在预设周期内未收到所述确认报文,则将所述接口地址对应的优先级设置为最低,并发送第二RA报文,所述第二RA报文用于通告所述接口地址不可用。

与现有技术相比,本申请包括以下优点:

本申请第一网络设备向第二网络设备发送携带有第二网络设备的接口地址的第一路由通告消息RA报文,使第二网络设备在接收到第一RA报文后,确定接口地址为有效的接口地址时,向第一网络设备发送用于指示接口地址有效的确认报文,若第一网络设备在预设周期内未收到用于指示接口地址有效的确认报文,则第二网络设备的接口地址可能发生变化或者失效,此时将接口地址对应的优先级设置为最低,这样第一网络设备在下个周期发送的第一RA报文携带的该接口地址对应的优先级为最低,主机接收到该第一网络设备在下个周期发送的第一RA报文后则不会选择该接口地址作为缺省路由,同时向主机发送第二RA报文,所述第二RA报文用于通知接口地址不可用,使主机能及时感知第二网络设备的该接口地址无效,不必等到下个周期通过第一RA报文才能获知该接口地址已无效,主机在接收到第二RA报文后选择其他接口地址作为缺省路由,正常转发报文。

当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。

附图说明

图1是现有技术中的IRDP的组网环境示意图;

图2是本申请实施例一种网络设备地址通告方法的流程图;

图3是本申请实施例一种网络设备地址通告装置的结构框图;

图4是本申请另一实施例一种网络设备地址通告装置的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

参见图1示出了现有技术中的IRDP的组网环境示意图,具体包括:主机(主机A和主机B)、内部交换网络、网络设备A(Router A)、网络设备B(Router B)以及外网(外网1和外网2),其中,网络设备A支持IRDP功能,网络设备B不支持IRDP功能,因此需要网络设备A作为代理将网络设备B接口地址进行通告。

本申请发明人创新的提出网络设备A发送携带有网络设备B的接口地址的第一RA报文,以使网络设备B在接收到第一RA报文后,确定该接口地址为有效接口时,向网络设备A发送用于指示该接口地址有效的确认报文,若在预设周期内未收到确认报文,则将接口地址对应的优先级设置为最低,并发送第二RA报文,该第二RA报文用于通知该接口地址不可用,从而使主机可以感知网络设备B的地址是否有效。

需要说明的是,网络设备可以为交换机或者路由器,也可以为其他设备,对此本申请不做具体限制。

基于上述组网示意图,参照图2,示出了本申请其中一个实施例的一种网络设备地址通告方法的流程图。所述方法应用于第一网络设备,所述第一网络设备用于代理第二网络设备通告所述第二网络设备的接口地址,在本实施例中,该方法具体包括:

步骤201:发送携带有所述第二网络设备的接口地址的第一RA报文,以使所述第二网络设备在接收到所述第一RA报文后,确定所述接口地址为有效的接口地址时,向所述第一网络设备发送用于指示所述接口地址有效的确认报文。

其中,第一RA报文是通过第一网络设备使能了IRDP的接口发送的第一RA报文,该第一RA报文用于通告第二网络设备的接口地址、该接口地址的优先级和老化时间等等,并且该第一RA报文是周期性的广播或者组播进行发送。

步骤202:若在预设周期内未收到用于指示所述接口地址有效的确认报文,则将所述接口地址对应的优先级设置为最低,并发送第二RA报文,所述第二RA报文用于通告所述接口地址不可用。

其中,所述确认报文携带接口地址及接口地址是否有效的标识。

进一步的,第一RA报文中可能携带第二网络设备的一个或多个接口地址,当第一RA报文携带第二网络设备的一个或多个接口地址时,未收到用于指示接口地址有效的确认报文包括以下情况:

情况一:当第一RA报文携带的第二网络设备的一个或多个接口地址全部DOWN或者故障,第二网络设备不可能收到第一RA报文,那么第一网络设备在预设周期内不会接收到确认报文,则认为第一RA报文中携带的第二网络设备的一个或多个接口地址全部无效。

情况二:第二网络设备接收到第一RA报文,判断第一RA报文中携带的一个或多个接口地址是否有效,然后向第一网络设备回复确认报文,该确认报文中携带该一个或多个接口地址以及该一个或多个接口地址中每个接口地址对应的是否有效的标识。若第一网络设备在预设周期内收到确认报文,则根据确认报文中携带的接口地址和接口地址对应的标识,确认该一个或多个接口地址中哪些接口地址有效,哪些接口地址无效。若第一网络设备在预设周期内未收到确认报文,则认为第一RA报文中携带的第二网络设备的一个或多个接口地址全部无效。

需要说明的是,在情况二中,第一网络设备虽然收到确认报文,但若该确认报文中的某个接口地址对应的标识指示的是该接口地址无效,那么相当于第一网络设备未收到指示该接口地址有效的确认报文。

其中,接口地址不可用包括但不限于接口地址无效和接口地址变化等等。第二RA报文不是周期性发送的,只有当在预设周期内未收到用于指示接口地址有效的确认报文时,才会发送第二RA报文。

在一个例子中,可以通过以下方式通告所述接口地址不可用:

第一种方式:所述第二RA报文中携带所述接口地址及所述接口地址对应的老化时间,所述老化时间为0,这样主机收到第二RA报文后,发现第二RA报文中的老化时间为0,则删除该接口地址,便不会再使用该接口地址。

第二种方式:所述第二RA报文携带所述接口地址及所述接口地址对应的优先级,由于在发送第二RA报文之前,已经将该接口地址对应的优先级设置为最低,因此该第二RA报文中携带的该接口地址对应的优先级即为最低。这样主机收到第二RA报文后,发现该接口地址对应的优先级最低,则不会再使用该接口地址。

在一个例子中,若在预设周期内未收到用于指示所述接口地址有效的确认报文,则将所述接口地址对应的优先级设置为最低,并发送第二RA报文,具体包括:

若在预设周期内未收到用于指示所述接口地址有效的确认报文且所述接口地址对应的优先级不为最低,则将所述接口地址对应的优先级设置为最低,并发送所述第二RA报文。这样可以防止第二RA报文的重复发送。

例如,第一网络设备本地存储的第二网络设备的接口地址1和接口地址2均为最高优先级。在周期1内第一网络设备发送了携带该接口地址1和接口地址2的第一RA报文。第二网络设备在接收到该第一RA报文后,确定接口地址1无效,接口地址2有效,则向第一网络设备回复确认报文,该确认报文携带接口地址1及接口地址1无效的标识,接口地址2及接口地址2有效的标识。第一网络设备在接收到该确认报文后,将接口地址1的优先级设置为最低,接口地址2的优先级不变,并发送第二RA报文,以及时通告接口地址1无效。在周期2内,接口地址1依然无效,那么第一网络设备和第二网络设备会重复上述周期1内的动作,此时发送的第二RA报文没有任何作用,因为在周期1内已经通告接口地址无效。所以在本例中,只有在满足上述两个条件(即预设周期内未收到用于指示所述接口地址有效的确认报文且所述接口地址对应的优先级不为最低,优先级不为最低说明之前该接口地址是有效的)时,才将所述接口地址对应的优先级设置为最低,并发送第二RA报文,这样可以防止第二RA报文的重复发送,减少网络中的报文数量。

另外,该方法还可以包括:若在预设周期内收到用于指示所述接口地址有效的且所述接口地址对应的优先级为最低,则提高所述接口地址对应的优先级。

接口地址对应的优先级为最低,则可以认为在该周期之前该接口地址是无效的,而在接收到用于指示该接口地址有效的确认报文后,则可以将该接口地址的优先级提高,这样在第一网络设备在下个周期发送第一RA报文时,该第一RA报文携带的该接口地址的优先级就不是最低了。主机在接收到该第一RA报文后,可将该接口地址作为缺省路由的备选。

本实施例,第一网络设备向第二网络设备发送携带有第二网络设备的接口地址的第一路由通告消息RA报文,使第二网络设备在接收到第一RA报文后,确定接口地址为有效的接口地址时,向第一网络设备发送用于指示接口地址有效的确认报文,若第一网络设备在预设周期内未收到用于指示接口地址有效的确认报文,则第二网络设备的接口地址可能发生变化或者失效,此时将接口地址对应的优先级设置为最低,这样第一网络设备在下个周期发送的第一RA报文携带的该接口地址对应的优先级为最低,主机接收到该第一网络设备在下个周期发送的第一RA报文后则不会选择该接口地址作为缺省路由,同时向主机发送第二RA报文,所述第二RA报文用于通知接口地址不可用,使主机能及时感知第二网络设备的该接口地址无效,不必等到下个周期通过第一RA报文才能获知该接口地址已无效,主机在接收到第二RA报文后选择其他接口地址作为缺省路由,正常转发报文。

需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必需的。

基于上述方法实施例的说明,本申请还提供了一种基于IRDP的局域网网关检测装置实施例,来实现上述方法实施例所述的内容。

参照图3,其示出了本申请实施例所述一种网络设备地址通告的装置的结构图,应用于第一网络设备,所述第一网络设备用于代理第二网络设备通告所述第二网络设备的接口地址,所述装置具体包括:

发送模块301,用于发送携带有所述第二网络设备的接口地址的第一RA报文,以使所述第二网络设备在接收到所述第一RA报文后,确定所述接口地址为有效的接口地址时,向所述第一网络设备发送用于指示所述接口地址有效的确认报文。

接口地址模块302,用于若在预设周期内未收到所述确认报文,则将所述接口地址对应的优先级设置为最低,并发送第二RA报文,所述第二RA报文用于通告所述接口地址不可用。

本实施例,第一网络设备向第二网络设备发送携带有第二网络设备的接口地址的第一路由通告消息RA报文,使第二网络设备在接收到第一RA报文后,确定接口地址为有效的接口地址时,向第一网络设备发送用于指示接口地址有效的确认报文,若第一网络设备在预设周期内未收到用于指示接口地址有效的确认报文,则第二网络设备的接口地址可能发生变化或者失效,此时将接口地址对应的优先级设置为最低,这样第一网络设备在下个周期发送的第一RA报文携带的该接口地址对应的优先级为最低,主机接收到该第一网络设备在下个周期发送的第一RA报文后则不会选择该接口地址作为缺省路由,同时向主机发送第二RA报文,所述第二RA报文用于通知接口地址不可用,使主机能及时感知第二网络设备的该接口地址无效,不必等到下个周期通过第一RA报文才能获知该接口地址已无效,主机在接收到第二RA报文后选择其他接口地址作为缺省路由,正常转发报文。

参照图4,其示出了本申请其中一个实施例所述一种网络设备地址通告的装置的结构图,应用于第一网络设备,所述第一网络设备用于代理第二网络设备通告所述第二网络设备的接口地址,所述装置具体包括:

发送模块401,用于发送携带有所述第二网络设备的接口地址的第一RA报文,以使所述第二网络设备在接收到所述第一RA报文后,确定所述接口地址为有效的接口地址时,向所述第一网络设备发送用于指示所述接口地址有效的确认报文。

接口地址模块402,用于若在预设周期内未收到所述确认报文,则将所述接口地址对应的优先级设置为最低,并发送第二RA报文,所述第二RA报文用于通告所述接口地址不可用。

其中,所述第二RA报文中携带所述接口地址及所述接口地址对应的老化时间,所述老化时间为0。

优选的,所述第二RA报文携带所述接口地址及所述接口地址对应的优先级。

优选的,所述接口地址模块402具体用于若在预设周期内未收到所述确认报文且所述接口地址对应的优先级不为最低,则将所述接口地址对应的优先级设置为最低,并发送所述第二RA报文。

优先级模块403,用于若在预设周期内收到所述确认报文且所述接口地址对应的优先级为最低,则提高所述接口地址对应的优先级。

其中,所述确认报文携带所述接口地址及所述接口地址是否有效的标识。

本实施例,首先,第一网络设备向第二网络设备发送携带有第二网络设备的接口地址的第一路由通告消息RA报文,使第二网络设备在接收到第一RA报文后,确定接口地址为有效的接口地址时,向第一网络设备发送用于指示接口地址有效的确认报文,若第一网络设备在预设周期内未收到用于指示接口地址有效的确认报文,则第二网络设备的接口地址可能发生变化或者失效,此时将接口地址对应的优先级设置为最低,这样第一网络设备在下个周期发送的第一RA报文携带的该接口地址对应的优先级为最低,主机接收到该第一网络设备在下个周期发送的第一RA报文后则不会选择该接口地址作为缺省路由,同时向主机发送第二RA报文,所述第二RA报文用于通知接口地址不可用,使主机能及时感知第二网络设备的该接口地址无效,不必等到下个周期通过第一RA报文才能获知该接口地址已无效,主机在接收到第二RA报文后选择其他接口地址作为缺省路由,正常转发报文。对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本申请的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本申请中,“组件”、“装置”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,组件可以、但不限于是运行于处理器的过程、处理器、对象、可执行组件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是组件。一个或多个组件可在执行的过程和/或线程中,并且组件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。组件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一组件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

以上对本申请所提供的一种网络设备地址通告的方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1