业务平面触发的快速重新路由保护的制作方法

文档序号:7987641阅读:201来源:国知局
业务平面触发的快速重新路由保护的制作方法
【专利摘要】本发明涉及业务平面触发的快速重新路由保护,描述了用于独立于主持业务使能技术功能的业务节点的操作状态,检测业务使能技术功能的故障或劣化的技术。例如,业务节点可提供一个或多个业务使能技术功能,并且业务引导路径可通过网络将流量引导至主持业务使能技术功能的业务节点网络装置中。业务节点的业务层的监控部件可检测业务节点所提供的一个或多个业务使能技术功能的故障或劣化。监控部件将故障或劣化检测报告给业务节点的转发平面内的故障检测网络协议。故障检测网络协议与业务引导路径的入口路由器进行通信,从而通过流量流入口触发快速重新路由,以回避受影响的业务使能技术功能。
【专利说明】业务平面触发的快速重新路由保护
[0001]优先权声明
[0002]本申请要求于2012年6月26日提交的美国专利申请第13/533,961号的权益,该案之全文通过引用结合于此。
【技术领域】
[0003]本公开涉及基于包的计算机网络,并且更具体而言,涉及在计算机网络内转发包。【背景技术】
[0004]计算机网络为互相连接的计算装置的集合,这些计算装置交换数据并且分享资源。在基于包的网络(诸如,因特网)内,通过将数据分成称为包的小块,计算装置通信数据。通过网络将包从源装置单独路由到目标装置。目标装置从包中提取数据并且将数据组装成其原始的形式。将数据分成包,能够允许源装置仅仅重新发送在传输的过程中可丢失的那些单独的包。
[0005]多协议标签交换(MPLS)为用于在互联网协议(IP)网络内引导流量模式的机构。通过使用MPLS,源装置可请求通过网络的路径,S卩,标签交换路径(LSP)。LSP限定通过网络的不同路径,以将MPLS包从源装置送入目标装置中。与特定的LSP相关的短标签附于经由LSP经过网络传输的包。沿着该路径的路由器协作执行MPLS操作,以沿着所建立的路径转发MPLS包。LPS可用于各种流量工程目的,包括带宽管理和服务质量(QoS )。
[0006]各种协议用于建立LPS而存在。例如,一种这样的协议为标签分配协议(LDP)。另一种协议为资源预留协议,诸如,基于流量工程扩展的资源预留协议(RSVP-TE)。RSVP-TE使用宽带可用性等约束信息,以计算路径并且在网络内沿着这些路径建立LSP。RSVP-TE可使用链路状态内部路由协议(诸如中间系统-中间系统(ISIS)协议或开放式最短路径优先(OSPF)协议)累积的带宽可用性信息。
[0007]在某些情况下,沿着LSP的节点或链路不再可用。例如,沿着LSP的链路或者节点可经历故障事件,诸如,在路由器的一个或多个部件发生故障或者用户(诸如网络操作员)损坏路由器时。网络内的链路或路由器发生故障时,响应于网络内节点和/或链路故障造成的拓扑变化,使用传统的链路状态协议(诸如OSPF和/或IS-1S)的路由器需要较长的时间调整它们的转发表。调整转发表的处理称为收敛(convergence.)。由于每个节点必须更新网络拓扑的表示并且执行最短路径算法计算更新的网络拓扑内每个目标的下一跃点(next-hop,下一跳),所以会发生这种时延。在重新计算下一跃点之前,朝着故障链路发送的流量会丢失。某些部署需要高达500毫秒到几秒的时间来检测网络故障以及从网络故障中恢复。这些大量的收敛时间可不利地影响互联网语音传输协议(VoIP)等应用以及通常依赖于RSVP-TE的多媒体应用的性能,并且对流量损失极其敏感。

【发明内容】

[0008]总体上,描述了用于独立于主持业务使能技术功能的业务节点的操作状态,检测业务使能技术功能的故障或劣化的技术。例如,业务节点可提供一个或多个业务使能技术功能,如应用、虚拟设备、虚拟高速缓存、防火墙、安全性等。业务引导路径(serviceengineered path)可通过网络将流量引导至主持业务使能技术功能的一个或多个业务节点网络装置中。
[0009]在业务节点的业务层的监控部件可检测业务节点所提供的一个或多个业务使能技术功能的故障或劣化。该监控部件将这种故障或劣化的检测报告给业务节点的转发平面内的故障检测网络协议。故障检测网络协议与业务引导路径的路由器进行通信,从而触发快速重新路由(FRR)流量流,以回避业务节点以及由此受影响的业务使能技术功能。
[0010]故障检测网络协议(诸如双向转发检测(BFD))可如本文中所述进行扩展,以从业务层监控部件接收业务使能技术功能的性能状态发生变化的通知。故障检测网络协议可反过来通过BFD会话将通知输出给入口路由器,以通知入口路由器业务功能发生故障或劣化。例如,故障检测网络协议可将控制消息发送给入口路由器,以通知入口路由器将需要业务使能技术功能的网络流量重新路由到备用业务引导路径可到达的第二业务节点处提供的业务使能技术功能的第二情况。
[0011]响应于了解业务使能技术功能的状态发生变化的边缘路由器,该边缘路由器可在备用业务引导路径上触发快速重新路由网络流量,该备用业务引导路径回避第一业务节点并且将流量引导至第二业务节点处控制的业务使能技术功能的不同情况中。这样,在业务使能技术功能的实例发生故障时,即使第一业务节点依然可操作,但是可触发快速重新路由,以将流量重新路由到业务使能技术功能的不同的情况。
[0012]本公开的技术可提供一个或多个优点。例如,在使用其他链路或节点保护功能无法检测到故障时,这些技术可允许操作员保持业务完整性以及该业务的任何相关的服务水平协议(SLA)要求。检测到业务的性能劣化时,这些技术自动快速地重新路由流量,并且超过业务节点上阈值的初始配置,在业务节点上发生业务故障或劣化时,不需要操作员采取任何措施,以通过路由器将流量快速重新路由到不同的业务节点。除了业务节点和入口路由器的其他链路、接口以及节点快速重新路由保护能力,还可提供这种基于业务的快速重新路由能力,并且这种基于业务的快速重新路由能力可与业务节点和入口路由器的其他链路、接口以及节点快速重新路由保护能力联合使用。
[0013]一方面,一种方法包括:由业务节点将业务应用于经由主要的业务引导路径在业务节点的业务平面处接收的网络流量,其中,业务节点用作主要的业务引导路径的出口装置;以及在业务节点的业务平面,检测到业务的性能水平与业务的所期望的性能水平至少相差阈值量,其中,业务的性能水平独立于业务节点的整体操作状态。该方法还包括在所检测到的业务的性能水平差异与所期望的性能水平至少相差阈值量时,将通知输出给业务节点的转发平面内的故障检测网络协议;以及响应于从业务层接收通知,通过故障检测网络协议,将控制消息输出到主要的业务引导路径上的路由器,其中,控制消息通知路由器将网络流量重新路由到备用业务引导路径可到达的第二业务节点处所提供的业务的第二情况。
[0014]另一方面,一种网络装置包括转发平面,其包括包转发部件、在转发平面内执行的故障检测网络协议、以及包括一个或多个业务卡的业务平面。该业务平面包括:软件处理,其将业务应用于经由主要的业务引导路径在网络装置处接收的网络流量,其中,网络装置用作主要的业务引导路径的出口装置;以及监控部件,其与软件处理进行通信,以在将业务应用于网络流量中时,评估软件处理的性能水平,其中,业务的性能水平独立于网络装置的整体操作状态。监控部件检测业务的性能水平与所期望的业务性能水平至少相差阈值量,其中,当所检测到的性能水平与所期望的性能水平所相差的差异至少为阈值量时,监控部件将通知输出给故障检测网络协议。响应于从监控部件接收通知,故障检测网络协议将控制消息输出到主要的业务引导路径上的路由器,其中,控制消息通知路由器将网络流量重新路由到备用业务引导路径可到达的第二网络装置处所提供的业务的第二情况。
[0015]另一方面,一种系统包括:业务节点以及沿着业务节点和路由器之间的主要业务引导路径的路由器。该业务节点包括:转发平面,其包括包转发部件、在转发平面内执行的故障检测网络协议、以及包括一个或多个业务卡的业务平面。该业务平面包括:软件处理,其将业务应用于经由主要的业务引导路径在网络装置处接收的网络流量,其中,网络装置用作主要的业务引导路径的出口装置;以及监控部件,其与软件处理进行通信,以在将业务应用于网络流量中时,评估软件处理的性能水平,其中,业务的性能水平独立于网络装置的整体操作状态。监控部件检测业务的性能水平与所期望的业务性能水平至少相差阈值量,并且当所检测到的性能水平与所期望的性能水平所相差的差异至少为阈值量时,监控部件将通知输出给故障检测网络协议。响应于从监控部件接收通知,故障检测网络协议将控制消息输出到主要的业务引导路径上的路由器,其中,控制消息通知路由器将网络流量重新路由到备用业务引导路径可到达的第二网络装置处所提供的业务的第二情况。路由器接收控制消息,并且响应于接收控制消息,重新路由需要将业务应用于备用业务引导路径可到达的第二网络装置处所提供的业务的第二情况的流量。
[0016]另一方面,一种计算机可读储存介质包括用于使可编程处理器进行以下操作的指令:将业务应用于经由主要的业务引导路径在业务节点的业务平面处接收的网络流量,其中,业务节点用作主要的业务引导路径的出口装置;并且在业务节点的业务平面,检测业务的性能水平与所期望的业务性能水平至少相差阈值量,其中,业务的性能水平独立于业务节点的整体操作状态。该计算机可读储存介质还包括进行以下操作的指令:当所检测到的业务的性能水平与所期望的性能水平所相差的差异至少为阈值量时,将通知输出给业务节点的转发平面内的故障检测网络协议;并且进一步包括以下操作的指令:响应于从业务层接收通知,通过故障检测网络协议,将控制消息输出到主要的业务引导路径上的路由器,其中,控制消息通知路由器将网络流量重新路由到备用业务引导路径可到达的第二业务节点处所提供的业务的第二情况。
[0017]在附图和以下说明中详细地阐述了一个或多个实例。通过说明书和附图以及通过权利要求,其他特征、目标以及优点将显而易见。
【专利附图】

【附图说明】
[0018]图1是示出了一个示例性系统的框图,其中,路由器和业务节点被配置为根据本公开的技术进行操作;
[0019]图2是示出了根据本公开的技术的业务节点网络装置的一个示例性实施方式的框图;
[0020]图3是示出了根据本公开的技术的网络装置的示例性操作的流程图。【具体实施方式】
[0021]图1是示出了示例性系统10的框图,其中,网络14的路由器12A至12G(“路由器12”)和业务节点20A至20B (“业务节点20”)被配置为根据本公开的技术进行操作。在图1中所示的实例中,路由器12A为网络14的边缘路由器,其可由网络业务提供者进行管理,并且该路由器为用户18A至18N(“用户18”)提供连接。边缘路由器12A经由接入链路19A至19N与接入点(AN) 16 (“AN16”)耦接。用户可与客户网络或接入网络(未示出)相关联。边缘路由器12A与接入点16进行通信,以提供用户18对网络14的访问。
[0022]每个用户18可包括一个或多个计算装置(未示出),诸如个人计算机、膝上型电脑、手持式电脑、工作站、服务器、交换机、打印机或其他装置。网络14可以是与由其他业务提供者管理的一个或多个网络耦接的业务提供者网络,并且可因此形成大型公用网络基础设施的一部分,例如,因特网。该业务提供者可使用户18通过网络14访问因特网,这允许用户18所表示的计算装置与因特网内的或具有另一个用户18的计算装置通信。图1可以是网络14的简图。网络14可包括各种其他网络装置(未示出),诸如路由器、交换机、服务器等,并且可与其他网络连接。
[0023]在该实例中,路由器12A至12G通过物理链路彼此连接。物理链路15可以是物理介质,例如,铜线、共轴电缆、不同光纤线路的主机中的任何一个或无线连接。为了保持网络14的精确表示,路由器12和业务节点20根据一个或多个定义的协议(诸如边界网关协议(BGP)),使用控制平面信令,交换路由信息。交换路由信息的另一个示例性协议为中间系统至中间系统协议(ISIS),该协议为用于IP网络的内部网关路由协议,用于在自主系统内通信链路状态信息。内部路由协议的其他实例包括开放式最短路径优先(OSPF)协议以及路由信息协议(RIP)。
[0024]图1的实例示出了业务节点20A所主持的业务使能技术功能(“SET22A”),用户18A至18N通过在边缘路由器12A和业务节点20A之间延伸的业务引导路径24A访问该业务节点。本文中所使用的“业务使能技术(“SET”)”功能为在业务节点处进行物理部署和主持的业务使能技术。业务使能技术功能的实例可包括应用、会话边界控制器(SBC)、虚拟设备、虚拟高速缓存、网络流量加速、网络地址转换(NAT)、防火墙、深度包检测(DPI)、服务质量(QoS)、访问控制以及其他功能。在某些实例中,SET所提供的业务可以是由两个或多个业务构成的复合业务,并且可以是用户18形成从单个外部可见的业务。例如,SET可以是由NAT业务和防火墙业务构成的复合SET。
[0025]作为一个实例,边缘路由器12A接收用户的特定业务请求。例如,边缘路由器12A可接收用户18A的家长控制应用业务使能技术功能的请求。边缘路由器12A选择能够提供所请求的家长控制应用业务使能技术功能的业务节点20A。业务节点20A主持家长控制应用业务使能技术功能的情况22A。响应于该请求,如果业务引导路径24A已经不在原位,那么边缘路由器12A建立到业务节点20A的业务引导路径24A。业务引导路径24A可以是流量引导网络隧道,诸如使用源预留协议建立的标签交换路径(LSP),诸如基于流量工程扩展的资源预留协议(RSVP-TE),或其他类型的隧道。在某些实例中,使用业务引导路径24可将多个SET连接在一起。作为一个实例,路由器12A可建立业务引导路径24,以通过在入口路由器12A处进入各个业务引导路径24中以及在业务节点20A或20B处离开业务引导路径24的MPLS包的形式,将第二层(L2)通信从用户18传送给业务节点20。[0026]此外,边缘路由器12A也可建立到第二业务节点22B的备用业务引导路径24B,该第二业务节点为边缘路由器12A所选择的能够提供所请求的家长控制应用业务使能技术功能的第二业务节点。业务引导路径24B为第二业务引导路径,S卩,另一个流量引导网络隧道。SET22B可以是与SET22A相同的SET的第二情况。边缘路由器12A可使用到RSVP-TE的快速重新路由扩展,诸如P.Pan在2005年5月的“Fast Reroute Extensions to RSVP-TEfor LSP Tunnels”,RFC4090中所描述的,将其全部内容通过引用结合于此。例如,边缘路由器12A可用作用于进行快速重新路由的本地修复的点。边缘路由器12A可安装转发状态,该转发状态表示业务弓I导路径24A为用户18A流量的主要业务引导路径,并且业务弓I导路径24B为用户18A流量的备用业务引导路径。入口路由器12A将备用业务引导路径24B与主要业务引导路径24A相关联。如果由于SET22A发生故障或劣化,从而将业务引导路径24A标记为不可操作,那么通过主要业务引导路径24A转发的流量通常被重新引导到业务引导路径24B上。
[0027]在路由器12A完成建立备用业务引导路径24B之后,路由器12A在路由器12A的数据平面内保持转发信息,该信息允许在从表示SET22A发生故障或劣化的业务节点20A接收BFD控制包时,路由器12A通过业务引导路径24B发送流量。例如,参看2011年12月13日发布的题为 “Fast Reroute for Multiple Label Switched Paths Sharing a SingleInterface”的美国专利第8,077,726号中所描述的技术,将其全部内容通过引用结合于此。这样,如下所述,在将SET22A或业务节点20A的问题通知给边缘路由器12A时,边缘路由器12A可自动触发快速重新路由,从而经由业务引导路径24B将用户18A的流量发送给业务节点20B。
[0028]在接收用户18A的网络流量时,边缘路由器12A确定用户18A的配置文件(profile,简档)需要将流量在业务引导路径24A上发送给业务节点20A,以应用家长控制应用22A。然后边缘路由器12A在业务引导路径24A上转发用户18A的流量,诸如通过将MPLS标签附加到用户18A的流量。
[0029]业务节点20A处的业务平面内的监控部件监控SET22A的性能水平。在监控部件检测到SET22A的预设业务水平发生故障或劣化时,监控部件触发对于BFD的故障事件。在业务性能发生劣化从而业务使能技术功能不再提供业务水平协议(SLA)为代价的业务时,业务平面内的监控部件可在转发平面内触发对于BFD的事件。在某些方面,监控部件可以是与业务功能相互作用的高可用性(HA)监控部件。例如,HA监控器可与业务相互作用,以收集统计数据、进行信号交换、或者对业务功能进行其他检查。
[0030]在路由器12A和业务节点20A之间启用BFD会话26,诸如R.Aggarwal在2010年 6 月的“Bidirectional Forwarding Detection (BFD)forMPLS Label SwitchedPaths (LSPs) ”,RFC5884所描述的,将其全部内容通过弓I用结合于此。为了使用BFD,以在诸如业务引导路径24A的MPLSLSP上进行故障检测,边缘路由器12A和业务节点20A建立BFD会话26,用于这个特定的MPLS LSP,例如,使用LSP查验(Ping)消息。沿着与已验证的业务引导路径24A相同的数据路径,发送BFD控制包。即使在与MPLS LSP相关联的装置的控制平面具有功能性时,用于MPLS LSP的BFD也通常用于检测MPLS LSP路径内的数据平面故障。在本文中,BFD用于将以下情况从业务节点20A通信到入口路由器12A:在业务节点20A的业务平面内提供的业务发生性能劣化或故障。[0031]业务节点20A使用BFD会话26,将SET22A的状态发生的任何变化报告给边缘路由器12A。在某些实例中,业务节点20A上的BFD模块可设置BFD控制包的诊断代码,以指明相关业务中性能的劣化。入口路由器12A使用回避业务节点20A的不同路径,建立备用业务引导路径24B,并且将流量引导至在另一个业务节点处主持的SET的不同情况中,例如,业务节点20B的SET22B。
[0032]业务使能技术功能的性能水平独立于业务节点网络装置的整体操作状态。换言之,通过BFD会话26通知这种故障事件时,即使用于SET22A的现有业务节点20A依然可操作,边缘路由器12A也能够触发快速重新路由并且将流量从业务引导路径24A交换到业务引导路径24B中。需要业务使能技术功能的网络流量发生故障转移,而不中断接收SET业务的用户。
[0033]在某些实例中,由于接收BFD会话26上的BFD控制包,所以业务引导路径24A可不标记为整体上不可操作,但是可仅仅相对于已经发生故障的特定的SET22A标记为不可操作。业务引导路径24A可继续由路由器12A使用,以将流量转发给业务引导路径24A上的业务节点20A,以访问业务节点20A主持的其他SET。这样,在从业务节点20A接收到有关SET22A的性能问题的通知时,使用仅仅在链路或节点故障通知时通常使用的快速重新路由机构,边缘由路由器12A可进行快速的重新路由操作,以仅将需要故障业务的流量重新路由到备用的业务引导路径24B上。
[0034]如果已经具有性能问题的业务(在该实例中,SET22A)稍后恢复其所期望的性能水平,那么业务节点20A的业务平面内的HA监控器可检测这种变化,并且通知在业务节点20A的转发平面上运行的BFD协议,该协议反过来可使用BFD会话26通知边缘由路由器12A。然后,边缘由路由器12A可确定是否在业务引导路径24B上继续发送相关流量或者恢复为在业务引导路径24A上发送该流量。
[0035]虽然描述图1是为了相对于网络14的边缘路由器进行部分阐述,但是这些技术也可用于非边缘路由器。同样,本公开的这些技术可由并非为一个或两个业务引导路径24的入口的路由器应用,而可由沿着业务引导路径24的非入口路由器应用,诸如本地修复路由器的点。
[0036]图1中所示的网络环境的配置仅仅是示范性的。例如,网络14可包括与一个或多个客户网络耦接的任何数量的边缘路由器。然而,为了便于描述,图1中仅仅示出了边缘路由器12A和接入节点16。作为另一个实例,网络14可包括比所显示的数量更多的业务节点20,并且每个业务节点20可提供多个业务和SET。
[0037]图2是更详细地示出业务节点20A的实例的框图。业务节点20A可包括转发平面42、路由平面40以及业务平面46。业务节点20A可提供用于转发网络流量51的转发平面42以及用于路由网络流量51的路由平面40。在某些情况下,例如可在多机架路由器内的多个接口或接口卡(未示出)上分布转发平面42。在其他情况下,转发平面42可位于中心位置,诸如可编程处理器或业务节点20A的其他控制单元。通常,路由平面40位于这个中心位置内,并且在转发平面42位于中心位置的情况下,这个可编程的处理器或其他控制单元可包括或执行转发平面42和路由平面40。在某些实施方式中,可在多个处理器或部件上分布路由平面40。
[0038]路由平面40可包括根据多个路由协议中的一个或多个协议解决通过网络14的路线的路由引擎44。路由引擎44可包括装置管理接口 56(“DMI56”)和路由后台程序61。路由引擎44主要负责保持路由信息60,以反映网络14的当前拓扑。路由信息60描述了网络拓扑,尤其描述了通过该网络的路线。路由信息60可包括例如描述了网络内各种路线的路由数据以及表示用于每个路线的网络内的适当相邻装置的相应下一跃点数据。
[0039]此外,路由引擎44使用储存在路由信息60内的路线,计算用于特定的网络目标的最佳路径,并且获得转发信息62 (“转发信息62”),该信息包括将目标地址映射到业务节点20A上的出站接口的入口。路由引擎44可将转发信息62的子集推送给路由引擎44,以作为转发信息62’进行储存。因此,可将转发信息62视为包含在路由信息36内的信息的子集。转发信息62也可包括标签,用于沿着LSP转发MPLS包。路由后台程序61可表示软件模块,该软件模块更新路由信息50以反映网络14的当前拓扑。在用作路由引擎44所执行的后台程序或软件模块时,路由后台程序61可实现为硬件模块或硬件和软件的组合。路由引擎44也包括与业务平面46接合的业务后台程序,从而允许由装置管理接口 56配置业务卡48。
[0040]转发平面42可包括转发引擎44。转发引擎44可表示转发网络流量51的软件和/或硬件部件,例如,一个或多个接口卡(未示出)。转发引擎44可将网络流量51的各方面作为业务流量74转移到业务引擎50。在应用一个或多个业务52之后,业务平面46将业务流量74返回到转发引擎44,以合并到出站网络流量69中。在流量不需要应用业务时,转发引擎44可转发网络流量51的某些方面,作为出站网络流量69,而不转移到业务平面46。
[0041]转发引擎44可表示中心或分布式转发引擎,其中,分布式转发引擎分布在多个接口卡上并且中心转发引擎位于业务节点20A的上述中心位置(例如,控制单元50)内。转发引擎44可根据转发信息62’(“转发信息62’”)转发网络流量51。转发信息62’可包括识别转发网络流量51的特定包或数据单元的接口的映射关联或表格。
[0042]业务节点20A可进一步提供业务平面46,以将多个业务52中的一个或多个应用于网络流量51中。业务平面46可使用至少一个业务卡48实现网络安全装置和/或其他面向业务的装置的功能。作为其他实例,业务平面46可使用业务使能技术(SET),包括业务和面向业务的装置,由业务52表示。业务52可提供的实例SET包括例如应用、会话边界控制器(SBC)、虚拟设备、虚拟高速缓存、网络流量加速、网络地址转换(NAT)、防火墙、深度包检测(DPI)、服务质量(QoS )、访问控制或其他业务功能。
[0043]业务卡48可包括业务引擎50。业务引擎50可表示根据策略54所储存的策略配置数据所定义的策略规则应用业务52的软件和/或硬件部件。策略54可以是策略模块,其储存和保持策略配置数据,用于业务引擎50并且通过扩展用于业务平面46。在某些实例中,策略54可在基于XML的编码中,保持策略配置数据。然而,在某些实施方式中,策略54可通过一个或多个表格、链接列表、数据库、平面文件或任何其他数据结构的形式,保持策略配置数据。
[0044]装置管理接口(DMI) 56可表示软件和/或硬件模块,该模块呈现一个接口,由“管理器(ADMIN)”68表示的管理器或管理装置可与该接口相互作用,以规定业务节点20A的某些操作特征。响应于由管理器68调用,装置管理接口 56与业务节点20A的其他部件相互作用,以检索、配置、复制和/或删除储存在策略54内的策略配置数据、通过业务后台程序47更新业务数据66、以及执行其他与管理相关的功能。[0045]业务引擎50根据策略54将一个或多个业务52用于接收的包中。例如,对于包括家长控制应用的业务52而言,可从请求访问与指定的统一资源定位符(URL)相关的网页内容的用户接收包。业务52使业务引擎50参照策略54,以确定被接收包的用户的配置文件是否允许所允许的用户请求访问规定的URL。在另一个实例中,业务引擎50可将QoS策略用于特定的转发等价类型(FEC)中,该QoS策略将满足策略条件的包分类。在这些情况中,根据它们分类的FEC,业务引擎50可不同地转发包,以满足QoS要求。
[0046]策略54储存的策略配置数据可包括用于业务平面46所应用的任何业务52的策略。虽然在本文中相对于储存在业务平面46内的策略54进行描述,但是在某些实施方式中,可将策略储存在或分布到附加的业务卡48、路由平面40或转发平面42内。例如,在某些实施方式中,转发平面42可储存一个或多个策略规则,以通过转发要素即时用于网络流量51中。
[0047]业务引擎50也包括高可用性监控器(“HA监控器”)58。HA监控器58可表示软件和/或硬件部件,该部件监控业务平面46内一个或多个业务52的性能。业务平面46可提供操作环境,以运行由第三方软件开发套件(SDK)生成的一个或多个应用,包括一个或多个业务52。在某些实例中,HA监控器58也可以是使用SDK的软件应用。在某些方面,业务52均可露出应用编程接口(API),通过该接口,HA监控器检查用于各个业务的性能数据(例如,负载电平)。或者,HA监控器58可露出通用接口,每个业务52可调用该接口,以通信当前的性能数据。作为另一个实例,HA监控器58可周期性地查验每个业务52或者可监控每个业务的输出通信或每个业务所消耗的操作系统水平资源。HA监控器58可监控与业务52相关联的多个参数中的任一个,这些参数可通过业务节点20A的管理平面,例如通过装置管理接口 56限定。HA监控器58可监控与业务52相关联的参数,业务诸如是每个处理的中央处理单元(CPU)使用、存储器使用、输出率、可用连接的数量、或任何其他参数,以检测业务52是否根据所期望的水平进行。例如,如果期望业务52以阈值率提供输出,那么HA监控器58可检测输出的实际速率降低到阈值率之下的时间。例如,在业务节点20A上最初部署应用或其他业务时,管理器可通过装置管理接口 56配置性能水平阈值。性能水平阈值可存储为业务数据66。相对于SLA要求,可选择性能水平阈值,从而当性能水平降低到用户18所要求的水平之下时,触发行动。
[0048]作为一个实例,一个业务52所提供的网络地址转换(NAT)功能可支持多个连接。管理器68可配置这样的连接的阈值数量,对于所期望的性能水平而言,NAT业务不应降低到该阈值数量之下。装置管理接口 56通过业务后台程序47配置业务卡48,以将配置的阈值储存到业务数据66中。HA监控器58可连续地或周期性地监控NAT业务支持的连接的数量,并且如果NAT业务可使用的连接数量降低到连接的阈值数量之下,那么HA监控器58可检测这个事件并且将通知发送给转发平面内的BFD模块64。
[0049]当给定的一个业务52的性能水平基本上与预期的水平不同(例如,在一个或多个预设的阈值范围之外)时,业务平面46内的HA监控器58将故障检测协议通知给业务节点20A,例如,业务节点20A的转发平面42的BFD模块64。例如,HA监控器58可通过API或其他内部软件机构,通知BFD模块64。HA监控器58可检测一个或多个业务52在所期望的性能水平阈值之外进行操作的时间,并且将业务52的性能水平问题通知给BFD模块64。这样,HA监控器58在业务平面46内进行操作,以监控业务52,并且触发转发平面42 (有时称为数据平面)内的故障检测协议,例如,BFD64,如下所述,该协议使BFD64将控制包发送给入口路由器12A,以触发路由器12A进行快速重新路由。
[0050]如本文中所述,可扩展BFD模块64,以支持业务52的故障或劣化通知,其可以是业务使能技术(SET)。符合本公开的原理时,BFD模块64提供信令机构,以将业务52 (例如,应用或其他业务52)故障通知给业务引导路径的入口边缘路由器。在某些实施方式中,可自动进行操作,即,不受到系统管理器或软件代理的干涉。
[0051 ] BFD模块64可实现于转发平面42内,并且通过在业务节点20A的控制平面内中断可继续运行。BFD模块64使用控制包,以将有关业务节点20A的信息通过BFD会话26指示给其他装置,例如指示给边缘路由器12A(图1)。例如,BFD模块64可包括控制包内的诊断代码,其中,可限定诊断代码值,以指明会话状态发生变化的本地系统的原因。例如,诊断现场可由远程系统(路由器12A)用于确定会话发生故障的原因。BFD模块64在适合于该环境的封装内发送BFD控制包。例如,BFD控制包可封装有MPLS标签并且通过业务引导路径24A 的 LSP 由源节点 20A 发送。在 D.Katz 的 2010 年 6 月的 “Bidirectional ForwardingDetection (BFD) ", RFC5880中可见有关BFD的其他详情,将其全部内容通过引用结合于此。
[0052]BFD控制包的诊断现场允许远程系统了解发送器系统上会话状态发生变化的性质。根据本公开的技术的一个实例,检测到一个业务52发生故障或劣化时,BFD模块64可发送BFD控制包,其包括BFD控制包的诊断(DIAG)现场内新定义的诊断代码。作为一个实例,尽管业务节点20A的数据平面(转发平面42)和控制平面依然正常运作,但是BFD模块64可扩展,以包括一个额外的新诊断代码,该代码用于表示一个或多个业务52的操作状态发生的故障或劣化。例如,新诊断代码可称为“业务停用”代码。假设边缘路由器12A执行可处理新诊断代码的BFD模块,当边缘路由器12A接收具有新诊断代码组的BFD控制消息时,BFD控制消息的诊断代码会通知其BFD模块,某个业务已经发生故障或劣化,并且边缘路由器12A的转发平面会采取适当的行动,以自动触发将需要业务的包快速重新路由到不同的业务节点。
[0053]作为另一个实例,业务节点20A的BFD模块64可扩展为识别特定的业务,该业务的性能劣化已经被检测到。例如,BFD模块64可扩展为包括“业务停用”诊断代码以及可用于规定哪些特定的业务52具有性能问题的其他子代码。在该实例中,BFD需要进一步的修改,以将BFD控制包内充足的比特分配给子代码。BFD控制消息的诊断代码通知接收具有新诊断代码和子代码组的BFD控制消息的边缘路由器12A,所识别的特定业务52已经发生故障或劣化,并且作为响应,边缘路由器12A可采取合适的行动,以触发快速地将受影响的包重新路由到不同业务节点上的业务的不同情况。同样修改边缘路由器12A上的BFD模块,以处理新诊断代码以及子代码,从而采取所需要的行动并且决定重新路由哪些流量。在某些方面,边缘路由器12A可快速地重新路由需要识别业务的流量,但是可通过业务引导路径24A,将其他流量完整无缺地留给业务节点20A。S卩,边缘路由器12A可以不重新路由来自业务引导路径24A的所有的流量,但是可仅仅更新其转发状态,以将需要识别的业务52的所有流量转发到业务引导路径24B上。这可提供选择性的快速重新路由功能,允许路由器12A重新路由某些业务而非其他业务的流量。
[0054]在另一个可选的实例中,响应于由HA监控器58通知业务52的性能问题,即使业务节点20A实际上未停用,也不使用新的“业务停用”诊断代码,业务节点20A的BFD模块64可使用BFD的现有代码,指出业务节点20A停用,以触发快速重新路由,例如节点故障事件。响应于接收表示节点故障的BFD控制包,边缘路由器12A可将业务节点20A的所有流量重新路由到一个或多个可选的业务节点(例如,业务节点20B)。
[0055]示出图2中所示的业务节点20A的结构仅仅用于进行示范。本公开不限于该结构。在其他实例中,可通过多种方式配置业务节点20A。虽然描述BFD仅仅为了进行示范,但是可应用本文中所描述的原理,以扩展其他协议,例如,用于进行操作、管理、以及维护(OAM)和/或故障检测的其他协议。在某些实例中,BFD模块64可在转发平面42 (未示出)的一个或多个接口卡上执行。
[0056]业务平面46、路由平面40、或转发平面42的各方面可单独以软件或硬件实现,或者可实现为软件、硬件或固件的组合。例如,业务平面46、路由平面40或转发平面42可包括一个或多个基于硬件的处理器,这些处理器执行软件指令。在这种情况下,业务平面46、路由平面40或转发平面42的各个软件模块(诸如BFD模块64)可包括可执行的指令,这些指令储存在诸如计算机存储器或硬盘的计算机可读储存介质上。
[0057]图3是示出了根据本公开的技术的网络装置的示例性操作的流程图。为了举例说明,参考图1和图2的业务节点20A以及图1的路由器12A,描述图3。虽然描述图3以相对于网络14的边缘路由器进行部分说明,但是这些技术也可应用于非边缘路由器。同样,本公开的这些技术可由并非为一个或两个业务引导路径24的入口的路由器应用,然而可由沿着业务引导路径24的另一个非入口路由器应用,例如,本地修复路由器的点。
[0058]业务平面46例如可通过管理器配置接收一个或多个性能水平阈值,并且可将这些阈值作为业务数据66进行储存(98)。业务节点20A的业务平面46 (也称为“业务层”)内的HA监控器58监控一个或多个业务52的各方面,以基于业务数据66的性能水平阈值,确定业务52的性能水平是否在所预期的性能水平范围内(100)。当该性能水平并非与预期的水平基本不同时(例如,并非在预设的阈值范围之外)(方框102中的是),则HA监控器58继续监控业务52。例如,HA监控器58可与业务52相互作用,以收集统计数据、进行信号交换、或对业务52的功能进行其他检查。
[0059]当给定的一个业务52的性能水平基本与预期的水平不同时(例如,在一个或多个预设的阈值范围之外)(方框102中的否),HA监控器42通知业务节点20A的故障检测协议,诸如业务节点20A的转发平面42的BFD模块64( 104)。性能水平的变化可表示业务52已经发生故障或劣化。HA监控42到BFD模块64的通知可识别业务,该业务的性能发生劣化或故障已经被检测到。响应于从业务平面46的HA监控器58接收通知,BFD模块64将现有的BFD会话26上的控制包输出给入口路由器12A,以通知路由器12A业务52的性能劣化
(106)。如上,控制包可包括各种形式的信息,以触发路由器12A重新路由业务节点20A的某些或所有流量。例如,BFD控制包可包括诊断代码,该代码规定,发送给业务52的业务节点20A的网络流量应在其他地方发送。
[0060]路由器12A执行接收BFD控制包的相应的BFD模块(108)。响应于接收BFD控制包,边缘路由器12A确定应重新路由哪些流量、选择诸如具有所需要的业务52的另一个实例的业务节点20B的新业务节点、以及触发将需要业务的流量快速重新路由到业务节点20B (110)。在某些实例中,边缘路由器12A可自动更新所储存的转发信息,以修改通过业务引导路径24A的先前目标为业务节点20A的路线的下一跃点,以现在反映下一跃点,从而通过业务引导路径24B到达业务节点20B。如果业务引导路径24B已经不存在,那么边缘路由器12A此时可例如使用RSVP-TE建立业务引导路径24B。
[0061]本公开中所描述的技术可至少部分以硬件、软件、固件或其任意组合来实现。例如,所描述的技术的各方面可用于一个或多个处理器中,包括一个或多个微型处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成或离散逻辑电路,以及这些部件的任意组合。术语“处理器”或“处理电路”通常可表示单独的或与其他逻辑电路结合的上述逻辑电路中的任一个或任何其他等效电路。包括硬件的控制单元也可执行本公开的一个或多个技术。
[0062]这种硬件、软件和或固件可实现于同一个装置内或单独的装置内,以支持本公开中所描述的各种操作和功能。此外,所描述的单元、模块或部件中的任一个可与离散但可互操作的逻辑装置一起或单独使用。描述模块或单元的不同特征,其目的在于强调不同的功能方面并且未必表示这种模块或单元必须由单独的硬件或软件部件实现。确切地说,与一个或多个模块或单元相关联的功能可由单独的硬件或软件部件执行或者集成在共同的或单独的硬件或软件部件内。
[0063]本公开中所描述的技术也可在包含指令的计算机可读介质(例如,计算机可读储存介质)内实现或编码。例如,在执行指令时,嵌入或储存在计算机可读介质内的指令可使可编程处理器或其他处理器执行该方法。计算机可读介质可包括永久性计算机可读储存介质和瞬态通信介质。有形或无形的计算机可读储存介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PR0M)、可擦除可编程只读存储器(EPR0M)、电子可擦除可编程只读存储器(EEPROM),闪存、硬盘、⑶-ROM、软盘、盒式磁带、磁性介质、光学媒体、或其他计算机可读储存介质。应理解的是,术语“计算机可读储存介质”指的是物理储存介质,而非信号、载波或其他瞬态介质。
[0064]已经描述了本公开的各方面。这些和其他方面在所附权利要求的范围内。
【权利要求】
1.一种方法,包括: 通过业务节点将业务应用于经由主要的业务引导路径在所述业务节点的业务平面处接收的网络流量,其中,所述业务节点用作所述主要的业务引导路径的出口装置; 在所述业务节点的业务平面,检测所述业务的性能水平与所期望的业务性能水平至少相差阈值量,其中,所述业务的性能水平独立于所述业务节点的整体操作状态; 当所检测到的所述业务的性能水平与所期望的性能水平所相差的差异至少为所述阈值量时,将通知输出给所述业务节点的转发平面内的故障检测网络协议;以及 响应于从业务层接收通知,通过所述故障检测网络协议,将控制消息输出到所述主要的业务引导路径上的路由器,其中,所述控制消息通知所述路由器将网络流量重新路由到备用业务引导路径可到达的第二业务节点处所提供的业务的第二情况。
2.根据权利要求1所述的方法,其中,所述业务包括网络业务,所述网络业务包括应用、会话边界控制器(SBC)、虚拟设备、虚拟高速缓存、网络流量加速度、网络地址转换(NAT),防火墙、深度包检测(DPI)、服务质量(QoS)以及访问控制中的至少一个。
3.根据权利要求1所述的方法,进一步包括在所述业务节点的业务平面监控所述业务的性能。
4.根据权利要求1所述的方法,其中,监控所述业务的性能包括在所述业务平面执行高可用性(HA)监控软件部件,其中,所述高可用性监控软件部件与所述业务相互作用,以评估所述业务的性能。
5.根据权利要求4所述的方法,其中,所述高可用性监控软件部件露出所述业务可调用的接口,以将性能数据通信给所述高可用性监控软件部件。
6.根据权利要求4所述的方法,其中,所述高可用性监控软件部件在业务节点的业务卡上可操作。
7.根据权利要求1所述的方法,其中,所述主要的业务引导路径包括使用基于流量工程扩展的资源预留协议(RSVP-TE) LSP建立的流量引导路径。
8.根据权利要求1所述的方法,其中,检测所述业务的性能水平与所期望的性能水平相差所述阈值量包括检测所述业务发生故障。
9.根据权利要求1所述的方法,其中,根据服务水平协议(SLA)确定所期望的性能水平。
10.根据权利要求1所述的方法,其中,当所述业务的性能水平与所期望的性能水平相差所述阈值量时,所述业务节点的整体操作状态是可操作的。
11.根据权利要求1所述的方法,其中,所述故障检测网络协议包括在所述业务节点的数据平面内执行的双向转发检测(BFD)协议, 其中,输出控制消息包括在所述业务节点和所述路由器之间建立的双向转发检测会话上输出双向转发检测控制包,其中,所述双向转发检测会话与所述主要的业务引导路径相关联,以及 其中,所述双向转发检测控制包规定诊断代码,所述诊断代码表示所述路由器应将网络流量重新路由到不同的业务节点。
12.根据权利要求11所述的方法,其中,所述双向转发检测控制包的诊断代码规定特定业务,对于所述特定业务将网络流量重新路由到提供所述业务的第二情况的所述第二业务节点。
13.根据权利要求1所述的方法,进一步包括: 通过所述路由器接收所述控制消息;以及 响应于接收所述控制消息,将需要将所述业务应用于备用业务引导路径的流量重新路由到所述业务的不同情况。
14.根据权利要求1所述的方法,其中,所述主要的业务引导路径上的路由器包括所述主要的业务引导路径的入口路由器,并且其中,所述主要的业务引导路径包括所述入口路由器和所述业务节点之间的流量引导路径,其中,所述业务节点被选为能够将所述业务提供给与所述主要的业务引导路径相关联的流量。
15.根据权利要求1所述的方法,其中,所述业务包括第一业务,进一步包括: 通过所述业务节点,将第二业务应用于经由主要的业务引导路径在所述业务节点的业务平面处接收的网络流量,其中,所述业务节点用作所述主要的业务引导路径的出口装置; 在所述业务节点的业务平面,相对于第一阈值性能水平,监控所述第一业务的第一性能水平; 在所述业务节点的业务平面,相对于第二阈值性能水平,监控所述第二业务的第二性能水平。
16.根据权利要求1所述的方法,其中,所述业务包括复合业务,所述复合业务包括两个以上的业务功能。`
17.一种网络装置,包括: 转发平面,包括: 包转发部件; 故障检测网络协议,其在所述转发平面内执行;以及 业务平面,其包括一个或多个业务卡,其中,所述业务平面包括: 软件处理,其将业务应用于经由主要的业务引导路径在所述网络装置处接收的网络流量,其中,所述网络装置用作所述主要的业务引导路径的出口装置;以及 监控部件,其与所述软件处理进行通信,以在将所述业务应用于所述网络流量中时,评估所述软件处理的性能水平,其中,所述业务的性能水平独立于所述网络装置的整体操作状态;其中,所述监控部件检测所述业务的性能水平与所期望的业务性能水平至少相差阈值量, 其中,当所检测到的性能水平与所期望的性能水平相差的差异至少为所述阈值量时,所述监控部件将通知输出给所述故障检测网络协议,以及 其中,响应于从所述监控部件接收通知,所述故障检测网络协议将控制消息输出到所述主要的业务引导路径上的路由器,其中,所述控制消息通知所述路由器将网络流量重新路由到备用业务引导路径可到达的第二网络装置处所提供的所述业务的第二情况。
18.根据权利要求17所述的网络装置,其中,所述业务包括网络业务,所述网络业务包括应用、会话边界控制器(SBC)、虚拟设备、虚拟高速缓存、网络流量加速、网络地址转换(NAT),防火墙、深度包检测(DPI)、服务质量(QoS)以及访问控制中的至少一个。
19.根据权利要求17所述的网络装置,其中,所述业务平面的监控部件监控所述业务的性能。
20.根据权利要求17所述的网络装置,其中,所述监控部件包括在所述业务平面的高可用性(HA )监控软件部件,其在所述业务节点的业务卡上可操作,其中,所述高可用性监控软件部件与应用所述业务的软件处理相互作用,以评估应用所述业务时所述软件处理的性倉泛。
21.根据权利要求20所述的网络装置,其中,所述高可用性监控软件部件露出应用所述业务的软件处理可调用的接口,以将性能数据通信给所述高可用性监控软件部件。
22.根据权利要求17所述的网络装置,其中,所述故障检测网络协议包括在所述业务节点的数据平面内执行的双向转发检测(BFD)协议模块,其中,所述双向转发检测协议模块在所述业务节点和所述路由器之间建立的双向转发检测会话上输出双向转发检测控制包,其中,所述双向转发检测会话与所述主要的业务引导路径相关联,其中,所述双向转发检测控制包规定诊断代码,所述诊断代码表示所述路由器应将网络流量重新路由到不同的业务节点。
23.根据权利要求17所述的网络装置,其中,所述双向转发检测控制包的诊断代码规定特定业务,对于所述特定业务将网络流量重新路由到提供所述业务的第二情况的所述第二业务节点。
24.根据权利要求17所述的网络装置,其中,所述软件处理包括应用第一业务的第一软件处理,其中,所述业务平面包括将第二业务应用于经由所述主要的业务引导路径在所述网络装置处接收的网络流量的第二软件处理,其中,所述监控部件相对于第一阈值性能水平监控所述第一软件处理的第一性能水平,并且其中,所述监控部件相对于第二阈值性能水平监控所述第二业务的第二性能水平`。
【文档编号】H04L12/703GK103516604SQ201210555671
【公开日】2014年1月15日 申请日期:2012年12月19日 优先权日:2012年6月26日
【发明者】詹姆士·吉夏尔, 戴维·沃德 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1