一种路由信息处理方法及装置与流程

文档序号:15845848发布日期:2018-11-07 09:00阅读:163来源:国知局
一种路由信息处理方法及装置与流程

本申请涉及通信技术领域,特别是涉及一种路由信息处理方法及装置。

背景技术

as(autonomoussystem,自治系统)被划分成不同的区域后,每一个区域通过基于ospf(openshortestpathfirst,开放最短路径优先)的abr(areaborderrouter,区域边界路由器)相连,区域间可以通过路由聚合来减少路由信息,从而减小路由表的规模,提高路由设备的运算速度。其中,区域间路由聚合是指abr将具有相同ip(internetprotocol,网络之间互连的协议)前缀的路由信息聚合,只发布一条路由到其它区域。

基于上述信息,参见图1,该图所示组网结构中包括:r1、r2、r3三个路由设备、area0和area1两个区域、p1、p2、…pn共计n台服务器。

其中,r1和r2为abr,r1和r2分别从area1上接入p1、p2、…pn服务器;r1和r2对p1、p2、…pn发布过来的区域内路由做路由聚合;然后r1和r2将得到的聚合路由发送给r3,r3根据接收到的聚合路由,生成本地路由表,并根据本地路由表形成本地转发表。当接收到待处理报文时,利用本地转发表进行报文转发。

当r1和p1之间链路断开后,r1上仍会发布聚合路由,这样r3根据r1发布的聚合路由向p1转发报文时,仍然可能将报文转发至r1,由于r1与p1之间的链路已经断开,从而导致r1无法将报文转发至p1,从而导致报文转发失败。



技术实现要素:

本申请实施例的目的在于提供一种路由信息处理方法及装置,以减少报文转发失败的情况。具体技术方案如下:

第一方面,本申请实施例提供了一种路由信息处理方法,应用于路由设备,所述路由设备为所处区域的边缘路由设备,所述方法包括:

获取所述区域中的至少一条第一路由,所述第一路由包括与所述路由设备连接的主机的第一ip地址;

当确定所述第一路由为无法到达所述路由设备的路由、且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,向所述路由设备的邻居路由设备发送第一通知消息,所述第一通知消息携带所述第一ip地址和所述聚合路由的第二ip地址,所述第一ip地址和所述第二ip地址用于所述邻居路由设备更新本地路由表;

其中,所述聚合路由为:对所述区域中的至少两条区域路由进行路由聚合后得到的路由,。

第二方面,本申请实施例提供了一种路由信息处理方法,应用于第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,所述方法包括:

当处于第二区域边缘的第二路由设备确定所述第二区域内存在无法到达所述第二路由设备的主机,且所述主机与所述第二路由器之间的第一路由为所述第二路由设备已发布聚合路由中的明细路由时,接收所述第二路由设备发送的第一通知消息,所述第一通知消息包括所述主机的第一ip地址和所述聚合路由的第二ip地址;

获取第一下一跳信息,其中,所述第一下一跳信息为:目的地址为所述第二ip地址的第二路由中所述第一路由设备的下一跳信息;

获取第二下一跳信息,其中,所述第二下一跳信息为:目的地址为所述第二路由设备的ip地址的第三路由中所述第一路由设备的下一跳信息;

从所述第一下一跳信息中,获取除所述第二下一跳信息的第三下一跳信息,生成并存储目的地址为所述第一ip地址的第四路由,所述第四路由中所述第一路由设备的下一跳信息为所述第三下一跳信息。

第三方面,本申请实施例提供了一种路由信息处理装置,应用于路由设备,所述路由设备为所处区域的边缘路由设备,所述装置包括:

路由获取模块,用于获取所述区域中的至少一条第一路由,所述第一路由包括与所述路由设备连接的主机的第一ip地址;

第一消息发送模块,用于当确定所述第一路由为无法到达所述路由设备的路由、且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,向所述路由设备的邻居路由设备发送第一通知消息,所述第一通知消息携带所述第一ip地址和所述聚合路由的第二ip地址,所述第一ip地址和所述第二ip地址用于所述邻居路由设备更新本地路由表;

其中,所述聚合路由为:对所述区域中的至少两条区域路由进行路由聚合后得到的路由。

第四方面,本申请实施例提供了一种路由信息处理装置,应用于第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,所述装置包括:

第一消息接收模块,用于当处于第二区域边缘的第二路由设备确定所述第二区域内存在无法到达所述第二路由设备的主机,且所述主机与所述第二路由器之间的第一路由为所述第二路由设备已发布聚合路由中的明细路由时,接收所述第二路由设备发送的第一通知消息,所述第一通知消息包括所述主机的第一ip地址和所述聚合路由的第二ip地址;

第一信息获取模块,用于获取第一下一跳信息,其中,所述第一下一跳信息为:目的地址为所述第二ip地址的第二路由中所述第一路由设备的下一跳信息;

第二信息获取模块,用于获取第二下一跳信息,其中,所述第二下一跳信息为:目的地址为所述第二路由设备的ip地址的第三路由中所述第一路由设备的下一跳信息;

路由存储模块,用于从从所述第一下一跳信息中,获取除所述第二下一跳信息的第三下一跳信息,生成并存储目的地址为所述第一ip地址的第四路由,所述第四路由中所述第一路由设备的下一跳信息为所述第三下一跳信息。

第五方面,本申请实施例提供了一种路由设备,所述路由设备为所处区域的边缘路由设备,所述路由设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面所述的方法步骤。

第六方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面所述的方法步骤。

第七方面,本申请实施例提供了一种路由设备,作为第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,所述路由设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第二方面所述的方法步骤。

第八方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第二方面所述的方法步骤。

由以上可见,本申请实施例提供的方案中,边缘路由设备确定第一路由为无法到达该边缘路由设备的路由、且第一路由为该边缘路由设备已发布过聚合路由中的明细路由时,向邻居路由设备发送通知消息。由于上述通知消息中携带了第一路由中与上述边缘路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本申请实施例提供的方案处理路由信息时,上述边缘路由设备的邻居路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为第一种组网结构示意图;

图2为本申请实施例提供的第一种路由信息处理方法的流程示意图;

图3为本申请实施例提供的第二种路由信息处理方法的流程示意图;

图4为第二种网络结构示意图;

图5为本申请实施例提供的第一种路由信息处理装置的结构示意图;

图6为本申请实施例提供的第二种路由信息处理装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面通过具体实施例对本申请实施例提供的路由信息处理方法进行详细介绍。

图2为本申请实施例提供的第一种路由信息处理方法的流程示意图,该方法应用于路由设备。上述路由设备为所处区域的边缘路由设备。

具体的,上述路由信息处理方法包括:

s201:获取上述区域中的至少一条第一路由。

第一路由包括与上述路由设备连接的主机的ip地址,为便于描述,将上述主机的ip地址称为:第一ip地址。也就是说,上述第一路由为:上述主机与上述路由设备之间的路由。

具体的,上述路由设备在工作过程中会感知其区域内的主机的信息是否发生变化。当感知到其区域内的主机的信息发生变化时,会触发路由设备重新对区域内的路由进行计算,从而获得区域内最新路由。

例如,上述路由设备感知到一主机的ip地址发生变化,则进行路由计算,从而获得路由。

s202:当确定第一路由为无法到达上述路由设备的路由、且第一路由为上述路由设备已发布聚合路由中的明细路由时,向上述路由设备的邻居路由设备发送第一通知消息。

聚合路由为:对上述区域中的至少两条区域路由进行路由聚合后得到的路由。其中,区域路由可以理解为:通过路由设备可到达区域中主机的路由。区域路由包含上述区域中主机的ip地址、上述路由设备的ip地址、以及到达主机的下一跳信息的路由。

具体的,在对多条路由进行聚合时,聚合结果为一条路由,也就是聚合路由,作为聚合结果的上述聚合路由对外呈现的ip地址称之为聚合地址,上述多条路由称为聚合路由的明细路由。为便于描述,将上述聚合地址称为第二ip地址。

具体应用场景中,由于一些路由对应的链路断开等原因,可能会导致无法在上述路由对应的链路上进行报文转发,也就是,上述路由为不可达路由。基于此,可以将路由划分为两类,一类为:不可达路由,也就是,无法到达上述路由设备的路由,另一类为:可达路由,也就是,能够到达上述路由设备的路由。

第一通知消息携带第一ip地址和聚合路由的第二ip地址,其中,第一ip地址和第二ip地址用于上述邻居路由设备更新本地路由表。

由于各个邻居路由设备本地的转发表是根据本地的路由表生成的,因此,各个邻居路由设备更新本地路由表后,能够根据更新后的本地路由表更新本地转发表。这样邻居路由设备在需要转发报文时,可以根据更新后的本地转发表进行报文转发。

邻居路由设备根据第一ip地址和第二ip地址更新本地路由表的方式可以参见下述图3所示实施例,这里暂不详述。

本申请的一个实施例中,上述第一通知消息可以是扩展lsa(link-stateadvertisement,链路状态通告)消息。

具体的,上述扩展lsa消息可以为扩展的10类lsa消息。

另外,上述第一通知消息为扩展lsa消息仅仅为第一通知消息的一种实现方式,第一通知消息还可以为其他类型的消息,本申请并不对此进行限定。

再者,本申请实施例并不限定下述两种情况的执行顺序:

第一种情况:确定第一路由是否为能够到达上述路由设备的路由;

第二种情况:确定第一路由是否为上述路由设备已发布过聚合路由中的明细路由。

上述第一种情况可以与第二种情况并行执行,也可以在第二种情况之前执行,或者在第二种情况之后执行。

由以上可见,本实施例提供的方案中,边缘路由设备确定第一路由为无法到达该边缘路由设备的路由、且第一路由为该边缘路由设备已发布过聚合路由中的明细路由时,向邻居路由设备发送通知消息。由于上述通知消息中携带了第一路由中与上述边缘路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本实施例提供的方案处理路由信息时,上述边缘路由设备的邻居路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

本申请的一个实施例中,上述路由信息处理方法还可以包括:

当确定第一路由为可到达上述路由设备的路由、且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,则判断第一路由是否为已更新过路由状态的路由;若为是,则向邻居路由设备发送第二通知消息。

第二通知消息包括第一ip地址和第二ip地址,其中,第一ip地址和第二ip地址用于邻居路由设备更新本地路由表。

结合前面图2所示实施例可以得知,本实施例中,第一路由更新路由状态是指:第一路由由不可到达上述路由设备的路由更新为可以到达上述路由设备的路由,也就是,第一路由从不可达路由更新为可达路由。

判断出第一路由为:从不可达路由变化为可达路由的路由时,说明第一路由的状态发生了变化,第一路由对应的链路恢复了报文转发能力,可以按照以第二ip地址为目的地址的路由进行报文转发,因此邻居路由设备需更新本地路由表,进而更新本地转发表。

本申请的一个实施例中,上述第二通知消息可以是扩展lsa消息。

具体的,上述扩展lsa消息可以为扩展的10类lsa消息。

另外,上述第二通知消息为扩展lsa消息仅仅为第二通知消息的一种实现方式,第二通知消息还可以为其他类型的消息,本申请并不对此进行限定。

由以上可见,本实施例提供的方案中,上述路由设备检测到第一路由由不可达路由变化为可达路由后,能够及时通知邻居路由设备更新本地路由表,从而能够避免个别路由设备工作压力过大。

在上述第一通知消息为扩展lsa消息时,将第一通知消息称为第一lsa。本申请的一个实施例中,上述路由设备生成第一通知消息,也就是第一lsa后,在上述路由设备的本地存储第一lsa。这种情况下,判断第一路由是否为已更新过路由状态的路由时,可以检测上述路由设备本地是否存储有上述第一lsa。若存储有上述第一lsa,则说明在此之前检测到了第一路由为不可达路由,而当前又检测到了第一路由为可达路由,因此可以判定第一路由是从不可达路由变化为可达路由的路由,也就是,第一路由为已更新过路由状态的路由。

本申请的另一个实施例中,在判断出第一路由属于从不可达路由变化为可达路由的路由后,需要从第一路由设备的本地删除上述第一lsa。具体的,可以通过为上述第一lsa设置老化时间的方式删除上述第一lsa,如,上述老化时间可以为3600秒。

除此之外,还需要通知邻居路由设备删除其接收并存储在邻居路由设备本地的第一lsa。具体的,也可以通过将包含上述老化时间的信息泛洪至邻居路由设备的方式,通知邻居路由设备删除其接收并存储在邻居路由设备本地的上述第一lsa。邻居路由设备删除上述第一lsa后,更新本地路由表。邻居路由设备更新本地路由表的方式在下述图3所示实施例中介绍,这里暂不详述。

图3为本申请实施例提供的第二种路由信息处理方法的流程示意图,该方法应用于第一路由设备,其中,第一路由设备为所处第一区域的边缘路由设备。

具体的,上述路由信息处理方法包括:

s301:当处于第二区域边缘的第二路由设备确定第二区域内存在无法到达第二路由设备的主机,且上述主机与第二路由器之间的第一路由为第二路由设备已发布聚合路由中的明细路由时,接收第二路由设备发送的第一通知消息。

也就是说,对于处于第二区域边缘的第二路由设备而言,第二路由设备会检测第二区域内是否存在无法到达第二路由设备的主机,若检测到存在无法到达第二路由设备的主机,且上述检测到的主机与第二路由设备之间的第一路由为第二路由设备已发布聚合路由中的明细路由时,第二路由设备会生成第一通知消息,并将该第一通知消息发送给第一路由设备。

从接收消息的角度来将,可以认为第一路由设备是处于被动接收的角色,当第二路由设备向第一路由设备发送了上述第一通知消息后,第一路由设备接收该第一通知消息,第一路由设备在接收第一通知消息之前不做条件判断。

第一通知消息包括:第一ip地址和第二ip地址。

其中,第一ip地址为:第一路由中与第一路由设备连接的主机的ip地址,第一路由为:第二路由设备已发布聚合路由的明细路由中无法到达第二路由设备的路由。

第二ip地址为:上述聚合路由的聚合地址,聚合地址为:上述聚合路由对外呈现的ip地址。

第一通知消息表征:第一路由为无法到达第二路由设备的路由、且第一路由为第二路由设备已发布聚合路由中的明细路由。

另外,上述第一通知消息通知第一路由设备更新本地路由表,这样第一路由设备可以根据第一通知消息中包括的第一ip地址和第二ip地址跟新本地的路由表。

s302:获取第一下一跳信息。

其中,第一下一跳信息为:目的地址为第二ip地址的第二路由中第一路由设备的下一跳信息。

由于可以存在多条以第二ip地址为目的地址的路由,也就是,可以存在多条第二路由,因此,也可以存在多个上述第一下一跳信息。

s303:获取第二下一跳信息。

其中,第二下一跳信息为:目的地址为第二路由设备的ip地址的第三路由中第一路由设备的下一跳信息。

由于可以存在多条以第二路由设备的ip地址为目的地址的路由,也就是,可以存在多条第三路由,因此,也可以存在多个上述第二下一跳信息。

s304:从第一下一跳信息中,获取除第二下一跳信息的第三下一跳信息,生成并存储目的地址为第一ip地址的第四路由。

第四路由中第一路由设备的下一跳信息为第三下一跳信息。

也就是说,上述第三下一跳信息为:第一下一跳信息中除第二已下条信息以外的信息。

具体的,在从第一下一跳信息中,获取除第二下一跳信息的第三下一跳信息息时,可以采用遍历第一下一跳信息的方式获取。也就是,遍历每一第一下一跳信息,判断当前遍历的第一下一跳信息是否在第二下一跳信息中,如果在,则从第一下一跳信息中排除当前遍历的第一下一跳信息,遍历完第一下一跳信息后,未被排除的第一下一跳信息即为上述第三下一跳信息。

存储目的地址为第一ip地址的第四路由,可以理解为:在第一路由设备本地的路由表中建立以第一ip地址为目的地址的路由表项。这一表项中可以记录有:路由的目的地址、第一路由设备的下一跳信息、掩码等等。上述表项中存储的这些信息可以从上述第四路由中获得,从而实现对第四路由的存储。

这样将上述第四路由存储至第一路由设备本地路由表后,第一路由设备向上述第一ip地址转发报文时,由于第四路由中第一路由设备的下一跳信息中不包含第二路由设备的信息,所以不会由于上述第一路由不可达而导致报文转发失败。

另外,对于同一目的地址而言,第一设备的下一跳信息中下一跳的地址可以是相同的,如为上述第二ip地址,而对于上述下一跳的地址而言,可能对应于一个出接口,也可能对应于多个出接口。如下表1所示。

表1

由以上可见,本实施例提供的方案中,第二路由设备确定第一路由为无法到达第二路由设备的路由、且第一路由为第二路由设备已发布过聚合路由中的明细路由时,向第一路由设备发送通知消息。由于上述通知消息中携带了第一路由中与第二路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本实施例提供的方案处理路由信息时,第一路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

另外,当聚合路由的部分明细路由为不可达路由时,应用本申请实施例提供的方案,能够将这些不可达的明细路由切换至其他路径,从而实现报文转发。

本申请的一个实施例中,上述路由信息处理方法还可以包括:

接收第二路由设备发送的第二通知消息,第二通知消息包括:第一ip地址和第二ip地址,第二通知消息为表征第一路由状态发生变化的消息;

从本地路由表中删除第四路由的信息。

结合上述图3所示实施例可知,本实施例中第二通知消息所表征的第一路由状态所发生的变化为:不可到达第一路由设备的路由变化为可到达第一路由设备的路由,也就是,第一路由由不可达路由变化为可达路由。

第一路由由不可达路由变化为可达路由,说明第一路由的状态发生了变化,第一路由对应的链路恢复了报文转发能力,可以按照以第二ip地址为目的地址的路由进行报文转发,也就是,无需仅仅通过第四路由也能向第一ip地址对应的主机转发报文,因此,第一路由设备需要更新本地路由表,进而更新本地转发表,删除本地路由表中上述第四路由的信息。

由以上可见,本实施例提供的方案中,在第一路由由不可达路由变化为可达路由后,路由设备能够及时获知第一路由状态的变化,进而及时更新转发表,从而能够避免个别路由设备工作压力过大。

本申请的一个实施例中,在接收到第一通知消息后,还可以在本地路由表中,对第一下一跳信息中存在的第二下一跳信息进行删除处理。

然后在接收到第二通知消息后,可以将第四下一跳信息作为第二路由中第一路由设备的下一跳信息存储至本地路由表中,其中,第四下一跳信息为:从第一下一跳信息中删除的第二下一跳信息

本申请的一个实施例中,由于网络等因素,第一路由设备在获知第一路由为不可达路由时,可能还未获得上述第二路由,这种情况下,可以先存储上述第一ip地址和第二ip地址,待能够获得上述第二路由后,再开始执行上述s302以及后续各个步骤。

也就是,在上述s302获得第一下一跳信息之前,还可以判断本地路由表中是否存储有目的地址为第二ip地址的第二路由;若未存储,存储第一ip地址和第二ip地址;当检测到本地路由表中存储有目的地址为第二ip地址的第二路由时,执行上述s302。

本申请的一个实施例中,在上述s305在本地路由表中,对第一下一跳信息中存在的第二下一跳信息进行删除处理之后,还可以从本地路由表中删除聚合路由中的第一路由。

鉴于上述情况,在将第四下一跳信息作为第二路由中第一路由设备的下一跳信息存储至本地路由表中之后,还可以根据第二ip地址,将第一路由更新至本地路由表中第二ip地址表征的聚合路由内。

另外,本申请实施例提供的路由信息处理方法适用于is-is协议。

下面结合图1和图4分别通过具体实例对上述路由信息处理方法进行说明。

实例一

图1所示组网结构中包括:r1、r2、r3三个路由设备、area0和area1两个区域、p1、p2、…pn共计n台服务器,r1、r2和r3为abr。

r1、r2和r3的ip地址记为router-id分别为:1.1.1.1、2.2.2.2、3.3.3.3,p1、p2、…pn的ip地址分别为:10.1.1.1、10.1.1.2……10.1.1.200;

r1、r2、r3在area0建立邻居关系;

r1分别和p1、p2…pn在area1建立邻居关系;

r2分别和p1、p2…pn在area1建立邻居关系。

r1在area1上进行路由聚合,所得聚合路由的聚合地址为:10.1.0.0/16;

r2上area1上进行路由聚合,所得聚合路由的聚合地址为:10.1.0.0/16;

r1和r2分别生成包含10.1.0.0的lsa发送至r3,r3到10.1.0.0/16的路由形成等价路由,下一跳分别是r1和r2。

r3本地的路由表中存储的、r3的地址到各个目的地址的路由的信息如下表2所示:

表2

假设,r1与p1之间的链路断开。

r1检测出r1到p1的第一路由为不可达路由、且第一路由为r1以发布聚合路由中的明细路由,生成携带有第一ip地址10.1.1.1/32和聚合地址10.1.0.0/16的扩展的10类lsa,作为第一lsa;

r1向邻居路由设备泛洪第一lsa,以通知各个邻居路由设备第一路由为不可达路由,也就是,r1到10.1.1.1/32不可达,且r1针对10.1.1.1/32发布过聚合路由;

r3接收到上述第一lsa后,获得第一目的地址10.1.1.1/32和聚合地址10.1.0.0/16;

r3确定到聚合地址10.1.0.0/16的路由,下一跳信息为:r1和r2,也就是第一下一跳信息为:r1和r2;

确定第一路由为不可达路由的设备为r1,r1的router-id为:1.1.1.1,则r3确定到1.1.1.1的路由,下一跳信息为:r1,也就是第二下一跳信息为:r1;

r3从第一下一跳信息r1和r2中排除第二下一跳信息r1,则以r2为下一跳信息,以10.1.1.1/32为目的地址,生成第四路由;

r3将第四路由的信息更新至本地路由表,进而更新本地路由表。

这时,r3本地的路由表中存储、r3的地址到各个目的地址的路由的信息如下表3所示:

表3

这样,r3查找本地转发表后,r3上到10.1.1.1/32的报文,不再通过r1,而是直接转发至r2,r3上到10.1.0.0/16的报文,可以转发至r1或r2。

实例二

图4所示组网结构中包括:r1-r7七个路由设备、area0-area2三个区域、、p1、p2、…pn共计n台服务器,r1-r7为abr。

r1在area1上进行路由聚合,所得聚合路由的聚合地址为:10.1.0.0/16;

r2上area1上进行路由聚合,所得聚合路由的聚合地址为:10.1.0.0/16。

r3本地的路由表中存储的、r3的地址到各个目的地址的路由的信息如下表4所示:

表4

当前情况是:r1检测到r1和p1之间的路由是不可达路由、且r1和p1之间的路由是r1已发布聚合路由中的明细路由。

r1生成扩展lsa,记为第二lsa,第二lsa中携带:p1的地址:10.1.1.1,聚合地址:10.1.0.0;r1向其邻居路由设备r4、r5发送上述第二lsa;

r3通过上述r4、r5获得上述第二lsa后,从第二lsa中获得p1的地址:10.1.1.1,聚合地址:10.1.0.0

然后从本地的路由表中获得r3到聚合地址的路由中r3的下一跳信息和r3到扩展lsa生成者r1的路由中r3的下一跳。其中,

r3到聚合地址的路由中r3的下一跳为:r4,r5、r6、r7;

r3到扩展lsa生成者r1的路由中r3的下一跳为:r4、r5。

{r4,r5,r6,r7}中r4,r5属于{r4,r5},因此,从{r4,r5,r6,r7}中删除r4,r5,剩余r6,r7。

将r6,r7作为r3到p1的地址10.1.1.1的路由中r3的下一跳,生成r3到p1的路由:r3->r6->r2->p1,r3->r7->r2->p1。

将路由r3->r6->r2->p1,r3->r7->r2->p1的信息存储至r3本地的路由表中。

这时,r3本地的路由表中存储的、r3的地址到各个目的地址的路由的信息如下表5所示:

表5

需要说明的是,为便于描述上述表2-表5中仅仅示出了目的地址、下一跳的地址以及出接口对应的信息,而省略了其他信息。

与上述路由信息处理方法相对应,本申请实施例提供了一种路由信息处理装置。

图5为本申请实施例提供的第一种路由信息处理装置的结构示意图,该装置应用于路由设备,所述路由设备为所处区域的边缘路由设备,所述装置包括:

路由获取模块501,用于获取所述区域中的至少一条第一路由,所述第一路由包括与所述路由设备连接的主机的第一ip地址;

第一消息发送模块502,用于当确定所述第一路由为无法到达所述路由设备的路由且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,向所述路由设备的邻居路由设备发送第一通知消息,所述第一通知消息携带所述第一ip地址和所述聚合路由的第二ip地址,所述第一ip地址和所述第二ip地址用于所述邻居路由设备更新本地路由表;

其中,所述聚合路由为:对所述区域中的至少两条区域路由进行路由聚合后得到的路由。

本申请的一个实施例中,上述路由信息处理装置还可以包括:

第一路由判断模块,用于当确定所述第一路由为可到达所述路由设备的路由、且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,则判断所述第一路由是否为已更新过路由状态的路由;

所述第二消息发送模块,用于所述第一路由判断模块确定所述第一路由为已更新过路由状态的路由,则向所述邻居路由设备发送第二通知消息,所述第二通知消息包括所述第一ip地址和第二ip地址,所述第一ip地址和所述第二ip地址用于所述邻居路由设备更新本地路由表。

本申请的一个实施例中,所述第一通知消息或所述第二通知消息具体为扩展链路状态通告lsa消息。

由以上可见,上述各个实施例提供的方案中,边缘路由设备确定第一路由为无法到达该边缘路由设备的路由、且第一路由为该边缘路由设备已发布过聚合路由中的明细路由时,向邻居路由设备发送通知消息。由于上述通知消息中携带了第一路由中与上述边缘路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用上述各个实施例提供的方案处理路由信息时,上述边缘路由设备的邻居路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

图6为本申请实施例提供的第二种路由信息处理装置的结构示意图,该装置第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,所述装置包括:

第一消息接收模块601,用于当处于第二区域边缘的第二路由设备确定所述第二区域内存在无法到达所述第二路由设备的主机,且所述主机与所述第二路由器之间的第一路由为所述第二路由设备已发布聚合路由中的明细路由时,接收所述第二路由设备发送的第一通知消息,所述第一通知消息包括所述主机的第一ip地址和所述聚合路由的第二ip地址;

第一信息获取模块602,用于获取第一下一跳信息,其中,所述第一下一跳信息为:目的地址为所述第二ip地址的第二路由中所述第一路由设备的下一跳信息;

第二信息获取模块603,用于获取第二下一跳信息,其中,所述第二下一跳信息为:目的地址为所述第二路由设备的ip地址的第三路由中所述第一路由设备的下一跳信息;

路由存储模块604,用于从从所述第一下一跳信息中,获取除所述第二下一跳信息的第三下一跳信息,生成并存储目的地址为所述第一ip地址的第四路由,所述第四路由中所述第一路由设备的下一跳信息为所述第三下一跳信息。

本申请的一个实施例中,上述路由信息处理装置还可以包括:

第二消息接收模块,用于接收所述第二路由设备发送的第二通知消息,所述第二通知消息包括:所述第一ip地址和所述第二ip地址,所述第二通知消息为表征所述第一路由状态发生变化的消息;

第一信息删除模块,用于从本地路由表中删除所述第四路由的信息。

本申请的一个实施例中,上述路由信息处理装置还可以包括:

第二信息删除模块,用于在接收到所述第一通知消息后,在本地路由表中,对所述第一下一跳信息中存在的所述第二下一跳信息进行删除处理;

信息存储模块,用于在接收到所述第二通知消息后,将第四下一跳信息作为所述第二路由中所述第一路由设备的下一跳信息存储至本地路由表中,其中,所述第四下一跳信息为:从所述第一下一跳信息中删除的第二下一跳信息。

本申请的一个实施例中,上述路由信息处理装置还可以包括:

第二路由判断模块,用于在所述第一信息获取模块获取所述第一下一跳信息之前,还判断本地路由表中是否存储有目的地址为第二ip地址的第二路由;若不存在,触发地址存储模块;

所述地址存储模块,用于存储所述第一ip地址和第二ip地址;

路由检测模块,用于检测本地路由表中是否存储有目的地址为第二ip地址的第二路由,当检测到本地路由表中存储有第二路由时,触发所述第一信息获取模块。

由以上可见,上述各个实施例提供的方案中,第二路由设备确定第一路由为无法到达第二路由设备的路由、且第一路由为第二路由设备已发布过聚合路由中的明细路由时,向第一路由设备发送通知消息。由于上述通知消息中携带了第一路由中与第二路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用上述各个实施例提供的方案处理路由信息时,第一路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

另外,当聚合路由的部分明细路由为不可达路由时,应用上述申请实施例提供的方案,能够将这些不可达的明细路由切换至其他路径,从而实现报文转发。

与上述路由信息处理方法相对应,本申请实施例还提供了一种路由设备和计算机可读存储介质。

本申请的一个实施例中,提供了一种路由设备,所述路由设备为所处区域的边缘路由设备,所述路由设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例提供的路由信息处理方法。

本申请的一个实施例中,提供了一种路由信息处理方法,应用于路由设备,所述路由设备为所处区域的边缘路由设备,所述方法包括:

获取所述区域中的至少一条第一路由,所述第一路由包括与所述路由设备连接的主机的第一ip地址;

当确定所述第一路由为无法到达所述路由设备的路由、且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,向所述路由设备的邻居路由设备发送第一通知消息,所述第一通知消息携带所述第一ip地址和所述聚合路由的第二ip地址,所述第一ip地址和所述第二ip地址用于所述邻居路由设备更新本地路由表;

其中,所述聚合路由为:对所述区域中的至少两条区域路由进行路由聚合后得到的路由。

需要说明的是,处理器被机器可执行指令促使实现的信息处理方法的其他实施例,与前述方法实施例中图1所示实施例部分所示的实施例相同,这里不再赘述。

由以上可见,本实施例提供的方案中,边缘路由设备确定第一路由为无法到达该边缘路由设备的路由、且第一路由为该边缘路由设备已发布过聚合路由中的明细路由时,向邻居路由设备发送通知消息。由于上述通知消息中携带了第一路由中与上述边缘路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本实施例提供的方案处理路由信息时,上述边缘路由设备的邻居路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

本申请的一个实施例中,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例提供的信息处理方法。

本申请的一个实施例中,提供了一种路由信息处理方法,应用于路由设备,所述路由设备为所处区域的边缘路由设备,所述方法包括:

获取所述区域中的至少一条第一路由,所述第一路由包括与所述路由设备连接的主机的第一ip地址;

当确定所述第一路由为无法到达所述路由设备的路由、且所述第一路由为所述路由设备已发布聚合路由中的明细路由时,向所述路由设备的邻居路由设备发送第一通知消息,所述第一通知消息携带所述第一ip地址和所述聚合路由的第二ip地址,所述第一ip地址和所述第二ip地址用于所述邻居路由设备更新本地路由表;

其中,所述聚合路由为:对所述区域中的至少两条区域路由进行路由聚合后得到的路由。

需要说明的是,机器可执行指令促使处理器实现的信息处理方法的其他实施例,与前述方法实施例中图1所示实施例部分所示的实施例相同,这里不再赘述。

由以上可见,本实施例提供的方案中,边缘路由设备确定第一路由为无法到达该边缘路由设备的路由、且第一路由为该边缘路由设备已发布过聚合路由中的明细路由时,向邻居路由设备发送通知消息。由于上述通知消息中携带了第一路由中与上述边缘路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本实施例提供的方案处理路由信息时,上述边缘路由设备的邻居路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

本申请的一个实施例中,提供了一种路由设备,所述路由设备作为第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例提供的信息处理方法。

本申请的一个实施例中,提供了一种路由信息处理方法,应用于第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,所述方法包括:

当处于第二区域边缘的第二路由设备确定所述第二区域内存在无法到达所述第二路由设备的主机,且所述主机与所述第二路由器之间的第一路由为所述第二路由设备已发布聚合路由中的明细路由时,接收所述第二路由设备发送的第一通知消息,所述第一通知消息包括所述主机的第一ip地址和所述聚合路由的第二ip地址;

获取第一下一跳信息,其中,所述第一下一跳信息为:目的地址为所述第二ip地址的第二路由中所述第一路由设备的下一跳信息;

获取第二下一跳信息,其中,所述第二下一跳信息为:目的地址为所述第二路由设备的ip地址的第三路由中所述第一路由设备的下一跳信息;

从所述第一下一跳信息中,获取除所述第二下一跳信息的第三下一跳信息,生成并存储目的地址为所述第一ip地址的第四路由,所述第四路由中所述第一路由设备的下一跳信息为所述第三下一跳信息。

需要说明的是,处理器被机器可执行指令促使实现的信息处理方法的其他实施例,与前述方法实施例中图2所示实施例部分所示的实施例相同,这里不再赘述。

由以上可见,本实施例提供的方案中,第二路由设备确定第一路由为无法到达第二路由设备的路由、且第一路由为第二路由设备已发布过聚合路由中的明细路由时,向第一路由设备发送通知消息。由于上述通知消息中携带了第一路由中与第二路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本实施例提供的方案处理路由信息时,第一路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

另外,当聚合路由的部分明细路由为不可达路由时,应用本申请实施例提供的方案,能够将这些不可达的明细路由切换至其他路径,从而实现报文转发。

本申请的一个实施例中,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例提供的信息处理方法。

本申请的一个实施例中,提供了一种路由信息处理方法,应用于第一路由设备,所述第一路由设备为所处第一区域的边缘路由设备,所述方法包括:

当处于第二区域边缘的第二路由设备确定所述第二区域内存在无法到达所述第二路由设备的主机,且所述主机与所述第二路由器之间的第一路由为所述第二路由设备已发布聚合路由中的明细路由时,接收所述第二路由设备发送的第一通知消息,所述第一通知消息包括所述主机的第一ip地址和所述聚合路由的第二ip地址;

获取第一下一跳信息,其中,所述第一下一跳信息为:目的地址为所述第二ip地址的第二路由中所述第一路由设备的下一跳信息;

获取第二下一跳信息,其中,所述第二下一跳信息为:目的地址为所述第二路由设备的ip地址的第三路由中所述第一路由设备的下一跳信息;

从所述第一下一跳信息中,获取除所述第二下一跳信息的第三下一跳信息,生成并存储目的地址为所述第一ip地址的第四路由,所述第四路由中所述第一路由设备的下一跳信息为所述第三下一跳信息。

需要说明的是,机器可执行指令促使处理器实现的信息处理方法的其他实施例,与前述方法实施例中图2所示实施例部分所示的实施例相同,这里不再赘述。

由以上可见,本实施例提供的方案中,第二路由设备确定第一路由为无法到达第二路由设备的路由、且第一路由为第二路由设备已发布过聚合路由中的明细路由时,向第一路由设备发送通知消息。由于上述通知消息中携带了第一路由中与第二路由设备连接的主机的ip地址和聚合路由的ip地址,因此,应用本实施例提供的方案处理路由信息时,第一路由设备能够获知第一路由为不可达路由,并对本地路由表进行更新,因此,在进行报文转发时能够减少报文转发失败的情况。

另外,当聚合路由的部分明细路由为不可达路由时,应用本申请实施例提供的方案,能够将这些不可达的明细路由切换至其他路径,从而实现报文转发。

另外,上述机器可读存储介质可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、路由设备和机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

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