CN105247822B - 一种用于建立网络服务链的方法、装置及计算机可读存储介质 - Google Patents
一种用于建立网络服务链的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN105247822B CN105247822B CN201480029433.8A CN201480029433A CN105247822B CN 105247822 B CN105247822 B CN 105247822B CN 201480029433 A CN201480029433 A CN 201480029433A CN 105247822 B CN105247822 B CN 105247822B
- Authority
- CN
- China
- Prior art keywords
- service area
- service
- network
- router
- route
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
- H04L45/037—Routes obligatorily traversing service-related nodes
- H04L45/0377—Routes obligatorily traversing service-related nodes for service chaining
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文提出了用于在网络环境中使用的技术,该网络环境包括一个或多个服务区,每一个服务区包括将被应用于网络流量的线内应用服务的至少一个实例和将网络流量导向至至少一个服务的一个或多个路由器,和路由目标,该路由目标被分配给唯一的服务区以用作在其他服务区、目的网络或源网络的路由器之间通过控制协议的路由进行导入和导出的团体值。每一个服务区或目的网络中的边缘路由器通过标记有它的路由目标目的网络前缀来通告路由。服务链以在服务区或源网络的边缘路由器处的路由目标的方式通过导入和导出目的网络前缀来创建。
Description
技术领域
本公开涉及网络,例如针对服务提供者的网络。
背景技术
网络运营商越来越多地用服务来货币化它们的基础设施。服务范围不仅包括移动线路终端、合法监听、计费,而且包括应用专用的(在线)服务,例如超文本传输协议(HTTP)代理、传输控制协议(TCP)优化器、防火墙、和网络地址转换(NAT)功能。
在网络运营商使用的服务路由的基础设施中,服务的链可以改变发起节点与远程之间的流量(可能是因特网托管的服务)。去往和来自发起节点的所有分组都受到这些服务中的一个或多个服务。
附图说明
图1是示出了包括一个或多个网络的网络环境的框图,其中每一个网络包括用于服务的应用的网络流量可以被定向到的服务的至少一个实例。
图2是包括两个服务区的示例网络环境的框图,并且示出了用于通过在服务区的边界处的导入/导出规则来创建服务链的技术。
图3A和3B是描述被执行用来创建例如图2中所显示的网络环境的服务链的操作的流程图。
图4是示出了创建服务链的另外示例的网络环境的示意图。
图5是示出了在服务区内执行的会话路由和转发管理多个服务实例之间的流量转发的框图。
图6是描述被执行用于会话路由和转发功能的操作的流程图。
图7是示出了会话路由和转发功能的操作的示例的框图。
图8是示出了根据本文所提出的技术向服务区边缘路由器提供会话状态信息的中央控制器的框图。
图9是被配置为执行本文所提出的技术的路由器的示例框图。
具体实施方式
概述
本文提出了在网络环境中使用的技术,该网络环境包括:一个或多个服务区,每一个服务区包括将被应用于网络流量的线内(in-line)应用服务的至少一个实例和将网络流量导向到至少一个服务的一个或多个路由器;和路由目标,该路由目标被分配给唯一的服务区以用作团体值,用于在其他服务区、目的网络或源网络的路由器之间通过控制协议来路由导入和导出。每一个服务区或目的网络中的边缘路由器通过标记有它的路由目标的目的网络前缀来通告路由。通过在服务区或源网络的边缘路由器处路由目标的方式导入和导出目的网络前缀来创建服务链。
示例实施例
图1示出了通常在参考编号10处示出的服务网络基础设施的示例。图1示出了能够使用RFC 4364路由目标导入/导出技术的服务路由外联网。在这种示例中,存在源网络20、目的网络30、在源网络20边缘的路由器40、和在目的网络30边缘的路由器50。路由器40被连接至线内应用服务60,例如线内应用服务60可以是虚拟的或物理的防火墙,或将被应用于网络流量的任意有用的服务,其进一步的示例将在下面进行描述。路由器40和服务60被认为是服务区。
外联网通过目的网络在本地重新发起路由而有助于通过服务来转发流量。RFC4364提供方法,通过该方法,服务提供者可以使用因特网协议 (IP)或多协议标签交换(MPLS)主干来向它的客户提供IP虚拟专用网 (VPN)。RFC 4364定义了使用外联网来在客户站之间建立层3(L3) VPN的方式。路由是分布式的并且标记有路由目标(RT)。在外联网的这种实施例中,路由目标被分配给唯一的服务区以用作团体值,用于在路由器之间通过控制协议路由导入和导出。当通过源网络20导入时,“边界”路由器40重新发起本身作为下一跳的上游目的网络的通告的目的网络IP前缀。路由器40也被表示为路由器Y,并且路由器50也被表示为路由器X。通过路由器40路由至目的网络30流量被强迫通过服务60。
在图1的示例中,目的网络30是在IP地址10.1/16上的外联网的一部分。如在参考编号70处所示的,路由器50(路由器X)通过诸如边界网关协议(BGP)之类的控制协议通告其正在服务10.1/16,10.1/16具有下一跳“X”并且与路由目标RT(X)相关联。路由器40(路由器Y)被配置为导入所有标记有RT(X)的路由,并且在这样做时得知存在至具有特定下一跳NH(X)和相关联的MPLS标签(未示出)的目的网络10.1/16 的路由。路由器40(路由器Y)基于如在参考编号72处显示的路由目标 RT(X)来导入10.1/16。因此,路由器40(路由器Y)现在可以通过路由器50(路由器X)与目的网络30进行通信。IPv6网络遵循类似的操作。
路由器40(路由器Y)还被配置为维持朝向服务60的附着电路(如在RFC 4364中定义的)。附着电路是物理局域网连接、虚拟局域网、或从路由器40(路由器Y)到提供服务60的设备的其他连接。同样,服务 60可以在物理或虚拟设备中被具体化(或被具体化为物理或虚拟设备)。因此,附着电路可以是穿过管理程序内核的VLAN、通过超级管理器内核的隧道等等。路由器40(路由器Y)确保所有去往10.1/16的流量都被强迫通过服务60。
如果路由器40(路由器Y)知道如何将流量转发至在10.1/16处的目的网络,则需要通知源网络20它具有到目的网络30的路由。为此,路由器40(路由器Y)在源网络20中重新发起具有本身作为下一跳的 10.1/16,以便源网络20中的元素知道它正在服务10.1/16,如在参考编号 74处所示。
当路由器40(路由器Y)强迫流量通过服务60时,这有效地变为长度为“1”的服务链。从源网络20去往目的网络30的所有流量都被路由器40(路由器Y)强迫通过服务60。因此,当从路由器50(X)接收到与网络10.1/16相关联的MPLS标签时,会告诉路由器40(路由器Y)将流量向下推向服务60,而不是直接推向路由器50(路由器X)。服务60 将应用一个或多个规则或其他处理,将(由服务后处理的)分组发送回路由器40(路由器Y),并且路由器40(路由器Y)将会把该流量通过与路由器50(X)相关联的MPLS标签的方式转发至路由器50。因此,想要将流量发送至目的网络30的源网络20中的所有网络元素将会把该流量发送至路由器40(路由器Y)。执行这些操作的智能可以在路由器(例如路由器40(路由器Y))中被适当配置的硬件和/或软件中被具体化。再次,路由器40(路由器Y)和50(路由器X)可以是物理网络设备或虚拟网络设备(例如,在物理服务器中的超级管理器上运行的虚拟机软件)。在后一种情况下,这种能力通过在虚拟网络设备的虚拟机或其他软件过程上运行的适当配置的软件来实施。
服务提供者通过“即时(on-the-fly)”和按需安装新服务或移除旧服务来动态地构建较长或较短的服务链是很重要的。如示例,移动服务提供者可能需要为移动订户在服务链中安装新的TCP优化器来提升蜂窝链路上的TCP性能。如分开描述的,在一种情况下,这些服务通过虚拟服务设备来实现,并且在数据中心资源上进行操作。链中的服务的插入和删除被称为“水平缩放”服务链。
除了水平缩放,还有垂直缩放。通常情况下,预测操作服务链中的服务所要求的资源的量是困难的。就此,服务提供者在每个服务的基础上动态地增加或减少服务链中的服务的能力是很重要的。一个服务中额外的需求不一定会导致对其他服务中的能力的额外需求。这被称为用于特定服务的资源的“每个服务合理精简(per-service right-sizing)”。
服务设备通常被用作“黑匣子”,作为有形网络元件或在虚拟机上执行。服务提供者使用可能会或可能不会被设计为与服务链中的其他服务相互作用的同类最佳服务是很重要的。从数据平面角度看,到这样的服务的“接口”应当仅基于发送和接收由以太网报头或其他层2封装机制潜在地封装的IP分组。这些以太网可以是真实的或虚拟的。服务实例可以被嵌入在本文中所描述的修改的层3虚拟专用网(VPN)中,从而提供水平缩放和垂直缩放两者。
每一个服务实例由针对服务实例维持附着电路的一个或多个PE路由器“管理和服务”。这样的PE路由器可以是物理PE路由器,或可以是在虚拟形式中被托管的并且在超级管理器的虚拟机上执行的。术语(虚拟) PE路由器在本文中也被简单地称为“边缘路由器”,并且除了在某些情况下,这些术语在本文中可以互换使用。我们认识到的两种形式的PE路由器:一方面在超级管理器内核之上或之内作为虚拟网络设备(即,虚拟机)操作的、并且通过超级管理器内核隧道(即,tunctl(8))或虚拟以太网控制器(例如,单根输入/输出虚拟化,SR-IOV)功能来连接至服务实例的版本,或另一方面PE路由器通过(虚拟)网络(例如,VLAN,IP 隧道)的来连接至一个或多个(虚拟)服务实例的版本。在前者的情况中,特定虚拟PE被用来将IP分组发送至服务实例并且从服务实例接收IP 分组。服务实例和虚拟PE可以被共同驻留在管理程序内核上。在后者的情况中,通过向服务发送例如以太网帧,IP分组从(虚拟)PE被定向至服务实例,并且通过使(虚拟)PE成为服务实例的默认网关,将IP分组返回至(虚拟)PE。在这种情况下,(虚拟)PE不需要被共同驻留在管理程序内上。
在传统的路由技术中,从信令功能中分离出转发功能并且在控制面与转发面之间维持专有接口是不常见的。例如转发引擎在嵌入到超级管理器内核中的虚拟机上操作,或甚至在传统路由器中操作,这对于(虚拟)PE 没有什么不同。类似地,集成的控制面和分离的控制面通过打开的或关闭的接口的方式来控制转发面。
每一个服务实例管理一个或多个会话。会话被定义为端到端应用连接,通常通过它的5元组被识别:源地址、目的地址、协议类型、源端口、和目的端口(本文中也被称为会话流参数)。应当注意的是,其他“类型”的会话也可以存在,例如,如果多个这些端到端连接聚在一起,则可以形成会话。后者可以是语音和IP多媒体系统(IMS)解决方案的情况。
对与区域的(虚拟)PE路由器相结合的特定服务进行服务的(虚拟) PE的集合被称为“服务区”。下面结合图2-4更详细地描述了服务区。区域内的每一个(虚拟)PE维持服务区间流量的虚拟路由和转发(VRF)的功能,和在服务区之内将分组导向至合适的服务实例的服务路由和转发 (SRF)的功能。SRF维持服务实例与应用会话之间的映射,而VRF通过 IP-in-IP或MPLS隧道的方式被连接至随后的(虚拟)PE路由器,并且针对服务实例维持附着电路。SRF维持每个会话路由信息,然而VRF仅维持将流量从VRF路由至VRF的汇总路由信息。SRF和VRF可以被集成到 (虚拟)PE上的单一数据结构中。下面结合图5-8更详细地描述了SRF。
本文所提出的技术是针对执行用于服务区流量流的管理的若干功能的。
1.如何设置服务区的链并使用VRF在服务区内的(虚拟)PE之间建立邻接关系,以及如何管理这些链。
2.如何基于5元组路由(即,会话路由)建立(虚拟)PE/SRF与实际 (虚拟)设备之间的会话的映射。
3.如何分发所有(虚拟)PE/SRF之间的会话映射,从而使所有(虚拟)PE/VRF能够在区域内提供会话路由。
4.如何在每个服务区和每个(虚拟)PE基础上提供弹性服务支持,即,如何支持“垂直缩放”。
5.如何支持链的长度的动态改变,即,如何支持“水平缩放”。
针对用于管理服务的综合方法,本文提出了一系列技术。
本文提出的第一个技术是对允许任意长度服务链的RFC 4363外联网模型的扩展。外联网服务通过适当地将路由目标分配至服务区边缘路由器 /VRF、并通过VRF“泄露”汇总路由来被链接。这在下面结合图2-4进行描述。随后,任意服务链概念通过在本文中被称为会话路由和转发 (SRF)功能用服务区内的会话特定路由来扩展。SRF功能维持实际服务(实例)与在其上服务实例操作的流之间的映射。SRF功能维持分解服务路由状态。为了建立VRF链,每一个VRF在两个方向上被提供有两个服务区路由目标,一个标记有通告/重新发起路由,而另一个从“下一个”服务区导入路由。通过在服务区边缘路由器/VRF中建立这些路由目标来管理链。下面结合图5-8描述服务区内的路由分布。
任意长度的服务链
现在参考图2。图2示出了其中在图1示出的长度为“1”的服务链被扩展至任意长度的服务链的配置。图2示出了服务区100和120,也分别被表示为区域“i”和“j”。服务区是逻辑结构,不是物理结构。服务区i (100)包括线内应用服务110,并且服务区j(120)包括线内应用服务 130。例如,服务110可以是防火墙,并且服务130可以是超文本传输协议(HTTP)服务、深度包检测(DPI)功能、TCP优化器等等。此外,在每一个区域中可以存在相同服务的多个实例。例如,在区域i(100)中可以存在相同服务110的多个实例,并且在区域j(120)中可以存在相同服务130的多个实例。另外,这些服务110和130可以是在数据中心的设备上运行的虚拟机。可以存在在给定的服务区中运行的相同服务的数百个实例。
如示例,在区域i(100)中有多个路由器112、114和116,并且在区域j(120)中有多个路由器122、124和126。在给定服务区内的路由器通过在服务区i(100)和j(120)中分别在参考编号118和128处示出的附着电路的方式被连接至服务。图2示出的路由器以上面描述的结合图1的相同方式强迫流量通过它们各自服务区中的服务(或服务实例)。服务区 i(100)和j(120)中的边缘路由器116和126通过各种控制协议和数据通道的方式进行通信。例如,参考编号140示出了通过多协议BGP(MP- BGP)的控制协议交换,并且参考编号142示出了通过MPLS隧道的数据信道。应当理解的是在各种区域的PE路由器之间存在多个隧道和信令连接。边缘路由器116和126在本文中也被称为服务区边缘路由器。在给定的服务区中可以有多个边缘路由器,但是为了简单起见,在本说明书中在给定的服务区中仅示出了单个边缘路由器。
路由器116从另一个服务区(逻辑上在服务100之上,为了简单起见在图2中未显示)接收流量,强迫流量通过服务110(或服务110的若干实例中的一个),并且然后在服务110的处理之后将流量沿着隧道142转发至服务区j(120)中的路由器126。类似地,服务区j(120)中的路由器126通过隧道142从路由器116接收流量,强迫它到服务130(或服务 130的若干实例中的一个),并且然后将流量转发至另一个服务区或目的地(图2中未显示)。相同流出现在用于将流量供入服务区j(120)和服务区i(100)的相反的方向,并且然后前进到另一个服务区或目的地。
来自一个服务区中的路由器的流量可以被路由至另一个服务区中的若干路由器中的任一个。例如,路由器116可以选择将流量通过数据信道 (为了简单起见在图2中未示出)转发至服务区j(120)中的路由器122 而不是路由器126,等等。因此,状态(邻接信息)在服务区内的路由器之间和不同服务区中的路由器之间被适当地复制,或存在解决映射的和解协议。
每一个服务区被分配有路由目标。此外,路由目标被分配给唯一的服务区作为团体值,用于路由器之间通过控制协议的路由导入和导出。通过在服务区的边缘路由器处的路由目标的方式由目的网络前缀的适当的导入和导出,服务的链被创建。区域j(120)从区域i(100)导入路由目标,并且同样的,区域i(100)从区域j(120)导入路由目标用于返回/默认路径。图2中示出的每一个路由器具有适当的服务区路由目标,并且导入和导出适当的地址。这包括从下一个服务区接收一组地址,将服务区路由目标改变为它自己的服务区导出路由目标,并且针对先前的服务区重新发起这些地址,以便建立链。要完成这项操作的所有必要的信令通过控制协议 (例如,BGP或任意其他因特网网关协议)来执行。服务区中的边缘路由器之间的通告以与服务区之间的流量流相反的反向被发送。例如,如果流量从第一服务区流动(该第一服务区是第二服务区的上游),则路由通告从第二服务区的边缘路由器被发送至第一服务区的边缘路由器。
该架构的益处是在给定服务区中的服务能力可以是可变的,以及给定服务区中的相关联的路由器的数量可以是可变的。具体的,如果路由器是虚拟PE路由器,则可以通过启动虚拟机、用虚拟PE功能填充虚拟机、配设适当的服务区路由目标策略、以及通知所有对等体该路由器现在启用并且可用于路由服务来添加新虚拟PE路由器。
例如,如图2中所显示,在162处,服务区i(100)中的路由器116 通告至区域j(120)的默认路由,以便对于期望被转发至区域i(100)的任意流量,区域j(120)中的路由器知道通过该默认路由来发送流量。通告162具有下列信息:RT(i),路由器116(下一跳)的地址是1.2.3.4,并且它具有到0/0的路由(默认路由)。在150处,区域j(120)中的路由器126从区域i(100)中的路由器116导入标记有RT(i)的路由。当从区域j(120)接收流量时,路由器116做出关于区域i(100)将要对该流量使用服务110的哪个实例的决定。
同样,针对区域j(120),在152处,路由器126向区域i(100)中的路由器116导出下列信息:RT(j),路由器126(下一跳)的地址是 2.3.4.5,并且它具有到10.1/16的路由。在160处,区域i(100)中的路由器116从区域j(120)中的路由器126导入标记有RT(j)的路由。这样做,对于期望被转发至区域j(120)的任意流量,区域i(100)中的路由器知道通过区域i(100)中的路由器116来发送流量。当从区域i(100) 接收流量时,路由器126做出关于区域j(120)将要对该流量使用服务 130的哪个实例的决定。
图2在区域i(100)处还示出了两个附加项的信息170和172。这些项对应于区域i(100)针对目的网络或源网络向服务通告如何从(虚拟) PE和如何对PE来获得分组。
现在转向图3A,示出了描述被执行用于链接链服务区的基础操作的流程图。在200处,路由目标(RT)被分配给每一个服务区。可以在网络管理装置处做出该分配。在210处,每一个服务区内的虚拟PE边缘路由器在学习到新路由之后,通过用标记有它的路由目标的目的网络前缀来通告路由。在220处,服务链是以服务区的虚拟PE边缘路由器处的路由目标的方式通过从目的网络或下游服务区导入目的网络前缀并且向上游服务区或源网络导出目的网络前缀来创建的链。
图3B是更详细地示出了由边缘路由器执行的操作的流程图。在这个范例中,存在第一服务区或源网络,即相对于流量流是第二服务区的上游,并且存在第三服务区,即相对于流量流是第一服务区的上游。在230 处,第一服务区的边缘路由器从第二服务区或目的网络的边缘路由器接收路由通告,该路由通告通告标记有第二服务区(或目的网络)的路由目标的第二服务区或目的网络的目的网络前缀。在240处,第一服务区的边缘路由器基于从第二服务区或目的网络的边缘路由器接收的路由通告来导入针对第二服务区或目的网络通告的目的网络前缀。
在250处,第一服务区的边缘路由器重新发起自第二服务区或目的网络的边缘路由器导入的路由,以便第一服务区的边缘路由器将其自身设置为转发的下一跳,并且用第一服务区的路由目标来替换第二服务区的路由目标以用于由第三服务区进行导入,该第三服务区相对于流量流是第一服务区的更上游。重新发起操作包括向第三服务区或源网络的边缘路由器通告从第二服务区的边缘路由器学习到的重新发起的路由通告,该重新发起的路由通告包括指示第二服务区的目的网络前缀、作为转发的下一跳的第一服务区的边缘路由器的地址和、第一服务区的路由目标的信息。
此外,值得注意的是,重新发起被执行用来吸引流量到服务区的“前端”,即“服务区边缘路由器”。其他服务区对服务区内的内部服务实例拓扑一无所知,而是只知道服务区边缘路由器。
参考图4来考虑下面的示例。在该示例中,存在两个路由区域,在 2.0.0.0/8处的路由区域A和路由区域B。存在两个服务区,服务区P和服务区Q。在这些服务区和路由区域的边缘上存在(虚拟)PE路由器,在图 4中被简称为“VPE”。例如,在参考编号260处的(虚拟)PEB在路由区域B中,在262处的(虚拟)PE Q位于服务区Q中,在264处的(虚拟)PE P在服务区P中,在266处的VPE A在路由区域A中。
下面的流程是图4中示出的示例配置中的服务区路由目标重新发起 (也被称为VRF安装)的示例。在270处,子网2.0.0.0/8的初始路由通告用导出RT(4)和下一跳3.0.0.4从VPE B被发送。在272处,服务区Q 在VPE Q处使用导入RT(4)来导入路由。因此,VPE Q具有指向下一跳(3.0.0.4)(即VPE B)的2.0.0.0/8。在274处,VPE Q用其自身作为下一跳(3.0.0.3)重新发起子网2.0.0.0/8并且附加RT(3)。在276处,服务区P在VPE P处使用导入RT(3)来导入路由。因此,VPE P具有指向下一跳(3.0.0.3)(即VPE Q)的2.0.0.0/8。在278处,VPE P用其自身作为下一跳(3.0.0.2)重新发起子网2.0.0.0/8并且附加RT(2)。在 280处,VPE A使用导入RT(2)来导入路由。因此,VPE A具有指向下一跳(3.0.0.2)(即VPE P)的2.0.0.0/8。因此,图4的示例示出了两个路由区域之间链接在一起的两个服务区。
当路由在服务区之间被重新发起时,通告在通告中携带聚合路由的偏好的隧道机制。该隧道机制可以是标准的MPLS路径、通用路由封装 (GRE)、MPLSoIP/GRE、虚拟可扩展LAN(VXLAN)、或任意其他隧道机制。虽然没有规定特定的隧道机制,但是隧道需要在其头部携带指向下一跳的VRF的指示符(例如,MPLS标签或其他标识符)。服务区之间路由是通过聚合路由的方式来控制信令的量的。如果配置是稳定的话 (即,如果没有路由重新配置),则信令的量应当接近于无。虽然聚合路由是分布式的,但这些聚合可以选择性地额外携带用于定向某些流的协议特定参数。这种情况的示例是,服务区可以通告<协议=TCP端口=80>来吸引所有HTTP流量进入服务区。隧道可以携带会话的特定信息,有益于后续服务区的处理。此外,在特殊情况下,服务实例本身可以与(虚拟)PE 集成来使服务实例能够学习这些额外的参数,或可替代地,(虚拟)PE维持隧道作为至服务实例的附着电路来携带额外的参数。
流量路由是基于简单的聚合目的前缀路由通告的。但是,在特殊情况下,聚合基于源的路由也可以被考虑,虽然这将包括(MP-)BGP标准的改变。
链的重新配置可以被动态地执行,然而需要注意避免在链路中创建循环。考虑路由区域X和服务区P和Q连接至互联网的示例。为了在P和Q 之间插入服务R,R中的第一VRF需要在服务区Q中的路由器可以导入标记有RT(R)的路由和服务区P中的路由器可以导入标记有RT(R’)的路由之前导入标记有RT(P)的路由。最后,服务区Q中的路由器可以停止导入并且主动地丢弃标记有RT(P)的路由,同时服务区P中的路由器可以停止导入并且主动地丢弃标记有RT(Q)的路由。为了移除服务区 R,服务区P和服务区Q之间的第一路由需要在通过服务器R的路由可以被丢弃之前被建立。这是服务链的水平缩放。类似的技术被用于插入默认路由。
虽然链机制在本文中结合RFC 4364信令的使用被描述,但是替代的信令的形式也可以被使用。如示例,外部控制器可以通过外部接口的方式来下载聚合路由至每一个(虚拟)PE的VRF。
(虚拟)PE可以动态地被创建和撤销。虽然常规路由技术可以被用来分配通过服务区的聚合路由(例如聚合路由到先前跳的分配),但是(虚拟)PE需要被配设适当的(路由目标)参数来使其发生。每一个(虚拟) PE可以为外部接口服务,该外部接口允许中央控制器来配设(虚拟) PE。该中央控制器被配置用于新近创建的(虚拟)PE中的VRF的动态实例化,安装与该VRF相关联的适当的导出和导入路由目标,其他配置参数使(虚拟)PE能够与其他(虚拟)PE进行通信。类似地,中央控制器从路由基础设施中移除(虚拟)PE。云管理系统可以处理携带虚拟PE的适当的虚拟机的实际实例化和附着电路的建立。后面描述的图8示出了在配设和重新配置VPE中的中央控制器的示例。
会话路由——服务路由和转发(SRF)
服务区内的路由和信令是基于会话路由的。虽然区之间的通信是基于 VRF的,但是服务区内的路由和信令是基于“服务路由和转发”(SRF) 的。对于服务内路由,列出针对每一个会话的使用哪一个特定地址的哪一个特定虚拟设备正在服务特定会话是重要的。其重要的原因是,通常情况下,服务实例分配“状态”来维持服务。如果分组不能被保证在相同服务实例处被传递,则通常没有服务可以被提供。
为了与服务实例进行通信,服务区中的一个或多个(虚拟)PE/VRF 维持到一个或多个服务实例的一个或多个附着电路。这些附着电路可以是基于VLAN技术、超级管理器内核隧道(例如,隧道(8))、虚拟以太网(例如,SR-IOV)切换功能、或其他附加连接类型的。在基于超级管理器的内核隧道被使用的情况下,超级管理器内核共同驻留的虚拟PE终止至服务实例的附加隧道。在这种情况下,去往该服务的所有分组需要在分组可以被传递至适当的服务实例之前首先被路由至共同驻留的(虚拟) PE。
现在转向图5,提出了附着电路在服务区中是如何操作的描述。参考编号300是服务区,并且图5中示出的元件是可以在数据中心中被实现的服务区的元件。数据中心包括多个刀片式服务器,每一个刀片式服务器具有一个或多个处理器核心并且能够运行多个虚拟机。虚拟路由器320在刀片式服务器310上的虚拟机中运行,并且操作网络接口卡(NIC)322。虚拟路由器320等同于上述的结合图2中提到的服务区边缘路由器。刀片式服务器310(1)还存储多个VRF中的每一个的数据结构,其中多个VRF 例如,VRF 330(1)和330(2),和VRF 332(1)和332(2),被分别标记为VRF(i)、VRF(j)、VRF(k)和VRF(1)。在数据中心中存在单独的处理器核心312(1)-312(n),每一个处理器核心在虚拟机上运行服务。可能在每个处理器核心上都运行服务。例如,处理器核心312 (1)运行服务340(也被称为SVC(Q)),处理器核心312(2)运行相同服务340的另一个实例,并且处理器核心312(n)运行服务342(也被称为SVC(P))。
在服务340和342与VRF之间存在连接的多个附着电路。例如,附着电路350(1)将流量从VRF(i)连接至处理器核心312(1)和312(2) 中的SVC(Q)。附着电路350(2)将流量从VRF(k)连接至处理器核心312(n)中的SVC(P)。附着电路350(3)将流量(在SVC(P)处理之后)从SVC(P)连接至VRF(1),并且附着电路350(4)将流量 (在SVC(Q)处理之后)从处理器核心312(1)和312(2)中的SVC (Q)连接至VRF(j)。刀片式服务器310(1)存储每一个VRF的数据结构。每一个VRF包括关于如何将分组切换至服务的信息。此外,针对在两个方向之一上通过服务区的流量流,VRF 330(1)和330(2)是伙伴 VRF,同样VRF 332(1)和332(2)也是伙伴VRF。
应当理解的是虽然图5示出了单一服务区,但是任意给出的服务区可以是其他服务区的链的一部分。因此,图5示出了箭头360和362来指示通过服务区300的、与两个不同服务链(分别被表示为链X和链Y)相关联的流量。
虚拟路由器320将从第三方通过隧道(例如,MPLS隧道)接收被封装有报头的IP分组。在报头内是指出存储在刀片式服务器310(1)中的 VRF数据结构中的特定VRF的标签。例如,考虑到达数据中心的分组,通过虚拟路由器320,与服务链Y相关联分组被路由到VRF330(1)。 VRF 330(1)检查分组的IP地址,并且将分组转发至适当的服务,例如 SVC(Q)。被存储的信息用来指示SVC(Q)实例(在处理器核心312 (1)上或在处理器核心312(2)上)中的哪一个正在服务该分组的IP地址。VRF 330(2)在分组被SVC(Q)处理之后接收该分组,并且将它适当地转发出服务区。VRF 332(1)和332(2)以类似的方式操作链X上的流量。
由于VRF 330(2)通过链Y学习到它具有到达特定下游网络的可能性,可能发生两件事。第一,VRF 330(2)向它的伙伴VRF 330(1)透露该信息,VRF 330(1)然后可以重新发起该网络地址。第二,在每一个 SRF之内,关于如何双向地为服务链路由单独的流量流的状态被维持。更普遍的信息被存储来指示每一个SRF应当基于流量的特定分组流(例如,流量会话的IP地址)将流量转发至哪一个服务。这个操作被称为服务区内的会话路由。
现在转向图6,描述服务区中的SRF功能和VRF功能的操作的流程图被示出。如上面结合图5所描述的,多个VRF功能在(虚拟)PE边缘路由器中被提供,在(虚拟)PE边缘路由器处流量在特定服务区中被接收,并且多个附着电路在VRF功能与服务实例之间被连接。每一个VRF功能存储维持用于流量流去往和来自相应服务实例的相应附着电路的数据。在 400处,SRF功能存储会话信息并且结合关联的VRF来选择使用由VRF 功能存储的哪些附加电路,以用于将在特定服务区的(虚拟)PE边缘路由器处接收到的流量导向至服务实例和从服务实例接收回流量的目的,。会话信息表示根据分组的会话流参数用于传递至服务实例的分组会话到附着电路的分配。在410处,特定服务区的(虚拟)PE边缘路由器的VRF功能接收分组。在420处,VRF功能决定附着电路通过分组和SRF功能转发信息。在430处,SRF功能将会话流参数(例如,5元组分组)与存储在会话表中的会话信息进行匹配,并且将具有适当的会话信息的分组传递回 VRF功能。在440处,VRF功能根据会话信息通过附着电路将分组转发至服务实例。
总结图6的流程图的操作和图5的布置,流量在特定服务区中的边缘路由器处被接收。流量被导向特定服务区中的服务实例。流量从特定服务区中的服务实例被接收回,并且从特定服务区被转发。如图5中所示,服务区可以包括多个服务实例,并且在这种情况下,确定将流量导向特定服务区中的多个服务实例中的哪一个是必要的。上面图6所描述的操作阐述了用于确定流量如何被导向服务区之内的服务实例的机制。
如示例,HTTP服务区可以具有许多单独的虚拟HTTP服务实例,并且单独的会话到适当的HTTP服务实例的转发通过在服务区中操作的 VPE/VRF/SRF来管理。如果虚拟机X托管移动节点2.0.0.1的HTTP代理,并且通过具有IP地址10.0.1.2的VLAN 12是可到达的,则(虚拟) PE中的SRF功能将针对从移动节点发起的流量列出具有“源=2.0.0.1/32 协议=TCP端口=80”指向在“电路=VLAN:12”处的“vmaddr=10.0.1.2”的路由。类似地,将流量返回到在VRF中匹配目的地址。如果只能由在地址192.168.10.4处的VPE通过隧道8到达HTTP服务,则路由条目附加地携带“电路=192.168.10.4”条款。如果防火墙服务将与HTTP服务被并行应用,则HTTP VRF将维持到防火墙VRF的默认路由,例如,在防火墙服务中存在多个VPE的情况下的<目的=0/0下一跳=FW(A)下一跳=FW(B)>。
参考图7,描述了SRF和VRF功能的示例。图7与图4类似,具有服务区P和Q,和路由区域A和B。如上面结合图4所描述的,VPE被提供。在500处,从源4.0.0.1:333去往2.0.0.1端口80的TCP分组在VPE A 处被接收。在510处,在VPE A处进入的VRF具有用于2.0.0.0/8指向下一跳3.0.0.2(即VPE P)的转发条目。分组被转发至VPE P。在520处, VPE P使用SRF功能和会话信息表525中的信息来转发分组。发现会话信息表525中的条目与源4.0.0.1、目的端口80匹配,其指向通过附着电路 VLAN 12是可到达的VM地址10.0.0.2。分组被转发至具有地址10.0.0.2 的VM(即VM(P1))。在530处,从VM(P1)返回的分组由VPE P 基于在VPE P处的VRF功能中的查找功能来转发。VPE P确定目的 2.0.0.0/8通过下一跳(3.0.0.3)(即VPE Q)是可到达的。在540处,在 VPE Q处进入的分组基于在545处的VRF功能条目被转发至目的2.0.0.0/8 (即下一跳(3.0.0.4)(即VPE B))。
SRF状态需要在服务区中被分发,从而确保所有SRF功能可以将分组路由至适当的服务实例。存在许多方法来实现这种分发,并且本公开没有指定服务区会话状态管理的任何特定形式。实际上,甚至可以在单一系统中假设不同种类的SRF状态管理系统。下面是SRF会话状态信息分发的选项。
第一,分发会话状态的一个机制是使用外部控制器,一旦新服务流在服务区中被确认该外部控制器就在所有的VPE/SRF中安装服务路由。在收到会话中的第一分组时,SRF通知新会话的中央控制器,控制器做出服务实例分配决定,并且通知所有SRF路由决定。为此,参考图8,其示出了在数据中心中连接至物理服务器610的控制器600。物理服务器610可以具有运行虚拟机的任意数量的处理核心,该虚拟机包括如在参考编号 620(1)-520(n)处示出的多个VPE的虚拟机。控制器600可以是物理服务器或服务器上的软件过程,控制器是云管理系统的一部分。控制器 600向VPE VM 520(1)-520(n)发送包括会话状态信息的配置消息。此外,控制器600可以执行上述用于创建和撤销虚拟PE的功能,即,对新近创建的(虚拟)PE中的VRF的动态实例化、适当的导出和导入与该 VRF相关联的路由目标的安装、使(虚拟)PE能够与其他(虚拟)PE进行通信的其他配置参数。
在会话路由状态中使用“会话密钥”方面,假设任意上述的5元组或分组的IP分组报头的任意部分可以被用作会话密钥。在源路由被使用的情况下,只有IP分组的的源地址有助于指引分组流。在其他情况下,更多的头字段可以被使用,包括但不限于协议类型、协议编号、和目的地址范围 (例如,将从2.1.0/24到http://cnn.com的所有流量路由至特定服务链)。在服务系统是在移动环境中使用的情况下,3GPP通用分组无线业务 (GPRS)隧道协议(GTP)的隧道标识符(TEID)可以被用作会话密钥 (的一部分),或在会话路由是针对IEEE WiMAX、3GPP2’s CDMA2000/EVDO、或电缆CAPWAP系统被定义的情况下,通用路由封装(GRE)密钥可以被用作会话路由密钥的一部分。
在替代的形式中,路由安装显得更“懒”。当第一分组到达服务实例时,在SRF功能中,SRF功能将会话密钥匹配至列出的会话,如果没有找到会话路由信息,则SRF功能请求与会话密钥相关联的路由的安装。如果控制器认为分组是新会话的一部分,则控制器选择服务实例来托管会话,并且通知调用会话映射的SRF功能。如果分组是已经现有会话的一部分,则控制器通知调用正在服务会话的SRF功能。
在另一个形式中,SRF功能被操作为分布式服务。服务区中所有参与的SRF可以执行状态分布协议来通知其他参与者本地会话路由决定。如示例,如果服务实例接收输入的会话的第一分组,则它可以单方面决定哪一个服务实例(包括其自身)来托管该服务。然后通过例如在诸如MP-BGP 之类的现有路由协议上可靠的多播或捎带该信息的方式来将该决定分发至服务区中的所有或部分其他参与者。在对此的变化中,在做出本地决定之前,(虚拟)PE可以首先从服务区中的其他参与者征求映射信息,如果没有其他(虚拟)PE支持该映射,则(虚拟)PE可以继续做出本地会话路由决定。关于是否将状态分发至其他参与者和将什么状态分发至其他参与者的决定是基于服务区的会话状态可靠性要求的。在某些情况下,丢失会话路由状态不是问题,并且不需要冗余。在其他情况下,至关重要的是,所有SRF功能是完全同步的,要求不同状态一致性协议。
另一个可能是,如果需要的话,则服务区会话路由状态可以被保持在分布式散列表(DHT)中,其中“主要”SRF功能安装路由,如果需要的话,则“次要”SRF功能可以加载会话路由状态。
另一个可能是完全静态地建立会话路由基础设施来避免任何会话状态的一致性协议。
简单地超时机制可以被用来清除SRF条目。
每一个服务区可以通过新服务实例和具有相关联的VRF功能和SRF 功能的虚拟PE路由器的实例化来动态地调整它的路由、转发、和服务容量。在虚拟PE的至少一个形式中,常规路由技术被用来针对它的VRF功能发送邻接关系信号。当新虚拟PE/VRF被配设有适当的路由目标时,它称为路由基础设施的一部分。通过导入下一跳的适当的路由目标的方式来学习下一跳,并且将这些学习到的路由重新发起至前一跳。SRF功能中的会话状态通过外部控制器将所有会话路由下载至新实例、或通过使用分布式核对程序来学习。类似地,为了减少容量,虚拟PE被简单地从集合中移除。同样,VRF邻接关系状态被自动地调整,并且由于SRF状态在区域内是一致的,所以SRF可以被简单地丢弃。如果服务实例本身被丢弃,则指向该服务实例的所有会话也会被丢弃。
上述至(虚拟)PE的外部接口可以被用来指导(虚拟)PE如何管理服务区中的SRF功能。可以被安装在(虚拟)PE上的参数是服务区中的 SRF功能维持一致性所用的方法,包括建立反映MP-BGP参数的参数、 DHT信息、多播树信息、或该一致性管理需要的任意其他参数。
在专用参数可以从流量流被收集、并且在(虚拟)PE中存在可用的专用功能的情况下,专用参数可以被用于会话路由目的。专用参数可以包括 HTTP参数。与维持会话密钥相关联的数据结构是专用的。
现在转向图9,示出了被配置为执行如本文所描述的边缘路由器(例如,(虚拟)PE路由器)的操作的路由器的示例框图。应当理解的是,在图9中示出的虚拟PE是软件仿真的或虚拟化的版本。在参考编号700处示出的PE路由器包括多个端口710(1)-710(m)、路由器专用集成电路(ASIC)620、处理器或中央处理单元(CPU)730、和存储器740。端口710(1)-710(m)从路由器接收入站分组和出站分组。路由器ASIC 720根据路由逻辑以及来自处理器730的控制将输入分组导向至端口用于出站。例如,处理器730是微处理器或微控制器,并且执行存储在存储器 740中的服务区链固件/软件750的指令。服务区链固件/软件750包括指令,当该指令由处理器730执行时,使得处理器执行本文结合图1-8所描述的PE路由器的操作。
存储器740可以包括只读存储器(ROM)、随机存取存储器 (RAM)、磁盘存储介质设备、光存储介质设备、闪存设备、电、光、或其他物理/有形存储器存储设备。通常,存储器740可以包括用软件编码的一个或多个有形(非暂态)计算机可读存储介质(例如,存储器设备),该软件包括计算机可执行指令,并且当该软件被(处理器740)执行时,可操作以执行本文所描述的操作。
总之,本文提出了通过链接服务区的方式管理服务链和服务区内的会话路由的技术。本文提出了信令协议可以链接区域的机制,以及这些链如何能够被动态地改变,并且通过本文提出的机制单独的会话路由信息在服务区内被分发。
通过扩展外联网技术的服务链的一个优势是,基础链和邻接关系信令功能在现有路由器中已经是可用的;但是它不用于一般服务链过程。通过引入服务的水平和垂直缩放、管理SRF功能中的每一个会话状态、并且将 SRF功能连接至VRF,这些技术被建立在外联网设备上。任意数量的不同控制协议可以被用来管理VRF功能和SRF功能的集合中的路由。通过在 (虚拟)PE之内嵌入会话管理,服务可以不用改变而被引入至服务链中。
上面的描述仅旨在给出示例。
Claims (16)
1.一种用于建立网络服务链的方法,包括:
在网络环境中提供一个或多个服务区,每一个服务区包括将被应用于网络流量的线内应用服务的多个实例和将网络流量导向至多个服务的一个或多个路由器;
将路由目标分配给每一个服务区以用作在其他服务区、目的网络或源网络的路由器之间通过控制协议进行路由导入和导出的团体值;
每一个服务区或目的网络中的边缘路由器通过标记有它的路由目标的目的网络前缀来通告路由;
以在所述服务区或源网络的边缘路由器处的路由目标的方式通过导入和导出目的网络前缀来创建服务链;
在特定服务区中的边缘路由器处接收流量;
将所述流量导向至所述特定服务区中的服务实例;
从所述特定服务区中的服务实例接收回流量;
将所述流量从所述特定服务区转发;
确定在所述特定服务区中将所述流量导向至所述多个服务实例中的哪一个服务实例;
在所述边缘路由器中提供多个虚拟路由和转发VRF功能,流量在所述特定服务区中的所述边缘路由器处被接收,并且多个附着电路被连接于VRF功能与服务实例之间,每一个VRF功能存储维持用于去往和来自相应的服务实例的流量流的相应的附着电路的数据;以及
提供会话路由和转发SRF功能,该SRF功能存储会话信息来选择使用由VRF功能存储的哪些附着电路,以用于将在所述特定服务区的所述边缘路由器处接收到的流量导向至服务实例和从所述服务实例接收回流量的目的,所述会话信息表示根据分组的会话流参数对分组会话到附着电路的分配以用于传递至服务实例。
2.如权利要求1所述的方法,还包括:
在第一服务区的边缘路由器处,重新发起自第二服务区或目的网络导入的路由,以便所述第一服务区的边缘路由器将其本身设置为转发的下一跳,并且所述第一服务区的路由目标来替换所述第二服务区的路由目标以用于由第三服务区进行导入,所述第三服务区相对于流量流是所述第一服务区的更上游。
3.如权利要求2所述的方法,其中创建服务链包括:
在所述第一服务区的所述边缘路由器处接收来自所述第二服务区或目的网络的边缘路由器的路由通告,所述路由通告通告标记有所述第二服务区的路由目标的所述第二服务区或目的网络的目的网络前缀;以及
在所述第一服务区的所述边缘路由器处,基于从所述第二服务区的边缘路由器接收的所述路由通告来导入针对所述第二服务区或目的网络的所述目的网络前缀。
4.如权利要求3所述的方法,其中重新发起包括:
向所述第三服务区或源网络的边缘路由器通告从所述第二服务区的边缘路由器学习到的重新发起的路由通告,所述重新发起的路由通告包括指示所述第二服务区的目的网络前缀、作为所述转发的下一跳的所述第一服务区的边缘路由器的地址、和所述第一服务区的路由目标的信息。
5.如权利要求3所述的方法,其中,所述服务区的边缘路由器是物理路由器或虚拟路由器。
6.如权利要求1所述的方法,其中,接收流量包括在所述特定服务区的所述边缘路由器的VRF功能处接收分组,其中导向包括:
将分组传递至所述SRF功能;
所述SRF功能将所述分组的会话流参数与所述会话信息进行匹配;
将具有适当的会话信息的所述分组传递回所述VRF功能;以及
所述VRF功能根据所述会话信息通过附着电路将分组转发至服务实例。
7.一种用于建立网络服务链的装置,包括:
多个端口,所述多个端口被配置为从网络接收分组和将输出分组发送至所述网络;
路由器单元,所述路由器单元被耦合到所述多个端口,并且被配置为做出关于如何将接收到的分组路由至用于输出至所述网络的端口的决定;
处理器,所述处理器被耦合到所述路由器单元,其中所述处理器被配置为:
在网络环境中通过标记有服务区或目的网络的路由目标的目的网络前缀来通告路由,所述网络环境包括一个或多个服务区,每一个服务区包括将要被应用于网络流量的线内应用服务的多个实例,以及路由目标,所述路由目标已经被分配给唯一的服务区以用作在其他服务区、目的网络或源网络的路由器之间通过控制协议的路由进行导入和导出的团体值;
以在所述服务区或源网络的边缘路由器处的路由目标的方式通过导入和导出目的网络前缀的来创建服务链;
在特定服务区中的边缘路由器处接收流量;
将所述流量导向至所述特定服务区中的服务实例;
从所述特定服务区中的服务实例接收回流量;
将所述流量从所述特定服务区转发;
确定在所述特定服务区中将所述流量导向至多个服务实例中的哪一个服务实例;
执行多个虚拟路由和转发VRF功能,每一个VRF功能存储维持用于去往和来自相应的服务实例的流量流的相应的附着电路的数据;
以及
执行会话路由和转发SRF功能,该SRF功能存储会话信息来选择使用由VRF功能存储的哪些附加电路,以用于将在所述特定服务区的所述边缘路由器处接收到的流量导向至服务实例和从所述服务实例接收回流量的目的,所述会话信息表示根据分组的会话流参数对分组会话到附加电路的分配以用于传递至服务实例。
8.如权利要求7所述的装置,其中,所述处理器还被配置为:
对于第一服务区的边缘路由器,重新发起自第二服务区或目的网络导入的路由,以便所述第一服务区的边缘路由器将其本身设置为转发的下一跳,并且用所述第一服务区的路由目标来替换所述第二服务区的路由目标以用于由第三服务区进行导入,所述第三服务区相对于流量流是所述第一服务区的更上游。
9.如权利要求8所述的装置,其中,所述处理器还被配置为:
在所述第一服务区的所述边缘路由器处接收来自所述第二服务区或目的网络的边缘路由器的路由通告,所述路由通告通告标记有所述第二服务区的路由目标的所述第二服务区或目的网络的目的网络前缀;以及
基于从所述第二服务区的所述边缘路由器接收的所述路由通告来导入针对所述第二服务区或目的网络的所述目的网络前缀。
10.如权利要求9所述的装置,其中,所述处理器还被配置为:
向所述第三服务区或源网络的边缘路由器通告从所述第二服务区的边缘路由器学习到的重新发起的路由通告,所述重新发起的路由通告包括指示所述第二服务区的目的网络前缀、作为所述转发的下一跳的所述第一服务区的边缘路由器的地址、和所述第一服务区的路由目标的信息。
11.如权利要求7所述的装置,其中,对于在VRF功能处的分组流接收到的分组,所述处理器被配置为:
将分组传递至所述SRF功能;
使得所述SRF功能将所述分组的会话流参数与所述会话信息进行匹配;
将具有适当的会话信息的所述分组传递回所述VRF功能;以及
使得所述VRF功能根据所述会话信息通过附着电路将分组转发至服务实例。
12.一个或多个用软件编码的计算机可读存储介质,所述软件包括计算机可执行指令,并且当所述软件被执行时,可操作用于:
在网络环境中通过标记有服务区或目的网络的路由目标的目的网络前缀来通告路由,所述网络环境包括一个或多个服务区,每一个服务区包括将要被应用于网络流量的线内应用服务的多个实例,以及路由目标,所述路由目标已经被分配给唯一的服务区以用作在其他服务区、目的网络或源网络的路由器之间通过控制协议的路由进行导入和导出的团体值;
以在所述服务区或源网络的边缘路由器处的路由目标的方式通过导入和导出目的网络前缀来创建服务链;
在特定服务区中的边缘路由器处接收流量;
将所述流量导向至所述特定服务区中的服务实例;
从所述特定服务区中的服务实例接收回流量;
将所述流量从所述特定服务区转发;
确定在所述特定服务区中将所述流量导向至多个服务实例中的哪一个服务实例;
执行多个虚拟路由和转发VRF功能,每一个VRF功能存储维持用于去往和来自相应的服务实例的流量流的相应的附着电路的数据;以及
执行会话路由和转发SRF功能,该SRF功能存储会话信息来选择使用由VRF功能存储的哪些附加电路,以用于将在所述特定服务区的所述边缘路由器处接收到的流量导向至服务实例和从所述服务实例接收回流量的目的,所述会话信息表示根据分组的会话流参数对分组会话到附加电路的分配以用于传递至服务实例。
13.如权利要求12所述的计算机可读存储介质,还包括指令,可操作用于:
对于第一服务区的边缘路由器,重新发起自第二服务区或目的网络导入的路由,以便所述第一服务区的边缘路由器将其本身设置为转发的下一跳,并且用所述第一服务区的路由目标来替换所述第二服务区的路由目标以用于由第三服务区进行导入,所述第三服务区相对于流量流是所述第一服务区的更上游。
14.如权利要求13所述的计算机可读存储介质,还包括指令,可操作用于:
在所述第一服务区的所述边缘路由器处接收来自所述第二服务区或目的网络的边缘路由器的路由通告,所述路由通告通告标记有所述第二服务区的路由目标的所述第二服务区或目的网络的目的网络前缀;以及
基于从所述第二服务区的所述边缘路由器接收的所述路由通告来导入针对所述第二服务区或目的网络的所述目的网络前缀。
15.如权利要求14所述的计算机可读存储介质,还包括指令,可操作用于:
向所述第三服务区或源网络的边缘路由器通告从所述第二服务区的边缘路由器学习到的重新发起的路由通告,所述重新发起的路由通告包括指示所述第二服务区的目的网络前缀、作为所述转发的下一跳的所述第一服务区的边缘路由器的地址、和所述第一服务区的路由目标的信息。
16.如权利要求12所述的计算机可读存储介质,还包括指令,可操作用于:
对于在VRF功能处的分组流接收到的分组,将分组传递至所述SRF功能;
使得所述SRF功能将所述分组的会话流参数与所述会话信息进行匹配;
将具有适当的会话信息的所述分组传递回所述VRF功能;以及
使得所述VRF功能根据所述会话信息通过附着电路将分组转发至服务实例。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/898,932 | 2013-05-21 | ||
US13/898,932 US9826025B2 (en) | 2013-05-21 | 2013-05-21 | Chaining service zones by way of route re-origination |
PCT/US2014/036907 WO2014189670A1 (en) | 2013-05-21 | 2014-05-06 | Chaining service zones by way of route re-origination |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105247822A CN105247822A (zh) | 2016-01-13 |
CN105247822B true CN105247822B (zh) | 2018-09-18 |
Family
ID=50896566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480029433.8A Expired - Fee Related CN105247822B (zh) | 2013-05-21 | 2014-05-06 | 一种用于建立网络服务链的方法、装置及计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9826025B2 (zh) |
EP (1) | EP3000206B1 (zh) |
CN (1) | CN105247822B (zh) |
WO (1) | WO2014189670A1 (zh) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743885B2 (en) | 2011-05-03 | 2014-06-03 | Cisco Technology, Inc. | Mobile service routing in a network environment |
US9088584B2 (en) | 2011-12-16 | 2015-07-21 | Cisco Technology, Inc. | System and method for non-disruptive management of servers in a network environment |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US9509614B2 (en) | 2013-06-20 | 2016-11-29 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
US9374297B2 (en) | 2013-12-17 | 2016-06-21 | Cisco Technology, Inc. | Method for implicit session routing |
WO2015143610A1 (zh) * | 2014-03-24 | 2015-10-01 | 华为技术有限公司 | 一种nfv系统的业务实现方法及通信单元 |
US9559950B2 (en) * | 2014-03-31 | 2017-01-31 | Tigera, Inc. | Data center networks |
US9344364B2 (en) * | 2014-03-31 | 2016-05-17 | Metaswitch Networks Ltd. | Data center networks |
US9813258B2 (en) | 2014-03-31 | 2017-11-07 | Tigera, Inc. | Data center networks |
US9379931B2 (en) | 2014-05-16 | 2016-06-28 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9479443B2 (en) | 2014-05-16 | 2016-10-25 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9979698B2 (en) | 2014-06-27 | 2018-05-22 | iPhotonix | Local internet with quality of service (QoS) egress queuing |
US20150381418A1 (en) * | 2014-06-27 | 2015-12-31 | iPhotonix | Remote Orchestration of Virtual Machine Updates |
US9794172B2 (en) * | 2014-06-27 | 2017-10-17 | iPhotonix | Edge network virtualization |
US10516568B2 (en) | 2014-09-30 | 2019-12-24 | Nicira, Inc. | Controller driven reconfiguration of a multi-layered application or service model |
US9825810B2 (en) | 2014-09-30 | 2017-11-21 | Nicira, Inc. | Method and apparatus for distributing load among a plurality of service nodes |
US10135737B2 (en) | 2014-09-30 | 2018-11-20 | Nicira, Inc. | Distributed load balancing systems |
US10417025B2 (en) | 2014-11-18 | 2019-09-17 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
US9531850B2 (en) * | 2014-12-04 | 2016-12-27 | Cisco Technology, Inc. | Inter-domain service function chaining |
US20160173392A1 (en) * | 2014-12-15 | 2016-06-16 | Tieto Oyj | Service Chain Management |
US9584415B2 (en) * | 2015-01-30 | 2017-02-28 | Huawei Technologies Co., Ltd. | Devices, systems and methods for service chains |
WO2016130121A1 (en) * | 2015-02-11 | 2016-08-18 | Hewlett Packard Enterprise Development Lp | Network service chain construction |
US9736063B2 (en) * | 2015-02-17 | 2017-08-15 | Huawei Technologies Co., Ltd. | Service chaining using source routing |
US10594743B2 (en) | 2015-04-03 | 2020-03-17 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
US9853898B1 (en) * | 2015-04-29 | 2017-12-26 | Juniper Networks, Inc. | Dynamic service chain provisioning |
US9762402B2 (en) | 2015-05-20 | 2017-09-12 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
US10103976B2 (en) | 2015-07-09 | 2018-10-16 | Cisco Technology, Inc. | Service bitmask-based service application in service function chaining |
US9723106B2 (en) | 2015-08-28 | 2017-08-01 | Cisco Technology, Inc. | Service function chaining branching |
US11044203B2 (en) | 2016-01-19 | 2021-06-22 | Cisco Technology, Inc. | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
US10164875B2 (en) * | 2016-02-22 | 2018-12-25 | Cisco Technology, Inc. | SR app-segment integration with service function chaining (SFC) header metadata |
CN105978806B (zh) * | 2016-03-11 | 2019-03-26 | 北京星网锐捷网络技术有限公司 | 一种服务链引流方法和装置 |
CN105912266A (zh) * | 2016-04-05 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器及一种刀片服务器的融合存储的方法 |
US10498765B2 (en) * | 2016-06-01 | 2019-12-03 | At&T Intellectual Property I, L.P. | Virtual infrastructure perimeter regulator |
US10079767B2 (en) | 2016-06-13 | 2018-09-18 | Cisco Technology, Inc. | Multi-mobile core networks and value-added services |
CN106169980A (zh) * | 2016-06-29 | 2016-11-30 | 国家计算机网络与信息安全管理中心 | 一种虚拟网络带宽公平调度方法 |
US10158565B2 (en) * | 2016-08-26 | 2018-12-18 | Cisco Technology, Inc. | Network services across non-contiguous subnets of a label switched network separated by a non-label switched network |
US11277338B2 (en) * | 2016-09-26 | 2022-03-15 | Juniper Networks, Inc. | Distributing service function chain data and service function instance data in a network |
US10250500B2 (en) * | 2016-12-30 | 2019-04-02 | Juniper Networks, Inc. | Performing a service on a packet |
US10797966B2 (en) | 2017-10-29 | 2020-10-06 | Nicira, Inc. | Service operation chaining |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
CN110971522B (zh) | 2018-09-30 | 2021-09-17 | 华为技术有限公司 | 一种确定路由泄露的方法、设备和系统 |
CN111200549B (zh) * | 2018-11-16 | 2021-04-20 | 华为技术有限公司 | 一种获取路由信息的方法及装置 |
JP7081521B2 (ja) * | 2019-02-06 | 2022-06-07 | 日本電信電話株式会社 | 通信システムおよび通信方法 |
US11288088B2 (en) | 2019-02-22 | 2022-03-29 | Vmware, Inc. | Service control plane messaging in service data plane |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
US11792112B2 (en) | 2020-04-06 | 2023-10-17 | Vmware, Inc. | Using service planes to perform services at the edge of a network |
WO2021211949A1 (en) * | 2020-04-16 | 2021-10-21 | Juniper Networks, Inc. | Tenant-based mapping for virtual routing and forwarding |
CN114363183A (zh) * | 2020-09-30 | 2022-04-15 | 中兴通讯股份有限公司 | 一种业务链地址池切片处理方法、装置及系统 |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US20220247663A1 (en) * | 2021-02-04 | 2022-08-04 | Nokia Solutions And Networks Oy | Service differentiation based on constrained network topology slicing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414753A (zh) * | 2002-08-05 | 2003-04-30 | 华为技术有限公司 | 基于多协议标签交换虚拟私有网络网关的组网方法 |
JP2007067505A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | エッジノードおよびコアノード |
CN102195855A (zh) * | 2010-03-17 | 2011-09-21 | 华为技术有限公司 | 一种业务路由方法和业务网络 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020150094A1 (en) * | 2000-10-27 | 2002-10-17 | Matthew Cheng | Hierarchical level-based internet protocol multicasting |
US20030128668A1 (en) * | 2002-01-04 | 2003-07-10 | Yavatkar Rajendra S. | Distributed implementation of control protocols in routers and switches |
US7245640B2 (en) * | 2002-12-18 | 2007-07-17 | Intel Corporation | Packet origination |
US9137033B2 (en) * | 2003-03-18 | 2015-09-15 | Dynamic Network Services, Inc. | Methods and systems for monitoring network routing |
US20050289244A1 (en) * | 2004-06-28 | 2005-12-29 | Himansu Sahu | Method for service chaining in a communication network |
US7657940B2 (en) | 2004-10-28 | 2010-02-02 | Cisco Technology, Inc. | System for SSL re-encryption after load balance |
US20060095960A1 (en) | 2004-10-28 | 2006-05-04 | Cisco Technology, Inc. | Data center topology with transparent layer 4 and layer 7 services |
US20060092950A1 (en) | 2004-10-28 | 2006-05-04 | Cisco Technology, Inc. | Architecture and method having redundancy in active/active stateful devices based on symmetric global load balancing protocol (sGLBP) |
US7558261B2 (en) | 2004-10-28 | 2009-07-07 | Cisco Technology, Inc. | Architecture and method for accessing services in a data center |
US7643468B1 (en) | 2004-10-28 | 2010-01-05 | Cisco Technology, Inc. | Data-center network architecture |
US7610375B2 (en) | 2004-10-28 | 2009-10-27 | Cisco Technology, Inc. | Intrusion detection in a data center environment |
US7571470B2 (en) | 2004-10-28 | 2009-08-04 | Cisco Technology, Inc. | One arm data center topology with layer 4 and layer 7 services |
US7616574B2 (en) * | 2005-03-15 | 2009-11-10 | Cisco Technology, Inc. | Dynamic retrieval of routing information for inter-AS TE-LSPs |
US20060291446A1 (en) * | 2005-06-24 | 2006-12-28 | Donald Caldwell | Systems, methods, and devices for managing routing |
US7554996B2 (en) * | 2005-09-14 | 2009-06-30 | Cisco Technology, Inc. | Controlled distribution of inter-area routing information |
US9015299B1 (en) * | 2006-01-20 | 2015-04-21 | Cisco Technology, Inc. | Link grouping for route optimization |
US8311045B2 (en) | 2006-04-07 | 2012-11-13 | Cisco Technology, Inc. | System and method for selectively applying a service to a network packet using a preexisting packet header |
US9253274B2 (en) | 2007-01-19 | 2016-02-02 | Cisco Technology, Inc. | Service insertion architecture |
US9432213B2 (en) * | 2007-12-31 | 2016-08-30 | Rpx Clearinghouse Llc | IP forwarding across a link state protocol controlled ethernet network |
FR2934450A1 (fr) * | 2008-07-23 | 2010-01-29 | France Telecom | Distribution de routes dans un reseau de routeurs. |
US7916729B2 (en) * | 2008-09-30 | 2011-03-29 | Cisco Technology, Inc. | Automatic RD rewrite technique to achieve fast convergence in inter-as networks |
US8442043B2 (en) | 2008-12-29 | 2013-05-14 | Cisco Technology, Inc. | Service selection mechanism in service insertion architecture data plane |
EP2249525B1 (en) * | 2009-05-06 | 2012-10-31 | Alcatel Lucent | Traffic-engineered connection establishment across resource domains for data transport |
US20120224536A1 (en) * | 2009-11-10 | 2012-09-06 | Nokia Siemens Networks Oy | Network device in a communication network and method for providing communications traffic breakout |
EP2537299B1 (fr) * | 2010-02-16 | 2022-03-23 | Transpacific IP Group Limited | Gestion de reseaux prives virtuels |
US8504718B2 (en) * | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
CN102143199A (zh) * | 2010-10-19 | 2011-08-03 | 华为技术有限公司 | 获取内容的方法、节点及内容网络 |
US8700801B2 (en) * | 2010-12-01 | 2014-04-15 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol maps |
US8806032B2 (en) * | 2010-12-15 | 2014-08-12 | At&T Intellectual Property I, L.P. | Methods and apparatus to migrate border gateway protocol sessions between routers |
US8954491B1 (en) * | 2010-12-30 | 2015-02-10 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol endpoint attributes |
US8559414B2 (en) * | 2011-02-19 | 2013-10-15 | Cisco Technology, Inc. | Automatically detecting best paths from shadow route reflectors |
US8824471B2 (en) * | 2011-06-01 | 2014-09-02 | Cisco Technology, Inc. | Maintained message delivery during routing domain migration |
US20130028140A1 (en) * | 2011-07-28 | 2013-01-31 | Cisco Technology, Inc. | Using service discovery to build routing topologies |
US9491686B2 (en) * | 2011-07-28 | 2016-11-08 | Pulse Secure, Llc | Virtual private networking with mobile communication continuity |
US20140376371A1 (en) * | 2012-01-02 | 2014-12-25 | Nokia Solutions And Networks Oy | Method and Device for Conveying Data Across at Least Two Domains |
US9106555B2 (en) * | 2012-01-25 | 2015-08-11 | Cisco Technology, Inc. | Troubleshooting routing topology based on a reference topology |
US8891450B2 (en) * | 2012-02-06 | 2014-11-18 | Juniper Networks, Inc. | Mobile node host route installation and withdrawal |
US20130219046A1 (en) * | 2012-02-21 | 2013-08-22 | Cisco Technology, Inc. | Dynamic application-aware routing topologies |
US10097452B2 (en) * | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
US9210180B2 (en) * | 2012-04-18 | 2015-12-08 | Radware Ltd. | Techniques for separating the processing of clients' traffic to different zones in software defined networks |
US9660905B2 (en) * | 2013-04-12 | 2017-05-23 | Futurewei Technologies, Inc. | Service chain policy for distributed gateways in virtual overlay networks |
-
2013
- 2013-05-21 US US13/898,932 patent/US9826025B2/en active Active
-
2014
- 2014-05-06 CN CN201480029433.8A patent/CN105247822B/zh not_active Expired - Fee Related
- 2014-05-06 EP EP14728777.5A patent/EP3000206B1/en not_active Not-in-force
- 2014-05-06 WO PCT/US2014/036907 patent/WO2014189670A1/en active Application Filing
-
2017
- 2017-09-21 US US15/711,235 patent/US10270843B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414753A (zh) * | 2002-08-05 | 2003-04-30 | 华为技术有限公司 | 基于多协议标签交换虚拟私有网络网关的组网方法 |
JP2007067505A (ja) * | 2005-08-29 | 2007-03-15 | Nippon Telegr & Teleph Corp <Ntt> | エッジノードおよびコアノード |
CN102195855A (zh) * | 2010-03-17 | 2011-09-21 | 华为技术有限公司 | 一种业务路由方法和业务网络 |
Non-Patent Citations (1)
Title |
---|
Virtual Topologies for Service Chaining in BGP IP VPNs;R. Fernando, etc.;《draft-rfernando-l3vpn-service-chaining-01.txt》;20130226;第1至6章节、图1 * |
Also Published As
Publication number | Publication date |
---|---|
EP3000206A1 (en) | 2016-03-30 |
EP3000206B1 (en) | 2018-07-11 |
US20140351452A1 (en) | 2014-11-27 |
US9826025B2 (en) | 2017-11-21 |
WO2014189670A1 (en) | 2014-11-27 |
CN105247822A (zh) | 2016-01-13 |
US10270843B2 (en) | 2019-04-23 |
US20180013821A1 (en) | 2018-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105247822B (zh) | 一种用于建立网络服务链的方法、装置及计算机可读存储介质 | |
EP3824602B1 (en) | Multi-cloud connectivity using srv6 and bgp | |
US10700891B2 (en) | Method for implementing service chain, device, and system | |
US9853898B1 (en) | Dynamic service chain provisioning | |
US9634936B2 (en) | Service chaining across multiple networks | |
KR101473783B1 (ko) | 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치 | |
US10298712B2 (en) | Proxy interception | |
EP3624429B1 (en) | Reducing arp/nd flooding in cloud environment | |
US20150043348A1 (en) | Traffic Flow Redirection between Border Routers using Routing Encapsulation | |
US20150363423A1 (en) | Method and system for parallel data replication in a distributed file system | |
CN113261242A (zh) | 使用可编程交换机进行覆盖网络路由 | |
EP3151477B1 (en) | Fast path content delivery over metro access networks | |
WO2016108140A1 (en) | Ccn fragmentation gateway | |
WO2016174598A1 (en) | Sdn network element affinity based data partition and flexible migration schemes | |
WO2018077304A1 (zh) | 业务信息处理方法、装置及系统 | |
CN110519163A (zh) | 检测环网络中点对多点标签交换路径的出口 | |
EP3151478B1 (en) | Content caching in metro access networks | |
CN105323169A (zh) | 多协议标签切换环 | |
EP3996350A1 (en) | Backup service function notification and synchronization |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180918 |
|
CF01 | Termination of patent right due to non-payment of annual fee |