服务工程路径的反馈回路的制作方法

文档序号:8001459阅读:298来源:国知局
服务工程路径的反馈回路的制作方法
【专利摘要】本发明总体上描述用于提供服务工程路径的反馈回路的技术。包括接口和控制单元的服务节点可实现本技术。所述接口经由网络内路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点。所述控制单元将一个或多个服务应用于经由所述路径接收的流量并且产生与将所述一个或多个服务应用于流量相关的服务专用信息。所述接口然后将所述服务专用信息发送到至少一个网络设备,所述至少一个网络设备被配置为经由所述路径转发流量,使得被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
【专利说明】服务工程路径的反馈回路
[0001]相关技术的交叉引用
[0002]本申请要求于2012年6月27日提交的美国专利申请第13/534,121号的权益,其全部内容通过弓I证结合于本文中。
【技术领域】
[0003]本发明涉及计算机网络,更具体地,涉及计算机网络内数据的传输。【背景技术】
[0004]最近,形成计算机网络的网络设备已适合于实现被称为“软件定义网络”的网络形式。在软件定义网络中,使网络交换机、路由器或者其它网络设备的转发平面经由通信协议是可用的,使得该转发平面可经由通信协议而不是路由协议来配置。在许多实现方式中,网络设备可执行软件以实现经由该通信协议与网络中的其它网络设备进行通信,以配置通过网络的路径。有利于软件定义网络的通信协议的一个示例为所谓的“开放流(OpenFlow)”通信协议。开放流(OpenFlow)为允许用户(例如,研究人员)将软件安装在路由器上以运行实验协议或者专有协议,从而控制网络内数据包路由或者交换的开放标准。
[0005]软件控制的路径设置然后可根据需要编排路径配置和部署以适应特定服务。为了说明,控制路径设置的编排软件可利用识别由第一网络设备(服务节点)操作的网络地址转译(NAT)服务的信息来手动配置。不提供NAT服务的第二网络设备可与编排软件通信,获悉该NAT服务并且定制该服务,于是编排软件可配置通过网络从第二网络设备到第一网络设备的路径。第二网络设备然后可通过路径推送需要NAT服务的流量,其中第一网络设备可申请NAT流量。当建立路径时,编排软件可配置第二网络设备上的一个或多个过滤器,所述一个或多个过滤器控制网络流量进入路径的许可。针对特定服务(即,在本示例中,NAT服务)设计的这些路径(具有控制进入路径的许可的过滤器)可称为“服务工程路径”(或者“SEP”)。在这方面,就定义针对特定服务定制的过滤器而言,编排软件可定义这些SEP以适应特定服务。
[0006]虽然SEP可提供服务共享并且使其它网络设备能够经由满足服务应用(例如,就所提供服务质量(QoS)、带宽等而言)需求的路径来转发流量,但是SEP —般对于服务应用改变是不作出响应的。换言之,虽然管理沿着SEP的路由器或者交换机的转发平面的控制软件可被配置为,通过配置满足某些网络需求(例如,就带宽、服务质量等而言)的路径来适应网络条件,但是不适合于动态或者自动适应服务节点的变化。

【发明内容】

[0007]本发明总体上描述了用于建立反馈回路的技术,该反馈回路用于沿着服务工程路径(SEP)将服务水平信息通信到任何网络设备,诸如至SEP的入口、中间定位于入口网络设备与端点服务节点或者另一个服务节点(这可发生在两个服务节点均沿着SEP并且都将服务应用于流量的示例中)之间的中转交换机或SEP的节点。本技术可使服务节点能够使用诸如中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议和边界网关协议(BGP)的路由协议,与沿着SEP的这些中间网络设备进行通信。服务水平信息可包括与由服务节点提供的特定服务相关的任何信息。通过提供该服务水平信息,本技术可使沿着SEP的中间网络设备能够调整SEP,以适应与SEP相关联的服务节点处的一个或多个服务的应用的变化。
[0008]在一个实施方式中,一种方法包括以下步骤:利用网络的服务节点,经由所述网络内的路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括控制入口网络设备处的流量进入所述路径的许可的过滤器;并且利用所述服务节点,将一个或多个服务应用于经由所述路径接收的流量。所述方法还包括:利用所述服务节点,产生与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息;并且利用所述服务节点,将所述服务专用信息(service-specific information)发送到被配置为沿着所述路径转发流量的至少一个网络设备,使得被配置为沿着所述路径转发流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
[0009]在另一个实施方式中,一种服务节点包括:至少一个接口,经由网络内的路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括用于控制入口网络设备处流量进入所述路径的许可的过滤器;和控制单元,将一个或多个服务应用于经由所述路径接收的流量并且产生与将所述一个或多个服务应用于流量相关的服务专用信息。所述至少一个接口将所述服务专用信息发送到被配置为经由所述路径转发流量的至少一个网络设备,使得被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
[0010]在另一个实施方式中,一种非临时计算机可读介质包括指令,当执行时,所述指令使网络服务节点的一个或多个处理器执行以下操作:经由所述网络内的路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括用于控制入口网络设备处的流量进入所述路径的许可的过滤器;将一个或多个服务应用于经由所述路径接收的流量;产生与将所述一个或多个服务应用于流量相关的服务专用信息;并且将所述服务专用信息发送到被配置为经由所述路径转发流量的至少一个网络设备,使得被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
[0011]在另一个实施方式中,一种方法包括:基于由编排设备(orchestrating device)指定的配置数据在网络设备的控制单元中配置路径,通过所述路径将流量从入口网络设备转发到服务节点,所述编排设备计算和配置通过所述网络路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何流量;并且利用所配置的控制单元沿着所述路径转发流量,以使所述服务节点能够将一个或多个服务应用于流量。所述方法还包括:利用所述网络设备,接收与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息;并且基于所接收的服务专用信息,在所述网络设备的控制单元中重新配置路径。
[0012]在另一个实施方式中,一种网络设备包括:控制单元,被配置为根据由编排设备指定的配置数据沿着从入口网络设备到服务节点的路径转发流量,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何流量;和至少一个接口,沿着所述路径转发流量以使所述服务节点能够将一个或多个服务应用于流量并且接收与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息。所述控制单元基于所接收的服务专用信息来重新配置所述路径。[0013]在另一个实施方式中,一种非临时计算机可读介质包括指令,当执行时,所述指令使网络设备的一个或多个处理器执行以下操作:基于由编排设备指定的配置数据来在网络设备的转发平面中配置路径,通过所述路径将流量从入口网络设备转发到服务节点,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何流量;利用所配置的转发平面沿着所述路径转发流量以使服务节点能够将一个或多个服务应用于流量;接收与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息;基于所接收的服务专用信息来在网络设备的转发平面中重新配置路径。
[0014]在另一个实施方式中,一种网络系统包括软件定义网络和编排设备,所述编排设备计算和配置通过软件定义网络的路径并且除用于计算和配置通过软件定义网络的路径外不通过软件定义网络转发任何流量。软件定义网络包括服务节点和入口网络设备。入口网络设备包括:控制单元,被配置为根据由编排设备指定的配置数据沿着从入口网络设备到服务节点的路径转发流量;和至少一个接口,沿着所述路径转发流量,以使服务节点能够将一个或多个服务应用于流量。服务节点包括:至少一个接口,经由所述路径接收流量;和控制单元,将所述一个或多个服务应用于经由所述路径接收的流量并且产生与将所述一个或多个服务应用于流量相关的服务专用信息。所述服务节点的所述至少一个接口将所述服务专用信息发送到至少一个网络设备,所述至少一个网络设备被配置为经由所述路径转发流量。所述入口网络设备单元的所述控制单元基于所接收的服务专用信息来重新配置所述路径。
[0015]本技术的一个或多个实施方式的细节在以下附图和说明书中阐述。从说明书和附图以及从权利要求,本技术的其它特征、目的和优点将变得显而易见。
【专利附图】

【附图说明】
[0016]图1为示出根据本文中描述的技术的示例网络系统的框图,所述网络系统用于使用反馈回路建立所请求的通过多层、多拓扑网络的路径,所述路径自适应服务应用的改变。
[0017]图2为示出将路径编程到多拓扑网络中的示例路径计算元件的框图。
[0018]图3为示出根据本文中描述的技术经由反馈回路从服务节点接收服务相关信息的示例路由器的框图。
[0019]图4为示出根据本发明中描述的技术形成用于服务工程路径的反馈回路的示例服务节点的框图。
[0020]图5为示出在执行本发明中描述的服务工程路径(SEP)反馈回路技术的不同方面时,入口网络设备和服务节点的示例性操作的流程图。
[0021]图6为示出根据本发明中描述的技术的示例性中间系统到中间系统(IS-1S)路由协议消息的示图,所述中间系统到中间系统(IS-1S)路由协议消息包括指定服务专用信息的字段。
【具体实施方式】
[0022]图1为示出根据本文中描述的技术的示例网络系统2的框图,所述网络系统2用于使用反馈回路建立所请求的通过多层、多拓扑网络的路径,所述路径自适应服务应用的改变。网络系统2包括:多拓扑网络3 (下文中,为“网络3”),多拓扑网络3包括在网络(诸如企业网络10)、主机或者任何其它网络或者网络设备(诸如服务节点13)之间传输流量的多个层。
[0023]企业网络10可代表由企业或者商家拥有和操作的网络。服务节点13可代表安装于网络设备(诸如网络交换机6B)内或者以其它方式耦接到网络设备(诸如网络交换机6B)的服务卡或者所谓的“服务刀片”、在网络设备内执行的虚拟网络设备或者单独物理网络设备。在任何情况下,服务节点13可将一个或多个服务(诸如网络地址转译(NAT)或者其它防火墙服务、入侵检测和防御(IDP)服务、防病毒服务、防恶意软件服务、家长控制服务或者任何其它类型服务)应用于网络流量。虽然关于企业网络10描述建立至服务节点13的路径,但是本技术总体上可应用于任何两个网络实体(诸如网络、服务节点、设备等),并且不应限于本发明中描述的示例。
[0024]在任何情况下,网络3的基础网络层(或者“基础网络”)包括以物理拓扑布置的网络交换机6A、6B (统称为“网络交换机6”)。网络交换机6根据由管理员或者外部实体(例如,叠置(overlay)控制器14或者多拓扑路径计算元件8)编程到交换机中的转发信息和/或根据交换机获悉的转发信息,接收并转发网络流的数据包数据单元(PDU),而不管是通过操作一个或多个协议(例如,内部网关协议(IGP))还是通过记录在PDU转发期间获悉的信息。每个网络交换机6可代表路由器、第三层(“L3”)交换机、第二层(“L2”)交换机、L2/L3交换机或者根据转发信息交换流量的另一个网络设备。相应地,由网络交换机6A转发的PDU可包括例如L3网络(例如,互联网协议)数据包和/或L2数据包(例如,以太网数据报或者异步传输模式(ATM)信元)。PDU可为单播、多播、任播和/或广播。
[0025]网络3的叠置网络层包括以虚拟拓扑布置在由网络交换机6定义的位于物理拓扑之上的叠置交换机12A、12B (统称为“叠置交换机12”)。例如,虽然每个网络交换机6可包括数据平面以及用于控制数据包转发的典型路由和/或交换协议,但是也可使数据平面暴露给安装于设备上的其它软件,以使用适当或者第三方协议来控制该“叠置网络”内的数据包转发。叠置网络的虚拟拓扑的各个链路(或者“叠置链路”)可为通过连接叠置交换机12的基础网络和/或物理链路建立的路径。例如,叠置网络可代表虚拟私有网络(VPN)、由一个或多个OpenFlow交换机组成的OpenFlow网络或者具有内置到端点(endpoint)设备的选择功能的应用层网络。相应地,例如,每个叠置交换机12可代表路由器或者路由实例(例如,虚拟路由转发(VRF)实例);虚拟私有局域网(LAN)服务(VPLS)实例;专用L2、L3或L2/L3交换机;或者通过路由器或通过专用交换机实现的虚拟或“软”交换机(例如,OpenFlow交换机)。例如,叠置交换机12A代表专用叠置交换机,即,响应于被配置为控制交换机的数据平面的控制平面软件,执行交换和/或路由的物理交换机。与之相比,叠置交换机12B由网络交换机6A来实施,并且可代表例如利用网络交换机6A的基础数据平面的软交换机。网络3可包括不同或者相似类型的多个叠置网络层(例如,多个VPN和/或OpenFlow网络)。
[0026]拓扑服务器4从多拓扑网络3的基础网络的网络交换机6接收拓扑信息。例如,拓扑服务器4可执行一个或多个IGP或者外部网关协议(例如,边界网关协议(BGP))以监听由网络交换机6发送的路由协议通告。拓扑服务器4收集并存储基础网络拓扑信息,然后以基础拓扑更新消息22将基础网络拓扑信息提供给多拓扑路径计算元件(PCE)8。拓扑信息可包括网络链路的流量工程信息,诸如可为标签交换路径(LSP)使用的不同优先级的链路管理属性和带宽。在一些示例中,网络交换机6可将拓扑更新消息发送给拓扑服务器4,拓扑服务器4指定连接网络交换机的L2链路的L2链路信息。在一些示例中,拓扑服务器4为PCE8的组件。
[0027]叠置控制器14在相应通信会话30中以叠置交换机12发送的拓扑更新消息接收多拓扑网络3的叠置网络的拓扑信息。由叠置交换机12发送的拓扑更新消息可包括虚拟和物理交换机端口信息、PDU和指定接收PDU所经由的相应端口和/或接口的相关元数据。在一些示例中,叠置控制器14为路由协议监听器,所述路由协议监听器执行一个或多个路由协议以接收由叠置交换机12发送的路由协议通告。例如,这种路由协议通告可与一个或多个VRF相关联。叠置控制器14收集并存储叠置拓扑信息,然后以叠置拓扑更新消息26将叠置拓扑信息提供给PCE8。在一些示例中,叠置控制器14为PCE8的组件。
[0028]网络交换机6可被配置为或者以其它方式旨在建立通过多拓扑网络3的基础网络的路径。这种路径可包括例如IP隧道(诸如通用路由封装(GRE)隧道、通用数据包无线电服务(GPRS)穿遂协议(GTP)隧道)、LSP或者通过基础网络或者VPN的简单路线(例如,由具有路由目标的静态路由识别)。网络交换机6在通信会话28中向PCE8提供穿过多拓扑网络的基础网络所建立的路径的路径状态信息。路径状态(可替换地,“路径状态”或者“LSP状态”)信息可包括现有操作路径的描述符以及所建立路径或者路径设置操作失败的指示符。例如,网络交换机6A可试图使用预留协议(诸如,资源预留协议(RSVP))建立LSP,但是由于沿着由显式路由对象(ERO)指定的路径的网络资源不足而失败。因此,网络交换机6A可在通信会话28中将路径设置操作失败的指示提供给PCE8。PCE8接收路径状态信息并且将通过网络3的基础网络所建立的路径作为叠置网络拓扑中的链路来添加。
[0029]PCE8可提供客户端18A-18N (统称为“客户端18”)通常在特定时间内请求介于网络实体任何组合(诸如企业网络10和服务节点13)之间的专用路径所经由的接口。一般地,客户端18可请求符合带宽、主机和时间路径参数、服务质量(QoS)路径请求参数(诸如延迟和抖动)的路径,并且还可指定另外相关分类符以识别特定端点之间的流。下文提供示例流分类符(或者“参数”)。此外,PCE8可提供客户端18请求服务所经由的接口,该服务将应用于源自由相应客户端18拥有和运营的网络的网络流量。
[0030]PCE8使用从拓扑服务器4接收的网络3的基础网络拓扑信息、从叠置控制器14接收的网络3的叠置网络拓扑信息和从网络交换机6接收的路径状态信息,来计算和调度通过网络3介于网络实体之间的路径,所述路径满足客户端18请求的路径参数。PCE8可从客户端18接收时间上重叠的多个路径请求。PCE8通过针对路径请求调度对应路径或者通过拒绝一些路径请求来协调这些请求,例如,对应路径横跨网络3的不同部分并且增加容量利用率。
[0031]在调度路径的调度时间,PCE8将转发信息安装到网络3的节点(例如,叠置交换机12和网络交换机6),以使节点以满足所请求路径参数的方式转发流量。所请求路径可横跨网络3中一个或者两个域。即,所请求路径可横跨多拓扑网络3的基础网络和叠置网络中一个或者两个。例如,所请求的流量路径可仅横跨基础网络域,而作为例如从网络交换机6A到网络交换机6B的简单网络路由。然而,一些路径可横跨多个域。例如,介于耦接到叠置交换机12B的网络实体(诸如企业网络10)与耦接到网络交换机6B的网络实体(诸如服务节点13)之间的任何所请求的流量路径首先横跨叠置网络域,然后横跨基础网络域。[0032]PCE8使用叠置控制器14将转发信息安装到叠置交换机12。叠置控制器14提供PCE8可添加、删除和修改叠置交换机12中的转发信息所经由的编程接口。叠置交换机12的转发信息可包括具有一个或多个条目的流表,所述一个或多个条目指定匹配PDU属性的字段值以及应用于匹配PDU的一组转发动作。匹配特定流条目的一个或多个PDU的组代表流。可使用I3DU(诸如源和目的地MAC和IP地址)、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或广义MPLS (GMPLS)标签和接收流的网络设备的入口端口中的任何参数来宽泛地对流进行分类。例如,流可为在传输控制协议(TCP)连接中传输的所有rou、以特定MAC地址或IP地址为源的所有rou、具有相同VLAN标签的所有PDU或者以同一交换机端口接收的所有rou。
[0033]PCE8通过发送叠置网络路径设置消息24来调用叠置控制器14的编程接口,以引导叠置控制器14在网络3的叠置网络中建立路径和/或将流从主机13引导到所建立路径上。叠置控制器14通过使用通信会话30将转发信息安装到叠置交换机12来响应于叠置网络路径设置消息24,所述转发信息实现所述路径和/或将从主机接收的流引导到所建立路径上。
[0034]PCE8使用通信会话28将转发信息安装到网络交换机6。每个网络交换机6可提供管理接口、配置接口和/或路径计算客户端(PCC)形式的编程接口。PCE8可调用网络交换机6的编程接口,以配置隧道(例如,LSP);安装静态路由;配置VPLS实例;配置集成路由和桥接(IRB)接口并且以其它方式将网络交换机6配置为以指定方式转发数据包流。在一些情况下,PCE8引导一个或多个网络交换机6信号通知通过网络3的基础网络的流量工程LSP (TE LSP),以建立路径。以此方式,PCE8可通过仅调用路径首位网络设备的编程接口来编程所调度的通过网络3的路径。
[0035]在一些情况下,PCE8可移除路径,调用网络交换机6和叠置交换机12的编程接口来移除实现所请求路径的转发信息。以此方式,PCE8使资源用于未来路径。
[0036]因为PCE8在叠置网络层和基础网络两者处具有网络3的当前状态的增强查看性,所以PCE8可识别对于具有更加受限的查看性的网络交换机或者叠置交换机12中任何一个不可见的路径。PCE8凭借具有该增强查看性,可另外将流量引导到网络3的未充分利用部分以提高网络3的容量利用率。此外,将路径计算和建立集中于PCE8可允许网络运营商协调多个可能冲突的应用路径请求,并且可减少对网络资源的时间在先优先存取,从而有利于特定路径的应用请求的明确、集中优先化。关于路径计算和建立、PCE、OpenFlow和与网络内通过外部编排或者协调设备形成路径相关的其它方面的更多信息可在2011年12月29日提交的题为“MULT1-TOPOLOGY RESROURCE SCHEDULING WITHIN ACOMPUTER NETW0K” 的美国专利申请第13/339,983号中找到,其全部内容结合于此作为参考。
[0037]为了说明为企业网络10配置的示例路径,客户端18A可响应于企业10购买企业网络10的URL过滤服务,建立到服务节点13的路径11,其中客户端18A可代表企业网络10或者服务提供商网络(企业网络10定制以接入公共网络(例如,互联网)的服务提供商网络)的网络管理员。在本示例中,服务节点13可代表基于与所请求的URL相关联的内容执行URL过滤服务以过滤统一资源定位符(URL)的服务节点。服务节点13可经由路由协议消息将该URL过滤服务通告给PCE8,所述路由协议消息包括识别URL过滤服务的服务发现信息。关于计算机网络中自动服务发现的更多信息可在_提交的题为“AUTOMATEDSERVICE DISCOVERY IN COMPUTER NETWORKS”的美国专利申请第_号中找到,其全部
内容结合于此作为参考。
[0038]PCE8可识别提供所请求服务的服务节点13并且编排从叠置交换机12B通过交换机6B至所识别的服务节点(S卩,本示例中服务节点13)的路径11。PCE8可通过首先计算从叠置交换机12B通过网络交换机6B到服务节点13的路径11,并且然后配置叠置交换机12B和网络交换机6B来编排路径11,以支持经由路径11从企业网络10到服务节点13的流量传送。PCE8可安装过滤器,过滤器具有经由叠置交换机12B许可和/或拒绝流量进入路径11的标准。在本示例中,PCE8可安装与路径11相关联的过滤器,所述过滤器只许可和/或拒绝来自企业网络10的流量。控制流量至路径11的许可的过滤器的关联有效地限制了对由服务节点13执行的家长控制服务应用的流量许可。因此,在这些路径设计为以高效方式引导流量,使得一个或多个服务可应用于该流量的意义上,这些路径可称为“服务工程路径”(通常简称为“SEP”)。在该意义上,在本示例中,路径11设计为将家长控制服务提供给源自企业网络10的流量。
[0039]在该意义上,PCE8用作编排设备和/或软件驱动网络3,在PCE8执行路径计算并且引导计算路径或者SEP而不是交换机6和12本身的配置的意义上,软件驱动网络3的特征在于“软件定义网络”。即,经由在从网络3移除的设备(B卩,本示例中PCE8)上执行的软件外部配置网络3。在这方面,就定义针对特定服务定制的过滤器而言,编排软件可将这些SEP定义为自适应特定服务。在前面示例中,PCE8将SEPll配置为提高服务节点13的利用率。通常,为了提供服务,交换机或者其它网络设备包括服务节点,所述服务节点直接耦接到交换机或者其它网络设备,所述交换机或者其它网络设备还耦接到需要应用服务的网络实体。因此,在图1示例中,服务提供商更新叠置交换机12B以包括服务刀片或者节点,该服务刀片或者节点响应于企业网络10请求所述服务,执行家长控制服务。然而,使用软件定义网络3,PCE8可将SEPll配置到耦接到网络交换机6B(其为连接到企业网络10的不同交换机)的服务节点13,从而通过服务共享来提高服务节点13的利用率。
[0040]虽然SEP可提供服务共享并且使其它网络设备能够经由满足服务应用需求(例如,就所提供服务质量(QoS)、带宽等而言)的路径转发流量,但是SEP —般对于服务应用改变不作出响应。换言之,虽然SEP可被配置为通过配置满足某些网络需求(例如,就带宽、月艮务质量等而言)的路径来适应网络条件,但是不可以适合于动态或者自动适应服务应用水平的变化。
[0041]为了说明,服务节点13可分析经由SEPll接收的流量,并且确定存在一些禁止URL的请求,其中服务节点13可丢弃请求禁止URL的数据包。考虑到这些数据包在叠置交换机12B许可这些数据包期间被优先丢弃,数据包丢弃实际上浪费为SEPll预留的带宽。在该意义上,服务节点13确定请求特定URL的这些数据包将被丢弃,而无法将该服务级别信息传送到叠置交换机12B。不知道服务级别信息的叠置交换机12B不断发送实际上“称为”禁止因此经由SEPll被家长控制服务丢弃的数据包,浪费了 SEPll的带宽以及交换机6、12B和服务节点13的计算资源。
[0042]根据本发明中描述的技术,服务节点13可有效地建立用于将服务级别信息传送到沿着SEP的任何网络设备上执行的第三方控制平面软件的反馈回路15,这种任何网络设备诸如至SEPll的入口(即,本示例中叠置交换机12A)、中间定位于入口网络设备与服务节点或者另一个服务节点(即,本示例中网络交换机6B)(诸如,在两个服务节点为沿着路径并且都执行至流量的服务的示例中)之间的中转交换机或者节点。作为一个示例,本技术可使服务节点13能够使用诸如中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议和边界网关协议(BGP)的路由协议,与沿着SEPll的交换机6、12B上执行的叠置网络控制平面软件进行通信。这些路由协议中的一个或多个可包括链路状态或者泛洪路由协议,诸如IS-1S路由协议和OSPF路由协议。服务级别信息可包括与由服务节点提供的特定服务相关的任何信息。通过提供该服务级别信息,本技术可使沿着SEPll的交换机6、12B能够调整SEPlI,以适应服务节点13处的一个或多个服务的应用的变化。
[0043]在操作时,服务节点13经由网络内的SEPll来接收流量,所述SEPll被配置为将流量从路径的入口交换机12B引导到服务节点13。如上所述,SEPll包括过滤器,所述过滤器控制入口交换机12B处流量许可。服务节点13可将上述服务中的一个或多个应用于经由SEPll接收的流量,并且产生与将所述一个或多个服务应用于流量相关的服务专用信息。服务节点13然后可将服务专用信息发送给至少一个网络设备,所述至少一个网络设备被配置为经由SEPll转发流量(即,图1示例中交换机6、12B中任何一个,而通常为入口交换机12B),使得沿着SEPll的这些交换机6、12B中任何一个可基于服务专用信息来调整所述路径。
[0044]为了说明,再次参考URL过滤服务,服务节点13可将该URL过滤服务应用于流量,并且识别待过滤的URL,有效地丢弃请求或者提供与该URL相关联的内容的任何数据包。服务节点13可产生识别该URL的服务专用信息,并且经由反馈回路15将URL发送到交换机12B。交换机12B可接收该服务专用信息,并且更新与SEPll相关联的过滤器,以阻断与URL相关联的任何流量(可由第三层地址和第三层端口识别)。在这方面,交换机12B可调整SEPlI,以适应服务节点13处URL过滤服务应用的变化。
[0045]可替换地,作为另一个示例,服务节点13可指定随后不应用URL过滤服务的流。即,服务节点13可检测某些流并且确定这些流正在请求或者提供与可接受的URL相关联的内容。服务节点13然后可产生识别这些流的服务专用信息并且指示服务应用对于这些流可被旁通。服务节点13可经由反馈回路15将该服务专用信息发送到入口交换机12B,所述入口交换机12B可基于该服务专用信息通过更新与SEPll相关联的过滤器来调整SEP11,以指示与这些流量相关联的流量将发送到其预期目的地并且不通过SEPll推送到服务节点13。
[0046]对于许多其他服务也可以应用该技术,以有利于SEP (诸如SEP11)的服务级别自适应。例如,服务节点13可将一个或多个服务应用于与一个或多个虚拟私有网络(VPN)的特定组相关联的流。在这种情况下,可对具有与该VPN组对应的某个VPN成员范围的流应用服务。如果服务节点13被告知或者以其它方式确定该VPN成员范围已经改变,这意味着对该VPN组添加一个或多个VPN或者移除一个或多个VPN,那么服务节点13可产生识别VPN成员范围改变的服务专用信息,并且经由反馈回路15将该信息发送到入口交换机12B。入口交换机12B然后可基于该服务专用信息来通过更新过滤器而调整SEP,以适应VPN成员范围的改变,使得与移除的VPN相关联的流量不经由SEPll转发并且与新VPN相关联的流量经由SEPll转发。
[0047]此外,服务专用信息可包括定义所应用的服务的执行结果的信息以及介于被配置为沿着路径转发流量的至少一个网络设备与服务节点之间的服务状态信息。服务状态信息可描述介于被配置为沿着路径转发流量的至少一个网络设备与服务节点之间当前负荷和性能中的一个或多个。服务节点13可经由反馈回路15将该服务专用信息传送到例如入口交换机12B,入口交换机12B可使用该信息来执行负荷平衡或者其它操作以将流量更好地分配给服务节点,使得服务节点不超负荷。
[0048]以此方式,服务节点13可建立反馈回路15,以将服务专用信息传送到支持SEPll的一个或多个网络设备(即,图1示例中交换机6和12B)。因此,这一个或多个网络设备可调整SEP11,以适应服务节点13的服务应用的改变。通过以此方式实现SEPll的调整,本技术可提高网络性能(例如,通过不浪费带宽)和利用率(例如,通过负荷平衡流量)。虽然以上关于多个不同服务和/或应用进行了描述,但是SEP反馈回路技术一般可使任何服务专用信息能够回传到支持SEP的一个或多个网络设备。本技术因此不应限于本发明中描述的示例服务和服务专用信息。
[0049]图2为示出将路径编程到多拓扑网络中的示例路径计算元件的框图。在本示例中,多拓扑路径计算元件8代表图2中多拓扑网络30的PCE8示例。如关于图2所描述的,示例多拓扑网络30包括L3基础网络层和L2叠置网络层。
[0050]PCE8包括控制单元40和用于与其他网络设备交换数据包的网络接口(未示出)。控制单元40可包括一个或多个处理器(图2中未示出),所述一个或多个处理器执行软件指令,诸如用于定义软件或者计算机程序的软件指令,这些软件指令存储到计算机可读存储介质(同样,图2中未示出),诸如非临时计算机可读介质(包括存储设备(例如,磁盘驱动器或者光盘驱动器)或者存储器(诸如闪存或者随机存取存储器(RAM))或者存储指令以使一个或多个处理器执行本文中描述的技术的任何其它类型的易失性或者非易失性存储器。可替换地或附加地,控制单元40可包括用于执行本文中描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个特定用途集成电路(ASIC)、一个或多个特定用途专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或者上述专用硬件示例中一个或多个的任何组合。
[0051]客户端使用客户端界面74请求通过网络的路径。一般地,路径请求包括所请求日期/时间、所请求带宽或者其它约束以及至少两个端点。例如,客户端界面74可为命令行界面(CLI)或者图形用户界面(GUI)。可替换地,客户端界面74还可提供应用编程界面(API),诸如web服务。用户使用客户端应用程序来调用客户端界面74输入路径请求参数,并且将请求提交给PCE8。客户端界面74从客户端接收路径请求,并且将路径请求推送到路径请求队列72、存储路径请求的数据结构以通过路径管理器64计算分配。
[0052]为了智能地计算和调用通过网络的路径,PCE8接收描述在网络多个层处的可用资源的拓扑信息。由PCE8的控制单元40执行的拓扑服务器接口 56 (示出为“拓扑服务器IF56”)与拓扑服务器通信以接收所述网络的基础网络层的拓扑信息,而叠置控制器接口 58与叠置控制器通信以接收所述网络的叠置网络层的拓扑信息。拓扑服务器接口 56可包括路由协议后台程序,所述路由协议后台程序执行路由协议以接收路由协议通告,诸如开放最短路径优先(OSPF)或者中间系统到中间系统(IS-1S)链路状态通告(LSA)或者BGP更新消息。拓扑服务器接口 56在一些情况下可为被动式监听器,所述被动式监听器既不转发也不发起路由协议通告。[0053]在本示例中,拓扑服务器接口 56接收包括流量工程(TE)信息的拓扑信息。拓扑服务器接口 56可例如执行中间系统到中间系统TE扩展(IS-1S-TE)或者开放最短路径优先TE扩展(0SPF-TE),以接收通告链路的TE信息。这种TE信息包括链路状态、管理属性和度量(诸如在连接域的路由器的链路的不同LSP优先级处可用的带宽)中的一个或多个。在一些情况下,拓扑服务器接口 56执行边界网关协议以接收AS间和其它网络外链路的通告TE信息。关于执行BGP以接收TE信息的另外细节在2011年5月19日提交的题为“DYNAMICALLY GENERATING APPLICATION-LAYER TRAFFIC OPTIMIZATION PROTOCOL MAPS”的美国专利申请号13/110,987中找到,其全部内容结合于此作为参考。
[0054]在一些情况下,拓扑服务器接口 56可接收由拓扑服务器收集的拓扑信息摘要,而不是执行路由协议以直接接收路由协议通告。拓扑服务器接口 56将具有TE信息的基础网络拓扑信息存储于多拓扑流量工程数据库54 (示出为“多拓扑TED54”,下文简称为“MTTED54”)中,所述基础网络拓扑信息通过用于路径计算的控制单元40的计算机可读存储介质来存储。在下文中更详细描述MT TED54。
[0055]叠置控制器接口 58(示出为“叠置控制器IF58”)代表可实现标准化接口的模块(诸如OpenFlow),以从叠置控制器(诸如OpenFlow控制器)接收拓扑信息,所述拓扑信息描述连接叠置交换机的叠置网络链路。一般地,叠置网络链路不通过叠置网络的基础网络的网络交换机(例如,路由器)来通告,所以不会通过由拓扑服务器接口 56接收的拓扑信息来描述。叠置控制器通过将叠置网络拓扑信息提供给叠置控制器接口 58来增强具有叠置网络拓扑链路的基础网络拓扑,所述叠置控制器接口 58将叠置网络拓扑信息存储到MT TED54。叠置控制器接口 58可接收多个不同叠置网络(包括VPN和/或OpenFlow网络)的拓扑信息。不同叠置网络可需要叠置控制器接口 58中与叠置网络的网络交换机或者与拓扑服务器通信的不同实例,例如,以接收相应叠置网络的叠置网络拓扑信息。
[0056]多拓扑流量工程数据库54存储网络的基础网络层和一个或多个叠置网络层的拓扑信息,所述网络构成PCE8的路径计算域。MT TED54可分层组织相应网络层的拓扑信息,其中基础网络拓扑信息支持一个或多个叠置网络的拓扑信息。较低层拓扑中路径可表现为较高层拓扑中的链路。例如,在基础网络层中创建的隧道(例如,TE LSP)可表现为叠置网络TE拓扑中的链路。PCE8然后可使叠置网络链路与基础网络层中建立的路径相关,以有效地计算跨越多个叠置拓扑的路径。MT TED54可包括一个或多个链路状态数据库(LSDB),其中链路和节点数据以路由协议通告从拓扑服务器接收,和/或由链路层实体(诸如叠置控制器)发现并且然后经由叠置控制器接口 58提供给PCE8。在一些情况下,运营商可经由运营商界面50配置MT TED54内的流量工程或者其它拓扑信息。
[0057]拓扑服务器接口 56还可从拓扑服务器接收或者通过执行接收路由协议来接收路由协议通告(包括可达性信息),来接收端点信息,所述端点信息描述任何网络拓扑中的所指定节点可达的端点。拓扑服务器接口 56可接收网络基础层以及由网络提供的一个或多个服务(例如,VPN)的端点信息,所述一个或多个服务可对应于所述网络的叠置网络。端点信息可使网络地址前缀与多拓扑网络层的节点相关联,其中网络地址前缀可为例如IPv4或者IPv6。例如,拓扑服务器接口 56可接收BGP更新消息,所述BGP更新消息用于通告从基础网络的特定节点可达到的特定子网。作为另一个示例,拓扑服务器接口 56可接收包括PID的应用层流量优化(ALTO)地图,所述PID使多拓扑网络层的相应节点与从所述节点可到达的网络地址前缀相关联。因此,可从节点到达具有作为子网成员的网络地址的端点,并且PCE8可计算在节点处终止(B卩,开始或者结束)的这些端点的路径。拓扑服务器接口 56将针对层接收的端点信息存储到端点数据库70A-70K (示出为“端点DB70A-70K”并且统称为“端点数据库70”)中对应一个,其中K是指构成PCE8路径计算域的多拓扑网络的层数。一些端点数据库70可因此与构成多拓扑网络的叠置网络层的相应服务实例(例如,相应VPN)相关联。PCE8可因此使用端点数据库70来定位和验证从客户端接收的路径请求中所指定的端点。
[0058]每个服务路径引擎52A-52K (统称为“SPE52”)计算所请求的通过多拓扑网络层的路径,其与多拓扑网络层相关联并且负责多拓扑网络层。控制单元40可同时执行多个SPE52,例如,作为单独进程。每个SPE52与所生成路径数据库46A-46K (示出为“所生成路径DB46A-46K”并且统称为“所生成路径数据库46”)中对应一个相关联。路径管理器64使路径请求从路径请求队列72出列,并且基于端点驻留的多拓扑网络的层将路径请求分配给SPE52,如由路径管理器64从端点数据库70所确定的。S卩,作为PCE8的路径计算域的多拓扑网络的层可到达的端点由端点数据库70中至少一个来存储,并且路径管理器64确定一个或多个端点数据库70包括针对所出列的路径请求指定的端点。
[0059]路径为单向。如果客户端请求双向路径,那么路径管理器64触发所请求路径的两个路径请求-针对每个方向的一个路径请求。在一些情况下,路径可跨越网络的多个层,例如,在到基础层的网关(通过叠置网络节点中一个来实现)处或者在参与多个叠置网络的网络节点处。在这种情况下,多个SPE52可协作来计算路径管理器64在网关处绑结一起的多层路径的分段。在计算路径之后,SPE52通过将路径存储到相应所生成路径数据库46来调度路径。存储于所生成路径数据库46之一中的调度路径包括由路径管理器64用于建立网络中路径的路径信息,并且可包括由调度器68用于触发路径管理器建立路径的调度信息。如下文中更详细描述,路径调度可能需要锁定所生成路径数据库46,以在交付路径之前执行路径验证。
[0060]当从路径管理器64接收服务路径请求时,SPE52可首先通过从端点数据库70确定所请求路径的端点是表示为逻辑接口还是网络地址,来验证请求对于PCE为已知,S卩,存在于PCE8的路径计算域内。SPE52可另外验证流分类符,以确保存在针对所请求路径指定的流分类符。如果由于这些原因中一个/两个导致初始验证失败,那么SPE52拒绝所请求的路径,并且路径管理器64经由客户端界面74将详细说明原因的路径拒绝消息发送到请求客户端。
[0061]为了计算所请求的多拓扑网络层处的路径,该层的服务路径引擎52使用MTTED54以及针对该层所生成的路径数据库46的对应一个路径数据库,来确定在该层中是否具有在所请求时间期间满足所请求路径的TE规范的路径。SPE52可使用Djikstra约束SPF(CSPF)和/或Bhandari边缘不相交最短对(用于确定不相交主要和备用路径)路径计算算法,以识别通过多拓扑网络的令人满意的路径。如果存在所请求路径的令人满意的计算路径,那么该层的计算服务路径引擎52重新验证所计算路径,并且如果验证成功,那么通过将所计算路径添加到该层的所生成路径数据库46之一来调度所计算路径。此外,SPE52的计算SPE将所请求路径开始/完成时间添加到调度器68 (若有)。添加到所生成路径数据库46之一的计算路径称为“调度”路径,直至路径管理器64将调度路径编程到多拓扑网络中时的时间,于是调度路径变为“活动”路径。调度或者活动路径为针对调度时间的临时专用带宽信道,其中在该调度时间内路径为或者将变为可操作以传输流。
[0062]如上所述,所生成路径数据库46存储调度和活动路径的路径信息。路径信息可包括指定TE LSP的叠置或者基础网络节点的列表的ERO ;配置在一个或多个叠置网络或者基础网络节点中的路线或者隧道、指定应用于入站到叠置网络节点的PDU的相应转发动作组(也可称为“转发过滤器”或者“过滤器”)的叠置网络节点的转发信息,和/或可由任何拓扑节点接口 63用于建立并将流引导到多拓扑网络中调度路径上的任何其它信息。
[0063]SPE52基于多拓扑网络的当前状态(或者“快照”)来计算调度路径,如由MT TED54和所生成路径数据库46表示。在本示例中,因为多个SPE52同时执行以计算和调度通过多拓扑网络的路径,所以多个SPE52可试图同时更新所生成的路径数据库46,这在一些情况下可导致网络资源过度定制并且通过PCE8无法满足所请求路径。因此,SPE52中计算路径的一个SPE可执行符合ACID属性(原子性、一致性、隔离性、耐久性)的交易或者另一个类型原子交易,以利用调度路径来重新验证并且更新所生成的路径数据库46。即,SPE52可首先锁定所生成路径数据库46以防止其它SPE52修改所生成路径数据库46。SPE52然后可相对于锁定的所生成路径数据库46以及MT TED54来验证计算路径。如果计算路径为有效,那么SPE52通过将计算路径作为调度路径添加,来更新所生成路径数据库46。SPE52然后将所生成路径数据库46解锁。以此方式,所有受影响的链路在同一交易中更新,并且通过其它SPE52进行的后续路径验证负责更新。SPE52可使用任何合适的数据结构锁定机构(诸如监视器、互斥器或者信号机),来锁定所生成路径数据库46。
[0064]如果SPE52无法验证先前计算的路径,那么SPE52试图重新计算路径。在相对于多拓扑网络的当前快照识别令人满意的路径之后,SPE52再次试图验证所计算路径并且更新所生成路径数据库46。
[0065]在一些情况下,SPE52可能无法识别通过叠置网络的路径,该路径满足路径请求。该故障可归因于任何一些因素。例如,满足路径请求的足够网络资源对于调度时间是不可用的,例如由于先前调度路径包括对于介于以叠置时间进行路径请求的端点之间的任何可行路径的基础网络层的一个或多个链路。在本示例中,路径计算失败。换言之,虽然介于路径请求的端点之间的一个或多个路径存在,但是所述路径已经被充分定制以防止为所请求路径另外预留足够资源。作为另一个示例,SPE52可能无法识别介于路径请求的端点之间的通过叠置网络的任何路径,这是因为计算归因于叠置网络中丢失链路而失败。换言之,在移除无法满足路径请求约束的无法使用边缘之后,所计算叠置网络图包括叠置网络的两个不相交子图。然而,在这种情况下,通过创建经由基础层并且介于叠置网络子图之间的隧道,可产生合适的路径。
[0066]在路径计算失败的情况下,因为在所请求时间内不存在足够网络资源,所以计算SPE52可考虑由运营商经由运营商接口界面设置的策略48,所述策略48建立PCE8客户端之间和/或路径请求参数(包括带宽、主机、时间和QoS参数以及流分类符)之间的优先级。策略48中的策略可使相对于所生成路径数据库46的一个或多个调度路径的路径计算失败的请求路径优先。在这种情况下,计算SPE52可通过从所生成路径数据库46和调度器68(同样,根据策略48)移除路径来抢占这些调度路径中一个或多个。此外,在这种情况下,计算SPE52使移除路径作为路径请求排队到路径请求队列72。PCE8的组件然后可再次试图为与从所生成路径数据库46移除的路径对应的路径请求计算令人满意的路径。在SPE52无法识别针对所述路径请求的令人满意的路径的情况下,SPE52引导路径管理器64将路径拒绝消息经由客户端界面74发送到发出路径请求的请求客户端。实际上,PCE8撤销对请求客户端作出的调度多拓扑网络资源的授权。
[0067]在路径计算归因于介于叠置网络的不相交子图之间的链路丢失而失败的情况下,每个子图提供可达性给所请求路径的相应端点,计算SPE52请求隧道管理器44A-44K(统称为“隧道管理器44”)中一个在多拓扑网络的较低层中建立隧道。例如,叠置网络的SPE52之一可请求较低层叠置网络中或者基础网络层中的隧道。每个隧道管理器44与多拓扑网络层之一以及与所生成路径数据库46之一相关联。换言之,每个隧道管理器44管理一个拓扑的隧道。
[0068]隧道管理器44作为介于所生成路径数据库46与SPE52之间的中间结构操作。SPE52中较高层SPE可请求隧道管理器44中较低层隧道管理器在较低层的两个节点之间建立隧道,以在较高层中创建链路。因为隧道横跨多拓扑网络的两个层,所以两个节点中的每一个可通过具有耦接两个层的入口接口和出口接口来跨越所述两个层。即,两个节点中第一节点可为入口网络交换机,所述入口网络交换机具有到基础网络层的入口接口,而两个节点中第二节点可为出口网络交换机,所述出口网络交换机具有自基础网络层的出口接口。作为响应,隧道管理器44可使指定多拓扑网络较低层中两个节点的路径请求排队到路径请求队列72。如果较低层SPE52可为路径请求调度路径,那么所述路径变为较低层生成路径数据库46中的链路,并且较低层SPE52将链路的链路穿遂信息通知给隧道管理器44中的请求隧道管理器。隧道管理器44将所述隧道信息传播到MT TED54, MT TED54触发较高层SPE52 (新链路在较高层拓扑中可用)并且提示较高层SPE重新试图为原始请求路径计算令人满意的路径。隧道管理器44还可验证多拓扑网络中其相应层处的隧道设置。
[0069]通过跟踪所生成路径数据库46中调度路径的调度开始时间并且触发路径管理器64在其相应开始时间建立调度路径,调度器68启动路径设置。路径管理器64使用拓扑节点接口 63 (包括叠置控制器接口 58、设备管理接口 60和网络交换机接口 62)中一个或多个来建立每个调度路径。PCE8的不同实例可具有拓扑节点接口 63的不同组合。
[0070]路径管理器64可调用叠置控制器接口 14来发送叠置网络路径设置消息(例如,图1中叠置网络路径设置消息24),来引导叠置控制器在叠置网络中建立路径和/或根据所生成路径数据库46中调度路径的路径信息使流从主机引导到所建立路径上。以此方式,PCE8可通过将转发状态编程到网络和/或叠置交换机而根据永久虚拟电路(PVC)(或者“逐段”)模型编程路径,以执行正在编程的路径。如上所述,这些路径中一个或多个可包括过滤器,所述过滤器许可或者拒绝流量到路径。SPE52可将这些过滤器提供给路径管理器64,路径管理器64可将这些过滤器安装于入口交换机中。
[0071]设备管理接口 60可代表简单网络管理协议(SNMP)接口、设备管理接口(DMI)、CLI或者任何其它网络设备配置接口。路径管理器64可调用设备管理接口 60,以根据所生成路径数据库46中调度路径的路径信息来配置具有静态路线的网络交换机(例如,路由器)、TELSP或者其它隧道。网络交换机接口 62与网络交换机建立通信会话,诸如图1中通信会话28,以接收和安装路径状态信息并且接收路径设置事件信息。例如,网络交换机接口 62可为PCE协议(PCEP)接口、DMI或者SNMP接口。[0072]路径管理器64可调用设备管理接口 60和/或网络交换机接口 62,以配置和引导网络交换机在多拓扑网络的基础网络层或者叠置网络层中建立路径。例如,路径管理器64可首先配置位于网络边缘的网络交换机内的TE LSP,然后引导网络交换机使用RSVP流量工程扩展(RSVP-TE)或者另一个信令协议来以信号的方式通知TE LSP的路径。以此方式,PCE8可根据软PVC (SPVC)模型将包括TE LSP的路径编程到网络中。在本模型中,网络提供编程接口,PCE8调用所述编程接口来动态设置SPVC。在一些示例中,PCE8可使用PVC和SPVC模型的组合来将路径编程到多拓扑网络中。
[0073]在从拓扑节点接口 63接收到调度路径设置成功的确认之后,路径管理器64将所生成路径数据库46中调度路径的状态转换为“活动”。在活动路径的调度结束时间(若有)处,调度器68使用拓扑节点接口 63来通知路径管理器64拆除活动路径。在拆除路径之后,路径管理器64从所生成路径数据库46移除所述路径。
[0074]图3为示出根据本文中描述的技术经由反馈回路从服务节点接收服务相关信息的示例路由器的框图。为了说明,以下可在图1中示例多拓扑网络系统2的背景内描述路由器86,并且路由器86,可代表交换机6、12中任何一个。然而,为了举例说明,假设路由器86代表入口交换机12A。
[0075]路由器86的一些示例可不包括描述和示出的全部功能。例如,路由器86的一些示例可包括PCC88B、0penFlow交换机82和IRB接口 87的不同组合,而不是所有这种组件。此外,虽然关于特定网络设备(例如,路由器)进行了描述,但是本技术的方面可通过任何网络设备或者网络设备组合来实现。本技术因此不局限于本发明中描述的示例实施方式。
[0076]路由器86包括控制单元170以及经由内部链路耦接到控制单元170的接口卡164A-164N(统称为“IFC164”)。控制单元170可包括一个或多个处理器(图3中未示出),所述一个或多个处理器执行软件指令(诸如用于定义软件或者计算机程序的软件指令),所述软件指令存储到计算机可读存储介质(同样,图3中未示出),诸如非临时计算机可读介质,包括存储设备(例如,磁盘驱动器或者光盘驱动器)或者存储器(诸如闪存、随机存取存储器或者RAM)或者存储指令以使一个或多个处理器执行本文中描述的技术的任何其它类型的易失性或者非易失性存储器。可替换地或另外地,控制单元170可包括用于执行本文中描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个特定用途集成电路(ASIC)、一个或多个特定用途专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或者上述专用硬件示例中一个或多个的任何组合。
[0077]在本示例中,控制单元170被分为两个逻辑或者物理“平面”,以包括第一控制或者路由平面172A (“控制平面172A”)和第二数据或者转发平面172B (“数据平面” 172B)。即,控制单元170实现两个独立功能,例如,路由/控制以及转发/数据功能,无论在逻辑上例如作为在同组硬件组件上执行的分离软件实例,还是在物理上例如作为单独物理专用硬件组件,所述物理专用硬件组件静态实现硬件功能或者动态执行软件或者计算机程序以实现功能。
[0078]控制单元170的控制平面执行路由器86的路由功能。在这方面,控制平面172A代表实施路由协议的控制单元170的硬件或者硬件和软件的组合。在本示例中,路由协议后台程序(RPD)177为由控制单元170执行的处理,控制单元170执行路由协议178B (示出为“RP178B”),通过路由协议178B可确定存储于路由信息库176 (“RIB176”)中的路由信息以及存储于流量工程数据库175 (“TED175”)中的流量工程信息。此外,RPD177可与另一个路由器、路由反射器或者路由协议监听器(例如,应用层流量优化(ALTO)服务器)建立一个或多个路由协议178B的对等会话,并且将RIB176和/或TED175中的L3拓扑和/或流量工程发送到对等体。
[0079]路由协议178B可包括例如IGP (诸如0SPF-TE或者IS-1S-TE)和/或外部网关协议(诸如BGP-TE)。RIB176和TED175可包括定义网络拓扑的信息,诸如图1中多拓扑网络3的基础网络层。路由协议后台程序177可分析由RIB176中路由信息定义的拓扑,以选择或者确定通过网络的一个或多个路线。控制平面172A然后可利用这些路线来更新数据平面172B,其中数据平面172B将这些路线作为转发信息192来保持。
[0080]转发或者数据平面172B代表控制单元170的硬件或者硬件和软件的组合,控制单元170根据转发信息192来转发网络流量。在一些方面,RIB176可包括由路由器86实现的一个或多个路由实例,其中每个实例包括单独路由表和其它路由信息。在这些方面,控制平面172A利用每个路由实例194的转发信息来更新转发信息192。在这方面,路由实例194均包括由数据平面172B用于根据对应路由实例转发流量的单独转发信息。路由器的一个示例实施方式的更多细节可在2008年7月30日提交的、题为“STREAMLINEDPACKET FORWARDING USING DYNAMIC FILTERS FOR ROUTING AND SECURITY IN A SHAREDFORWARDING PLANE”的美国专利申请第12/182,619号中找到,其结合于此作为参考。
[0081]控制平面172A还包括管理界面174,网络管理系统或者在一些情况下,使用命令行界面或者图形用户界面的管理员利用管理界面174,在VPN模块182中配置网络中一个或多个VPN实例,以将L2网络组合互连为单个以太网域。例如,管理员可将路由器86配置为特定VPN实例中的参与者,诸如VPN实例184。VPN模块182可执行自动发现或者其它技术来确定参与VPN实例的另外路由器,并且另外执行信令技术以在路由器86与每个另外路由器之间建立完整伪线网(full mesh of pseudowires)。
[0082]数据平面172B包括一个或多个转发单元,诸如数据包转发引擎(“PFE”),所述一个或多个转发单元将接口卡164经由入站链路160A-160N接收的高速转发网络流量提供给出站链路162A-162N。数据平面172B的集成路由和桥接接口 187 (“IRB接口 187”)处理并转发在与IRB接口 187相关联的接口上接收的网络流量。管理员可经由管理界面174配置IRB接口 187,以将IRB接口 187的路由接口 188映射到路由器86的路由实例194之一。例如,路由接口 188可代表IRB接口 187的逻辑接口(IFL)的下一跳或者其它基准。在一些实施方式中,数据平面172B的各方面分配给多个分布式转发单元,诸如数据包转发引擎,每个分布式转发单元与不同的一个或多个IFC164相关联。在这些实施方式中,IRB接口 187可分布到分布式转发单元,以在数据平面内实现高速集成路由和桥接。
[0083]路由器86实现与IRB接口 187相关联的VPN实例184,以作为虚拟交换机操作而将多个L2网络互连。VPN实例184将网关L2地址(例如,网关MAC地址)映射到路由接口188,路由接口 188映射到路由实例194之一。在这方面,网关L2地址映射到路由实例。使用映射到路由接口 188的路由实例194之一,IRB接口 187将在与VPN实例62相关联的接口上接收并且以VPN实例184的网关L2地址为目的地的L2PDU分类为L3路由数据包。换言之,当路由器86在与VPN实例184相关联的接口上接收L2PDU时,IRB接口 187确定L2TOU的目的地L2地址。当目的地L2地址匹配映射到路由接口 188的网关L2地址时,IRB接口187将L2PDU分类为L3数据包,并且将L2PDU提供给通过数据平面172B进行L3转发的路由实例194的映射路由实例。IRB接口 87可解封L2PDU的L2头和脚。当L2TOU的目的地L2地址不匹配网关L2地址时,VPN实例184可根据流表186的匹配流条目来切换L2TOU。因此,路由器86可操作为介于多拓扑网络3的L2叠置网络层与L3基础网络层之间的网关。在一些情况下,IRB接口 187执行现有逻辑操作以将L2PDU分类为路由流量或者桥接流量,然后基于分类结果将流量桥接或者将流量提供给路由接口。
[0084]路由器86实现OpenFlow交换机82,以控制路由器86中与VPN实例184相关联的一组虚拟和/或物理接口之间的L2PDU切换。所述接口可包括用于将L2网络接入到VPN实例184的接入电路。控制平面172A的OpenFlow协议接口(IF) 182与OpenFlow控制器建立OpenFlow协议会话,以提供L2拓扑信息和接收转发信息。OpenFlow协议IF183将在OpenFlow协议会话中接收的流条目安装到流表186,以引导在与VPN实例184相关联的接口上接收的PDU转发。在一些情况下,VPN实例184包括L2学习表,并且对与VPN实例184相关联的路由器86接口执行L2学习。
[0085]网络管理系统(或者在一些情况下,使用命令行界面或者图形用户界面的管理员)可调用管理界面174,来配置在LSP数据库196 (示出为“LSTOB196”)中描述的标签交换路径。LSP数据库196包括LSP配置数据,例如,LSP目的地、路径(例如,报告路由对象)和LSP属性,诸如设置优先级和保持优先级、跳数、预留带宽和/或针对LSP已优化的度量(例如,IGP度量、TE度量或者跳数)。LSP数据库196还可包括将每个配置LSP中零个或者多个属性指定为可委托参数的信息,所述参数可由PCE使用扩展PCEP来设置/修改,以在网络中设置时修改LSP操作。LSP属性可分为三类:(I)不可委托参数,RPD177使用RSVP178A立即应用该参数并且该参数既不被PCE重新发信也不被覆盖;(2)可委托参数,当LSP例如由于LSP出现故障而重新发信时,RPD177应用该参数;和(3)可委托参数,可被PCE覆盖并且通过RPD177触发重新发信。所有可委托LSP参数可包括配置默认值,例如,当PCEP会话终止,PCE以其它方式变为不可用或者PCE返回委托时,RPD177应用该配置默认值。
[0086]RPD177通过执行资源预留协议来设置在LSP数据库196中描述的LSP,所述资源预留协议在这种情况下为RSVP178B,所述资源预留协议以信号方式通知网络中其它路由器预留资源并且将MPLS转发信息提供给用于转发MPLS数据包的RPD177。可替换地,路由器86的各种实例还可(或可替换地)使用RSVP-TE或者另一个标签分发协议(LDP)来以信号方式通知LSP。此外,RPD177执行RP178B以接收影响LSP状态的流量工程信息,诸如可导致LSP关闭状态的故障链路和抢占资源。RPD177可使这种LSP状态信息与LSP数据库196中对应LSP相关联,并且作为响应,还可引导路径计算客户端88B将一个或多个LSP状态报告发送到PCE,如下文中更详细描述。
[0087]控制平面172A的路径计算客户端(PCC) 88B在RPD177与路径计算元件(例如,图1或者图3中PCE8)之间传递通信。PCC88B包括PCE接口(未示出),所述PCE接口实施PCE通信协议(PCEP)扩展以接收和发送扩展PCEP消息。PCE接口还实施常规PCEP操作的功能,诸如路径计算请求/应答消息。
[0088]路径计算客户端88B与PCE建立扩展PCEP会话,并且经由扩展PCEP会话发送LSP状态报告,所述LSP状态报告包括在LSP状态信息中描述的LSP的最新LSP状态。LSP状态报告可包括在PCRpt消息中。以此方式,PCC88B保持在路由器86与PCE之间严格LSP状态同步,当计算利用LSP的叠置网络路径时,PCE可利用所述LSP状态同步。
[0089]此外,PCC88B可通告路由器86允许修改可委托参数。因此,由PCC88B发送的LSP状态报告在一些情况下可包括有权访问PCE的委托,以修改目标LSP的参数。在一些情况下,委托可指定针对修改暴露的目标LSP的特定参数。在委托LSP之后,PCC88B可接收LSP更新请求,所述LSP更新请求指定一个或多个所述LSP的LSP参数修改。LSP更新请求可包括在PCUpd消息中。作为响应,PCC88B将在LSP更新请求中识别的目标LSP的新参数通知给RPD177。反过来,RPD177可重新以信号方式通知目标LSP,并且当建立新LSP时,将流量切换到新LSP并且将通知发送到新LSP已被成功信号通知的PCC88B。PCC88B将LSP状态报告中所述更新LSP状态提供给PCE,路由器86与PCE具有扩展PCEP会话。路由器86因此利用扩展PCEP协议来扩展现有RSVP-TE功能,所述扩展PCEP协议使PCE能够设置在路由器内配置的TE LSP参数。以此方式,路由器86可实现SPVC类模型以允许PCE信号通知所算得的通过多拓扑网络的路径,从而根据客户端请求来动态地设置端到端路径。
[0090]例如,PCE8可将路由器86配置为根据由PCE8指定的配置数据,沿着从入口网络设备(例如,本示例中路由器86)到服务节点(诸如服务节点13)的路径转发流量,PCE8可代表计算和配置通过网络的路径的外部编排设备,并且外部编排设备除用于计算和配置通过网络的路径外不通过网络转发任何流量。配置数据可存储到各种数据库,诸如,例如RIB176、TED175和LSP DB196。如上所述,配置数据可定义许可或者拒绝流量到路径11的过滤器以及其它参数。这些过滤器然后可作为过滤器196安装于VPN实例184的流表186中。如上所述,过滤器196可与各个条目相关联,或者可代表应用于作出分类决定的总管过滤器。在该意义上,流表186可代表过滤器集合,所述过滤器用于相对于流作出决定是许可还是拒绝流量到VPN实例184的决定。数据平面172B (包括至少一个接口(例如,IFC164))然后沿着路径11转发流量,以使服务节点能够将一个或多个服务应用于流量。
[0091]虽然图3示例中未明确示出,但是路由器86还可在软件定义网络范围外发挥作用,其中RPS178B可接收路由协议消息,诸如例如IS-1S消息、OSPF消息和/或BGP消息。这些消息可包括与通过网络3的各种链路和/或路径的状态有关的路由信息。RPS178B可从消息解析所述路由信息,并且将路由信息存储到RIB176。RPS178B然后可分析路由信息(包括经由路由协议消息接收的任何路由信息),以产生一个或多个路由实例的转发信息。RPS178B然后可将该转发信息作为一个或多个路由实例194安装。数据平面172B可接收与这些非软件定义网络路由实例(如由一个或多个路由实例194代表)对应的数据包并且根据这些路由实例194来转发这些数据包。因此,虽然上文关于执行与软件定义网络中路径配置和操作相关的方面进行了描述,但是路由器86也可根据标准路由协议来操作,其中路由器86分析路由信息本身并且配置转发信息192的一个或多个路由实例194 (相对于在路由器86外部配置一个或多个路由实例194的编排设备)。
[0092]图4为示出根据本发明中所描述的技术形成服务工程路径的反馈回路的示例服务节点120的框图。为了说明,在下文中,可在图1中示例多拓扑网络系统2范围内描述服务节点120。服务节点120可代表图1中服务节点13的更详细示例。在一些示例中,服务节点120可代表独立网络设备,如图1示例所示。在以下描述中,服务节点120被假设为代表路由器,其中路由器能够将一个或多个服务执行到网络流量。服务节点120可包括与上文关于路由器86描述相似(若不是,大体上相似)的许多组件、模块或者单元。因此,利用相同数字标记或者表示与上文关于路由器86描述的那些相似的模块,以反映该相似性。
[0093]服务节点120的一些示例可不包括描述和示出的全部功能。例如,服务节点120的一些示例可包括PCC88B、0penFlow交换机86B和IRB接口 87的不同组合,而不是所有这种组件。此外,虽然关于网络设备(例如,路由器)进行描述,但是本技术的方面可通过任何网络设备或者网络设备组合来实现。本技术因此不应限于本发明中描述的示例实施方式。
[0094]服务节点120包括控制单元171以及经由内部链路耦接到控制单元171的接口卡164A-164N(统称为“IFC164”)。与路由器86的控制单元170相似,控制单元171可包括一个或多个处理器(图4中未示出),所述一个或多个处理器执行软件指令,诸如用于定义软件或者计算机程序的软件指令,软件指令存储到计算机可读存储介质(同样,图4中未示出),诸如非临时计算机可读介质,包括存储设备(例如,磁盘驱动器或者光盘驱动器)或者存储器(诸如闪存、随机存取存储器或者RAM)或者存储指令以使一个或多个处理器执行本文中描述的技术的任何其它类型的易失性或者非易失性存储器。可替换地或另外地,同样与路由器86的控制单元170相似,控制单元171可包括用于执行本文中描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个特定用途集成电路(ASIC)、一个或多个特定用途专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或者上述专用硬件示例中一个或多个的任何组合。
[0095]在本示例中,与上文关于图3的示例所描述的路由器86不同,控制单元171被分为三个逻辑或者物理“平面”,以包括第一控制或者路由平面172A (“控制平面172A”)、第二数据或者转发平面172B (“数据平面”172B)和第三服务平面172C。S卩,控制单元171实现三个独立功能,例如,路由/控制、转发/数据和服务功能,无论在逻辑上例如作为在同组硬件组件上执行的单独软件实例,还是在物理上例如作为单独物理专用硬件组件,所述物理专用硬件组件静态实现硬件功能或者动态执行软件或者计算机程序以实现功能。
[0096]服务平面172C执行或者以其它方式提供一个或多个服务模块124。每个服务模块124可根据服务平面172C的配置,执行相同服务或者不同服务。这些服务可包括防火墙服务、NAT服务、IDP服务、URL过滤服务、加密服务和可在网络中执行的任何其它类型服务。根据本发明中描述的技术,控制平面172A包括服务监视模块126,服务监视模块126监视这些服务模块124,识别服务状态改变(诸如,正被过滤或者允许的URL改变、VPN成员范围改变等)。服务监视模块126也可监视服务模块124执行,以确定这些服务模块124中的任一个是否达到处理和/或存储器阈值。因此,服务监视模块126通常可监视服务模块124以识别与服务模块124对一个或多个服务的应用相关的服务专用信息128。
[0097]当监视服务模块124时,服务监视模块126可确定哪些服务模块124正在服务与所建立的不同SEP相关联的流量。即,一个或多个服务模块124可映射到一个或多个SEP。服务监视模块126可在RIB176中执行查找以识别这些映射或者以其它方式查询路由协议后台程序177和/或管理界面174 (可存储配置数据)以识别这些映射。服务监视模块126然后通过监视与SEP相关联的服务模块124的特定服务模块,来以每一个SEP为基础来确定服务专用信息。服务监视模块126然后可产生服务专用信息128,服务专用信息128识别对与特定SEP相关联的流量的服务应用。服务监视模块126可产生服务专用信息128,使得所述信息128识别对应于对应服务信息的SEP。
[0098]在确定或者以其它方式产生该服务专用信息128之后,服务监视模块126然后可将该信息128传送到路由协议后台程序177,路由协议后台程序177可调用一个或多个RPS178B。调用的一个或多个RPS178B可处理服务专用信息,产生包括该服务专用信息的路由协议消息。调用的一个或多个RPS178B然后可转发(通常泛洪这些消息)这些消息到也实施相应路由协议的其它路由器和/或交换机,从而有效地创建到支持对应路径的任何设备的路径特定反馈回路,例如反馈回路15。
[0099]返回参考图3的示例,路由器86可经由RPS178B中的对应一个接收该路由协议消息并且解析服务专用信息。RPS178B可检查服务专用信息以确定路由器86是否与对应于服务专用信息的SEP相关联。假设服务专用信息对应于在VPN实例184上操作的SEP11,RPS178B中的对应一个将服务专用信息(也可称为“反馈”)传送到在控制单元120内执行的反馈模块200。反馈模块200可处理服务专用信息并且与VPN模块182、路径计算客户端88B,OpenFlow协议IF183、RIB176和/或TED175连接,以基于所接收服务专用信息来调整SEPlI。
[0100]为了说明,反馈模块200可接收定义经由在VPN实例184上操作的SEP发送到服务节点120 (同样可代表图1示例中示出的服务节点13的更详细示例)的各种流的过滤器旁通状态的服务专用信息。反馈模块200可与VPN模块182连接来配置VPN实例184的过滤器196,以将这些旁通流重新引导到它们预期目的地,而不是将这些流经由SEPll上的VPN实例184发送到服务节点120。
[0101]作为另一个示例,反馈模块200可接收识别VPN成员范围改变的服务专用信息,并且作为响应,与VPN模块182连接来更新VPN实例184以调整SEPlI,更具体地,与过滤器196连接以添加流或者从VPN实例184移除流。
[0102]作为又一个示例,反馈模块200可接收指示对经由SEPll发送的流应用服务的一些操作约束的服务专用信息。这些操作约束可能缺少物理资源(诸如处理器容量或者存储器资源)来处理这些流。操作约束还可包括对服务节点120的操作施加的限制,诸如服务节点120可允许同时处理的最大流数。在任何情况下,反馈模块200可被配置为与路径计算客户端88B和/或OpenFlow协议IF183连接,以从PCE8请求建立到另一个服务节点的新路径,所述另一个服务节点执行与由服务节点120执行的相同或者相似的服务。在一些情况下,反馈模块200可查询ALTO服务器,以识别其它服务节点,其他服务节点执行与由服务节点120执行相同或者相似的服务。在接收其它服务节点的网络标识符(例如,IP地址)之后,反馈模块200可与路径计算客户端88B和/或OpenFlow协议IF183连接,以请求到由网络标识符识别的其它服务节点的新SEP。一旦以上述方式配置该新路径,反馈模块200可将一个或多个流经由该新SEP重新引导到其它服务节点,更新过滤器196和与其它SEP相关联的过滤器以实现流的重新引导。反馈模块200可继续从服务节点120接收服务相关信息并且可重新引导流,直至服务节点120处的操作条件减轻或者在阈值水平内。
[0103]在该意义上,反馈模块200可调整SEP11,以适应发生在服务节点120处的服务级别条件改变。通过实现SEPll的调整,本技术可促进更高效网络操作,实现高效带宽使用以及基于除网络水平条件外的服务水平条件而不是严格地基于网络水平条件的潜在负荷平衡。
[0104]虽然上文关于至SEPll的入口路由器86和服务节点进行了描述,但是在许多情况下,本技术可被配置为使得反馈回路具有多个终止点。即,反馈回路15可不必以SEPll的入口叠置交换机12B终止,而是定位于入口叠置交换机12B与服务节点13之间的任何网络设备可接收并且对特定服务反馈信息作出响应。一个示例可为两个以上服务节点以雏菊形式链接在一起,其中第一服务节点应用第一服务,第二服务节点应用第二服务。第二服务可不同于第一服务。为了说明,第一服务可包括防火墙服务,而第二服务可包括IDP服务。第二 IDP服务节点可应用IDP服务,并且确定一个或多个流为“恶意的”,并且应当丢弃。第二IDP服务节点可利用与反馈回路15相似的反馈回路,以通知这些恶意流应当丢弃。第一防火墙服务节点然后可在防火墙处阻断这些恶意流,并且有可能识别与也应当阻断的感染数据包的源地址相关联的任何衍生流。此外,该反馈回路可延伸回到SEP的入口设备,所述入口设备也可利用该信息来丢弃特定恶意流。因此,本技术不应限于上文提供的示例,而是可实现为使得反馈回路15将反馈提供给支持对应于该反馈的SEP的任何设备。
[0105]此外,虽然图4的示例中未明确示出,但是服务节点120也可在软件定义网络范围外发挥作用,其中RPS178B可接收路由协议消息,诸如例如IS-1S消息、OSPF消息和/或BGP消息。这些消息可包括与通过网络3的各种链路和/或路径的状态有关的路由信息。RPS178B可从消息解析所述路由信息,并且将路由信息存储到RIB176。RPS178B然后可分析路由信息,包括经由路由协议消息接收的任何路由信息,以产生一个或多个路由实例的转发信息。RPS178B然后可将该转发信息作为一个或多个路由实例194安装。数据平面172B可接收与这些非软件定义网络路由实例(如由一个或多个路由实例194代表)对应的数据包并且根据这些路由实例194来转发这些数据包。因此,虽然上文关于执行与软件定义网络中路径配置和操作相关的方面的进行了描述,但是路由器86也可根据标准路由协议来操作,其中路由器86分析路由信息本身并且配置转发信息192的一个或多个路由实例194(相对于在路由器86外部配置一个或多个路由实例194的编排设备)。
[0106]图5为示出在执行本发明中描述的服务工程路径(SEP)反馈回路技术的不同方面中入口网络设备(诸如图3中路由器86)和服务节点(诸如图4中服务节点120)的示例操作的流程图。首先,一个或多个编排设备(诸如图1、图2示例中示出的PCE8和/或叠置控制器14)可通过网络3配置SEP,诸如图1示例中示出的SEP11。为了配置SEP11,PCE8与入口叠置交换机12B (以路由器86为代表)、网络交换机6B和服务节点13 (以服务节点120为代表)连接并且将转发信息安装于交换机12B、交换机6B和服务节点13中每个的相应转发或者数据平面172B内。以此方式,入口交换机12B和服务节点13可被配置为经由SEPll转发和接收流量(210 ;其中步骤210用虚线表示以反映该步骤对于入口交换机12B和服务节点13而言可执行为初始步骤)。
[0107]在任何情况下,一旦被配置,路由器86可经由IFC164接收流量,其中IRB接口187可应用过滤器196以许可或者拒绝流量到SEP11,并且以上述方式将任何许可流量经由SEPll转发到服务节点120 (212-216)。服务节点120经由SEPll接收流量,并且调用一个或多个服务模块124以将一个或多个服务应用于经由SEPll接收的流量(218,220)。在服务节点120的控制单元171上执行的服务监视模块126可监视一个或多个服务对流量的应用,以上述方式产生服务专用信息(222,224)。服务监视模块126可将服务专用信息传递到在服务节点120的控制单元171上执行的RP178B,服务节点120可产生包括服务专用信息的路由协议消息(226)。RP178B可将路由协议消息转发(通常,通过“泛洪”)到入口网络交换机,即,本示例中路由器86 (228)。[0108]路由器86接收路由协议消息并且从路由协议消息解析服务专用信息(230,232)。路由器86可调用反馈模块200来确定所述服务专用信息是否对应于SEP,对于所述SEP,路由器86已经配置为转发流量。为了说明,假设所述服务专用信息对应于SEP11,反馈模块200可以上述方式中任何一个方式基于服务专用信息来调整SEP11。
[0109]图6为示出根据本发明中描述的技术的示例中间系统到中间系统(IS-1S)路由协议消息250的示图,所述中间系统到中间系统(IS-1S)路由协议消息250包括指定服务专用信息的字段。IS-1S路由协议消息(RPM)250包括报头字段252A-252T。域内路由协议鉴别符字段252A存储体系结构常数,所述体系结构常数将所述消息识别为对应于IS-1S路由协议。长度指示符字段252B识别八位字节的固定报头长度。版本/协议标识符(ID)扩展字段252C存储值一以将这识别为IS-1S的第二版本。ID长度字段252D存储在对应路由选择域中所使用的网络服务接入点(NSAP)地址和网络实体名称(NET)的ID字段长度。字段252E-G为未来使用/扩展预留。PDU型字段252H存储净荷数据单元的类型(其为参考IS-1S路由协议消息250的另一个方式)。版本字段2521存储值1,而预留字段252J同样为未来使用/扩展预留。最大区域地址字段252K存储指示该中间系统区域允许的一些区域地址的值,如从系统管理参数最大区域地址值得到。
[0110]PDU长度字段252L存储指示八位字节的PDU整体长度(包括可变字段)的值。剩余生存时间字段252M存储指示在链路状态协议数据单元(LSP)视为过期之前的秒数的值。LSP ID字段252N存储识别LSP源的系统ID的值。序列号字段2520存储LSP序列号。校验和字段252P存储定义从源ID到末尾的LSP内容的校验和的值。P/ATT/LSPDB0L/IS型字段252Q-T存储用于信号通知路由协议消息源的各种功能和属性的位数。关于IS-1S和IS-1S PDU的更多信息在国际标准IS0/IEC10589、题为“InformationTechnology-Telecommunications and Information Exchange Between Systems -1ntermediate System to Intermediate System Intra-domain Routeing InformationExchange Protocol for Providing the Connectionaless-Mode Network Service,,,日期为2002年11月15日中更详细描述,其全部内容结合于此作为参考。
[0111]虽然IS-1S以根据类型长度值(TLV)字段格式指定的可变长度字段的形式提供PDU扩展,但是这些可扩展字段被预留用于通信与IS-1S路由协议相关的通信息。IS-1S路由协议扩展调整IS-1S以通信与IS-1S协议操作不直接相关的通用信息(GENINF0)。该GENINF0扩展在网络工作组互联网于2010年11月10日起草的题为“Advertising GenericInformation in IS-1S”中定义,其全部内容结合于此作为参考。使用所述IS-1S扩展,作为一个示例,上述服务专用信息可在表示为服务专用信息字段254的TLV中编码。服务专用信息字段254可包括定义标志、应用标识符和应用IP地址信息以及服务专用信息的子字段。作为一个示例,标志子字段识别服务专用信息如何泛洪。应用标识符子字段识别分配给应用的标识符。应用IP地址信息子字段识别与应用相关联的IPv4或者IPv6中一个或者两个。使用所述信息,路由器、交换机和其它网络设备可确定服务专用信息字段254对应于哪个应用。
[0112]虽然上文关于IS-1S路由协议进行了描述,但是本技术可关于其它路由协议来实现,所述其它路由协议提供TLV或者可存储服务专用信息的其它字段。例如,这些其它路由协议可包括OSPF和BGP。在这方面,本技术不应限于上述IS-1S路由协议。[0113]对于以上另外地或可替换地,描述以下实施方式。以下任何实施方式中描述的特征可与本文中描述的任何其它实施方式一起使用。
[0114]一个实施方式涉及一种方法,包括:利用网络的服务节点,经由网络内路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括控制入口网络设备处的流量进入所述路径的许可的过滤器;利用所述服务节点将一个或多个服务应用于经由所述路径接收的流量;利用所述服务节点产生与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息;并且利用所述服务节点,将所述服务专用信息发送到被配置为沿着所述路径转发流量的至少一个网络设备,使得被配置为沿着所述路径转发流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
[0115]在一些实施方式中,发送服务专用信息包括将服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为使用中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来经由所述路径转发流量。
[0116]在一些实施方式中,发送服务专用信息包括将服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为在根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段中经由所述路径转发流量。
[0117]在一些实施方式中,所述路径包括根据由编排设备指定的配置数据通过所述网络来配置的路径,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何数据。
[0118]在一些实施方式中,发送服务专用信息包括将服务专用信息发送到所述被配置为经由反馈回路机构转发流量的至少一个网络设备,以使被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
[0119]在一些实施方式中,应用一个或多个服务包括应用一个或多个统一资源定位符(URL)过滤服务,并且利用所述服务节点产生服务专用信息包括产生描述针对URL过滤服务的过滤器旁通状态中一个或多个的服务专用信息。
[0120]在一些实施方式中,应用一个或多个服务包括将所述一个或多个服务应用于与一个或多个虚拟私有网络(VPN)的组相关联的流。在这些和其它实施方式中,所述方法还包括确定一个或多个VPN的组已经改变为一个或多个VPN的组中一个或多个VPN被移除或者添加一个或多个新VPN到一个或多个VPN的组,其中利用所述服务节点产生服务专用信息包括产生描述一个或多个VPN的组改变的服务专用信息。
[0121]在一些实施方式中,利用服务节点产生服务专用信息包括产生描述应用一个或多个服务的执行结果中一个或多个的服务专用信息以及被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的服务状态信息。此外,所述服务状态信息包括被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的当前负荷和性能中一个或多个。
[0122]在一些实施方式中,所述服务节点包括控制平面、转发平面和服务平面,并且应用一个或多个服务包括利用服务平面的一个或多个服务模块将一个或多个服务应用于经由所述路径接收的流量。此外,产生服务专用信息包括:使所述服务节点的控制平面中的服务监视模块运行,所述服务监视模块监视所述一个或多个服务模块对所述一个或多个服务的应用;并且基于监视所述一个或多个服务模块对所述一个或多个服务的应用,利用所述服务监视模块产生与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息。在这些和其它实施方式中,发送服务专用信息包括利用所述服务节点的转发平面将服务专用信息发送到被配置为沿着所述路径转发流量的至少一个网络设备,使得被配置为沿着所述路径转发流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
[0123]在一些实施方式中,发送服务专用信息包括将服务专用信息发送到至少一个网络设备,所述至少一个网络设备配置为使用链路状态路由协议字段经由所述路径转发流量。
[0124]一个实施方式涉及一种服务节点,所述服务节点包括:至少一个接口,用于经由网络内路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括控制所述入口网络设备处的流量进入所述路径的许可的过滤器;和控制单元,将一个或多个服务应用于经由所述路径接收的流量并且产生与将所述一个或多个服务应用于流量相关的服务专用信息,其中所述至少一个接口将所述服务专用信息发送到被配置为经由所述路径转发流量的至少一个网络设备,使得被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
[0125]在一些实施方式中,所述至少一个接口将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备配置为使用中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来经由所述路径转发流量。
[0126]在一些实施方式中,所述至少一个接口将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备配置为在根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段中经由所述路径转发流量。
[0127]在一些实施方式中,所述路径包括根据由编排设备指定的配置数据通过所述网络来配置的路径,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络路径外不通过所述网络转发任何数据。
[0128]在一些实施方式中,所述至少一个接口将所述服务专用信息发送到所述被配置为经由反馈回路机构转发流量的至少一个网络设备,以使被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
[0129]在一些实施方式中,所述控制单元包括:服务模块,应用一个或多个统一资源定位符(URL)过滤服务;和服务监视模块,用于产生描述针对URL过滤服务的过滤器旁通状态中一个或多个的服务专用信息。
[0130]在一些实施方式中,所述控制单元包括:一个或多个服务模块,用于将所述一个或多个服务应用于与一个或多个虚拟私有网络(VPN)的组相关联的流;以及服务监视模块,用于确定一个或多个VPN的组已经改变为,一个或多个VPN的组中的一个或多个VPN被移除或者添加一个或多个新VPN到一个或多个VPN的组中,并且产生描述该一个或多个VPN的组改变的服务专用信息。
[0131]在一些实施方式中,所述控制单兀包括:服务监视模块,用于产生描述应用一个或多个服务的执行结果中一个或多个的服务专用信息以及被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,其中所述服务状态信息包括被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的当前负荷和性能中一个或多个。
[0132]在一些实施方式中,所述控制单元包括控制平面、转发平面和服务平面,其中所述服务平面包括一个或多个服务模块,所述一个或多个服务模块将所述一个或多个服务应用于经由所述路径接收的流量。所述控制平面运行服务监视模块,所述服务监视模块监视所述一个或多个服务模块对所述一个或多个服务的应用,并且基于监视所述一个或多个服务模块对所述一个或多个服务的应用,产生与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息。所述转发平面包括所述至少一个接口,所述至少一个接口将所述服务专用信息发送到被配置为沿着所述路径转发流量的至少一个网络设备,使得被配置为沿着所述路径转发流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
[0133]在一些实施方式中,所述至少一个接口将所述服务专用信息发送到至少一个网络设备,所述至少一个网络设备配置为使用链路状态路由协议字段经由所述路径转发流量。
[0134]一个实施方式涉及一种非临时计算机可读介质,所述非临时计算机可读介质包括指令,当指令被执行时,使网络的服务节点的一个或多个处理器执行以下操作:经由所述网络内的路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括控制入口网络设备处流量进入所述路径的许可的过滤器;将一个或多个服务应用于经由所述路径接收的流量;产生与将所述一个或多个服务应用于流量相关的服务专用信息;并且将所述服务专用信息发送到被配置为经由所述路径转发流量的至少一个网络设备,使得被配置为经由所述路径转发流量的所述至少一个网络设备能够基于所述服务专用信息来调整所述路径。
[0135]一个实施方式涉及基于由编排设备指定的配置数据在网络设备的控制单元中配置路径,通过所述路径将流量从入口网络设备转发到服务节点,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何流量;利用所配置的控制单元沿着所述路径转发流量,以使所述服务节点能够将一个或多个服务应用于流量;利用所述网络设备,接收与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息;并且基于所接收的服务专用信息,在所述网络设备的控制单元中重新配置路径。
[0136]在一些实施方式中,接收服务专用信息包括经由中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来接收所述服务专用信息。
[0137]在一些实施方式中,接收服务专用信息包括在根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段中接收所述服务专用信息。
[0138]在一些实施方式中,所述网络设备包括到所述路径的所述入口网络设备,配置所述路径包括将所述网络设备的所述控制单元配置为包括控制流量进入所述路径的许可的一个或多个过滤器,所述服务专用信息包括描述所述服务节点应用于流量的URL过滤服务的过滤器旁通状态的服务专用信息,并且重新配置所述路径包括基于描述URL过滤服务的过滤器旁通状态的服务专用信息来重新配置用于控制流量进入所述路径的许可的所述过滤器。
[0139]在一些实施方式中,所述网络设备包括到所述路径的所述入口网络设备,配置所述路径包括将所述网络设备的所述控制单元配置为包括控制流量进入所述路径的许可的一个或多个过滤器,使得只有与一个或多个虚拟私有网络(VPN)的组相关联的流量被许可进入所述路径,所述服务专用信息包括描述该一个或多个VPN组改变的服务专用信息,并且重新配置所述路径包括基于描述该一个或多个VPN组改变的服务专用信息来重新配置用于控制流量进入所述路径的许可的所述过滤器。
[0140]在一些实施方式中,所述网络设备包括到所述路径的所述入口网络设备,配置所述路径包括将所述网络设备的所述控制单元配置为包括用于控制流量进入所述路径的许可的一个或多个过滤器,所述服务专用信息包括描述所述服务节点应用于流量的防火墙服务的防火墙上下文的服务专用信息,并且重新配置所述路径包括基于描述VPN服务的防火墙上下文的服务专用信息来重新配置所述过滤器,所述过滤器控制流量进入所述路径的许可。
[0141]在一些实施方式中,所述服务专用信息包括描述应用一个或多个服务的执行结果中一个或多个的服务专用信息以及被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,其中所述服务状态信息包括所述网络设备与所述服务节点之间当前负荷和性能中的一个或多个,并且重新配置所述路径包括基于描述所述网络设备与所述服务节点之间的当前负荷和性能中一个或多个的所述服务专用信息来重新配置所述路径,以将流量中至少一些从所述入口网络设备转发到不同服务节点。
[0142]在一些实施方式中,接收服务专用信息包括经由链路状态路由协议字段来接收所述服务专用信息。
[0143]一个实施方式涉及一种网络设备,包括:控制单元,被配置为根据由编排设备指定的配置数据沿着从入口网络设备到服务节点的路径转发流量,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何数据;以及至少一个接口,沿着所述路径转发流量以使所述服务节点能够将一个或多个服务应用于流量并且接收与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息,其中所述控制单元基于所接收的服务专用信息来重新配置所述路径。
[0144]在一些实施方式中,所述至少一个接口经由中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来接收所述服务专用信息。
[0145]在一些实施方式中,所述至少一个接口在根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段中接收所述服务专用信息。
[0146]在一些实施方式中,所述网络设备包括到所述路径的所述入口网络设备,所述控制单元在配置所述路径时配置一个或多个过滤器,所述一个或多个过滤器控制流量进入所述路径的许可,所述服务专用信息包括描述所述服务节点应用于流量的URL过滤服务的过滤器旁通状态的服务专用信息,并且所述控制单元基于描述URL过滤服务的过滤器旁通状态的服务专用信息来重新配置控制流量进入所述路径的许可的所述过滤器。
[0147]在一些实施方式中,所述网络设备包括到所述路径的所述入口网络设备,所述控制单元在配置所述路径时,配置用于控制流量进入所述路径的许可的一个或多个过滤器,使得只有与一个或多个虚拟私有网络(VPN)的组相关联的流量被许可进入所述路径,所述服务专用信息包括描述一个或多个VPN的组改变的服务专用信息,并且所述控制单元基于描述一个或多个VPN的组改变的服务专用信息来重新配置控制流量进入所述路径的许可的所述过滤器。
[0148]在一些实施方式中,所述网络设备包括到所述路径的所述入口网络设备,所述控制单元在配置所述路径时配置用于控制流量进入所述路径的许可的一个或多个过滤器,所述服务专用信息包括描述所述服务节点应用于流量的防火墙服务的防火墙上下文的服务专用信息,并且所述控制单元基于描述VPN服务的防火墙上下文的服务专用信息来重新配置用于控制流量进入所述路径的许可的所述过滤器。
[0149]在一些实施方式中,所述服务专用信息包括描述应用一个或多个服务的一个或多个执行结果的服务专用信息以及被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,其中所述服务状态信息包括所述网络设备与所述服务节点之间的当前负荷以及性能中的一个或多个,并且所述控制单元基于描述所述网络设备与所述服务节点之间的当前负荷和性能中的一个或多个的服务专用信息,来重新配置所述路径,以将流量中的至少一些从所述入口网络设备转发到不同服务节点。
[0150]在一些实施方式中,所述至少一个接口经由链路状态路由协议的字段来接收所述服务专用信息。
[0151]一个实施方式涉及一种非临时计算机可读介质,所述非临时计算机可读介质包括指令,所述指令当被执行时,使网络设备的一个或多个处理器执行以下操作:配置网络设备的转发平面中的路径,基于由编排设备指定的配置数据来通过所述路径将流量从入口网络设备转发到服务节点,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外而并不通过所述网络转发任何流量;利用所配置的转发平面沿着所述路径转发流量以使服务节点能够将一个或多个服务应用于流量;接收与所述服务节点将所述一个或多个服务应用于流量相关的服务专用信息;并且基于所接收的服务专用信息来重新配置网络设备的转发平面中的路径。
[0152]一个实施方式涉及一种网络系统,包括:软件定义网络;以及编排设备,用于计算和配置通过所述软件定义网络的路径并且除用于计算和配置通过所述软件定义网络的路径外而并不通过所述软件定义网络转发任何流量。软件定义网络包括:服务节点和入口网络设备。所述入口网络设备包括:控制单元,被配置为根据由所述编排设备指定的配置数据,沿着从所述入口网络设备到所述服务节点的路径转发流量;以及至少一个接口,沿着所述路径转发流量,以使所述服务节点能够将一个或多个服务应用于流量。所述服务节点包括:至少一个接口,经由所述路径接收流量;以及控制单元,将所述一个或多个服务应用于经由所述路径接收的流量并且产生与所述一个或多个服务应用于流量相关的服务专用信息。所述服务节点的所述至少一个接口将所述服务专用信息发送到至少一个网络设备,所述至少一个网络设备被配置为经由所述路径转发流量。所述入口网络设备单元的所述控制单元基于所接收的服务专用信息来重新配置所述路径。
[0153]此外,上述的任何一个实施方式中所阐述的任何特定特征可合并到所描述技术的有益实施方式中。即,任何特定特征一般适用于本发明中描述的技术的所有实施方式。已经描述本技术的各种实施方式。这些和其它实施方式均在以下权利要求的范围内。
【权利要求】
1.一种方法,包括: 利用网络的服务节点经由所述网络内的路径接收流量,所述路径被配置为将所述流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括用于控制所述入口网络设备处的流量进入所述路径的许可的过滤器; 利用所述服务节点将一个或多个服务应用于经由所述路径接收的所述流量; 利用所述服务节点,产生与所述服务节点将所述一个或多个服务应用于所述流量相关的服务专用信息;并且 利用所述服务节点将所述服务专用信息发送到被配置为沿着所述路径转发所述流量的至少一个网络设备,使得被配置为沿着所述路径转发所述流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
2.根据权利要求1所述的方法,其中,发送所述服务专用信息包括将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为使用中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来经由所述路径转发所述流量。
3.根据权利要求1和2中任一项所述的方法,其中,发送所述服务专用信息包括将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为以根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段经由所述路径转发所述流量。
4.根据权利要求1至3中任一项所述的方法,其中,所述路径包括根据由编排设备指定的配置数据通过所述网络配置的路径,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何数据。
5.根据权利要求1至4中任一项所述的方法,其中,发送所述服务专用信息包括将所述服务专用信息发送到被配置为经由反馈回路机构转发所述流量的至少一个网络设备,以使被配置为经由所述路径转发所述流量的至少一个网络设备能够基于所述服务专用信息来调整所述路径。
6.根据权利要求1至5中任一项所述的方法, 其中,应用一个或多个服务包括应用一个或多个统一资源定位符(URL)过滤服务,并且 其中,利用所述服务节点产生服务专用信息包括产生描述针对所述URL过滤服务的过滤器旁通状态中的一个或多个的服务专用信息。
7.根据权利要求1至5中任一项所述的方法, 其中,应用一个或多个服务包括将所述一个或多个服务应用于与一个或多个虚拟私有网络(VPN)的组相关联的流, 其中,所述方法包括确定所述一个或多个VPN的所述组已经改变为所述一个或多个VPN的所述组中的一个或多个VPN被移除或者一个或多个新VPN添加到所述一个或多个VPN的所述组中, 其中,利用所述服务节点产生服务专用信息包括产生描述所述一个或多个VPN的所述组改变的服务专用信息。
8.根据权利要求1至5中任一项所述的方法, 其中,利用所述服务节点产生服务专用信息包括:产生描述应用的一个或多个服务的执行结果中一个或多个的服务专用信息以及被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,并且 其中,所述服务状态信息包括被配置为沿着所述路径转发流量的所述至少一个网络设备与所述服务节点之间的当前负荷和性能中一个或多个。
9.根据权利要求1至5中任一项所述的方法, 其中,所述服务节点包括控制平面、转发平面和服务平面, 其中,应用所述一个或多个服务包括利用所述服务平面的一个或多个服务模块将所述一个或多个服务应用于经由所述路径接收的所述流量, 其中,产生所述服务专用信息包括: 使所述服务节点的控制平面中的服务监视模块运行,所述服务监视模块监视所述一个或多个服务模块对所述一个或多个服务的应用;并且 基于监视所述一个或多个服务模块对所述一个或多个服务的应用,利用所述服务监视模块产生与所述服务节点将所述一个或多个服务应用于所述流量相关的服务专用信息,并且 其中,发送所述服务专用信息包括利用所述服务节点的转发平面,将所述服务专用信息发送到被配置为沿着所述路径转发所述流量的至少一个网络设备,使得被配置为沿着所述路径转发流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
10.根据权利要求1至9中任一项所述的方法,其中,发送所述服务专用信息包括将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为使用链路状态路由协议字段经由所述路径转发所述流量。
11.一种服务节点,包括: 至少一个接口,用于经由网络内的路径接收流量,所述路径被配置为将流量从所述路径的入口网络设备引导到所述服务节点,其中所述路径包括控制所述入口网络设备处的流量进入所述路径的许可的过滤器;和 控制单元,用于将一个或多个服务应用于经由所述路径接收的流量,并且产生与将所述一个或多个服务应用于流量相关的服务专用信息, 其中,所述至少一个接口将所述服务专用信息发送到被配置为经由所述路径转发所述流量的至少一个网络设备,使得被配置为经由所述路径转发所述流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
12.根据权利要求11所述的服务节点,其中,所述至少一个接口将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为使用中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来经由所述路径转发所述流量。
13.根据权利要求11和12中任一项所述的服务节点,其中,所述至少一个接口将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为以根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段经由所述路径转发所述流量。
14.根据权利要求11至13中任一项所述的服务节点,其中,所述路径包括根据由编排设备指定的配置数据通过所述网络配置的路径, 所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何数据。
15.根据权利要求11至14中任一项所述的服务节点,其中,所述至少一个接口将所述服务专用信息发送到被配置为经由反馈回路机构转发所述流量的至少一个网络设备,以使被配置为经由所述路径转发所述流量的至少一个网络设备能够基于所述服务专用信息来调整所述路径。
16.根据权利要求11至15中任一项所述的服务节点,其中,所述控制单元包括: 服务模块,应用一个或多个统一资源定位符(URL)过滤服务;和 服务监视模块,产生描述针对URL过滤服务的过滤器旁通状态中一个或多个的服务专用信息。
17.根据权利要求11至15中任一项所述的服务节点,其中,所述控制单元包括: 一个或多个服务模块,用于将所述一个或多个服务应用于与一个或多个虚拟私有网络(VPN)的组相关联的流;和 服务监视模块,用于确定所述一个或多个VPN的所述组已经改变为从所述一个或多个VPN的所述组中移除一个或多个VPN或者添加一个或多个新VPN到所述一个或多个VPN的所述组中,并且产生描述所述一个或多个VPN的所述组改变的服务专用信息。
18.根据权利要求11至15中任一项所述的服务节点,其中,所述控制单元包括: 服务监视模块,用于产生描述应用一个或多个服务的执行结果中一个或多个的服务专用信息以及被配置为沿着所述路径 转发所述流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,并且 其中,所述服务状态信息包括被配置为沿着所述路径转发所述流量的所述至少一个网络设备与所述服务节点之间的当前负荷和性能中一个或多个。
19.根据权利要求11至15中任一项所述的服务节点, 其中,所述控制单元包括控制平面、转发平面和服务平面, 其中,所述服务平面包括一个或多个服务模块,所述一个或多个服务模块将所述一个或多个服务应用于经由所述路径接收的所述流量, 其中,所述控制平面运行服务监视模块,所述服务监视模块监视所述一个或多个服务模块对所述一个或多个服务的应用,并且基于监视所述一个或多个服务模块对所述一个或多个服务的应用,产生与所述服务节点将所述一个或多个服务应用于所述流量相关的服务专用信息,并且 其中,所述转发平面包括所述至少一个接口,所述至少一个接口将所述服务专用信息发送到被配置为沿着所述路径转发所述流量的至少一个网络设备,使得被配置为沿着所述路径转发流量的所述至少一个网络设备基于所述服务专用信息来调整所述路径。
20.根据权利要求11至19中任一项所述的服务节点,其中,所述至少一个接口将所述服务专用信息发送到所述至少一个网络设备,所述至少一个网络设备被配置为使用链路状态路由协议字段经由所述路径转发所述流量。
21.—种方法,包括: 基于由编排设备指定的配置数据在网络设备的控制单元中配置路径,通过所述路径将流量从入口网络设备转发到服务节点,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何流量;利用所配置的控制单元沿着所述路径转发所述流量,以使所述服务节点能够将一个或多个服务应用于所述流量; 利用所述网络设备,接收与所述服务节点将所述一个或多个服务应用于所述流量相关的服务专用信息; 基于所接收的服务专用信息,在所述网络设备的控制单元中重新配置路径。
22.根据权利要求21所述的方法,其中,接收所述服务专用信息包括经由中间系统到中间系统(I S-1S )路由协议、开放最短路径优先(OSPF )路由协议、边界网关协议(BGP )和简单网络管理协议(SNMP)中一个或多个的字段来接收所述服务专用信息。
23.根据权利要求21和22中任一项所述的方法,其中,接收所述服务专用信息包括在根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段中接收所述服务专用信息。
24.根据权利要求21至23中任一项所述的方法, 其中,所述网络设备包括到所述路径的所述入口网络设备, 其中,配置所述路径包括将所述网络设备的所述控制单元配置为包括用于控制流量进入所述路径的许可的一个或多个过滤器, 其中,所述服务专用信息包括描述所述服务节点应用于所述流量的URL过滤服务的过滤器旁通状态的服务专用信息,并且 其中,重新配置所述路径包括基于描述URL过滤服务的过滤器旁通状态的服务专用信息,来重新配置用于控制所述流量进入所述路径的许可的所述过滤器。
25.根据权利要求21至2`4中任一项所述的方法, 其中,所述网络设备包括到所述路径的所述入口网络设备, 其中,配置所述路径包括将所述网络设备的所述控制单元配置为包括用于控制流量进入所述路径的许可的一个或多个过滤器,使得仅与一个或多个虚拟私有网络(VPN)的组相关联的流量被许可进入所述路径, 其中,所述服务专用信息包括描述所述一个或多个VPN的所述组改变的服务专用信息,并且 其中,重新配置所述路径包括基于描述所述一个或多个VPN的所述组改变的服务专用信息来重新配置用于控制所述流量进入所述路径的许可的所述过滤器。
26.根据权利要求21至24中任一项所述的方法, 其中,所述网络设备包括到所述路径的所述入口网络设备, 其中,配置所述路径包括将所述网络设备的所述控制单元配置为包括用于控制流量进入所述路径的许可的一个或多个过滤器, 其中,所述服务专用信息包括描述所述服务节点应用于所述流量的防火墙服务的防火墙上下文的服务专用信息,并且 其中,重新配置所述路径包括基于描述VPN服务的防火墙上下文的服务专用信息来重新配置用于控制所述流量进入所述路径的许可的所述过滤器。
27.根据权利要求21至24中任一项所述的方法, 其中,所述服务专用信息包括描述应用的一个或多个服务的执行结果中一个或多个的服务专用信息;以及被配置为沿着所述路径转发所述流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,其中,所述服务状态信息包括所述网络设备与所述服务节点之间的当前负荷和性能中一个或多个,并且 其中,重新配置所述路径包括基于描述所述网络设备与所述服务节点之间的当前负荷和性能中一个或多个的所述服务专用信息,来重新配置所述路径,以将所述流量中至少一些从所述入口网络设备转发到不同服务节点。
28.根据权利要求21至27中任一项所述的方法,其中,接收所述服务专用信息包括经由链路状态路由协议字段来接收所述服务专用信息。
29.—种网络设备,包括: 控制单元,被配置为根据由编排设备指定的配置数据沿着从入口网络设备到服务节点的路径转发流量,所述编排设备计算和配置通过所述网络的路径并且除用于计算和配置通过所述网络的路径外不通过所述网络转发任何流量;和 至少一个接口,沿着所述路径转发所述流量以使所述服务节点能够将一个或多个服务应用于所述流量并且接收与所述服务节点将所述一个或多个服务应用于所述流量相关的服务专用信息, 其中,所述控制单元基于所接收的服务专用信息来重新配置所述路径。
30.根据权利要求29所述的网络设备,其中,所述至少一个接口经由中间系统到中间系统(IS-1S)路由协议、开放最短路径优先(OSPF)路由协议、边界网关协议(BGP)和简单网络管理协议(SNMP)中一个或多个的字段来接收所述服务专用信息。
31.根据权利要求29和30中任一项所述的网络设备,其中,所述至少一个接口在根据中间系统到中间系统(IS-1S)路由协议指定的通用信息类型长度值(GENINFO TLV)字段中接收所述服务专用信息。`
32.根据权利要求29至31中任一项所述的网络设备, 其中,所述网络设备包括到所述路径的所述入口网络设备, 其中,所述控制单元在配置所述路径时配置一个或多个过滤器,所述一个或多个过滤器控制流量进入所述路径的许可, 其中,所述服务专用信息包括描述所述服务节点应用于所述流量的URL过滤服务的过滤器旁通状态的服务专用信息,并且 其中,所述控制单元基于描述URL过滤服务的过滤器旁通状态的服务专用信息来重新配置用于控制所述流量进入所述路径的许可的所述过滤器。
33.根据权利要求29至31中任一项所述的网络设备, 其中,所述网络设备包括到所述路径的所述入口网络设备, 其中,所述控制单元在配置所述路径时,配置用于控制流量进入所述路径的许可的一个或多个过滤器,使得仅与一个或多个虚拟私有网络(VPN)的组相关联的流量被许可进入所述路径, 其中,所述服务专用信息包括描述所述一个或多个VPN的所述组改变的服务专用信息,并且 其中,所述控制单元基于描述所述一个或多个VPN的所述组改变的服务专用信息来重新配置用于控制所述流量进入所述路径的许可的所述过滤器。
34.根据权利要求29至31中任一项所述的网络设备,其中,所述网络设备包括到所述路径的所述入口网络设备, 其中,所述控制单元在配置所述路径时,配置用于控制流量进入所述路径的许可的一个或多个过滤器, 其中,所述服务专用信息包括描述所述服务节点应用于所述流量的防火墙服务的防火墙上下文的服务专用信息,并且 其中,所述控制单元基于描述VPN服务的防火墙上下文的服务专用信息来重新配置用于控制所述流量进入所述路径的许可的所述过滤器。
35.根据权利要求29至31中任一项所述的网络设备, 其中,所述服务专用信息包括描述应用一个或多个服务的执行结果中的一个或多个的服务专用信息;以及被配置为沿着所述路径转发所述流量的所述至少一个网络设备与所述服务节点之间的服务状态信息,其中所述服务状态信息包括所述网络设备与所述服务节点之间的当前负荷和性能中的一个或多个,并且 其中,所述控制单元基于描述所述网络设备与所述服务节点之间的当前负荷和性能中的一个或多个的服务专用信息,来重新配置所述路径,以将所述流量中的至少一些从所述入口网络设备转发到不同服务节点。
36.根据权利要求29至35中任一项所述的网络设备,其中,所述至少一个接口经由链路状态路由协议字段来接收所述服务专用信息。
37.一种网络系统,包括: 软件定义网络;以及 编排设备,用于计算和配`置通过所述软件定义网络的路径并且除用于计算和配置通过所述软件定义网络的路径外不通过所述软件定义网络转发任何流量, 其中,所述软件定义网络包括: 服务节点;以及 入口网络设备, 其中所述入口网络设备包括: 控制单元,被配置为根据由所述编排设备指定的配置数据沿着从所述入口网络设备到所述服务节点的路径转发流量;和 至少一个接口,用于沿着所述路径转发所述流量以使所述服务节点能够将一个或多个服务应用于所述流量, 其中所述服务节点包括: 至少一个接口,经由所述路径接收所述流量;和 控制单元,将所述一个或多个服务应用于经由所述路径接收的所述流量,并且产生与将所述一个或多个服务应用于所述流量相关的服务专用信息, 其中,所述服务节点的所述至少一个接口将所述服务专用信息发送到至少一个网络设备,所述至少一个网络设备被配置为经由所述路径转发所述流量,并且 其中,所述入口网络设备单元的所述控制单元基于所接收的服务专用信息来重新配置所述路径。
【文档编号】H04L12/701GK103516602SQ201310263894
【公开日】2014年1月15日 申请日期:2013年6月27日 优先权日:2012年6月27日
【发明者】詹姆士·吉夏尔, 戴维·沃德, 扬·梅德维德, 玛齐克·康斯坦蒂诺维奇 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1