CN113595892B - 路由确定方法、系统、边界路由器和计算机可读存储介质 - Google Patents
路由确定方法、系统、边界路由器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113595892B CN113595892B CN202010360615.0A CN202010360615A CN113595892B CN 113595892 B CN113595892 B CN 113595892B CN 202010360615 A CN202010360615 A CN 202010360615A CN 113595892 B CN113595892 B CN 113595892B
- Authority
- CN
- China
- Prior art keywords
- router
- area
- target
- border
- tunnel
- 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.)
- Active
Links
Images
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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种路由确定方法、系统、边界路由器和计算机可读存储介质,涉及通信技术领域。本公开的方法由第一边界路由器执行,包括:根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器;通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测;在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器;其中,第一边界路由器和第二边界路由器均连接第一区域和第二区域。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种路由确定方法、系统、边界路由器和计算机可读存储介质。
背景技术
在大型网络环境中,IGP(Interior Gateway Protocol,内部网关协议)组网一般通过划分为多个区域的方式来实现。
随着网络的规模越来越大,网络中的设备所需维护的路由表项也就会越来越多。路由表需要占用设备的大量内存空间的,路由的查询也是需要占用设备的资源的。因此,在保证网络中路由畅通的同时,尽量减小路由表的规模。因此,多个区域之间可以通过边界路由器进行路由汇总。使用路由汇总,只有汇总的路由会传播到其他区域,避免了大量链路状态信息占用带宽,CPU以及内存资源。即便一个区域的链路出现了故障,这种变化也不会传播到其他区域中,减少了区域间链路故障的传递。
发明内容
发明人发现:虽然路由汇总可以减少区域间链路故障的传递,但也会在网络故障情况下,引发路由黑洞。例如,图1所示为IGP协议为OSPF(Open Shortest Path First,开放式最短路径优先)的情况系下,网络中划分了Area1和Area2,Area1包括路由器R1、R2和R3,Area2包括路由器T1、T2和T3。Area1和Area2之间通过ABR(Area Border Router,区域边界路由器)1和ABR2连接。当R1与R2间链路故障时,ABR1不可到达R2、R3,若T1依据汇总路由信息将须经R3转发的/或到达R3的流量发送给ABR1,则ABR1会将该流量丢弃,从而形成路由黑洞。
本公开所要解决的一个技术问题是:如何在一个区域链路故障的情况下,提高网络的整体通达率,降低对另一区域到该区域的流量的可达性影响。
根据本公开的一些实施例,提供的一种路由确定方法,其中,路由确定方法由第一边界路由器执行,包括:根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器;通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测;在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器;其中,第一边界路由器和第二边界路由器均连接第一区域和第二区域。
在一些实施例中,该方法还包括:在确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器之后,确定是否已经对第一区域的路由汇总信息进行广播;在已经对第一区域的路由汇总信息进行广播的情况下,确定第一区域的路由汇总信息是否包括目标路由器对应的地址信息;在第一区域的路由汇总信息包括目标路由器对应的地址信息的情况下,确定第二边界路由器广播的路由汇总信息是否包含目标路由器对应的地址信息;在第二边界路由器广播的路由汇总信息包含目标路由器对应的地址信息的情况下,执行通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测。
在一些实施例中,在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器包括:在连接探测成功的情况下,根据由第一边界路由器经过隧道到达目标路由器的路由,在路由表中添加路由表项或者增加策略路由;响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,根据路由表项或者策略路由,将流量通过隧道发送至目标路由器。
在一些实施例中,路由表项中的目的地址被配置为流量对应的目的地址,下一跳地址被配置为隧道对应的第一边界路由器的下一跳路由器的地址;策略路由包括:由第一边界路由器经过隧道到达目标路由器的路由。
在一些实施例中,在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器包括:包括:在第二边界路由器包括多个,且通过第一边界路由器分别与多个第二边界路由器之间建立的多个隧道对目标路由器进行连接探测成功的情况下,确定由第一边界路由器经过各个隧道到达目标路由器的开销值;根据经过各个隧道到达目标路由器的开销值,选取一条隧道,将流量通过选取的隧道发送至目标路由器。
在一些实施例中,根据第一区域内的各个路由器发送的链路状态消息确定经过第一边界路由器在第一区域内无法到达的路由器包括:根据链路状态消息更新路由表或策略路由;将更新后的路由表或策略路由中的目的地址与第一区域内的路由器的地址进行比对,确定经过第一边界路由器在第一区域内无法到达的路由器。
在一些实施例中,该方法还包括:经过第二区域内的一个或多个路由器,建立第一边界路由器与第二边界路由器之间的隧道。
在一些实施例中,该方法还包括:根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器到达目标路由器链路恢复;将路由表项或者策略路由删除;或者,将路由表项中到达目标路由器的开销值设置为预设值,其中,预设值大于由第一边界路由器经过第一区域内任意一个或多个路由器到达目标路由器的开销值。
在一些实施例中,该方法还包括:接收到第二边界路由器通过隧道转发送流量;在确定下一跳地址不可达的情况下,丢弃该流量。
根据本公开的另一些实施例,提供的一种边界路由器,其中,边界路由器作为第一边界路由器,包括:确定模块,用于根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器;探测模块,用于通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测;发送模块,用于在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器;其中,第一边界路由器和第二边界路由器均连接第一区域和第二区域。
在一些实施例中,确定模块还用于在确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器之后,确定是否已经对第一区域的路由汇总信息进行广播;在已经对第一区域的路由汇总信息进行广播的情况下,确定第一区域的路由汇总信息是否包括目标路由器对应的地址信息;在第一区域的路由汇总信息包括目标路由器对应的地址信息的情况下,确定第二边界路由器广播的路由汇总信息是否包含目标路由器对应的地址信息;在第二边界路由器广播的路由汇总信息包含目标路由器对应的地址信息的情况下,通知探测模块执行通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测。
在一些实施例中,发送模块用于在连接探测成功的情况下,根据由第一边界路由器经过隧道到达目标路由器的路由,在路由表中添加路由表项或者增加策略路由;响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,根据路由表项或者策略路由,将流量通过隧道发送至目标路由器。
在一些实施例中,路由表项中的目的地址被配置为流量对应的目的地址,下一跳地址被配置为隧道对应的第一边界路由器的下一跳路由器的地址;策略路由包括:由第一边界路由器经过隧道到达目标路由器的路由。
在一些实施例中,在第二边界路由器包括多个,且通过第一边界路由器分别与多个第二边界路由器之间建立的多个隧道对目标路由器进行连接探测成功的情况下,发送模块用于确定由第一边界路由器经过各个隧道到达目标路由器的开销值,根据经过各个隧道到达目标路由器的开销值,选取一条隧道,将流量通过选取的隧道发送至目标路由器。
在一些实施例中,确定模块用于根据链路状态消息更新路由表或策略路由;将更新后的路由表或策略路由中的目的地址与第一区域内的路由器的地址进行比对,确定经过第一边界路由器在第一区域内无法到达的路由器。
在一些实施例中,该边界路由器还包括:隧道建立模块,用于经过第二区域内的一个或多个路由器,建立第一边界路由器与第二边界路由器之间的隧道。
在一些实施例中,确定模块还用于根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器到达目标路由器链路恢复;发送模块还用于将路由表项或者策略路由删除;或者,将路由表项中到达目标路由器的开销值设置为预设值,其中,预设值大于由第一边界路由器经过第一区域内任意一个或多个路由器到达目标路由器的开销值。
在一些实施例中,该边界路由器还包括:接收模块,用于接收到第二边界路由器通过隧道转发送流量;发送模块还用于在确定下一跳地址不可达的情况下,丢弃该流量。
根据本公开的又一些实施例,提供的一种边界路由器,其中,边界路由器作为第一边界路由器,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的路由确定方法。
根据本公开的再一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例路由确定方法的步骤。
根据本公开的又一些实施例,提供的一种路由确定系统,包括:前述任意实施例的第一边界路由器;以及第二边界路由器;第一边界路由器与第二边界路由器之间建立的隧道。
本公开中第一边界路由器可以根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器。进而第一边界路由器可以通过与第二边界路由器之间建立的隧道对目标路由器进行连接探测,在探测成功的情况下,如果后续收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,则将流量通过隧道发送至目标路由器。第二边界路由器与第一边界路由器均为连接第一区域和第二区域的边界路由器。本公开的方法可以减少链路故障场景下的流量黑洞,减少链路故障跨区域影响,在一个区域链路故障的情况下,提高网络的整体通达率,降低对另一区域到该区域的流量的可达性影响,保障用户跨区域访问业务的流量的正确疏导,提升用户业务体验。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出现有技术的链路故障的示意图。
图2示出本公开的一些实施例的路由确定方法的流程示意图。
图3示出本公开的一些实施例的网络架构的示意图。
图4示出本公开的另一些实施例的路由确定方法的流程示意图。
图5示出本公开的一些实施例的边界路由器的结构示意图。
图6示出本公开的另一些实施例的边界路由器的结构示意图。
图7示出本公开的又一些实施例的边界路由器的结构示意图。
图8示出本公开的一些实施例的路由确定系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提供一种路由确定方法,下面结合图2描述一些实施例。
图2为本公开路由确定方法一些实施例的流程图。如图2所示,该实施例的方法包括:步骤S202~S206。本公开的方案适用于IGP协议为OSPF协议和ISIS(IntermediateSystem to Intermediate System,中间系统到中间系统)协议的场景。在OSPF场景中,不同区域可以是不同的Area,边界路由器可以是ABR,在ISIS场景中,不同区域可以是不同Level,边界路由器可以是Level-1-2路由器。
在步骤S202中,第一边界路由器根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器。
在OSPF场景中,链路状态信息可以是LSA(Link-State Advertisement,链路状态广播)消息。在ISIS场景中,链路状态信息可以是LSP(Link State Protocol,链路状态协议)消息。区域内的路由器可以向边界路由器发送链路状态信息,包括:该路由器对应的链路的状态信息,第一边界路由器根据链路状态信息可以更新本地的路由表和/或者策略路由,如果链路出现故障,经过故障链路的相关路由信息则会从路由表和/或策略路由中删除。
在一些实施例中,第一边界路由器根据链路状态消息更新路由表和/或策略路由,将更新后的路由表和/或策略路由中的目的地址与第一区域内的路由器的地址进行比对,确定经过第一边界路由器在第一区域内无法到达的路由器。第一边界路由器可能同时配置路由表和策略路由,链路状态消息可能导致路由表和策略路由中至少一项发生变化。路由表和策略路由的格式和内容可以参考现有技术,在此不再赘述。
在步骤S204中,第一边界路由器通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测。
第一边界路由器与第二边界路由器之间可以预先建立隧道,该隧道可以是经过第二区域内的各个路由器形成的隧道。例如,图3中ABR1和ABR2之间的隧道可以经过T1、T2和T3。隧道的建立方法可以采用现有技术,例如,隧道为GRE(Generic RoutingEncapsulation,通用路由封装协议)隧道等,不限于所举示例。在有多个目标路由器的情况下,可以通过第一边界路由器与第二边界路由器之间建立的隧道对各个目标路由器分别进行连接探测。连接探测的方法可以采用现有技术,在此不再赘述。
在步骤S206中,在连接探测成功的情况下,第一边界路由器响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器。
如果流量对应的目的地址为目标路由器,则通过隧道发送到目标路由器即可。如果到达流量对应的目的地址需要经过目标路由器,,则可以首先通过隧道将流量转发到目标路由器,进而通过目标路由器转发到目的地址。这种情况一般为目标路由器为BGP(Border Gateway Protocol,边界网关协议)Next-Hop(下一跳)的情况。经过目标路由器流量有可能被转发到其他区域的路由器(目的地址)
在一些实施例中,在连接探测成功的情况下,根据由第一边界路由器经过隧道到达目标路由器的路由,在路由表中添加路由表项或者增加策略路由;响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,根据路由表项或者策略路由,将流量通过隧道发送至目标路由器。
路由器对流量的转发都可以通过匹配路由表或策略路由来实现。第一边界路由器在对目标路由器探测成功的情况下,则可以将由第一边界路由器通过隧道到达目标路由器的路由的相关信息添加到路由表或策略路由中。路由表中每一个路由表项包括目的地址,下一跳地址,开销等信息。例如,路由表项中的目的地址被配置为流量对应的目的地址,下一跳地址被配置为隧道对应的第一边界路由器的下一跳路由器的地址。例如,如图3所示,ABR1和ABR2之间的隧道首先经过T1,则下一跳地址可以配置为T1的地址。策略路由可以包括:由第一边界路由器经过隧道到达目标路由器的路由。
第二边界路由器可以包括多个,也就是连接第一区域和第二区域的边界路由器可以多于两个。这些边界路由器之间都可以建立隧道。在一些实施例中,在第二边界路由器包括多个,且通过第一边界路由器分别与多个第二边界路由器之间建立的多个隧道对目标路由器进行连接探测成功的情况下,确定由第一边界路由器经过各个隧道到达目标路由器的开销值;根据经过各个隧道到达目标路由器的开销值,选取一条隧道,将流量通过选取的隧道发送至目标路由器。
通过第一边界路由器分别与多个第二边界路由器之间建立的多个隧道对目标路由器进行连接探测成功的情况下,由第一边界路由器分别与各个第二边界路由器之间建立的隧道到目标路由器的各个路由的相关信息都可以被添加到路由表,同时各个路由对应的开销值(Cost)也会被添加到对应的路由表项。响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,根据各个路由对应的开销值,则可以选取一条开销值最小的隧道,将流量通过选取的隧道发送至目标路由器。或者,在增加策略路由时,由第一边界路由器经过各个隧道到达目标路由器的开销值,选择开销值最小的隧道对应的路由作为策略路由进行添加,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,根据策略路由将流量通过选取的隧道发送至目标路由器。
针对每个目标路由器,如果过第一边界路由器与第二边界路由器之间建立的隧道到达该目标路由器有多条路由,则根据各个路由对应的开销值,选取一条路由,将流量通过选取的路由发送至目标路由器。这种情况属于隧道只有一条,但是经过隧道之后可以有多条路径到达目标地址,可以根据各个路由对应的路由表项的开销值,或根据策略路由进行流量的转发,处理方法和第二边界路由器有多个的情况相似,在此不再赘述。
第一边界路由器采用隧道对应的封装协议,对流量的报文进行隧道封装之后,通过隧道发送至第二边界路由器,第二边界路由器进行解封装之后发送至目标路由器。
上述实施例的方法中第一边界路由器可以根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器。进而第一边界路由器可以通过与第二边界路由器之间建立的隧道对目标路由器进行连接探测,在探测成功的情况下,如果后续收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,则将流量通过隧道发送至目标路由器。第二边界路由器与第一边界路由器均为连接第一区域和第二区域的边界路由器。上述实施例的方法可以减少链路故障场景下的流量黑洞,减少链路故障跨区域影响。在一个区域链路故障的情况下,提高网络的整体通达率,降低对另一区域到该区域的流量的可达性影响,保障用户跨区域访问业务的流量的正确疏导,提升用户业务体验。
下面结合图4描述本公开的路由确定方法的另一些实施例。
图4为本公开路由确定方法另一些实施例的流程图。如图4所示,该实施例的方法包括:步骤S402~S418。
在步骤S402中,第一边界路由器与第二边界路由器建立隧道。
可以经过第二区域内的一个或多个路由器,建立第一边界路由器与第二边界路由器之间的隧道。
在步骤S404中,第一边界路由器根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器。
在步骤S406中,第一边界路由器确定是否已经对第一区域的路由汇总信息进行广播,如果是,则执行步骤S408。
第一边界路由器可以对第一区域进行路由汇总,并将路由汇总信息广播到第二区域内的路由器。例如,OSPF场景中可以通过LSA消息(例如Type-5)进行路由汇总信息的广播。例如,第一区域内存在如下地址:172.16.1.0/24,172.16.2.0/24,172.16.3.0/24,172.16.4.0/24,172.16.5.0/24,进行路由汇总得到172.16.0.0/21。由于路由汇总信息是对多个地址汇总的结果,如果已经进行广播,当其中一个地址对应的链路故障后,第二区域的路由器根据路由汇总的信息是无法获知该故障的,由此产生路由黑洞。如果第一边界路由器没有对一区域的路由汇总信息进行广播,可以不执行后续的步骤。
在步骤S408中,第一边界路由器确定第一区域的路由汇总信息是否包含目标路由器对应的地址信息,如果是,则执行步骤S410。
如果目标路由器对应的地址不包含在路由汇总信息内,则可以不执行后续步骤。如果第一边界路由器没有对一区域的路由汇总信息进行广播或者路由汇总信息不包含目标路由器对应的地址信息,第二区域的路由器基本上就不会向第一边界路由器发送目的地址为目标路由器或者到目的地址经过目标路由器的流量,也就不需要进行后续处理。
在步骤S410中,第一边界路由器确定第二边界路由器广播的路由汇总信息是否包含目标路由器对应的地址信息,如果是,则执行步骤S412。
如果第二边界路由器广播的路由汇总信息包含目标路由器对应的地址信息,表示第二边界路由器可能可以到达目标路由器。当然,如果第二边界路由器不是进行路由汇总信息的广播,而是单独广播了可以到达目标路由器,则可以确定第二边界路由器能够到达,后续可以不执行步骤S412,而直接认为探测成功执行步骤S414。如果第二边界路由器不是进行路由汇总信息的广播,而是单独广播了其他路由器的路由信息,而没有单独广播目标路由器的路由信息,或者,第二边界路由器广播的路由汇总信息不包含目标路由器对应的地址信息,则认为第二边界路由器通过第一区域内也无法到达目标路由器,则不执行后续步骤。
上述步骤S406~S410为三个判断步骤,也可以并列执行,如果三个判断结果都为是,则执行步骤S412。如果三个判断结果中一个或多个为否,则可以不执行后续步骤。
在步骤S412中,第一边界路由器通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测。
在步骤S414中,在连接探测成功的情况下,第一边界路由器响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器。
通过隧道可以使原本经故障链路的流量经过第二区域的迂回链路进行疏导。
在步骤S416中,第一边界路由器根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器到达目标路由器链路恢复。
第一边界路由器根据链路状态消息更新路由表或策略路由,如前述实施例的方法,如果更新后不存在经过第一边界路由器和第一区域内一个或多个路由器在第一区域内无法到达的路由器,则确定第一边界路由器到达目标路由器链路恢复。
在步骤S418中,第一边界路由器将由第一边界路由器到目标路由器对应的路由表项或者策略路由删除;或者,第一边界路由器将由第一边界路由器到目标路由器对应的路由表项中到达目标路由器的开销值设置为预设值。
预设值大于由第一边界路由器经过第一区域内任意一个或多个路由器到达目标路由器的开销值。例如,将第一边界路由器经过隧道到达第二边界路由器对应的路由的开销值设置为第一区域内的最大开销值与第一边界路由器经过隧道到达第二边界路由器对应的路由的实际开销值之和。这样可以在到目标路由器链路回复的情况下,不再通过隧道进行流量的传输。
在一些实施例中,第一边界路由器还可以接收到第二边界路由器通过隧道转发送流量;在确定下一跳地址不可达的情况下,丢弃该流量。这种情况主要发生在下一跳地址突发链路故障的情境下,通过丢弃流量避免边界路由器之间形成环路,反复通过隧道传输流量。
上述实施例的方案,不改变大型网络环境下的跨区域组网原则。可基于现有路由器多种隧道能力实现,可部署性强。并且可实现多区域组网场景下,网络故障时流量及时迂回传送。减少网络故障下的流量黑洞,大幅提升用户业务体验。
本公开还提供一种边界路由器,下面结合图5进行描述。
图5为本公开边界路由器的一些实施例的结构图。如图5所示,该实施例的边界路由器50包括:确定模块510,探测模块520,发送模块520。边界路由器50作为第一边界路由器50。
确定模块510用于根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器。
在一些实施例中,确定模块510还用于在确定经过第一边界路由器在第一区域内无法到达的路由器,作为目标路由器之后,确定是否已经对第一区域的路由汇总信息进行广播;在已经对第一区域的路由汇总信息进行广播的情况下,确定第一区域的路由汇总信息是否包括目标路由器对应的地址信息;在第一区域的路由汇总信息包括目标路由器对应的地址信息的情况下,确定第二边界路由器广播的路由汇总信息是否包含目标路由器对应的地址信息;在第二边界路由器广播的路由汇总信息包含目标路由器对应的地址信息的情况下,通知探测模块520执行通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测。
在一些实施例中,确定模块510用于根据链路状态消息更新路由表或策略路由;将更新后的路由表或策略路由中的目的地址与第一区域内的路由器的地址进行比对,确定经过第一边界路由器在第一区域内无法到达的路由器。
探测模块520用于通过第一边界路由器与第二边界路由器之间建立的隧道对目标路由器进行连接探测。第一边界路由器和第二边界路由器均连接第一区域和第二区域。
发送模块530用于在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,将流量通过隧道发送至目标路由器。
在一些实施例中,发送模块530用于在连接探测成功的情况下,根据由第一边界路由器经过隧道到达目标路由器的路由,在路由表中添加路由表项或者增加策略路由;响应于接收到由第二区域的路由器发送的目的地址为目标路由器或者到目的地址经过目标路由器的流量,根据路由表项或者策略路由,将流量通过隧道发送至目标路由器。
在一些实施例中,路由表项中的目的地址被配置为流量对应的目的地址,下一跳地址被配置为隧道对应的第一边界路由器的下一跳路由器的地址;策略路由包括:由第一边界路由器经过隧道到达目标路由器的路由。
在一些实施例中,在第二边界路由器包括多个,且通过第一边界路由器分别与多个第二边界路由器之间建立的多个隧道对目标路由器进行连接探测成功的情况下,发送模块530用于确定由第一边界路由器经过各个隧道到达目标路由器的开销值,根据经过各个隧道到达目标路由器的开销值,选取一条隧道,将流量通过选取的隧道发送至目标路由器。
在一些实施例中,确定模块510还用于根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器到达目标路由器链路恢复;发送模块530还用于将路由表项或者策略路由删除;或者,将路由表项中到达目标路由器的开销值设置为预设值,其中,预设值大于由第一边界路由器经过第一区域内任意一个或多个路由器到达目标路由器的开销值。
在一些实施例中,该边界路由器50还包括:隧道建立模块540,用于经过第二区域内的一个或多个路由器,建立第一边界路由器与第二边界路由器之间的隧道。
在一些实施例中,该边界路由器50还包括:接收模块550,用于接收到第二边界路由器通过隧道转发送流量;发送模块530还用于在确定下一跳地址不可达的情况下,丢弃该流量。
本公开的实施例中的边界路由器可各由各种计算设备或计算机系统来实现,下面结合图6以及图7进行描述。
图6为本公开边界路由器的一些实施例的结构图。如图6所示,该实施例的边界路由器60包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行本公开中任意一些实施例中的路由确定方法。
其中,存储器610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。边界路由器60可以作为第一边界路由器60。
图7为本公开边界路由器的另一些实施例的结构图。如图7所示,该实施例的边界路由器70包括:存储器710以及处理器720,分别与存储器610以及处理器620类似。还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730,740,750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口750为SD卡、U盘等外置存储设备提供连接接口。边界路由器70可以作为第一边界路由器70。
本公开还提供一种路由确定系统,下面结合图8进行描述。
图8为本公开路由确定系统的一些实施例的结构图。如图8所示,该实施例的系统8包括:前述任意实施例的第一边界路由器50/60/70,以及第二边界路由器82。
第一边界路由器50/60/70与第二边界路由器82之间建立的隧道。第二边界路由器82还用于接收第一边界路由器50/60/70通过隧道转发送流量,在确定下一跳地址不可达的情况下,丢弃该流量。
系统8还可以包括:第一区域和第二区域,第一区域内包括一个或多个路由器,第二区域内包括一个或多个路由器。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (12)
1.一种路由确定方法,其中,所述路由确定方法由第一边界路由器执行,包括:
根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在所述第一区域内无法到达的路由器,作为目标路由器;
确定是否已经对第一区域的路由汇总信息进行广播;
在已经对第一区域的路由汇总信息进行广播的情况下,确定所述第一区域的路由汇总信息是否包括所述目标路由器对应的地址信息;
在所述第一区域的路由汇总信息包括所述目标路由器对应的地址信息的情况下,确定第二边界路由器广播的路由汇总信息是否包含所述目标路由器对应的地址信息;
在所述第二边界路由器广播的路由汇总信息包含所述目标路由器对应的地址信息的情况下,通过第一边界路由器与第二边界路由器之间建立的隧道对所述目标路由器进行连接探测;
在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为所述目标路由器或者到目的地址经过所述目标路由器的流量,将所述流量通过所述隧道发送至所述目标路由器;
其中,第一边界路由器和所述第二边界路由器均连接第一区域和第二区域。
2.根据权利要求1所述的路由确定方法,其中,所述在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为所述目标路由器或者到目的地址经过所述目标路由器的流量,将所述流量通过所述隧道发送至所述目标路由器包括:
在连接探测成功的情况下,根据由第一边界路由器经过所述隧道到达所述目标路由器的路由,在路由表中添加路由表项或者增加策略路由;
响应于接收到由第二区域的路由器发送的目的地址为所述目标路由器或者到目的地址经过所述目标路由器的流量,根据所述路由表项或者所述策略路由,将所述流量通过所述隧道发送至所述目标路由器。
3.根据权利要求2所述的路由确定方法,其中,
所述路由表项中的目的地址被配置为所述流量对应的目的地址,下一跳地址被配置为所述隧道对应的第一边界路由器的下一跳路由器的地址;
所述策略路由包括:由第一边界路由器经过所述隧道到达所述目标路由器的路由。
4.根据权利要求1所述的路由确定方法,其中,所述在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为所述目标路由器或者到目的地址经过所述目标路由器的流量,将所述流量通过所述隧道发送至所述目标路由器包括:
在所述第二边界路由器包括多个,且通过第一边界路由器分别与多个第二边界路由器之间建立的多个隧道对所述目标路由器进行连接探测成功的情况下,确定由第一边界路由器经过各个隧道到达所述目标路由器的开销值;
根据经过各个隧道到达所述目标路由器的开销值,选取一条隧道,将所述流量通过选取的隧道发送至所述目标路由器。
5.根据权利要求1所述的路由确定方法,其中,
所述根据第一区域内的各个路由器发送的链路状态消息确定经过第一边界路由器在所述第一区域内无法到达的路由器包括:
根据所述链路状态消息更新路由表或策略路由;
将更新后的路由表或策略路由中的目的地址与所述第一区域内的路由器的地址进行比对,确定经过第一边界路由器在所述第一区域内无法到达的路由器。
6.根据权利要求1所述的路由确定方法,还包括:
经过第二区域内的一个或多个路由器,建立所述第一边界路由器与所述第二边界路由器之间的隧道。
7.根据权利要求2所述的路由确定方法,还包括:
根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器到达所述目标路由器链路恢复;
将所述路由表项或者所述策略路由删除;或者,将所述路由表项中到达所述目标路由器的开销值设置为预设值,其中,所述预设值大于由第一边界路由器经过第一区域内任意一个或多个路由器到达所述目标路由器的开销值。
8.根据权利要求1所述的路由确定方法,还包括:
接收到所述第二边界路由器通过所述隧道转发送流量;
在确定下一跳地址不可达的情况下,丢弃该流量。
9.一种边界路由器,其中,所述边界路由器作为第一边界路由器,包括:
确定模块,用于根据第一区域内的各个路由器发送的链路状态消息,确定经过第一边界路由器在所述第一区域内无法到达的路由器,作为目标路由器,确定是否已经对第一区域的路由汇总信息进行广播,在已经对第一区域的路由汇总信息进行广播的情况下,确定第一区域的路由汇总信息是否包括目标路由器对应的地址信息,在第一区域的路由汇总信息包括目标路由器对应的地址信息的情况下,确定第二边界路由器广播的路由汇总信息是否包含目标路由器对应的地址信息;
探测模块,用于在第二边界路由器广播的路由汇总信息包含目标路由器对应的地址信息的情况下,通过第一边界路由器与第二边界路由器之间建立的隧道对所述目标路由器进行连接探测;
发送模块,用于在连接探测成功的情况下,响应于接收到由第二区域的路由器发送的目的地址为所述目标路由器或者到目的地址经过所述目标路由器的流量,将所述流量通过所述隧道发送至所述目标路由器;
其中,第一边界路由器和所述第二边界路由器均连接第一区域和第二区域。
10.一种边界路由器,其中,所述边界路由器作为第一边界路由器,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-8任一项所述的路由确定方法。
11.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
12.一种路由确定系统,包括:权利要求9-10任一项所述的第一边界路由器;以及第二边界路由器;所述第一边界路由器与第二边界路由器之间建立的隧道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010360615.0A CN113595892B (zh) | 2020-04-30 | 2020-04-30 | 路由确定方法、系统、边界路由器和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010360615.0A CN113595892B (zh) | 2020-04-30 | 2020-04-30 | 路由确定方法、系统、边界路由器和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595892A CN113595892A (zh) | 2021-11-02 |
CN113595892B true CN113595892B (zh) | 2023-03-24 |
Family
ID=78236883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010360615.0A Active CN113595892B (zh) | 2020-04-30 | 2020-04-30 | 路由确定方法、系统、边界路由器和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595892B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101036126A (zh) * | 2004-12-14 | 2007-09-12 | 思科技术公司 | 在计算机网络中边界路由器节点发生故障的情况下快速恢复的高效机制 |
CN101326762A (zh) * | 2005-10-20 | 2008-12-17 | 思科技术公司 | 在自治系统中构造和实现备用路径 |
CN101651566A (zh) * | 2009-09-15 | 2010-02-17 | 清华大学 | 一种域间链路故障解决方法 |
CN101984595A (zh) * | 2010-11-03 | 2011-03-09 | 北京星网锐捷网络技术有限公司 | 跨区域流量工程隧道建立方法、系统及装置 |
CN106656634A (zh) * | 2017-02-14 | 2017-05-10 | 国网江苏省电力公司无锡供电公司 | 电力终端通信接入网工业以太网环网双节点接入结构 |
CN107154888A (zh) * | 2017-07-03 | 2017-09-12 | 国家电网公司 | 通信网络的部署方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7586841B2 (en) * | 2005-05-31 | 2009-09-08 | Cisco Technology, Inc. | System and method for protecting against failure of a TE-LSP tail-end node |
US9678840B2 (en) * | 2014-04-29 | 2017-06-13 | Cisco Technology, Inc. | Fast failover for application performance based WAN path optimization with multiple border routers |
-
2020
- 2020-04-30 CN CN202010360615.0A patent/CN113595892B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101036126A (zh) * | 2004-12-14 | 2007-09-12 | 思科技术公司 | 在计算机网络中边界路由器节点发生故障的情况下快速恢复的高效机制 |
CN101326762A (zh) * | 2005-10-20 | 2008-12-17 | 思科技术公司 | 在自治系统中构造和实现备用路径 |
CN101651566A (zh) * | 2009-09-15 | 2010-02-17 | 清华大学 | 一种域间链路故障解决方法 |
CN101984595A (zh) * | 2010-11-03 | 2011-03-09 | 北京星网锐捷网络技术有限公司 | 跨区域流量工程隧道建立方法、系统及装置 |
CN106656634A (zh) * | 2017-02-14 | 2017-05-10 | 国网江苏省电力公司无锡供电公司 | 电力终端通信接入网工业以太网环网双节点接入结构 |
CN107154888A (zh) * | 2017-07-03 | 2017-09-12 | 国家电网公司 | 通信网络的部署方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113595892A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7433320B2 (en) | System and methods for network path detection | |
US5687168A (en) | Link state routing device in ATM communication system | |
US8817798B2 (en) | Constraining topology size and recursively calculating routes in large networks | |
US9313090B2 (en) | Tunnel fault detection method and traffic engineering node | |
EP3985941A2 (en) | Path switching method, device, and system | |
US20230231795A1 (en) | Method for Synchronizing Topology Information in SFC Network, and Routing Network Element | |
CN113615132A (zh) | 快速泛洪拓扑保护 | |
WO2014029287A1 (zh) | 隧道负荷分担方法及装置 | |
CN111327524B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
CN107018072B (zh) | 一种数据帧发送方法和接入设备 | |
CN113595892B (zh) | 路由确定方法、系统、边界路由器和计算机可读存储介质 | |
CN107409132B (zh) | 软件定义网络控制信令动态配置流分割的方法和网络节点 | |
CN102325154B (zh) | 具有容灾备份功能的网络系统及实现容灾备份功能的方法 | |
CN111447091A (zh) | 一种网络环路检测方法、装置、设备及存储介质 | |
CN104247346A (zh) | 分组交换网络中的伪线路扩展的群组消息传送 | |
CN111654440B (zh) | 一种智能选路的方法、电子设备以及存储介质 | |
CN112737937B (zh) | 信息跨域通告方法、系统和边界路由器 | |
CN103607301A (zh) | 一种ecmp方式下链路故障的保护切换方法和设备 | |
CN112751766A (zh) | 报文转发方法、装置及计算机存储介质 | |
CN111327537B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
CN116319514B (zh) | 一种数据处理方法和相关装置 | |
WO2021115162A1 (zh) | 一种链路保护方法、装置,入口节点及存储介质 | |
CN111935001B (zh) | 一种路径切换方法及节点、系统 | |
CN110740086B (zh) | 数据组播分发树切换方法、系统及装置 | |
JP5045551B2 (ja) | ルート集約装置、及び集約処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |