CN104821912B - 用于多宿主网络的无环路替换选择 - Google Patents

用于多宿主网络的无环路替换选择 Download PDF

Info

Publication number
CN104821912B
CN104821912B CN201510015382.XA CN201510015382A CN104821912B CN 104821912 B CN104821912 B CN 104821912B CN 201510015382 A CN201510015382 A CN 201510015382A CN 104821912 B CN104821912 B CN 104821912B
Authority
CN
China
Prior art keywords
network
network device
homed
router
prefix
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
Application number
CN201510015382.XA
Other languages
English (en)
Other versions
CN104821912A (zh
Inventor
P·萨卡尔
H·拉格赫弗
S·赫格德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN104821912A publication Critical patent/CN104821912A/zh
Application granted granted Critical
Publication of CN104821912B publication Critical patent/CN104821912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在一个示例中,网络设备通过考虑与从第一边界路由器到多宿主网络的第二路径相关联的第一成本以及与第二边界路由器到该多宿主网络的第二成本,来确定用于将来自该网络设备的网络流量转发给该多宿主网络的候选无环路替换(LFA)下一跳的集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部。该网络设备从候选LFA下一跳的该集合中选择一个LFA下一跳,以被存储作为用于将网络流量转发给该多宿主网络的替换下一跳,并且更新由该网络设备存储的转发信息以安装所选择的LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的该替换下一跳。

Description

用于多宿主网络的无环路替换选择
技术领域
本公开内容涉及计算机网络,并且更特别地,涉及在计算机网络内转发网络流量。
背景技术
路由协议定义了如下的过程:分组交换网络中的被称为路由器的网络设备通过该过程相互通信来散布如下的信息,该信息允许这些路由器选择计算机网络上的任何两个节点之间的路由。被称为链路状态协议的一种类型的路由协议允许路由器交换并且积累链路状态信息,即,描述网络内的各种链路的信息。利用典型的链路状态路由协议,路由器交换与关联于网络链路的可用接口、度量以及其他变量有关的信息。这允许路由器构造它自己的对网络的拓扑或映射。链路状态协议的一些示例包括开放最短路径优先(OSPF)协议以及中间系统到中间系统(IS-IS)协议。
网络上的两个设备之间的连接一般被称为链路。不同自主系统的设备之间的连接被称为外部链路,而同一自主系统内的设备之间的连接被称为内部链路。许多常规的计算机网络,包括互联网,被设计为在个体的链路失效的情况中动态地重新路由数据分组。一经链路的失效,路由器就将新的连接性信息传输给相邻设备,允许每个设备更新其本地路由表。链路可能由于任何数量的原因而失效,诸如设备之间的物理基础设施的失效,或者与该链路对接的设备的失效。
当网络中的链路或路由器失效时,使用传统链路状态协议(诸如OSPF和IS-IS)的路由器可能花费长时间来响应于由网络中的节点失效和链路失效所引起的拓扑改变而适配它们的转发表。适配转发表的过程被称为收敛(convergence)。发生这个时间延迟是因为从失效的恢复需要每个节点重新计算最短路径算法来运算针对网络中的受影响节点的下一跳。直到这些下一跳被重新计算,被发往失效的链路的流量才可以被丢弃。当前的部署花费大约500毫秒至数秒的时间用于检测网络中的失效以及从网络中的失效恢复。这些大的收敛时间可能不利地影响互联网语音(VoIP)和多媒体应用的性能,它们对流量损失极为敏感。服务提供商正在要求端到端的失效检测和恢复时间少于50毫秒。
减少失效恢复时间的一种方法是除了用于目的地的最佳下一跳之外还选择替换下一跳。与最佳下一跳一起,替换下一跳被安装在分组转发组件中。当链路失效发生时,路由器使用替换下一跳用于分组转发,直到最短路径算法已经重新计算了针对经更新的网络拓扑的下一跳并且将这些重新计算的下一跳安装在分组转发组件中。
有时候,网络设备或者子网络(子网)被提供了经由两个或更多冗余PE路由器(例如,区域边界路由器(ABR)或者自主系统边界路由器(ASBR))而通向网络的连接性。该网络设备或者子网被称为多宿主地接入该网络。冗余PE路由器之一可以是用于转发该网络设备或子网与该网络之间的流量的指定转发器。
发明内容
一般而言,本公开内容的技术提供了在网络故障之后的路由表的改进的收敛,路由表诸如当使用链路状态路由协议时实施的那些路由表,链路状态路由协议诸如开放最短路径优先(OSPF)协议和中间系统到中间系统(IS-IS)协议。具体而言,描述了如下的技术,这些技术用于在归因于失效的拓扑改变的情况中识别无环路替换(LFA)下一跳来提供对于互联网协议(IP)网络中的网络流量的本地保护的改进的方法。预先运算的无环路替换下一跳能够被用于转发网络流量直到收敛过程完成。本公开内容描述了用于选择LFA下一跳以使用用于将网络流量转发给多宿主前缀的过程。在一个方面中,一种方法包括:由网络设备通过考虑与从第一边界路由器到该多宿主网络的第一路径相关联的第一成本以及与从第二边界路由器到该多宿主网络的第二路径相关联的第二成本,来确定用于将来自该网络设备的网络流量转发给该多宿主网络的候选无环路替换(LFA)下一跳的集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部。该方法还包括:由该网络设备从候选LFA下一跳的该集合中选择一个LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳;以及由该网络设备更新该网络设备的转发信息,以安装所选择的LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的该替换下一跳。
在另一方面中,一种网络设备包括:控制单元,被配置为执行用于交换链路状态路由信息的链路状态路由协议以维护针对网络的网络拓扑;网络接口,被配置为根据该链路状态路由协议来发送和接收链路状态路由更新;以及路由选择模块,被配置为通过考虑与从第一边界路由器到多宿主网络的第二路径相关联的第一成本以及与第二边界路由器到该多宿主网络相关联的第二成本,来确定用于将来自该网络设备的网络流量转发给该多宿主网络的候选无环路替换(LFA)下一跳的集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部。该路由选择模块被配置为从候选LFA下一跳的该集合中选择一个LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳;并且该路由选择模块被配置为更新该网络设备的转发信息,以安装所选择的LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的该替换下一跳。
在另一方面中,一种计算机可读存储介质包括指令。这些指令促使网络设备的可编程处理器:通过考虑与从第一边界路由器到多宿主网络的第一路径相关联的第一成本以及与从第二边界路由器到该多宿主网络的第二路径相关联的第二成本,来确定用于将来自该网络设备的网络流量转发给该多宿主网络的一个或多个候选无环路替换(LFA)下一跳的集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部;从候选LFA下一跳的该集合中选择一个LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳;以及更新该网络设备的转发信息,以安装所选择的LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的该替换下一跳。
本公开内容的这些技术可以提供一个或多个优点。例如,本公开内容的这些技术提供了明确的不等式,使用链路状态路由协议的网络设备能够评估这些不等式来找到LFA下一跳以使用用于将网络流量转发给多宿主网络(前缀)。作为另一示例,本公开内容的这些技术相比其他所提议的方法而言可以对计算网络设备施加更少的存储器以及计算开销要求,其他所提议的方法诸如如下的方法,该方法要求网络设备实例化与被公告到当前路由域中的多宿主前缀的数量一样多的节点,并且针对每个多宿主前缀运行最短路径优先(SPF)计算。
下面在附图和描述中阐述一个或多个示例的细节。根据本描述和各示图并且根据权利要求,其他的特征、目的、以及优点将是明显的。
附图说明
图1是图示了包括被配置为采用本文所描述的这些技术用于选择无环路替换(LFA)下一跳的网络设备的示例网络的框图。
图2是图示了具有被配置为采用本文所描述的这些技术的网络设备的示例网络的框图。
图3是图示了具有本文所描述的LFA能力的示例路由器的框图。
图4是图示了网络中的一个或多个网络设备在使用本文所描述的这些技术中的操作的示例模式的流程图。
具体实施方式
图1是图示了系统10的框图,系统10包括具有网络设备12A-12S(网络设备或“节点”12)的示例网络14,网络设备12A-12S被配置为采用本文所描述的这些技术用于选择无环路替换(LFA)下一跳,以用于使用在一经主下一跳变为不可用时的网络流量的互联网协议(IP)快速重新路由中。网络设备12可以使用本文所描述的这些技术来加速网络故障之后的路由信息的收敛。
网络设备12可以是路由器,并且可以使用链路状态路由协议来交换链路状态路由信息以得知网络14的拓扑,链路状态路由协议诸如开放最短路径优先(OSPF)协议或者中间系统到中间系统(IS-IS)协议或者其他内部路由协议(IGP)。也就是说,网络设备12可以执行IGP路由协议来交换针对与网络14相关联的内部路由域的链路状态信息,而无需与该内部路由域之外的设备交换信息。尽管为了简单以及示例的目的而被示出为包括网络设备12A-12S,但是网络14可以包括另外的网络设备(未示出)。关于OSPF的进一步细节在Moy,J.的1998年4月的RFC 2328“OSPF Version 2”中找到,其全部内容通过引用并入本文。关于IS-IS的进一步细节在Callon,R.的1990年12月的RFC 1195“Use of OSI IS-IS forRouting in TCP/IP and Dual Environments”中找到,其全部内容通过引用并入本文。
网络设备12中的每个网络设备可以基于使用链路状态路由协议所交换的链路状态路由信息来运算将被用来到达系统10中的其他网络设备12的下一跳,并且可以将所运算的下一跳安装在所存储的用于转发去往这些其他节点的网络流量的转发信息中。这些下一跳可以被称为“主下一跳”。主下一跳被用于在没有任何检测到的网络失效时转发网络流量。根据本公开内容的原理,网络设备12还可以被配置为针对每个目的地节点运算并且安装替换的下一跳,以用于如果在与相应的主下一跳相关联的链路或节点上检测到失效则使用在转发网络流量中。
子网络(或者子网)是对IP网络的逻辑上可见的细分。将网络划分为两个或更多网络的实践被称为子网划分。属于一个子网的所有网络设备都以它们的IP地址中共同的、相同的、最高有效的比特组来寻址。这导致了将IP地址逻辑划分为两个字段,网络或路由前缀以及其余字段或主机标识符。该其余字段是用于具体主机或网络接口的标识符。该路由前缀通常以无类域间路由(CIDR)记号来表达。该路由前缀可以写为网络的地址,随后是斜杠字符(/),并且以该前缀的比特长度来结束。
邻居节点12C和12D可以是网络14的提供通向在网络14外部的网络(诸如被表示为前缀16的网络)的多宿主连接性的边缘路由器。因为前缀16是由邻居节点12C和12D中的任一个可到达的,所以前缀16被称为被“多宿主”接入网络14。多宿主在一些情况中可以被用来在路径中的一个路径将变为不可用的情况中提供冗余连接性。在一些示例中,邻居节点12D和12C是提供商边缘(PE)路由器,诸如区域边界路由器(ABR)或者自主系统边界路由器(ASBR)。前缀16表示一个或多个具有IP地址的网络设备(例如,路由器),这些IP地址被包括在共同的网络地址前缀中。尽管前缀16由逻辑框来表示,但是被理解的是,前缀16表示属于一个子网并且通过多个链路和一个或多个边缘路由器(未示出)而耦合至网络14的一个或多个网络设备。以这种方式,由前缀16所表示的网络构成了它自己的内部路由域,并且前缀16内的路由器可以利用链路状态IGP路由协议来交换前缀16内的链路状态信息。
如本文所描述的,例如,通过邻居节点12D和12C每个都(例如,通过链路状态路由协议)发送路由公告消息,邻居节点12D和12C可能将与前缀16相关联的路由“泄漏”到网络14的IGP路由域中,这些路由公告消息公告前缀16分别经由邻居节点12D和邻居节点12C是可到达的。一般而言,路由泄漏是指第一路由域中的路由器向该第一路由域中的其他网络设备公告与第二路由域有关的路由信息(例如,网络拓扑信息)。此外,邻居节点12D和12C可能将链路状态信息(包括与提供通向前缀16的多宿主连接性的链路相关联的成本信息)泄漏到网络14的IGP路由域中,即便前缀16和通向前缀16的链路在网络14的内部路由域之外。例如,邻居节点12D可以输出网络14内的链路状态公告以公告前缀16是经由邻居节点12D可到达的,并且可以在这些链路状态公告内规定从邻居节点12D到达前缀16的成本是0。类似地,邻居节点12C可以输出网络14内的链路状态公告以公告前缀16是经由邻居节点12C可到达的,并且可以公告从邻居节点12C到达前缀16的成本是0。如此,由网络设备12关于IGP路由域14所维护的任何IGP链路状态数据库将会包括与前缀16相关联的链路状态信息,即便该前缀在该IGP路由域外部。邻居节点12D和12C之一可以是用于转发前缀16与网络14之间的流量的指定转发器,并且另一个可以具有用于转发前缀16与网络14之间的流量的备份转发器状况。
从源节点12S的视角来看,例如,用于向前缀16发送网络流量的主路径可以被选择为通过邻居节点12E。源节点12S可以选择主下一跳,诸如沿着通向节点12D的最短路径(即,沿着具有与所有的所遍历的链路相关联的最低总成本的路径)的下一跳。在图1的示例中,源节点12S可以选择邻居节点12E作为主下一跳来使用用于将流量发送给邻居节点12D以用于到达前缀16,因为邻居节点12E是沿着通向前缀16的最短路径(即,沿着具有与所有的所遍历的链路相关联的最低总成本的路径)的下一跳。源节点12S还可以选择替换下一跳来使用用于到达前缀16,以用于使用在与邻居节点12E相关联的失效(例如,节点12S与12E之间的链路的失效、邻居节点12E它自身的失效、或者其他失效)的情况中。当路由器检测到邻近的链路失效时,该路由器可以使用一个或多个修复路径来代替失效的链路。修复路径先于后来的失效而被预先计算,所以它们能够在失效被检测到时立即被激活。
源节点12S可以被配置为使用本文所描述的这些技术来选择替换下一跳。本公开内容描述了如下的过程,这些过程用于确定给定的候选LFA下一跳在被请求并且可用时是否针对具体目的地提供链路保护或者节点保护。对于LFA而言,由源节点12S选择的替换下一跳将是无环路的,意味着该下一跳将不把流量发送给位于返回通过源节点12S的路径上的邻居节点。无环路准则是重要的,因为如果该替换路径往回通过源节点12S,则网络流量将遇到主下一跳处的失效并且将仍然被丢弃。
传统的LFA针对一些拓扑(诸如多宿主前缀)可能不提供良好的保护。本公开内容描述了用于选择针对多宿主前缀的LFA的适当LFA不等式条件的明确集合,其能够由网络设备(诸如网络设备12)实施。通过使用本公开内容的这些技术,计算网络设备能够选择为多宿主前缀提供链路保护和/或节点保护的LFA下一跳。如本文所描述的,网络14的节点12可以被配置为以在计算上高效的方式来计算无环路替换(LFA)下一跳。下面以进一步的细节来描述用于计算远程LFA下一跳的过程。
如由图1中的示例拓扑所图示的,网络设备12S应当检查路由器N是否使用网络设备12S用于通过起始路由器而到达前缀16,网络设备12S也使用该起始路由器来转发去往该前缀(例如,网络设备12D)的主流量。本公开内容提议了以下的LFA不等式的集合,用于为多宿主前缀(MHP)选择最适当的LFA。
链路保护:
PC_opt(N,PO_i)<Dist_opt(N,S)+PC_opt(S,PO_best) (1)
链路保护+仅下游路径:
PC_opt(N,PO_i)<PC_opt(S,PO_best) (2)
节点保护:
PC_opt(N,PO_i)<Dist_opt(N,E)+PC_opt(E,PO_best) (3)
其中,
S是计算路由器。
N是被评估的替换路由器。
E是位于从S到前缀P的最短路径上的主下一跳。
PO_i是被评估的多个前缀起始路由器中具体的一个。
PO_best是位于从计算网络设备12S到前缀P的最短主路径上的前缀起始路由器。
PC_opt(X,Y)是从节点X经由起始路由器Y到达前缀P的成本。
Dist_opt(X,Y)是从节点X到节点Y的最短路径上的距离。
为了针对给定的多宿主前缀16计算有效LFA,计算网络设备12S针对每个替换邻居N来评估LFA不等式1-3的集合中的被发现适合于所要求的保护类型的至少一个,针对起始于该前缀的每个远程节点一次(例如,针对邻居节点12C和12D中的每个邻居节点一个)。如果该不等式由任何邻居节点N针对任何远程前缀起始节点所满足,则网络设备12S应该将邻居节点N添加至针对前缀16的有效候选LFA的集合。LFA不等式1-3中的每个LFA不等式都使用前缀成本PC_opt(X,Y),即从节点X经由起始路由器Y到达该前缀的成本。该前缀成本不仅包括该节点的成本,而且包括起始于在网络拓扑中在计算路由器的路由域外部的该前缀的成本。以这种方式,该计算网络设备在确定候选LFA下一跳的集合时将从边界路由器到前缀的成本纳入考虑,其中该前缀关联于与该计算路由器不同的路由域(例如,区域或者自主系统)。
上面的LFA不等式集合中的这些不等式能够由图1的示例拓扑中的网络设备12S应用如下。例如,网络设备12S能够使用上面的不等式1来确定邻居节点12A是否针对前缀16提供链路保护如下:
对于12D:PC_opt(12A,12D)<Dist_opt(12A,12S)+PC_opt(12S,12D)
30 10 20
准则未满足
对于12C:PC_opt(12A,12C)<Dist_opt(12A,12S)+PC_opt(12S,12D)
20 10 20
准则被满足
基于对上面的LFA不等式的应用,网络设备12A被正确地选取作为有效的链路保护LFA。
作为另一示例,网络设备12S能够使用上面的不等式1来确定邻居节点12A是否针对前缀16提供节点保护如下:
对于12D:PC_opt(12A,12D)<Dist_opt(12A,12E)+PC_opt(12E,12D)
30 20 10
准则未满足
对于12C:PC_opt(12A,12C)<Dist_opt(12A,12E)+PC_opt(12E,12D)
20 20 10
准则被满足
基于对上面的LFA不等式的应用,网络设备12A被正确地选取作为有效的节点保护LFA。
图2是图示了具有被配置为采用本文所描述的这些技术的网络设备的示例系统20的框图。图2图示了与图1中相同的系统,但是具有不同的链路度量。在图2的示例中,相比于对于图1的示例中的相同链路而言的0成本,邻居节点12C与前缀P之间的链路具有30的成本。在图2的示例拓扑中,相同的不等式能够由网络设备12S应用如下:
链路保护:
对于12D:PC_opt(12A,12D)<Dist_opt(12A,12S)+PC_opt(12S,12D)
30 10 20
准则未满足
对于12C:PC_opt(12A,12C)<Dist_opt(12A,12S)+PC_opt(12S,12D)
50 10 20
准则未满足
基于对上面的LFA不等式的应用,路由器12A正确地没有被选取作为有效的链路保护LFA。
节点保护:
对于12D:PC_opt(12A,12D)<Dist_opt(12A,12E)+PC_opt(12E,12D)
30 20 10
准则未满足
对于12C:PC_opt(12A,12C)<Dist_opt(12A,12E)+PC_opt(12E,12D)
50 20 10
准则未满足
基于对上面的LFA不等式的应用,路由器12A正确地没有被选取作为有效的节点保护LFA。
本公开内容的这些技术提供了明确的不等式,使用链路状态路由协议的网络设备能够评估这些不等式来找到用于多宿主前缀的LFA。本公开内容中所提议的机制提供了将会为这样的前缀提供最适当LFA的明确且充分说明的不等式集合。
本公开内容的这些技术与其他方法相对照而言可以对计算网络设备施加更少的存储器以及计算开销要求,这些其他方法例如可能要求网络设备将所有的前缀添加至SPF树并且实例化与被公告到当前路由域中的多宿主前缀的数量一样多的节点,并且针对每个多宿主前缀运行SPF计算。将所有的前缀添加至SPF树可能在计算上是密集的,并且实施可能不是可行的。参见A.Atlas在2008年9月的RFC5286的网络工作组的“BasicSpecification for IP Fast Reroute:Loop-Free Alternates”,其全部内容通过引用并入本文。
图3是图示了具有本文所描述的无环路替换(LFA)能力的示例网络设备30的框图。网络设备30包括控制单元32,控制单元32包括耦合至转发组件35的路由组件34。网络设备30可以是,例如,路由器或者并入路由功能的网络设备。
路由组件34为进行要执行的路由操作的路由协议提供操作环境。路由组件34负责对路由信息库(RIB)40的维护,以反映网络的当前拓扑以及它所连接到的其他网络实体。特别地,路由组件34定期地更新RIB 40,以准确地反映网络的拓扑以及其他实体。根据RIB40,转发组件35维护转发信息库(FIB)44,转发信息库44将网络目的地与具体的下一跳和对应的接口端口相联系。例如,路由选择模块42分析RIB 40并且根据RIB 40来生成FIB 44。网络设备30包括接口卡36A-36N(“IFC 36”),接口卡36A-36N经由入站链路37A-37N(“入站链路37”)来接收分组并且经由出站链路38A-38N(“出站链路38”)来发送分组。IFC 36通常经由多个接口端口(未示出)而耦合至链路37、38。
路由组件34包括高层级的控制平面路由协议46A-46N(“路由协议46”)。路由协议46可以是在一个或多个处理器上执行的软件过程。在图3的示例中,路由协议46包括外部边界网关协议(eBGP)47、OSPF 46A、以及IS-IS 46N。路由组件34可以包括图3中没有示出的其他路由协议。路由协议46与内核48交互,以基于由网络设备30接收的路由协议消息来更新RIB 40和/或链路状态数据库(DB)41。作为响应,内核48的路由选择模块42基于RIB 40中所表示的网络拓扑来生成转发信息。内核48然后对转发组件35编程,以安装该转发信息作为FIB 44。
在一些示例中,可以跨越路由协议46、47中的同一路由协议的不同实例,或者跨越这些路由协议中的不同路由协议来得知路由49。例如,eBGP 47可以向OSPF 40A或IS-IS46N中的一个或两者泄漏一个或多个路由49,该一个或多个路由49与除了网络设备30位于其中的内部路由域之外的一个内部路由域相关联。作为另一示例,OSPF40A或IS-IS 46N之一的与第一内部路由域相关联的第一实例可以将一个或多个路由泄漏给OSPF 40A或IS-IS46N的与第二内部路由域相关联的第二实例。所泄漏的路由可以包括多宿主的网络路由前缀。在一些示例中,一个或多个路由协议可以通过路由表(例如,RIB 40或链路状态DB 41)来将(例如,诸如用于由图1的前缀16所表示的网络的)路由重新分发到如下的实例中,该实例参与网络设备30位于其中的当前路由域。路由组件可以按原样重新分发这些路由,或者可以经由所配置的路由策略来修改这些路由,所配置的路由策略可能修改或者可能不修改在该另一路由域中所得知的原始度量。当参与当前路由域的协议实例重新起始于其链路状态公告(LSA)中的前缀时,路由协议可以拷贝通过重新分发过程所获得的度量。
转发组件35表示提供对网络流量的高速转发的硬件和逻辑功能。转发组件35通常包括利用FIB 44所编程的一个或多个转发芯片的集合,FIB 44将网络目的地与具体的下一跳和对应的输出接口端口相映射。一般而言,当网络设备30经由入站链路37之一接收到分组时,转发组件35基于该分组内的信息通过遍历FIB 44来识别用于该数据分组的关联下一跳。转发组件35在出站链路38中的根据FIB 44而被映射至对应下一跳的出站链路上转发该分组。
路由选择模块42和LFA模块50进行协作来选择主下一跳和无环路替换(LFA)下一跳并且将主下一跳和无环路替换(LFA)下一跳安装至FIB 44。路由选择模块42在表示网络14的图形G上运行最短路径优先(SPF)运算,该最短路径优先(SPF)运算关于作为源S的网络设备30计算通向图形G中的给定目的地节点的主下一跳。这个SPF运算记为SPF(S,G)。例如,路由选择模块42可以从RIB 40获得组成图形G的信息。
运算SPF(S,G)允许路由选择模块42获得在由图形G所表示的网络14中从源节点12S到所有节点12的最优距离。这个最优距离由Distance_opt(S,D)来表示,并且还可以被使用作为对LFA下一跳的计算的一部分。路由选择模块42选择具有最优(例如,最低成本)距离的下一跳作为主下一跳,并且将所选择的主下一跳安装至FIB 44。路由选择模块42还将所选择的LFA下一跳安装到转发组件35的FIB44中。
LFA模块50使用上面所描述的LFA不等式的集合用于计算候选LFA下一跳。在一些示例中,LFA模块50能够针对每个前缀针对每个潜在的替换路由器针对每个前缀起始路由器来评估这些不等式中的一个或多个不等式。在确定提供链路保护或节点保护的候选LFA下一跳的集合时,计算路由器能够将从边界路由器到前缀的成本纳入考虑,其中该前缀被多宿主接入该计算路由器所在的网络,并且其中该前缀在与该计算路由器不同的自主系统或区域中。
在一些示例中,根据上面的用于确定提供链路保护的候选LFA下一跳的不等式1,LFA模块50确定从被评估的替换路由器N经由被评估的具体前缀起始路由器而到达前缀P的成本是否小于从替换路由器N到该计算路由器的最短路径上的距离与从该计算路由器经由位于从该计算路由器到前缀P的最短主路径上的前缀起始路由器而到达前缀P的成本之和。如果LFA模块50确定不等式1对于被评估的替换路由器N而言被满足,则LFA模块50可以选择替换路由器N作为LFA下一跳,或者LFA模块50可以将替换路由器N添加至提供链路保护的候选LFA下一跳的集合。如果没有,则LFA模块50不选择替换路由器N作为LFA下一跳,并且不将该候选路由器添加至候选LFA下一跳的该集合。
在一些示例中,根据上面的用于确定提供链路保护的候选LFA下一跳并且仅用于下游路径的不等式2,LFA模块50确定从被评估的替换路由器N经由被评估的具体前缀起始路由器而到达前缀P的成本是否小于从该计算路由器经由位于从该计算路由器到前缀P的最短主路径上的前缀起始路由器而到达前缀P的成本。如果LFA模块50确定不等式2对于被评估的替换路由器N而言被满足,则LFA模块50可以选择替换路由器N作为LFA下一跳,或者LFA模块50可以将替换路由器N添加至提供链路保护的候选LFA下一跳的集合。如果没有,则LFA模块50不选择替换路由器N作为LFA下一跳,并且不将该候选路由器添加至候选LFA下一跳的该集合。
在一些示例中,根据上面的用于确定提供节点保护的候选LFA下一跳的不等式3,LFA模块50确定从被评估的替换路由器N经由被评估的具体前缀起始路由器而到达前缀P的成本是否小于从被评估的该替换路由器到位于从该计算路由器到前缀P的最短路径上的主下一跳的最短路径上的距离与从位于从该计算路由器到前缀P的最短路径上的该主下一跳经由从该计算路由器到前缀P的最短主路径上的前缀起始路由器而到达前缀P的成本之和。如果LFA模块50确定不等式3对于被评估的替换路由器N而言被满足,则LFA模块50可以选择替换路由器N作为LFA下一跳,或者LFA模块50可以将替换路由器N添加至提供节点保护的候选LFA下一跳的集合。如果没有,则LFA模块50不选择替换路由器N作为LFA下一跳,并且不将该候选路由器添加至候选LFA下一跳的该集合。
在一些示例中,LFA模块50能够基于可以被配置在网络设备30上的各种各样的选择策略中的任何选择策略,从候选LFA下一跳的集合中的多个候选下一跳之中选择单个LFA下一跳。
图3中所图示的网络设备30的架构被示出用于示例的目的。本公开内容不限于这种架构。在其他实施例中,可以按照各种各样的方式来配置网络设备30。例如,在一个实施例中,路由组件34和转发组件35的功能中的一些功能可以被分布在IFC 36之内。
控制单元32可以单独地以软件或硬件来实施,或者可以被实施为软件、硬件、或固件的组合。例如,控制单元32可以包括执行软件指令的一个或多个处理器。在该情况中,控制单元32的各种软件模块可以包括计算机可读介质中存储、具体化、或编码的可执行指令,计算机可读介质诸如包含指令的计算机可读存储介质。在计算机可读介质中具体化或编码的指令例如当这些指令被执行时可以促使可编程处理器或其他处理器执行方法。计算机可读存储介质可以包括随机访问存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、非易失性随机访问存储器(NVRAM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质、或者其他计算机可读存储介质。
图4是图示了网络中的一个或多个网络设备在使用本文所描述的这些技术中的操作的示例模式的流程图。该网络设备可以是诸如图1和2的源节点12S的路由器或者图3的网络设备30,并且通过参考这些示例设备来描述图4以用于示例的目的。网络设备12中的每个网络设备可以基于其相应RIB 40中的链路状态路由信息来运算将被用来到达多宿主前缀16的主下一跳(55)。例如,源节点12S的LFA模块50可以选择邻居节点12E作为用于到达前缀16的主下一跳。
源节点12S的LFA模块50还可以根据本公开内容的这些技术,按照考虑从边界路由器到多宿主前缀16的成本的方式,来确定一个或多个候选无环路替换(LFA)下一跳以用于到达位于与源节点12S不同的AS或区域中的多宿主前缀16(56)。例如,LFA模块50可以使用上面给出的LFA不等式的集合中一个或多个LFA不等式,来确定提供链路保护和/或节点保护的一个或多个候选下一跳。LFA模块50(例如,从一个或多个候选LFA下一跳的集合之中)选择一个LFA下一跳以用于到达多宿主前缀16(57),诸如用于使用在与邻居节点12E相关联的失效的情况中。例如,LFA模块50在一些示例中可以选择邻居节点12A作为针对到达多宿主前缀16而提供链路保护和节点保护的LFA下一跳。LFA模块50将所选择的LFA下一跳安装在FIB 44中以用于转发去往前缀16的网络流量(58)。
在一些示例中,在主下一跳链路上需要链路保护的场合,LFA模块50根据本公开内容的这些技术来运算并选择LFA下一跳,以便于如果有可能则提供链路保护。在一些示例中,在主下一跳链路上需要节点保护的场合,LFA模块50根据本公开内容的这些技术来运算并选择LFA下一跳,以便于如果有可能则提供链路保护和/或节点保护。LFA模块50可以选择提供链路保护和节点保护两者的LFA下一跳。以这种方式,该计算网络设备在确定候选LFA下一跳的集合时将从边界路由器到前缀的成本纳入考虑,其中该前缀关联于与该计算路由器不同的区域或自主系统。
在主下一跳和替换下一跳被安装在源节点12S的转发信息中之后,并且一经接收到去往前缀16的分组,源节点12S就将会根据FIB44在通向主下一跳邻居节点12E的链路上转发这些分组(60)。一经检测到对于主下一跳已经发生了失效条件(62),源节点12S就开始使用与前缀16相关联的LFA下一跳,例如,使用邻居节点12C来转发所接收的去往目的地节点12F的分组(64)。同样,一经检测到该失效条件,源节点12S同样就开始基于已改变的网络拓扑来运算新的主下一跳和新的替换下一跳(66)。在新的主下一跳和替换下一跳被运算之后,源节点12S将该主下一跳和替换下一跳安装在FIB 44中(68)。在该主下一跳和LFA下一跳的运算完成(70)之后,源节点12S开始使用该新的主下一跳来转发后续接收到的分组(74)。
除了上文之外或者作为上文的替换物,以下的示例被描述。以下的示例中的任何示例中所描述的特征可以与本文所描述的其他示例中的任何示例一起使用。
示例1。一种方法包括:由网络设备确定用于将来自该网络设备的网络流量转发给多宿主网络的一个或多个候选无环路替换(LFA)下一跳的集合,其中确定候选LFA下一跳的该集合包括:基于与从第一边界路由器到该多宿主网络的第一路径相关联的第一成本以及与从第二边界路由器到该多宿主网络的第二路径相关联的第二成本,来确定候选LFA下一跳的该集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部;由该网络设备从候选LFA下一跳的该集合中选择一个LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳;以及由该网络设备更新该网络设备的转发信息,以安装所选择的LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳。
示例2。示例1的该方法,其中确定候选LFA下一跳的该集合包括:确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本是否小于从该替换路由器到该网络设备的最短路径上的距离与从该网络设备经由位于从该网络设备到该多宿主网络的最短主路径上的前缀起始路由器而到达该多宿主网络的成本之和。
示例3。示例2的该方法,进一步包括:响应于确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本小于从该替换路由器到该网络设备的最短路径上的距离与从该网络设备经由位于从该网络设备到该多宿主网络的最短主路径上的前缀起始路由器而到达该多宿主网络的成本之和,将该替换路由器添加至提供链路保护的候选LFA下一跳的集合。
示例4。示例1-3的任何组合的该方法,其中确定候选LFA下一跳的该集合包括:确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本是否小于从该网络设备经由位于从该网络设备到该多宿主网络的最短主路径上的前缀起始路由器而到达该多宿主网络的成本。
示例5。示例4的该方法,进一步包括:响应于确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本小于从该网络设备经由位于从该网络设备到该多宿主网络的最短主路径上的该前缀起始路由器而到达该多宿主网络的成本,将该替换路由器添加至提供链路保护并且满足下游条件的候选LFA下一跳的集合。
示例6。示例1-5的任何组合的该方法,其中确定候选LFA下一跳的该集合包括:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达该多宿主网络的成本是否小于从被评估的该替换路由器到位于从该网络设备到该多宿主网络的最短路径上的主下一跳的最短路径上的距离与从位于从该网络设备到该多宿主网络的最短路径上的该主下一跳经由位于从该网络设备到该多宿主网络的最短主路径上的该前缀起始路由器而到达多宿主网络的成本之和。
示例7。示例6的该方法,进一步包括:响应于确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本小于从被评估的该替换路由器到位于从该网络设备到该多宿主网络的最短路径上的该主下一跳的最短路径上的距离与从位于从该网络设备到该多宿主网络的最短路径上的该主下一跳经由位于从该网络设备到该多宿主网络的最短主路径上的该前缀起始路由器而到达多宿主网络的成本之和,将该替换路由器添加至提供节点保护的候选LFA下一跳的集合。
示例8。示例1-7的任何组合的该方法,进一步包括:由该网络设备基于使用链路状态路由协议来交换的链路状态路由信息,来选择主下一跳以在将来自该网络设备的网络流量转发给该多宿主网络中使用。
示例9。示例8的该方法,进一步包括:接收去往该多宿主网络的网络流量;以及当该主下一跳可操作时,使用该主下一跳来将该网络流量转发给该多宿主网络;并且当该主下一跳不可操作时,使用所选择的LFA下一跳来将该网络流量转发给该多宿主网络。
示例10。示例1-9的任何组合的该方法,进一步包括:将该主下一跳安装在该网络设备的转发信息中,以用于将来自该网络设备的网络流量转发给该多宿主网络。
示例11。示例1-10的任何组合的该方法,进一步包括:由该网络设备从起始于该多宿主网络的边界路由器接收路由公告,其中该路由公告指定路由前缀以及与从该边界路由器到该路由前缀的路径相关联的成本。
示例12。示例1-11的任何组合的该方法,其中所选择的LFA下一跳向位于从该网络设备到该多宿主网络的最短路径上的主下一跳节点提供节点保护。
示例13。示例1-12的任何组合的该方法,其中所选择的LFA下一跳在从该网络设备到该多宿主网络的最短路径上提供链路保护。
示例14。一种网络设备包括:控制单元,被配置为执行用于交换链路状态路由信息的链路状态路由协议以维护针对该网络设备被定位在其内的内部路由域的网络拓扑;物理接口,被配置为根据该链路状态路由协议来发送和接收链路状态路由更新;以及路由选择模块,被配置为确定用于将来自该网络设备的网络流量转发给多宿主网络的一个或多个候选无环路替换(LFA)下一跳的集合,其中该路由选择模块基于与从第一边界路由器到该多宿主网络的第一路径相关联的第一成本以及与从第二边界路由器到该多宿主网络的第二路径相关联的第二成本,来确定候选LFA下一跳的该集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部,其中该路由选择模块被配置为从候选LFA下一跳的该集合中选择一个LFA下一跳并且将所选择的LFA下一跳安装在该网络设备的转发信息内作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳。
示例15。示例14的该网络设备,其中该路由选择模块被配置为,确定从被评估的替换路由器经由被评估的前缀起始路由器而到达该多宿主网络的成本是否小于从该替换路由器到该网络设备的最短路径上的距离与从该网络设备经由位于从该网络设备到多宿主网络的最短主路径上的该前缀起始路由器而到达该多宿主网络的成本之和。
示例16。示例15的该网络设备,其中该路由选择模块被配置为,响应于确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本小于从该替换路由器到该网络设备的最短路径上的距离与从该网络设备经由位于从该网络设备到多宿主网络的最短主路径上的该前缀起始路由器而到达该多宿主网络的成本之和,将该替换路由器添加至提供链路保护的候选LFA下一跳的集合。
示例17。示例14-16的任何组合的该网络设备,其中该路由选择模块被配置为,其中确定从被评估的替换路由器经由被评估的前缀起始路由器而到达该多宿主网络的成本是否小于从该网络设备经由位于从该网络设备到多宿主网络的最短主路径上的该前缀起始路由器而到达该多宿主网络的成本。
示例18。示例17的该网络设备,其中该路由选择模块被配置为,响应于确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本小于从该网络设备经由位于从该网络设备到多宿主网络的最短主路径上的该前缀起始路由器而到达该多宿主网络的成本,将该替换路由器添加至提供链路保护并且满足下游条件的候选LFA下一跳的集合。
示例19。示例14-18的任何组合的该网络设备,其中该路由选择模块被配置为,确定从被评估的替换路由器经由被评估的前缀起始路由器而到达该多宿主网络的成本是否小于从被评估的该替换路由器到位于从该网络设备到该多宿主网络的最短路径上的主下一跳的最短路径上的距离与从位于从该网络设备到该多宿主网络的最短路径上的该主下一跳经由位于从该网络设备到该多宿主网络的最短主路径上的前缀起始路由器而到达该多宿主网络的成本之和。
示例20。示例14-19的该网络设备,其中该路由选择模块被配置为,响应于确定从被评估的该替换路由器经由被评估的该前缀起始路由器而到达该多宿主网络的成本小于从被评估的该替换路由器到位于从该网络设备到该多宿主网络的最短路径上的该主下一跳的最短路径上的距离与从位于从该网络设备到该多宿主网络的最短路径上的该主下一跳经由位于从该网络设备到该多宿主网络的最短主路径上的该前缀起始路由器而到达该多宿主网络的成本之和,将该替换路由器添加至提供节点保护的候选LFA下一跳的集合。
示例21。示例14-20的任何组合的该网络设备,其中该路由选择模块被配置为,基于使用链路状态路由协议来交换的链路状态路由信息,来选择主下一跳以在将来自该网络设备的网络流量转发给该多宿主网络中使用。
示例22。示例14-21的任何组合的该网络设备,进一步包括:转发组件,用以接收去往与该路由前缀相关联的目的地的网络流量,其中当该主下一跳可操作时,该转发组件使用该主下一跳来将该网络流量转发给该路由前缀;并且其中当该主下一跳不可操作时,该转发组件使用该LFA下一跳来将该网络流量转发给该路由前缀。
示例23。示例14-22的任何组合的该网络设备,其中该路由选择模块被配置为,将该主下一跳安装在该网络设备的转发信息中,以用于将来自该网络设备的网络流量转发给该路由前缀。
示例24。一种包括指令的计算机可读存储介质,这些指令用于促使网络设备的可编程处理器:通过考虑与从第一边界路由器到多宿主网络的第一路径相关联的第一成本以及与从第二边界路由器到该多宿主网络的第二路径相关联的第二成本,来确定用于将来自该网络设备的网络流量转发给该多宿主网络的一个或多个候选无环路替换(LFA)下一跳的集合,其中该多宿主网络在该网络设备位于其中的内部路由域的外部;从候选LFA下一跳的该集合中选择一个LFA下一跳,作为用于将来自该网络设备的网络流量转发给该多宿主网络的替换下一跳;以及更新该网络设备的转发信息,以安装所选择的LFA下一跳作为用于将来自该网络设备的网络流量转发给该多宿主网络的该替换下一跳。
本公开内容中所描述的这些技术可以至少部分地以硬件、软件、固件、或者它们的任何组合来实施。例如,所描述的技术的各种方面可以被实施在一个或多个处理器内,该一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者任何其他等效集成或分立逻辑电路、以及这样的组件的任何组合。术语“处理器”或“处理电路”可以一般性地指代前述逻辑电路中的单独的或者与其他逻辑电路相组合的任何逻辑电路,或者任何其他等效电路。包括硬件的控制单元也可以执行本公开内容的这些技术中的一种或多种技术。
这样的硬件、软件、以及固件可以被实施在相同的设备内或者分离的设备内,以支持本公开内容中所描述的各种操作和功能。另外,所描述的单元、模块、或组件中的任何一项可以一起被实施或者分离地被实施为分立但是可互操作的逻辑设备。将不同特征描绘为模块或单元意图为突出不同的功能方面,并且不必然暗示这样的模块或单元必须由分离的硬件或软件组件来实现。更确切地,与一个或多个模块或单元相关联的功能可以由分离的硬件或软件组件来执行,或者被集成在共同或分离的硬件或软件组件内。
本公开内容中所描述的这些技术也可以被具体化或编码在包含指令的计算机可读介质(诸如计算机可读存储介质)中。被嵌入或编码在计算机可读介质中的指令,例如,当这些指令被执行时,可以促使可编程处理器或其他处理器执行方法。计算机可读介质可以包括非瞬态计算机可读存储介质和瞬变通信介质。计算机可读存储介质(其是有形且非瞬态的)可以包括随机访问存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质、或者其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”指代物理存储介质,并且不是信号、载波、或者其他瞬变介质。
此外,在上面所描述的示例中的任何示例中阐述的具体特征中的任何特征可以被组合到所描述的技术的有益示例中。也就是说,这些具体特征中的任何特征一般性地可应用至所有的示例。各种示例已经被描述。

Claims (22)

1.一种方法,包括:
由网络设备确定用于将来自所述网络设备的网络流量转发给多宿主网络的、提供节点保护的一个或多个候选无环路替换(LFA)下一跳的集合,其中确定提供节点保护的候选LFA下一跳的所述集合包括:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达所述多宿主网络的成本,是否小于从被评估的所述替换路由器到位于从所述网络设备到所述多宿主网络的最短路径上的主下一跳的最短路径上的距离、与从位于从所述网络设备到所述多宿主网络的最短路径上的所述主下一跳经由位于从所述网络设备到所述多宿主网络的最短主路径上的所述前缀起始路由器而到达多宿主网络的成本之和,其中所述多宿主网络在所述网络设备位于其中的内部路由域的外部;
由所述网络设备从提供节点保护的候选LFA下一跳的所述集合中选择LFA下一跳,作为用于将来自所述网络设备的网络流量转发给所述多宿主网络的替换下一跳;以及
由所述网络设备更新所述网络设备的转发信息,以安装所选择的LFA下一跳,作为用于将来自所述网络设备的网络流量转发给所述多宿主网络的所述替换下一跳。
2.根据权利要求1所述的方法,进一步包括:
确定提供链路保护的候选LFA下一跳的集合,其中确定提供链路保护的候选LFA下一跳的所述集合包括:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达所述多宿主网络的成本,是否小于从所述替换路由器到所述网络设备的最短路径上的距离、与从所述网络设备经由位于从所述网络设备到多宿主网络的最短主路径上的所述前缀起始路由器而到达所述多宿主网络的成本之和。
3.根据权利要求2所述的方法,进一步包括:
响应于确定从被评估的所述替换路由器经由被评估的所述前缀起始路由器而到达所述多宿主网络的所述成本,小于从所述替换路由器到所述网络设备的所述最短路径上的所述距离、与从所述网络设备经由位于从所述网络设备到多宿主网络的所述最短主路径上的所述前缀起始路由器而到达所述多宿主网络的所述成本之和,将所述替换路由器添加至提供链路保护的候选LFA下一跳的所述集合。
4.根据权利要求1所述的方法,进一步包括:
确定提供链路保护并且满足下游条件的候选LFA下一跳的集合,其中确定提供链路保护并且满足下游条件的候选LFA下一跳的所述集合包括:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达所述多宿主网络的成本,是否小于从所述网络设备经由位于从所述网络设备到多宿主网络的最短主路径上的所述前缀起始路由器而到达所述多宿主网络的成本。
5.根据权利要求4所述的方法,进一步包括:
响应于确定从被评估的所述替换路由器经由被评估的所述前缀起始路由器而到达所述多宿主网络的所述成本,小于从所述网络设备经由位于从所述网络设备到多宿主网络的所述最短主路径上的所述前缀起始路由器而到达所述多宿主网络的所述成本,将所述替换路由器添加至提供链路保护并且满足下游条件的候选LFA下一跳的所述集合。
6.根据权利要求1所述的方法,进一步包括:
响应于确定从被评估的所述替换路由器经由被评估的所述前缀起始路由器而到达所述多宿主网络的所述成本,小于从被评估的所述替换路由器到位于从所述网络设备到所述多宿主网络的所述最短路径上的所述主下一跳的所述最短路径上的所述距离、与从位于从所述网络设备到所述多宿主网络的所述最短路径上的所述主下一跳经由位于从所述网络设备到所述多宿主网络的所述最短主路径上的所述前缀起始路由器而到达多宿主网络的所述成本之和,将所述替换路由器添加至提供节点保护的候选LFA下一跳的所述集合。
7.根据权利要求1所述的方法,进一步包括:由所述网络设备基于使用链路状态路由协议来交换的链路状态路由信息,来选择主下一跳以在将来自所述网络设备的网络流量转发给所述多宿主网络中使用。
8.根据权利要求7所述的方法,进一步包括:
接收去往所述多宿主网络的网络流量;以及
当所述主下一跳可操作时,使用所述主下一跳来将所述网络流量转发给所述多宿主网络;并且
当所述主下一跳不可操作时,使用所选择的LFA下一跳来将所述网络流量转发给所述多宿主网络。
9.根据权利要求1-8中任一项所述的方法,进一步包括:由所述网络设备从所述前缀起始路由器接收路由公告,其中所述路由公告指定用于所述多宿主网络的路由前缀、以及与从所述前缀起始路由器到所述多宿主网络的路径相关联的成本。
10.根据权利要求1-8中任一项所述的方法,其中所选择的LFA下一跳向位于从所述网络设备到所述多宿主网络的所述最短路径上的主下一跳节点提供节点保护。
11.根据权利要求1-8中任一项所述的方法,其中所选择的LFA下一跳在从所述网络设备到所述多宿主网络的所述最短路径上提供链路保护。
12.一种网络设备,包括:
控制单元,被配置为执行用于交换链路状态路由信息的链路状态路由协议,以维护针对所述网络设备被定位在其内的内部路由域的网络拓扑;
物理接口,被配置为根据所述链路状态路由协议,来发送和接收链路状态路由更新;以及
路由选择模块,被配置为通过以下来确定用于将来自所述网络设备的网络流量转发给多宿主网络的、提供节点保护的一个或多个候选无环路替换(LFA)下一跳的集合:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达所述多宿主网络的成本,是否小于从被评估的所述替换路由器到位于从所述网络设备到所述多宿主网络的最短路径上的主下一跳的最短路径上的距离、与从位于从所述网络设备到所述多宿主网络的最短路径上的所述主下一跳经由位于从所述网络设备到所述多宿主网络的最短主路径上的所述前缀起始路由器而到达多宿主网络的成本之和,
其中所述多宿主网络在所述网络设备位于其中的内部路由域的外部,
其中所述路由选择模块被配置为:从提供节点保护的候选LFA下一跳的所述集合中选择LFA下一跳,并且将所选择的LFA下一跳安装在所述网络设备的转发信息内,作为用于将来自所述网络设备的网络流量转发给所述多宿主网络的替换下一跳。
13.根据权利要求12所述的网络设备,其中所述路由选择模块进一步被配置为:
确定提供链路保护的候选LFA下一跳的集合,其中确定提供链路保护的候选LFA下一跳的所述集合包括:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达所述多宿主网络的成本,是否小于从所述替换路由器到所述网络设备的最短路径上的距离、与从所述网络设备经由位于从所述网络设备到多宿主网络的最短主路径上的所述前缀起始路由器而到达所述多宿主网络的成本之和。
14.根据权利要求13所述的网络设备,其中所述路由选择模块进一步被配置为:
响应于确定从被评估的所述替换路由器经由被评估的所述前缀起始路由器而到达所述多宿主网络的所述成本,小于从所述替换路由器到所述网络设备的所述最短路径上的所述距离、与从所述网络设备经由位于从所述网络设备到多宿主网络的所述最短主路径上的所述前缀起始路由器而到达所述多宿主网络的所述成本之和,将所述替换路由器添加至提供链路保护的候选LFA下一跳的所述集合。
15.根据权利要求12所述的网络设备,其中所述路由选择模块进一步被配置为:
确定提供链路保护并且满足下游条件的候选LFA下一跳的集合,其中确定提供链路保护并且满足下游条件的候选LFA下一跳的所述集合包括:确定从被评估的替换路由器经由被评估的前缀起始路由器而到达所述多宿主网络的成本,是否小于从所述网络设备经由位于从所述网络设备到多宿主网络的最短主路径上的所述前缀起始路由器而到达所述多宿主网络的成本。
16.根据权利要求15所述的网络设备,其中所述路由选择模块进一步被配置为:
响应于确定从被评估的所述替换路由器经由被评估的所述前缀起始路由器而到达所述多宿主网络的所述成本,小于从所述网络设备经由位于从所述网络设备到多宿主网络的所述最短主路径上的所述前缀起始路由器而到达所述多宿主网络的所述成本,将所述替换路由器添加至提供链路保护并且满足下游条件的候选LFA下一跳的所述集合。
17.根据权利要求12所述的网络设备,其中所述路由选择模块进一步被配置为:
响应于确定从被评估的所述替换路由器经由被评估的所述前缀起始路由器而到达所述多宿主网络的所述成本,小于从被评估的所述替换路由器到位于从所述网络设备到所述多宿主网络的所述最短路径上的所述主下一跳的所述最短路径上的所述距离、与从位于从所述网络设备到所述多宿主网络的所述最短路径上的所述主下一跳经由位于从所述网络设备到所述多宿主网络的所述最短主路径上的所述前缀起始路由器而到达多宿主网络的所述成本之和,将所述替换路由器添加至提供节点保护的候选LFA下一跳的所述集合。
18.根据权利要求12所述的网络设备,其中所述路由选择模块进一步被配置为:基于使用链路状态路由协议来交换的链路状态路由信息,来选择主下一跳以在将来自所述网络设备的网络流量转发给所述多宿主网络中使用。
19.根据权利要求18所述的网络设备,进一步包括:
转发组件,被配置为接收去往所述多宿主网络的网络流量;并且
其中所述转发组件被配置为:当所述主下一跳可操作时,使用所述主下一跳来将所述网络流量转发给所述多宿主网络;并且
其中所述转发组件被配置为:当所述主下一跳不可操作时,使用所选择的LFA下一跳来将所述网络流量转发给所述多宿主网络。
20.根据权利要求12-19中任一项所述的网络设备,其中所述物理接口进一步被配置为:从所述前缀起始路由器接收路由公告,其中所述路由公告指定用于所述多宿主网络的路由前缀、以及与从所述前缀起始路由器到所述多宿主网络的路径相关联的成本。
21.根据权利要求12-19中任一项所述的网络设备,其中所选择的LFA下一跳向位于从所述网络设备到所述多宿主网络的所述最短路径上的主下一跳节点提供节点保护。
22.根据权利要求12-19中任一项所述的网络设备,其中所选择的LFA下一跳在从所述网络设备到所述多宿主网络的所述最短路径上提供链路保护。
CN201510015382.XA 2014-02-04 2015-01-12 用于多宿主网络的无环路替换选择 Active CN104821912B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/172,804 2014-02-04
US14/172,804 US9485180B2 (en) 2014-02-04 2014-02-04 Loop free alternate selection for multi-homed networks

Publications (2)

Publication Number Publication Date
CN104821912A CN104821912A (zh) 2015-08-05
CN104821912B true CN104821912B (zh) 2020-02-21

Family

ID=52462817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510015382.XA Active CN104821912B (zh) 2014-02-04 2015-01-12 用于多宿主网络的无环路替换选择

Country Status (3)

Country Link
US (1) US9485180B2 (zh)
EP (1) EP2903211B1 (zh)
CN (1) CN104821912B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9391876B2 (en) * 2014-03-18 2016-07-12 Telefonaktiebolaget L M Ericsson (Publ) Better alternate paths for multi homed IS-IS prefixes
US10313225B1 (en) * 2014-05-09 2019-06-04 Amazon Technologies, Inc. Scalable routing service
US9455917B2 (en) * 2014-05-27 2016-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Simplified approach to verify LFAS in deployment
US9485173B2 (en) * 2014-06-13 2016-11-01 Telefonaktiebolaget L M Ericsson (Publ) Optimization to expand IS-IS leaf nodes during LFA computation
US9660825B2 (en) * 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9942787B1 (en) 2016-03-22 2018-04-10 Amazon Technologies, Inc. Virtual private network connection quality analysis
US10171308B2 (en) * 2016-08-20 2019-01-01 International Business Machines Corporation Dynamic cable-linkage management
CN109842574B (zh) * 2017-11-28 2020-07-17 中国科学院声学研究所 一种基于可编程网络技术的多宿主网络路由转发方法
CN109495320B (zh) * 2018-12-24 2021-12-24 新华三技术有限公司 一种数据报文的传输方法和装置
CN110380960B (zh) * 2019-07-31 2021-05-18 迈普通信技术股份有限公司 一种备份路径确定方法、装置、网络设备及存储介质
CN111953606B (zh) * 2020-07-14 2022-06-21 锐捷网络股份有限公司 一种路由迭代循环检测方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583589B2 (en) * 2007-03-15 2009-09-01 Cisco Technology, Inc. Computing repair path information
US8456982B2 (en) * 2010-08-26 2013-06-04 Verizon Patent And Licensing Inc. System and method for fast network restoration

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FISFILS C.Loop-Free Alternate(LFA) Applicability in Service Provider(SP) Networks *
rfc6571.《IETF》.2012,全文. *

Also Published As

Publication number Publication date
CN104821912A (zh) 2015-08-05
US20150222545A1 (en) 2015-08-06
EP2903211B1 (en) 2018-04-25
EP2903211A1 (en) 2015-08-05
US9485180B2 (en) 2016-11-01

Similar Documents

Publication Publication Date Title
CN104821912B (zh) 用于多宿主网络的无环路替换选择
US10541905B2 (en) Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment
US11722401B2 (en) Method and apparatus for processing transmission path fault, and system
US9853854B1 (en) Node-protection and path attribute collection with remote loop free alternates
US8165121B1 (en) Fast computation of loop free alternate next hops
US8908676B2 (en) Automatically detecting best paths from shadow route reflectors
US20170093611A1 (en) Egress node protection in evpn all-active topology
US8111616B2 (en) Constructing a repair path in the event of failure of an inter-routing domain system link
US10659290B1 (en) RSVP local protection signaling reduction
CN109218197B (zh) 分段路由中的冲突解决方法及路由器
US8379511B2 (en) System for securing the access to a destination in a virtual private network
US11516111B2 (en) Interior gateway protocol (IGP) for segment routing (SR) proxy segment identifiers (SIDS)
KR20130109141A (ko) 계층적 라벨 적층을 이용하여 ldp 컨버전스를 개선하기 위한 방법 및 장치
CN113452610B (zh) 跨城域网的无缝端到端分段路由的方法及区域边界路由器
US9350654B1 (en) Microloop protection for multi-protocol label switching paths
CN113826362B (zh) 用于域间分段路由的传输端点分段
CN113810275B (zh) 发送报文的方法及设备
CN114041279B (zh) 用于对igp分区进行抽象化的系统和方法
WO2022042610A1 (zh) 信息处理方法、网络控制器、节点及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant