利用服务标签的mpls的环路防止技术的制作方法

文档序号:7635541阅读:264来源:国知局
专利名称:利用服务标签的mpls的环路防止技术的制作方法
技术领域
本发明一般地涉及在专用路由域之间路由数据,更具体而言涉及一种 在节点或链路发生故障的情况下迅速高效地将网络流量重路由到邻居出口 点的快速重路由(FRR)技术。10背景技术计算机网络是诸如局域网(LAN)这样的在网络节点之间传输数据的 互连子网的地理上分布的集合。这里所使用的网络节点是适合于在计算机 网络中发送和/或接收数据的任何设备。因此,在此上下文中,"节点"和 "设备"可互换使用。网络拓扑被定义为一般通过一个或多个诸如路由器15和交换机之类的中间节点与彼此通信的网络节点的布置。除了网络内通信 之外,数据还可在邻居(即邻近)网络之间被交换。为此,位于计算机网 络的逻辑外边界处的"边缘设备"可适合于发送和接收网络间通信。网络 间和网络内通信一般都是通过根据预定协议交换离散的数据分组来实现 的。在此上下文中,协议由限定网络节点如何与彼此交互的一组规则构20 成。每个数据分组一般包括被至少一个根据网络通信协议格式化的网络头 部前插("封装")的"有效载荷"数据。网络头部包括使得网络节点能 够高效地通过计算机网络路由分组的信息。通常,分组的网络头部包括传 输控制协议/因特网协议(TCP/IP)参考模型所定义的数据链路(第2层) 25 头部、互联网(第3层)头部和传输(第4层)头部。TCP/IP参考模型一 般在2003年出版的Andrew Tanenbaum所著的题为Compiler JVe^woW^, Foz/r说的参考书的第1.4.2节中有更详细描述,特此通过引用将该 书内容并入,就好像在这里完全阐述了一样。数据分组可发源于源节点处,然后沿着一条逻辑数据路径从一个节点 "跳"到另一个节点,直到它到达其寻址的目的地节点。限定数据流的逻 辑数据路径的网络地址经常作为因特网协议(IP)地址被存储在分组的互 联网头部中。IP地址一般是根据IP版本4 (IPv4)协议来格式化的,在该协议中,网络节点是利用32位(四字节)值来寻址的。具体而言,IPv4 5 地址由0到255之间的四个数字来表示,每个数字通常由一个"点"来定 界。子网可被分派到包含预定范围的IPv4地址的IP地址空间。例如,示 例性的子网可被分配以地址空间128.0.10.*,其中星号是一个通配符,它 可区分子网中多达254个个体节点(0和255是保留值)。例如,子网中 的第一节点可被分派到IP地址128.0.10.1,而第二节点可被分派到IP地址 10 128.0.10.2。子网与子网掩码相关联,子网掩码可用于从子网的分配的地址空间内 的IP地址中选择一组邻接的高位。子网掩码长度表明子网掩码所选择的邻 接高位的数目,下文中将N位的子网掩码长度表示为/N。给定子网的子网 掩码长度一般是基于在该子网中明确地寻址节点所需的位数来选择的。子15 网掩码及其使用在2000年1月出版的Radia Perlman所著的题为 /n/e/ro朋ecrto朋SecowJ五&'rio"的参考书的第9章中有更一般化的描述,特 此通过引用将该书内容并入,就好像在这里完全阐述了一样。例如,假定示例性的子网被分派以IP地址空间128.0.10.4,并且该子 网包含两个可寻址的(可达的)网络节点。在这种情况下,为了标识子网20128.0.10.4需要30个地址位,并且为了在子网中明确地寻址两个节点中的 任何一个需要剩余的两个地址位。从而,子网可与/30的子网掩码长度相 关联,因为为了唯一地寻址此子网只需要IP地址的前30个最高有效位。 这里所使用的"地址前缀"被定义为向网络地址应用子网掩码的结果。例 如,考虑地址前缀128.0.10.1 /24。在这种情况下,前缀的网络部分包含IP25地址128.0.10.1的24个最高有效位,即网络为128.0.10.0,并且后8位被 用于标识该网络上的主机。当前缀的网络部分等于IP地址的最高有效位 时,就说IP地址和地址前缀"匹配"了。 内部网关协议计算机网络可包含一个或多个子网的较小群组,这些群组可作为单独
的路由域被管理。这里所使用的路由域被广泛地解释为一个公共的管理机 构下的互连的网络节点的集合。通常,路由域由诸如公司、学术机构或政 府部门之类的单个管理实体来管理。这种中央管理的路由域有时被称为 "自治系统"。 一般来说,路由域可充当企业网络、服务提供商或任何其 5 他类型的网络或子网。此外,路由域可包含一个或多个具有到邻近路由域 中的边缘设备的"对等"连接的边缘设备。路由域中的网络节点一般被配置为根据"内部网关"路由协议利用预 定的路径转发数据,所述"内部网关"路由协议例如是传统的链路状态协 议和距离向量协议。这些内部网关协议(IGP)限定了路由信息和网络拓 10 扑信息在路由域中被交换和处理的方式。例如,IGP协议一般提供了用于 在路由域中的中间节点间分发一组可达IP子网的机制。这样,每个中间节 点接收到关于域的拓扑的一致"视图"。链路状态和距离向量协议的示例 是本领域中已知的,例如开放最短路径优先(OSPF)协议和路由信息协议(RIP),如2000年1月出版的Radia Perlman所著的题为/"terco朋ec"ow 15^coa^^/Z/Zow的参考书的第12.1-12.3节中所述,特此通过引用将该书内 容并入,就好像在这里完全阐述了一样。边界网关协议(BGP)通常被用作用于在自治系统之间路由数据的 "外部网关"路由协议。BGP协议是公知的,并且在1995年3月发表的 Y. Rekhter等人的题为^ 5orafer 尸ratoco/ 4 0G尸-"的请求注释20 (RFC) 1771中有更一般化的描述,该RFC 1771通过因特网工程任务组 (IETF)公开可用,特此通过引用将其全部并入。被称为内部BGP (iBGP)的BGP协议的变体常被用于在路由域中的具有BGP能力的边缘 设备之间分发网络间可达性信息(地址前缀)。为了实现iBGP,边缘设 备必须被"完全联网",即使得每个设备都通过TCP连接与每个其他设备 25相耦合。在实践中,传统的路由反射器被用于将设备在逻辑上耦合成一个 完全的网格。BGP协议还可被扩展以与除了标准因特网连通性之外的其他 服务兼容。例如,多协议BGP (MP-BGP)支持允许BGP消息传输多协议 信息的各种地址族标识符(AFI)字段,例如像RFC 2547服务的情况那 样。 路由域中的网络节点可检测域的拓扑的变化。例如,由于节点之间的 链路故障或者邻居节点发生故障(例如为了维修而"离线"),节点可能 变得不能与其邻居节点之一通信。如果检测到的节点或链路故障发生在路 由域内,则检测节点可利用内部网关协议(例如OSPF)将域内拓扑变化 5 通告到域中的其他节点。类似地,如果边缘设备检测到阻碍与邻居路由域 通信的节点或链路故障,则边缘设备可例如利用iBGP协议将域间拓扑变 化散布给它的其他完全联网的边缘设备。在任一种情况下,在路由域内传 播网络拓扑变化并使域中的节点收敛到关于新网络拓扑(即没有发生故障 的节点或链路)的一致视图都存在固有的延迟。 10 多协议标签交换/虚拟专用网体系结构虚拟专用网(VPN)是通过共享的骨干网络建立专用通信的网络节点 的集合。以前,VPN是通过在共享网络中嵌入专用租用线路来实现的。租 用线路(即通信链路)被预留以只用于参与VPN的那些网络节点之间的 网络流量。目前,上述VPN实现方式大多已被公共网络中部署的专用 15 "虚拟电路"所取代。具体而言,每个虚拟电路限定参与VPN的一对网 络节点之间的逻辑端到端数据路径。当该对节点位于不同的路由域中时, 多个互连的路由域中的边缘设备可能必须合作以建立节点的虚拟电路。虚拟电路例如可利用传统的第2层帧中继(FR)或异步传送模式 (ATM)网络来建立。或者,虚拟电路可利用诸如第2层隧道协议 20 (L2TP)和通用路由封装(GRE)协议之类的已知的第2层和/或第3层 隧道协议在其逻辑端点之间以"隧道"方式传输数据。在这种情况下,一 个或多个隧道头部被前插到数据分组,以沿着虚拟电路适当地路由分组。 多协议标签交换(MPLS)协议可被用作用于通过IP网络建立第2层虚拟 电路或第3层基于网络的VPN的隧道机制。 25 MPLS使得网络节点能够沿着预定的"标签交换路径"(LSP)转发分组。每条LSP限定一对源和目的地节点之间的一条逻辑数据路径,或者 说虚拟电路;位于LSP沿线的网络节点的集合可利用传统的内部网关协议 (例如OSPF)所提供的可达性信息来确定。与基于目的地IP地址来执行 节点到节点("下一跳")转发判决的传统IP路由不同,MPLS配置的节
点却是基于添加到IP分组的"标签"值(或者"tag"值)来转发数据分
组的。这样,MPLS配置的节点可执行标签査找操作以确定分组的下一跳 目的地。MPLS流量工程提供了超越基于IP的路由的额外优点,例如使得 MPLS配置的节点能够预留网络资源,例如带宽,以确保所需的服务质量 5 (QoS)。
经由LSP表示的每个目的地与LSP的每一跳处的一个本地分配的标签 值相关联,使得本地分配的标签值被通过其关联跳转发的数据分组所携 带。MPLS标签值一般是利用例如标签分发协议(LDP)、资源预留协议 (RSVP)或MP-BGP协议在LSP的节点之间分发的。从操作上来说,当
10 数据分组在MPLS配置的节点处被接收时,节点抽取分组的传输的标签 值,该标签值例如被存储在分组的封装头部中已知位置处。抽取的标签值 被用于识别向其转发分组的下一网络节点。 一般来说,IGP标签确定分组 在路由域内的下一跳,而VPN标签确定分组的跨路由域的下一跳。更一 般地说,IGP标签可以是用于识别分组在路由域中的下一跳的MPLS标签
15 或任何其他封装头部。
分组可包含标签的"栈",使得栈的最顶部的标签确定分组的下一跳 目的地。在接收到分组之后,MPLS配置的节点从标签栈中"弹出"(去 除)分组的最顶部标签,并执行标签査找操作以确定分组的下一跳目的 地。然后,节点将与分组的下一跳相关联的新标签值"推"(插入)到栈
20 的顶上,并将分组转发到其下一目的地。此过程对于沿LSP的每一逻辑跳 重复,直到分组到达其目的地节点。上述MPLS操作在2002年出版的 Stephen Thomas所著的题为TP Sw"c/n>zg awd Aowriwg五we"^^的参考书的 第7章中有更详细描述,特此通过引用将该书内容并入,就好像在这里完 全阐述了一样。
25 网络服务提供商常为一个或多个客户站点部署利用MPLS技术的第3
层基于网络的VPN服务。 一般说这些网络在提供"MPLS/VPN"服务。这 里所使用的客户站点被广泛地定义为包含至少一个耦合到服务提供商的网 络("提供商网络")中的提供商边缘(PE)设备的客户边缘(CE)设 备的路由域。客户站点可以多重归属(multi-home)到提供商网络,即其
中客户的CE设备中的一个或多个耦合到多个PE设备。PE和CE设备一
般是位于其各自网络的边缘处的中间网络节点,例如路由器或交换机。
PE-CE数据链路可通过诸如传统有线链路、光链路、无线链路之类的各种 物理介质来建立,并且可传输利用包括ATM、帧中继、以太网、光纤分 5布式数据接口 (FEEI)等在内的各种网络通信协议格式化的数据。另外, PE和CE设备可被配置为根据各种内部和外部网关协议(例如BGP、 OSPF、 RIP等等)通过其各自的PE-CE链路交换路由信息。
在传统的MPLS/VPN网络体系结构中,每个客户站点可参与一个或多 个不同的VPN。通常,每个客户站点与单个VPN相关联,下文中示例性
10 实施例将假定客户站点和VPN之间的一一对应关系。例如,由一个公共 的管理实体(例如公司企业)所拥有或管理的客户站点可被静态地分派到 该企业的VPN。这样,位于企业的各种客户站点中的网络节点参与同一 VPN,并因此被允许经由提供商网络安全地与彼此通信。换言之,提供商 网络建立必要的LSP,以互连参与企业的VPN的客户站点。同样地,提
15 供商网络还可建立互连参与其他VPN的客户站点的LSP。这种广泛部署 的MPLS/VPN体系结构一般在2001年出版的I. Pepelnjak等人所著的题为 M尸丄S am/ W。AMrcA"e"wre, Fo/i/me /的参考书的第8-9章和1999年3月发 表的E. Rosen等人的题为SG尸/M尸LS WWs的IETF公布RFC 2547中有更 详细描述,特此通过引用将上述每一文献都并入,就好像在这里完全阐述
20 了一样。
图l示出了示例性的MPLS/VPN网络100,其包含耦合到邻居的客户 站点120、 130和140的提供商网络110。提供商网络包括多个PE设备 400,其中包括设备PE1 400a、 PE2 400b和PE3 400c。 PE设备在BGP级 别是完全联网的。即,提供商网络中的每个PE设备可与每个其他PE设备 25 通信(直接地或利用BGP路由反射器)。网络100还包含"核心"提供商 (P)设备195a-d,例如路由器,它们分别被标注为Pl、 P2、 P3和P4。 这些P设备可用于在PE设备对之间建立标签交换路径。例如,提供商设 备Pl和P2可用于在PE3和PE1之间建立第一 LSP1 ,设备P3和P4可用 于在PE3和PE2之间建立第二 LSP2。
每个邻居的客户站点120-140包含附接到提供商网络110中的PE设备 的一个或多个CE设备。例如,客户站点120包含CE设备160和165 (标 注为CE1禾QCE2),它们分别耦合到PE1和PE2。类似地,客户站点130 包括附接到PE2的CE设备135 (标注为CE4),客户站点140包括附接 5 到PE3的CE设备185 (标注为CE3)。客户站点120-140被分派到各自 的VPN。为了说明,客户站点120和140被分派到VPN1,客户站点130 被分派到VPN2。在此布置中,客户站点120和140 (VPN1)中的网络节 点可能不与客户站点130 (VPN2)中的节点建立通信,反之亦然,因为它 们参与不同的VPN。但是,客户站点120中的网络节点可与客户站点140
10 中的节点通信,反之亦然,因为客户站点120禾n 140都参与VPN 1。注 意,VPN1和VPN2可包含重叠的IP地址空间。
如上所述,通信可通过MPLS/VPN网络100在参与同一 VPN (例如 VPN1)的远程客户站点之间建立。提供商网络110可创建MPLS隧道, 例如LSP1或LSP2,以在VPN1的远程客户站点之间提供逻辑数据路径。
15 假定客户站点140中的源节点(S) 150将数据分组105寻址到客户站点 120中的目的地节点(D) 155。源节点将分组转发到其本地客户边缘设备 CE3,本地客户边缘设备CE3进而又跨过域边界将分组传送到提供商边缘 设备PE3。 PE3随后确定用来通过提供商网络110将分组转发到包含分组 的寻址的目的地节点155的客户站点120的适当LSP。
20 提供商边缘设备PE3可以基于分组包含的目的地IP地址将接收到的
分组105与LSP相关联。出于讨论目的,假定分组105被经由LSP1从 PE3路由到PE1,如粗线所示。分组被LSP1尾端的提供商边缘设备PE1 接收,然后分组通过PE1-CE1链路被转发到客户站点120中的CE1。 CE1
接收分组并将其转发到目的地节点155。 25 当节点或链路故障阻碍了通过PE-CE数据链路进行的数据通信时,在
传统的MPLS/VPN体系结构中就会出现问题。例如,假定PE1-CE1链路 发生故障,如虚线"X"所示。在识别故障之后,提供商边缘设备PE1可 在提供商网络110内通告它已失去了到由客户站点120中的CE设备通告 的IP地址的可达性。因此,PEl可通过向其完全联网的PE设备散布iBGP
更新消息来传播识别出的路由变化。最终,路由变化在整个提供商网络 110中被分发,并且每个PE设备更新其本地路由信息以收敛在新的网络拓 扑上,即不存在发生故障的PE1-CE1链路的拓扑。
PE设备收敛在新的网络拓扑上(即没有PE1-CE1链路)所需的传统 5延迟常常是非常耗时的,例如是秒量级的,并且导致许多严重问题。例 如,在网络处于收敛过程中的同时,数据分组常常在提供商网络的边缘处 被"丢弃"(即抛弃)。例如,响应于PE1-CE1链路故障,寻址到目的地 节点155的数据分组105将会被PE1 (处于LSP1的尾端处)所丢弃,直 到网络收敛在用于这些分组的替换数据路径LSP2上。对于许多数据流,
10 例如IP语言(VoIP)和视频数据流,PE1处的这一暂时数据丢失可能严重 降低整个数据传送的效用,或者可能导致数据流超时并完全停止。
因此, 一般希望MPLS/VPN网络实现响应于PE-CE链路上的CE节 点或链路故障的更快收敛时间,例如亚秒级的收敛时间。MPLS/VPN网络 应当迅速收敛在新的网络拓扑上,且网络边缘处的数据丢失应达到最低限
15 度。

发明内容
本发明通过提供一种可实现在计算机网络的边缘处的本地快速重路由 (FRR)技术,克服了现有技术的缺陷。根据该技术,如果边缘设备检测 20到阻碍它与邻居路由域通信的节点或链路故障,则边缘设备将至少一些寻 址到该域的数据分组重路由到备用边缘设备,备用边缘设备进而又将分组 转发到邻居域。被重路由的分组在被转发到备用边缘设备之前被指定为 "受保护的"(即被重路由的)数据分组。备用边缘设备将受保护的数据 分组识别为那些在其MPLS标签栈中包含预定的"服务"标签的分组。换 25言之,服务标签被用作已被进行了 FRR重路由的分组的标识符。在接收到 包含服务标签的数据分组后,备用边缘设备不被允许例如响应于另一域间 节点或链路故障再次重路由分组,从而防止了在网络边缘处形成环路。
作为示例,不受保护的数据分组可利用具有"顶部"IGP标签和"底 部"VPN标签的两级MPLS标签栈来路由,而受保护的数据分组包含三级MPLS标签栈,其中服务标签位于IGP和VPN标签之间。服务标签可被配 置为存储被网络中的每个边缘设备全局承认的预定服务标签值。或者,至 少一些边缘设备可与其自己本地分配的服务标签值相关联。在这种场景 下,想去往特定备用边缘设备的被FRR重路由的分组传输备用设备的本地 5 分配的服务标签值。其他实施例可使本地分配的服务标签值与被配置为接 收和/或转发被FRR重路由的数据分组的每个网络设备关联起来。在这种 情况下,每个转发被重路由的数据分组的设备首先利用具有与分组的下一 跳相关联的标签值的另一服务标签来替换分组的服务标签,直到分组到达 其想去往的备用边缘设备。优选地,每个设备的本地分配的服务标签值是10 从公知的预定服务标签值的池中选择出来的。有利地,本发明的技术提供了一种快速高效的方式,供备用边缘设备 识别先前已响应于例如CE节点或PE-CE链路故障而被重路由的受保护数 据分组。该技术可结合倒数第二跳弹出(penultimate h叩popping,简写为 PHP)使用,这样,直接附接到备用边缘设备的具有PHP能力的设备在将15 分组转发到备用边缘设备之前从受保护的和不受保护的数据分组中都"弹 出"IGP标签。该技术并不限于MPLS/VPN网络体系结构,而是可部署在 实现各种拓扑和协议的网络的边缘处。此外,本发明不限于任何特定的硬 件平台或软件能力集合。20


通过结合附图参考以下附图,可以更好地理解本发明的上述和其他优 点,附图中类似的标号指示相同或功能上类似的元件,其中图l (先前描述的)是MPLS/VPN网络拓扑的示意性框图;图2是示例性MPLS/VPN网络拓扑的示意性框图,在该MPLS/VPN 25 网络拓扑中,在网络边缘处可采用示例性的快速重路由(FRR)技术。本 领域的技术人员将会意识到,图2的网络拓扑只是代表性的,本发明的 FRR技术也可用于其他网络拓扑中;图3A是根据本发明示例性实施例的包括多协议标签交换(MPLS)标 签栈的示例性数据分组的示意性框图3B是可包括在MPLS标签栈中的示例性服务标签的示意性框图;图4是可在MPLS/VPN网络的边缘处实现FRR操作的提供商边缘 (PE)设备的示意性框图;图5是被配置为存储FRR相关信息的示例性标签转发表的示意性框5 图;图6是示例性FRR备用路径的示意性框图,其中路径中的每个网络设 备可与相应的本地分配的预定服务标签值相关联;以及图7是示出根据本发明示例性实施例用于在网络边缘处执行FRR操作 的步骤序列的流程图。10具体实施方式
根据示例性实施例,如果边缘设备检测到阻碍它与邻居域中的设备通 信的节点或链路故障,则边缘设备将至少一些寻址到邻居域的数据分组重路由到备用边缘设备。被重路由的分组优选地被例如利用IP或MPLS隧 15 道技术"以隧道方式传输"到备用边缘设备。在接收到被重路由的分组之 后,备用边缘设备将分组转发到邻居域。注意,不允许备用边缘设备例如 在识别出另一个域间节点或链路故障后再一次重路由接收到的分组。这 样,在网络边缘处避免了分组环路。图2示出了采用本发明的示例性实施例的计算机网络200。为了便于 20 说明,网络200的网络拓扑与图l所示的相同。但是,与网络100中不同 的是,提供商边缘设备PE1在由于CE节点故障或PE1-CE1链路故障而失 去与其邻居客户站点120的通信后不"丢失"分组。相反,PE1建立快速 重路由(FRR)备用路径205,该备用路径被用于将至少一些分组210重 路由到也耦合到客户站点120的备用提供商边缘设备PE2。通过FRR备用 25 路径205传输的分组210可被封装以与备用路径相关联的至少一个IP隧道 头部或MPLS标签栈。在将被重路由的分组转发到备用边缘设备PE2之前,边缘设备PE1将 被重路由的分组指定为"受保护的"。出于说明目的,被重路由的分组 210被示为其受保护状态("P" ) 212和分组数据("分组")214的串 连。在这里,分组的受保护状态212表明分组正响应于域间节点或链路故障被重路由。作为示例,受保护状态212被存储在数据分组210中传输的 "服务"标签中。服务标签将分组标识为已被FRR重路由的。提供商边缘 设备PE2在接收到受保护的分组210之后,不被允许在其也例如由于CE2 5 节点故障或PE2-CE2链路故障而失去与客户站点120的连接的情况下再次 重路由分组210。从而,被重路由的分组210不能在提供商网络110边缘 处创建的环路内环流。在第一示例性实施例中,不受保护的数据分组是利用具有"顶部" IGP标签和"底部"VPN标签的两级MPLS标签栈来路由的,而受保护的10 数据分组包含三级MPLS标签栈,其中服务标签位于IGP和VPN标签之 间。根据该示例性实施例,IGP标签被用于将受保护分组路由到备用边缘 设备,并且备用边缘设备"弹出"IGP标签以访问下层的将分组标识为 FRR受保护的服务标签。备用边缘设备弹出服务标签并基于分组的VPN 标签执行分组转发确定;如果转发确定表明受保护的分组应当被再次FRR15 重路由,则分组被丢弃。否则,备用边缘设备弹出VPN标签并将分组转 发到适当的CE设备。图3A示出根据第一示例性实施例可在提供商网络110内传输的示例 性受保护数据分组300。分组300包括MPLS标签栈310和分组数据 330。虽然未示出,但一般有一个传统的数据链路头部被前插到分组的标20 签栈。标签桟中的最顶部标签是标识分组在提供商网络中标签交换路由器 之间的下一 "跳"的内部网关协议(IGP)标签。 一般来说,IGP标签可 以是MPLS标签或任何其他用于标识分组的下一跳的封装头部。标签栈还 包含最底部的虚拟专用网(VPN)标签340,其标识给定PE设备处针对分 组的特定客户站点VPN路由。25 服务标签330位于IGP和VPN标签320和330之间。如上所述,服务标签的存在表明受保护的分组300先前在提供商网络110的边缘处被进行 了 FRR重路由。虽然在不受保护和受保护的数据分组中都包括IGP和 VPN标签,但是只有受保护分组中包括服务标签。提供商网络中的P和 PE设备一般利用LDP或RSVP协议来分发其IGP标签值;完全联网的PE
设备可利用例如MP-BGP协议来分发其服务标签和/或VPN标签值。在实 践中,当备用PE设备确定接收到的数据分组300包含服务标签330时, 备用PE设备可能不会例如响应于另一个CE设备或PE-CE链路故障再次 重路由受保护的分组。 5 如图3B所示,服务标签330优选地实现为一个传统的32位MPLS标签,其包含20位标签值字段332、 一组三个实验(EXP)位334、 一位栈 标志(S) 336和8位存活时间(TTL)字段338。标签值字段332存储表 明数据分组330先前被进行了 FRR重路由的预定服务标签值。根据示例性 实施例,字段332存储在整个提供商网络110内被使用的单个(全局)预10定服务标签值,例如等于4。在另一个示例性实施例中,标签值字段332 可用于存储本地分配的预定服务标签值,该服务标签值例如与分组的下一 跳目的地相关联或者与分组去往的备用PE设备相关联。优选地,存储在 字段332中的服务标签值是从公知的预定服务标签值的池中选择出来的。 在当前的MPLS部署中,EXP位334—般未被使用。栈标志336存储15 表明服务标签330是否位于MPLS标签栈310底部的值。例如,在示例性 实施例中,桟标志336存储表明服务标签330不位于栈底部的值,因为 VPN标签340位于栈底部。TTL字段338 —般存储用于确定分组何时"年 老"因而不再被认为有效的"跳限"计数。TTL字段338可被初始化为等 于分组的IP头部中存储的跳计数,并且可在每一跳之后被递减,如本领域20中已知的。但是,其他实施例可能不利用服务标签的TTL字段338。图4是可有利地用于本发明的示例性提供商边缘设备400 (例如路由 器)的示意性框图。可用于本发明的合适的中间节点包括但不限于可从 San Jose, CA的Cisco系统公司获得的Cisco 7200和7600系列路由器和 Catalyst 6500系列交换机。为了便于说明和描述,PE设备400被示为在通25 用的硬件平台上。但是,在可替换的实施例中,PE设备可包含多个线路 卡,这些线路卡通过交换结构(即背板逻辑和电路)与路由处理引擎互 连。因此,本领域的技术人员将会意识到,所示出的PE设备400只是示 例性的,本发明的优点可在具有各种软件能力的多种不同硬件平台上实 现。
PE设备400包括由系统总线450互连的一个或多个网络接口 410、处 理器420、存储器控制器430和存储器440。每个网络接口 410可以是将 PE设备400与邻居节点相连的物理或逻辑接口。例如,如图所示,网络接 口 410a耦合到位于客户站点120中的客户边缘设备CE1。网络接口 410b 5 和410c分别耦合到提供商网络110中的设备PE2禾B P2。每个网络接口 410可适合于向各种传输介质传送数据分组并从其获取数据分组,所述传 输介质例如是快速以太网(FE)、吉比特以太网(GE)、无线链路、光 链路等等。从功能上来说,接口 410可被配置为利用各种网络通信协议进 行通信,所述网络通信协议包括但不限于异步传送模式(ATM)、以太10网、帧中继(FR)、多信道T3、同步光网络(SONET)、光纤分布式数 据接口 (FDDI)等等。存储器440包括可由处理器420和网络接口 410经由存储器控制器 430寻址的多个存储单元。存储器440优选地包括某种形式的一般由电力 周期或其他重启操作所清除的随机访问存储器(RAM)(例如它是"易失15性"存储器)。例如,存储器440可包括适合于存储处理器420可访问的 程序代码和数据结构的动态RAM (DRAM)禾n /或同步DRAM (SDRAM)存储单元。本领域的技术人员将会明白,存储器440还可包 括用于存储与PE设备400的操作有关的程序指令和数据结构的其他存储 装置,包括各种计算机可读介质。此外,本领域的技术人员将会意识到,20 存储器440的至少一些部分可实现为从远程存储器元件传输到PE设备400 的电磁信号。存储器440存储用于实现路由操作系统460的计算机可读指令等等, 该路由操作系统460通过例如调用支持在处理器420上执行的软件进程和 服务的网络操作来从功能上组织PE设备400。 Cisco系统公司的10Stm操 25 作系统是操作系统460的一个示例,其可被存储在存储器440中并根据这 里的示例性实施例被执行。IOS操作系统包括各种路由服务,例如传统的 内部和外部网关协议。本发明还可被部署以其他操作系统,例如Cisco系 统公司的IOS-XRTM操作系统,其中这些路由服务中的一个或多个作为单 独的进程被执行,即其具有其自己的远离操作系统的地址空间的进程地址空间。存储器440存储标签转发表500 (或"标签转发信息库 (LFIB)"),该标签转发表500被配置为存储用于将数据分组从PE设 备400转发到邻居的客户站点的VPN标签信息。标签转发表500还被配置 5 为存储下文更详细描述的FRR相关信息。存储器440可包括单独的标签转 发表(未示出),用于存储用于在提供商网络110内转发数据分组的IGP 标签信息。当PE设备400接收到来自提供商网络110中的P或PE设备的 数据分组时,操作系统460可在接收到的分组的MPLS标签栈310中定位 VPN标签值340。操作系统随后基于分组的VPN标签值在标签转发表50010 中执行标签査找操作。査找操作的结果可被用于确定接下来应当用来转发 接收到的分组的特定PE-CE链路。图5示出了根据第一示例性实施例可使用的示例性标签转发表500。 表500包括多个表条目510,每个表条目被配置为存储地址前缀值520、 VPN标签值530、出口标识符值540、 "FRR使能"标志值550、 "FRR15 排除"标志值560、备用PE设备标识符570和备用MPLS标签栈580,等 等。地址前缀值520存储从直接附接的CE设备可达PE设备400的IP地 址前缀。VPN标签值530表明地址前缀值520属于哪个VPN。出口标识符 值540用于标识哪个网络接口 410应当用于转发其VPN标签值320等于 VPN标签值530并且其目的地IP地址匹配地址前缀值520的数据分组。20 FRR使能标志550存储一个值,该值表明对于具有匹配表条目510的内容的VPN标签值和目的地IP地址的数据分组当前是否正在执行FRR操 作。当操作系统460检测到PE-CE数据链路上的节点或链路故障时,操作 系统设置通过故障PE-CE链路可达的那些IP地址前缀520的FRR使能标 志。就这里的用法而言,FRR使能标志550在等于第一预定值(例如25 "1")时被"设置"。否则,FRR使能标志等于第二预定值(例如 "0")。FRR排除标志560存储一个值,该值表明是否即使在FRR使能标志 550被设置时FRR操作也不应当被执行。FRR排除标志可等于第一预定值 (例如"1")以表明不允许执行FRR操作,否则可等于第二预定值(例
如"0" ) 。 FRR排除标志560的值可由例如系统管理员手工选择。但 是,在优选实施例中,FRR排除标志值是由路由操作系统460动态确定 的。例如,操作系统定只有由所选客户站点或参与某些VPN的客户 站点所通告的地址前缀才可被进行FRR保护。 5 每个地址前缀值520可与一组一个或多个备用PE设备570相关联。每个备用PE设备可与应当包括在匹配表条目510的被FRR重路由的分组 210中的备用标签栈580相关联,该标签栈例如包括IGP标签值、服务标 签值和VPN标签值。IGP标签值可基于被配置为存储用于在提供商网络 110内转发数据分组的IGP标签信息的单独的标签转发表(未示出)的内10 容来确定。备用PE设备570及其备用标签栈580可以例如由系统管理员 静态配置,或者可由操作系统460动态"获悉"(获取)。如图所示,示例性的标签转发表500包含存储了等于57的VPN标签 值和匹配地址前缀值10丄2.0/24的目的地IP地址的接收数据分组的表条目 510。在此示例中,标志值550和560表明FRR操作当前正在进行并且对15 于包含等于57的VPN标签值的不受保护的数据分组未排除FRR操作。出 口标识符值540表明应当通过哪个网络接口 410来转发接收到的数据分 组。表条目510还表明匹配前缀520和VPN标签值530的数据分组应当被 FRR重路由到备用PE设备PE2,并且被重路由的分组应当包括具有等于 100的IGP标签值、等于4的服务标签值和等于75的VPN标签值的20 MPLS标签栈。图6示出了提供商边缘设备PE1 400a和备用边缘设备PE2 400b之间 的示例性备用路径600。与图2所示的备用路径205不同,备用路径600 包括位于提供商边缘设备PE1和PE2之间的P设备195。在此网络配置 中,受保护的数据分组650被从PE1转发到P, P进而又将分组转发到25PE2。 P设备和备用边缘设备PE2分别沿备用路径600分配本地IGP值。 艮卩,P设备195分配对于P设备来说在本地唯一的第一 IGP标签值320a。 同样地,备用边缘设备PE2分配对于PE2来说在本地唯一的第二 IGP标签 值320b。 IGP标签值320a和320b可能彼此相等也可能不相等。 一般来 说,IGP标签值320a,b与在P和PE2设备处实例化的相应回送接口相关 联。在操作中,包括IGP标签值320a的受保护分组650a可被从PE1转发 到P,然后P在将受保护分组650b转发到PE2之前可利用IGP标签320b 来替换分组的IGP标签320a。根据示例性实施例,被进行了 FRR保护的数据分组650a和650b可传 5 输包含相同的预定服务标签值(例如等于4)的服务标签330a和330b。例 如,预定的服务标签值可以是全局识别的服务标签值,或者可以是在PE2 本地分配来识别被FRR重路由的流量的服务标签值。但是,在可替换的示 例性实施例中,服务标签330a和330b是由P和PE2设备在本地分配的。 在这种情况下,预定的服务标签值330a和330b不一定相等。更一般来10 说,在这种实施例中,每个被配置为接收和/或转发被FRR重路由的数据 分组的网络设备可分配其自己的在本地唯一的服务标签值,该服务标签值 例如是从公知的预定服务标签值的池中选择出来的。假定IGP标签320a,b和服务标签330a,b是沿着备用路径600在本地分 配的。因此,PE1转发具有最顶部IGP标签320a、服务标签330a和最底15部VPN标签340的受保护分组650a。分组被P设备195接收,该P设备 195弹出IGP和服务标签320a和330a,利用IGP标签320a执行标签查找 操作,然后基于标签查找操作的结果将新的IGP和服务标签320b和330b 推到分组的标签栈上。所得到的分组650b被转发到备用边缘设备PE2。 PE2接收分组650b并且弹出分组的IGP标签320b (假定IGP标签先20 前并未经由PHP被去除)。由于分组包括服务标签330b,因此备用边缘 设备PE2识别出分组已经被进行了 FRR重路由。PE2弹出服务标签 330b,然后基于分组的VPN标签340在其标签转发表500中执行标签査找 操作。如果分组的匹配的表条目510表明分组应当再次被进行FRR重路 由,则分组被丢弃。否则,PE2弹出VPN标签340并根据匹配的表条目25 510的内容转发数据分组。图7示出了用于执行本发明的示例性FRR技术的步骤序列的流程图。 序列开始于步骤700,并进行到步骤705,在该步骤中MPLS封装的数据 分组在PE设备400处被接收。PE设备的操作系统460在步骤710从接收 到的分组抽取VPN标签值340,并且在步骤715利用抽取的VPN标签值
来在其标签转发表500中执行查找操作。具体而言,定位具有匹配分组的目的地IP地址的地址前缀520和等于分组的抽取的VPN标签值的VPN标 签值530的标签转发表条目510。
在步骤720,定位到的表条目510中的FRR使能标志550被分析,以 5确定目前是否正为包含接收到VPN标签值的分组执行FRR操作。如果目 前没有进行FRR操作,则基于标签转发表500中标签的匹配表条目510处 理接收到的分组。然后在步骤725接收到的数据分组被转发到其下一跳目 的地。序列在步骤760结束。
如果,在步骤720, FRR使能标志的值表明应当执行FRR操作,则在 步骤730, FRR排除标志560被分析以确定是否允许分组被进行FRR重路 由。如果不允许分组被重路由,则在步骤745分组被丢弃,并且序列在歩 骤760结束。当FRR排除标志值表明可以为接收到的分组执行FRR操作 时,序列前进到步骤735,在该步骤中确定是否存在在接收到的分组的匹 配标签转发表条目510中标识的备用PE设备570。如果不存在这样的备用 PE设备,则在步骤745分组被丢弃并且序列在步骤760结束。
在步骤740,路由操作系统460确定接收到的数据分组是否包含服务 标签330,从而表明分组先前已被进行了 FRR保护。例如,可基于预定的 服务标签值332 (例如等于4)来识别服务标签。如果在步骤740确定接 收到的分组已被进行了 FRR保护,则在步骤745分组被丢弃,并且序列在 步骤760结束。另一方面,如果分组先前未被保护,则序列前进到步骤 750,并且在接收到的分组中插入适当的备用标签栈580,包括与备用PE 设备570相关联的IGP标签值、服务标签值(如果必要)和VPN标签 值。被进行FRR保护的分组随后在步骤755优选经由MPLS或IP隧道被 转发到备用PE设备。序列在步骤760结束。
有利地,本发明的技术提供了一种快速高效的方式,供备用边缘设备识别先前已响应于例如CE节点或PE-CE链路故障而被重路由的受保护数 据分组。该技术可结合倒数第二跳弹出(PHP)使用,这样,直接附接到 备用边缘设备的具有PHP能力的设备在将分组转发到备用边缘设备之前从 受保护的和不受保护的数据分组中都"弹出"IGP标签。在这种情况下,
服务标签330可以是在受保护分组在备用边缘设备处被接收时受保护分组的标签栈310中的最顶部标签。该技术并不限于MPLS/VPN网络体系结 构,而是可部署在实现各种拓扑和协议的网络的边缘处。此外,本发明不 限于任何特定的硬件平台或软件能力集合。 5 前面已经详细描述了本发明的示例性实施例。在不脱离本发明的精神和范围的情况下可进行各种修改和添加。例如,备用边缘设备可从直接附 接的具有PHP能力的设备接收受保护数据分组,也可从直接附接的不具有 PHP能力的设备接收受保护数据分组。在这种场景下,备用边缘设备可根 据这里描述的任何示例性实施例来利用服务标签。10 虽然已经针对MPLS/VPN网络示例性地描述了本发明的FRR技术,但是也明确地预期了本发明可部署在诸如自治系统、广播域、路由区域之 类的实现各种网络通信协议的其他类型的网络和子网的边缘处。虽然这里 描述的示例性实施例假定了客户站点和VPN之间的一一对应关系,但是 本领域的技术人员将会理解,FRR技术也可部署在允许客户站点参与多于15 —个VPN的网络中。此外,示例性的实施例可被修改以利用IP版本6 (IPv6)技术。IPv6 协议已被引入来增加可用网络地址的数目并在传统的TCP/IP协议栈的互 联网层提供额外的服务。IPv6协议采用比其IPv4前任更大的地址空间, 并且利用128位(十六字节)值而不是IPv4所采用的32位地址来寻址网20 络节点。本领域的技术人员将会意识到,这里描述的示例性实施例同样可 适用于其他地址格式,包括IPv6地址。明确地预期了本发明的教导可实现为软件(包括具有在计算机上执行 的程序指令的计算机可读介质)、硬件、固件或其组合。例如,本发明可 由具有一个或多个处理器的PE设备400来实现,所述处理器中的一些可25 驻留在网络接口 410或包含网络接口的线路卡上。此外,存储器440可分 布在PE设备400本地的或远离PE设备400的多个不同的存储元件上。一 般来说,本发明的技术可实现在硬件和/或软件的各种组合中。因此,希望 本说明书仅被看作示例性的,而不是要限制本发明的范围。
权利要求
1.一种用于在计算机网络的边缘处执行快速重路由(FRR)操作的方法,所述网络具有耦合到邻居路由域的第一和第二边缘设备,所述方法包括检测所述第一边缘设备和所述邻居路由域之间通信的丢失;在所述第一边缘设备处接收数据分组,接收到的数据分组包含经由所述邻居路由域可达的目的地地址;确定所述接收到的数据分组中是否包括服务标签,该服务标签表明所述接收到的分组先前根据FRR操作被重路由;以及响应于确定所述接收到的数据分组不包括所述服务标签,将所述接收到的数据分组重路由到所述第二边缘设备以便转发到所述邻居路由域。
2. 如权利要求1所述的方法,还包括响应于确定所述接收到的数据分组包括所述服务标签,丢弃所述接收 15 到的数据分组。
3. 如权利要求1所述的方法,还包括在将所述分组重路由到所述第二边缘设备之前将所述服务标签插入到 所述接收到的数据分组中。
4. 如权利要求1所述的方法,其中所述确定所述接收到的数据分组中 20 是否包括服务标签的步骤还包括-如果所述分组包含具有预定的服务标签值的标签,则确定所述接收到 的数据分组包括所述服务标签。
5. 如权利要求4所述的方法,其中所述预定的服务标签值等于4。
6. 如权利要求4所述的方法,其中所述预定的服务标签值是在所述第 25 —边缘设备本地分配的。
7. 如权利要求4所述的方法,其中所述预定的服务标签值是从预定的 服务标签值的池中选择出来的。
8. 如权利要求1所述的方法,其中所述确定所述接收到的数据分组中是否包括服务标签的步骤还包括 确定所述服务标签是否位于所述接收到的数据分组中包括的内部网关 协议(IGP)标签和虚拟专用网(VPN)标签之间。
9.如权利要求1所述的方法,其中所述确定所述接收到的数据分组中是否包括服务标签的步骤还包括 5 确定所述服务标签是否位于所述接收到的数据分组中包括的标签栈的 顶部。
10.如权利要求1所述的方法,还包括在所述数据分组在所述第二边缘设备处被接收之前,将被重路由的数 据分组从所述第一边缘设备转发到至少一个中间节点。
11.种被配置为在计算机网络的边缘处执行快速重路由(FRR)操作的网络节点,所述网络节点包括 处理器;适合于与邻居路由域通信的第一网络接口;适合于接收包含经由所述邻居路由域可达的目的地地址的数据分组的 15 第二网络接口;适合于存储由所述处理器执行以便执行以下步骤的存储器 检测通过所述第一网络接口的通信的丢失;确定在所述第二网络接口处接收的所述数据分组中是否包括服务标签,该服务标签表明接收到的分组先前根据FRR操作被重路由;以及 20 响应于确定所述接收到的数据分组不包括所述服务标签,将所述接收到的数据分组重路由到第二边缘设备以便转发到所述邻居路由域。
12. 如权利要求11所述的网络节点,其中所述存储器还适合于存储用于执行以下步骤的指令响应于确定所述接收到的数据分组包括所述服务标签,丢弃所述接收25 到的数据分组。
13. 如权利要求11所述的网络节点,其中所述存储器还适合于存储用 于执行以下步骤的指令在将所述分组重路由到所述第二边缘设备之前将所述服务标签插入到 所述接收到的数据分组中。
14.如权利要求11所述的网络节点,其中所述存储器还适合于存储用 于执行以下步骤的指令如果所述分组包含具有预定的服务标签值的标签,则确定所述接收到 的数据分组包括所述服务标签。 5
15.如权利要求14所述的网络节点,其中所述预定的服务标签值等于4。
16. 如权利要求14所述的网络节点,其中所述预定的服务标签值是在 所述网络节点本地分配的。
17. 如权利要求14所述的网络节点,其中所述预定的服务标签值是从 10预定的服务标签值的池中选择出来的。
18. 如权利要求11所述的网络节点,其中所述存储器还适合于存储用 于执行以下步骤的指令确定所述服务标签是否位于所述接收到的数据分组中包括的内部网关 协议(IGP)标签和虚拟专用网(VPN)标签之间。 15
19.如权利要求11所述的网络节点,其中所述存储器还适合于存储用于执行以下步骤的指令确定所述服务标签是否位于所述接收到的数据分组中包括的标签栈的 顶部。
20.—种被配置为在计算机网络的边缘处执行快速重路由(FRR)操作 20 的网络节点,所述网络节点包括适合于与邻居路由域通信的第一网络接口; 用于检测通过所述第一网络接口的通信的丢失的装置; 适合于接收包含经由所述邻居路由域可达的目的地地址的数据分组的 第二网络接口; 用于确定在所述第二网络接口处接收的所述数据分组中是否包括服务 标签的装置,该服务标签表明接收到的分组先前根据FRR操作被重路由; 以及用于响应于确定所述接收到的数据分组不包括所述服务标签,将所述 接收到的数据分组重路由到第二边缘设备以便转发到所述邻居路由域的装 置。
21.如权利要求20所述的网络节点,还包括用于如果所述分组包含具有预定的服务标签值的标签,则确定所述接 收到的数据分组包括所述服务标签的装置。
22.如权利要求20所述的网络节点,还包括用于在将所述分组重路由到所述第二边缘设备之前将所述服务标签插 入到所述接收到的数据分组中的装置。
23. —种计算机网络,包括 耦合到邻居路由域的第一边缘设备;以及10 耦合到所述邻居路由域的第二边缘设备,该第二边缘设备被配置为检测与所述邻居路由域的通信的丢失;接收包含经由所述邻居路由域可达的目的地地址的数据分组; 确定接收到的数据分组中是否包括服务标签,该服务标签表明所 述接收到的分组先前根据FRR操作被重路由;以及 15 响应于确定所述接收到的数据分组不包括所述服务标签,将所述接收到的数据分组重路由到所述第一边缘设备以便转发到所述邻居路由 域。
24. 如权利要求23所述的计算机网络,其中所述第二边缘设备还被配 置为在将所述分组重路由到所述第一边缘设备之前将所述服务标签插入到20 所述接收到的数据分组中。
25. 如权利要求23所述的计算机网络,其中被重路由的数据分组在在 所述第一边缘设备处被接收之前被从所述第二边缘设备转发到至少一个中 间节点。
26. —种存储指令的计算机可读介质,所述指令用于在处理器上执 25行,以实现在计算机网络的边缘处执行快速重路由(FRR)操作的方法,所述网络具有耦合到邻居路由域的第一和第二边缘设备,所述方法包括 检测所述第一边缘设备和所述邻居路由域之间通信的丢失; 在所述第一边缘设备处接收数据分组,接收到的数据分组包含经由所述邻居路由域可达的目的地地址;确定所述接收到的数据分组中是否包括服务标签,该服务标签表明所 述接收到的分组先前根据FRR操作被重路由;以及响应于确定所述接收到的数据分组不包括所述服务标签,将所述接收 到的数据分组重路由到所述第二边缘设备以便转发到所述邻居路由域。
全文摘要
一种本地快速重路由(FRR)技术被实现在计算机网络的边缘处。根据该技术,如果边缘设备检测到阻碍它与邻居路由域通信的节点或链路故障,则边缘设备将至少一些寻址到该域的数据分组重路由到备用边缘设备,备用边缘设备进而又将分组转发到邻居域。被重路由的分组在被转发到备用边缘设备之前被指定为“受保护的”(即被重路由的)数据分组。备用边缘设备将受保护的数据分组识别为那些在其MPLS标签栈中包含预定的“服务”标签的分组。换言之,服务标签被用作已被进行了FRR重路由的分组的标识符。在接收到包含服务标签的数据分组后,备用边缘设备不被允许例如响应于另一域间节点或链路故障再次重路由分组,从而防止了在网络边缘处形成环路。
文档编号H04L12/56GK101120552SQ200680001653
公开日2008年2月6日 申请日期2006年2月9日 优先权日2005年2月28日
发明者克拉伦斯·菲尔斯非斯, 吉姆·古伊查德, 戴维·D·沃德, 斯特凡诺·B·普雷维蒂, 罗伯特·拉祖克, 让·菲利普·瓦瑟尔 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1