CN105591978B - 基于网络的服务功能链接 - Google Patents

基于网络的服务功能链接 Download PDF

Info

Publication number
CN105591978B
CN105591978B CN201510770239.1A CN201510770239A CN105591978B CN 105591978 B CN105591978 B CN 105591978B CN 201510770239 A CN201510770239 A CN 201510770239A CN 105591978 B CN105591978 B CN 105591978B
Authority
CN
China
Prior art keywords
network
service
data packet
service function
chaining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510770239.1A
Other languages
English (en)
Other versions
CN105591978A (zh
Inventor
哈米德·阿萨尔普尔
尼古拉斯·伊亚迪斯
阿里尔·亨德尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies General IP Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avago Technologies General IP Singapore Pte Ltd filed Critical Avago Technologies General IP Singapore Pte Ltd
Publication of CN105591978A publication Critical patent/CN105591978A/zh
Application granted granted Critical
Publication of CN105591978B publication Critical patent/CN105591978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

本申请涉及基于网络的服务功能链接。服务感知网络设备协作虚拟功能的功能链。网络设备感知存在哪些虚拟功能并且感知如何以最有效的方式将虚拟功能互连并且定义和处理可被保持、监测以及重定向的服务图。与承载虚拟功能的虚拟服务器相反,网络设备自身实现并且管理服务图。

Description

基于网络的服务功能链接
优先权要求
本申请要求于2015年3月15日提交的临时申请序列号62/162,070和于2014年11月11日提交的临时申请序列号62/078,196的优先权,其通过引用全部结合于此。
技术领域
本公开涉及网络功能虚拟化。
背景技术
处理系统可用的处理功率、存储器容量、可用磁盘空间以及其他资源呈指数式增加。计算资源发展到这样一个点,即,单个物理服务器可承载(host)虚拟机和虚拟化功能的许多实例。通常,每个虚拟机均提供虚拟化的处理器、存储器、储存器、网络连接以及其他资源。同时,高速数据网络发展并且成熟并且现在构成成为不可缺少的广域连接的骨干链路的一部分,其中包括与虚拟机主机的连接。虚拟化的改进将驱动虚拟化功能的进一步发展和部署。
发明内容
本申请提供了一种网络交换机,包括:
所述网络交换机的网络流接口,所述网络流接口被配置为接收包括数据包的网络流;
存储器,被配置为储存网络服务链定义,所述网络服务链定义包括在与所述网络交换机分离的服务器资源上提供的服务功能的服务功能区分符;以及
服务链处理线路,与所述网络流接口和所述存储器通信,所述服务链处理线路被配置为:
确定所述网络服务链定义适用于所述网络流;
确定所述数据包接下来应该由所述服务功能处理;
更新服务功能索引,以通过所述网络服务链定义跟踪所述数据包的进度;
对所述数据包加签用于所述服务功能的网络地址;以及
将出自所述网络交换机的所述数据包转发至所述服务器资源上的所述服务功能。
其中,所述服务链处理线路进一步被配置为:
获得关于所述数据包的流分类;以及
将所述流分类映射至所述网络服务链定义,以确定所述网络服务链定义适用于所述网络流。
其中,所述流分类包括应用标识符、用户标识符、或应用标识符和用户标识符两者。
其中,所述网络服务链定义指定用于执行所述网络服务链定义内的所述服务功能的顺序;以及
所述服务链处理线路被进一步配置为:
读取所述数据包的数据包报头,以确定当前索引值;以及
将所述当前索引值与所述网络服务链定义匹配,以确定所述数据包接下来应该由所述服务功能处理。
其中,所述服务链处理线路被进一步配置为更新服务功能索引,以说明将所述数据包转发至所述服务功能用于处理。
其中,所述服务链处理线路被进一步配置为从所述服务器资源接收经由所述服务功能处理之后的所述数据包;以及基于所述服务功能索引确定所述网络服务链定义内的后续目的地。
其中,所述服务链处理线路被进一步配置为:
再次更新所述数据包的所述服务功能索引,以通过所述网络服务链定义跟踪所述数据包的进度;以及
将出自所述网络交换机的所述数据包转发至所述后续目的地。
其中,所述后续目的地是不同服务器资源上提供的不同服务功能。
其中,所述不同的服务器资源连接至分离的网络交换机。
本申请还提供了一种网络交换方法,包括:
在与主机服务器互连的网络交换机中,所述主机服务器中提供了第一服务功能和第二服务功能;
在存储器中定义指定一系列服务功能的网络服务链定义,所述一系列服务功能包括:
所述第一服务功能;和
所述第二服务功能;
其中,所述网络服务链定义包括:
所述第一服务功能的第一服务功能索引;和
所述第二服务功能的第二服务功能索引;
其中,所述第一服务功能索引和所述第二服务功能索引将所述所述第一服务功能排序在第二服务功能之前;
接收作为网络流的一部分的数据包;
接收所述数据包的分类信息;
基于所述分类信息确定所述网络服务链适用于所述网络流;
确定所述第一服务功能应该接下来处理所述数据包;以及
将所述数据包转发至所述第一服务功能。
该方法进一步包括:在收到所述数据包之后,确定所述数据包的服务链标识符和服务功能索引,并且确定所述网络服务链适用于所述网络流。
其中:所述服务链标识符识别所述网络服务链定义;以及
所述服务功能索引识别所述第一服务功能。
该方法进一步包括:将服务功能链报头添加到所述数据包中,所述服务功能链报头包括所述服务功能索引和所述服务链标识符。
该方法进一步包括:调整所述服务功能索引,以在将所述数据包转发至所述第一服务功能之前,指向所述第二服务功能。
该方法进一步包括:将所述服务链标识符和所述服务功能索引映射至用于所述第一服务功能的网络地址。
该方法进一步包括:其中,所述网络地址包括虚拟交换机地址、服务功能网络地址、或虚拟交换机地址和服务功能网络地址两者。
该方法进一步包括:在转发之前,将数据中心路由报头添加到所述数据包中,所述数据中心路由报头包括:
虚拟交换机的虚拟交换机地址,所述虚拟交换机用作所述第一服务功能的主机服务器;和
第二服务网络地址,所述第二服务网络地址用于所述主机服务器上的所述第一服务功能。
本申请还提供了一种网络交换机,包括:
数据包接口,被配置为将数据包接收到所述网络交换机中,并且将数据包通信至所述网络交换机之外;
存储器,被配置为储存:
网络服务链定义,包括:
第一网络服务链定义,指定构成第一数据包处理链的第一系列的服务功能;和
用于所述第一网络服务链定义的第一服务链标识符;以及
服务链映射表,包括:
从数据包分类至所述存储器中的所述网络服务链定义的分类映射;
与所述数据包接口通信的服务链处理器,所述服务链处理器被配置为:
获得所述数据包的分类信息;
根据所述分类信息和所述服务链映射表确定所述第一网络服务链应处理所述数据包;
在所述第一系列的服务功能之中,确定对所述数据包执行的下一服务功能;
通过更新所述数据包的服务功能报头而经由所述第一网络服务链跟踪所述数据包的进度;
将路由报头添加到所述数据包中,所述路由报头包括:
与用于下一服务功能的主机服务器通信的虚拟交换机的虚拟交换机地址;和
用于所述主机服务器上的所述下一服务功能的服务功能网络地址;以及
将出自所述网络交换机的所述数据包转发至所述主机服务器上的所述下一服务功能。
其中,所述服务功能报头包括:
所述第一服务链标识符;和
所述第一网络服务链中的服务功能索引。
其中,所述网络交换机被配置为:
在所述网络交换机处接收回由所述下一服务功能处理之后的所述数据包;并且其中:
所述服务链处理器被配置为:
通过将所述第一网络服务链中的所述服务功能指标索引改变为指向后续服务功能而跟踪进度,所述后续服务功能随所述数据包的所述下一服务功能之后;并且
将通过所述下一服务功能处理之后接收到的所述数据包转发至所述第一网络服务链中的所述后续服务功能。
附图说明
图1示出了包括通过网络设备连接的虚拟机主机的网络的实例。
图2示出了被配置为执行虚拟机和虚拟功能(virtual function)的虚拟机主机。
图3示出了用于服务功能链接(service function chaining)的示例性网络。
图4示出了架顶(top-of-rack)交换机的实施例。
图5示出了用于基于网络的服务功能链接的叠加隧道拓扑(overlay tunneltopology)。
图6示出了机架内的服务功能链中的转发。
图7示出了通过机架上的架顶交换机扩展的服务功能链中的转发。
图8示出了示例性的服务功能链。
图9示出了通过机架上的架顶交换机扩展的服务功能链中的转发的另一实例。
图10示出了通过机架上的架顶交换机扩展的服务功能链中的转发的另一实例。
图11示出了机架内的服务功能链中的转发的另一实例。
图12示出了通过执行基于网络的服务功能链接的网络节点可实现的逻辑的实施例。
具体实施方式
介绍
图1和图2提供了进一步讨论基于网络的服务功能链接的上下文,下面以图3开始更为详细地描述基于网络的服务功能链接。在表1中总结了下面使用的一些SFC缩写:
图1示出了示例性网络100。在网络100中,网络装置通过任意数目和类型的网络(例如,以太网/TCP/IP网络108)将数据包(packet)(例如,数据包102)从源(例如,源104)路由至目的地(例如,目的地106)。网络装置可表现为多种不同形式并且可以任意数目提供。例如,网络108可跨越多个路由器和交换机。网络装置的实例包括交换机、网桥、路由器以及网络集线器(hub);然而,其他类型的网络装置也可通过网络100提供。
网络100并不局限于任意具体的实现方式或地理范围。仅举几个例子,网络100可代表私有公司范围内网、用于电缆或卫星电视、因特网访问、以及音频与视频流的广域分布网络、或更小的互连网络的全局网络(例如,因特网)。在该方面,数据中心110可代表具有伴随网络交换机和路由器连接152的高度集中服务器安装150。数据中心110可支持极高容量的电子商务服务、搜索引擎、云储存和云服务、流视频或音频服务或任何其他类型的功能。
在图1的实施例中,网络100包括电缆或卫星电视服务、电话服务、以及因特网服务的运行商和供应商。在该方面,例如,图1示出了网络100可包括任意数目的电缆调制解调器终端系统(CMTS)112。CMTS 112可将服务提供给任意数目的网关,例如,网关114、116、118。网关可代表电缆调制解调器、组合的电缆调制解调器和无线路由器、或进入诸如家庭、办公室、学校以及政府大楼的各个位置121中任一个的其他类型的进入点系统。网络100可包括其他类型的终端系统和网关。例如,网络100可包括用作进入家庭、办公室、或其他位置的进入点的数字用户线路(DSL)终端系统和DSL调制解调器。
在任意给定位置,网关可连接至任意数目和任意类型的节点。在图1的实例中,节点包括机顶盒(STB),例如,STB 120、122、124。节点的其他实例包括网络连接智能TV 126、音频/视频接收器128、数字视频记录器(DVR)130、流媒体播放器132、游戏系统134、计算机系统136以及物理媒体(例如,BluRay)播放器。节点可代表任意类型的用户端设备(CPE)。
图2示出了被配置为执行虚拟交换机、虚拟机、以及虚拟功能的虚拟机主机200(“主机”)。网络100中的任意设备均可以是主机,其中包括节点、网关、CMTS、交换机、服务器、源以及目的地。主机提供这样一种环境,即,其中,任意选择的功能可运行、通过网络100可到达、并且可构成功能链的全部或一部分,以实现任意限定的处理或内容交付任务。在某种意义上,功能可以是虚拟的,例如,作为在主机上运行的软件实例,虚拟功能实现之前利用用硬件执行的功能。
在图2中,主机200包括一个或多个通信接口202、系统线路204、输入/输出接口206以及显示器208,主机200在显示器208上可生成用户界面209。通信接口202可包括发送器和接收器(“收发器”)238和收发器238使用的任意天线240。收发器238可为任意宽范围内的通信协议242提供物理层接口,诸如,任意类型的以太网、有线电缆数据服务接口规范(DOCSIS)、数字用户线路(DSL)、同轴电缆多媒体联盟(MoCA)、或其他协议。当通信接口202支持蜂窝连接时,主机200还可包括SIM卡接口210和SIM卡212。主机200还包括储存设备,诸如,硬盘驱动214(HDD)和固态硬盘驱动216、218(SDD)。
用户界面209和输入/输出接口206可包括图形用户界面(GUI)、触摸显示器、语音或面部识别输入、按钮、交换机、扬声器以及其他用户接口元件。输入/输出接口206的额外实施例包括麦克风、视频和静态图像摄像机、耳机和麦克风输入/输出塞孔、通用串行总线(USB)连接器、存储卡插槽以及其他类型的输入。输入/输出接口206可进一步包括磁或光介质接口(例如,CDROM或DVD驱动)、串行和并行总线接口、以及键盘和鼠标接口。
系统线路204可包括硬件、软件、固件或其他逻辑的任意组合。例如,使用一个或多个片上系统(SoC)、专用集成电路(ASIC)、离散模拟和数字电路以及其他线路可以实现系统线路204。系统线路204是实现主机200中的任意希望功能的一部分。在该方面,仅举几个例子,系统线路204可包括便于运行虚拟机、交换机以及功能、在虚拟机与网络100之间路由数据包、并且在虚拟机之间交换数据包的线路。
仅举一个例子,系统线路204可包括一个或多个处理器220和存储器222。例如,存储器222和储存设备214、216存储控制指令224和操作系统226。处理器220执行控制指令224和操作系统226,以完成主机200的任意希望功能。控制参数228为主机200的控制指令224、操作系统226、以及其他功能提供并且指定配置和操作选项。
在一些实现方式中,控制指令224包括管理程序(hypervisor)230。管理程序230提供执行一个或多个虚拟机(VM)、虚拟交换机(VS)232、虚拟防火墙、虚拟操作系统、虚拟网络接口卡(NIC)或任意其他希望的虚拟化部件的监管软件环境。在其他实现方式中,主机200是裸金属虚拟化主机。即,主机200不需要执行独立操作系统226,管理程序230在独立操作系统226的顶端运行。相反,管理程序230可与主机200中的物理硬件资源直接通信并且直接控制主机200中的物理硬件资源,而不通过独立操作系统进行监管或干涉。
主机200可执行任意数目的VM 234。每个VM均可执行任意数目或类型的虚拟功能(VF)236。VF可以是实现任意希望的功能、范围(例如,从高度专业化的网络功能至通用处理功能)的软件。
仅举服务功能的几个例子,VF 236可实现网络防火墙、消息垃圾邮件过滤器、以及网络地址转译器。作为处理功能的其他实例,VF 236可实现音频与视频编码器和转码器、数字权限管理(DRM)处理、数据库查询、电子商务事务处理(例如,计费与付费)、网站代管、内容管理、背景驱动广告、以及诸如高带宽数字内容保护(HDCP)和数字传输内容保护(DTCP-IP)处理等的安全处理。VF 236的额外实例包括音频、视频以及图像压缩和解压,诸如,H.264、MPG以及MP4压缩和解压;音频和视频预处理和后处理;服务器功能,诸如,视频点播服务器、DVR服务器等;过顶(OTT)服务器;安全秘钥储存、生成以及应用;2D和3D图形渲染。
基于网络的服务链接
基于网络的服务功能链接(SFC)包括服务感知网络。在网络自身中,诸如架顶(ToR)交换机等网络设备获知存在哪些服务功能(SF)(例如,VF 236)、哪些主机执行服务功能、主机与网络服务之间的连接路径、以及如何以有效的方式互连服务功能,以形成处理的端到端服务链(SC)。服务功能可以是在VM上运行的虚拟功能(VF)、可以是在虚拟化环境外部的物理服务器上运行的任意种类的非虚拟化功能或可以是在连接至网络的设备中另行提供。
网络设备(例如,ToR交换机)监测、创建、并且保持SC的定义,SC定义了任意希望数据包处理的服务功能的序列。网络服务沿着任意给定的SC确定数据包的下一跳并且通过SC跟踪进度。一种结果是主机200、VF 236、以及虚拟交换机234不需要保持任意服务链接转发状态信息。相反地,主机200根据与任意给定SC相关联的寄主(hosted)SF本地处理数据包并且在处理之后将这些数据包返回至网络设备。网络设备确定下一SF和下一SF的位置。然后,网络设备通过SC将数据包转发至用于继续处理的适当目的地。
具体地,网络SFC能力允许网络在一个或多个服务功能之间创建逻辑连接,以提供独立于基层物理网络拓扑的系列服务功能。作为SFC的一部分,该架构可实现包括SFC分类器(SCC)和服务功能转发器(SFF)的若干功能部件。例如,SCC响应关于用户的规定策略、流量类型、服务质量水平、时间和数据、源或其他映射标准可将订户或用户数据包流或子流映射至具体的SC。
在针对数据包流确定的SC的上下文中,SFF将数据包从一个SF转发至下一个。应注意,并非在服务器节点(或其他端点设备)中实现SCC和SFF功能,下面描述的架构可在网络设备自身中实现这些功能。在其他实现方式中,通过节点而非执行SFC的网络设备确定SFC分类信息,并且这些节点将分类信息提供给执行SFC的网络设备。
如另一种方式表达的,该架构可利用网络交换机的硬件处理能力实现SFC。作为一个具体实例,架构可在ToR交换机中实现SFC。在一些情况中,网络交换机是数据中心的一部分并且可与数据中心或其他地方中的其他网络交换机共担SFC责任。即,SFC可以分布在多个网络设备之间,每个网络设备负责SC的一部分。
图3示出了用于SFC的示例性网络300。SFC是基于网络的使用SFC功能的TOR交换机302、304、以及306。ToR交换机可包括执行下面进一步描述的SFC处理的可扩展SFC处理器。在一种实现方式中,仅ToR交换机保存用于实现SFC的SF可达性表和其他状态信息。即,服务器308、310以及312不需要保存支持SFC的可达性表或其他状态信息。
因此,一个技术优点在于几乎不存在用于提供SC定义和管理的触摸点。该架构通过端到端可见性的增强操作与管理(OAM)模式提供了服务水平协议(SLA)实施的更好的模式。此外,该架构提供了更高的性能,从而允许更有效并且高效地使用设备节点。该架构也适用于任意尺寸(从小至非常大)的部署。
图4示出了网络设备、架顶交换机400的两个示例性实现方式。通过逻辑方式、物理方式、或逻辑元件与物理元件的组合可以实现图4中所示的交换机400的各个部件。交换机400A示出了多个设备实现方式,而交换机400B示出了单个设备实现方式。交换机400包括服务链处理器(SCP)402和基层交换机(underlay switch)404。基层交换机404可实现多种不同的功能。作为两个实例,基层交换机404可实现数据中心隧道端点(XTEP)406并且可包括虚拟交换机(VS)408。作为一个具体实例,三叉戟(Trident)系列以太网交换机ASIC可实现基层交换机404。作为另一实例,Caladan 3网络处理单元(NPU)可实现SCP 402。当将SCP402和基层交换机404集成到单一设备中时,Qumran和Jericho交换机AISC可实现功能的组合集。这些NPU和ASIC以及其他实现选项与可扩散的性能功能不同并且从Broadcom ofIrvine,CA可获得这些NPU和ASIC、以及其他实现选择。
如上所述,图4中示出的功能块可实现为分离的设备或可以存在于一个或多个设备的不同组合中。在一些实现方式中,例如,将SCP 402和基层交换机404集成到单一设备中,而在其他实现方式中,SCP 402和基层交换机404则在分离的设备中实现。仅举一个例子,当被集成时,功能块可被分布为形成挠性数据包处理管线。例如,在Qumran或Jericho切换设备中可以实现集成实现方式。如另一种方式表达的,可将SCP 402通过独立NPU(例如,如图4中的实现方式400A所示)的形式加成到交换机架构中,或者例如将SCP 402、基层交换机404以及任意其他功能块作为处理管线(例如,如图4中的实现方式400B所示)的一部分集成到单一设备中。
在该实例中,交换机400中的SCP 402实现了SCC 410。SCC 410可基于任意组合将传入的数据包流映射至具体的SC,例如,基于用户、源应用、目的地应用、QoS、时间/日期或其他参数的任意组合。在一些实现方式中,SCC 410通过将{应用ID,订户ID/类}从接收数据包映射至{服务链ID,服务功能索引}执行分类。通过搜索服务链映射表(SCMT)448可以执行映射,服务链映射表(SCMT)448将从数据包分类映射至网络服务链定义的分类储存在存储器440中。
例如,SCC 410还可将遵循映射的数据包流中的每个数据包添加到包含{服务链ID,服务功能索引}的分类报头中。服务链ID(SCID)识别存储器440中的具体SC定义,并且服务功能索引(SFI)指向对接收数据包执行的下一SF。在数据包流中接收的初始数据包可被加签有指向在SC中执行的第一SF的SFI,SCC 410将数据包流映射至第一SF。存储器440可储存任意数目的SC定义。图4将三个定义加签为SC定义1 442、SC定义2 444、以及SC定义′n′446,每个均具有唯一的SCID。
在图4的实施例中,SCP 402还实现了SFF 412。如下面更为详细描述的,SFF 412可在给定的SC中将来自一个SF的数据包转发至下一个。在一种实现方式中,SFF 412将数据包分类报头中存在的{服务链ID,服务功能索引}映射至{VS网络地址,SF网络地址}。SFF还使SFI递减并且更新储存SFI的数据包的SFC报头,以通过映射SC中的SF跟踪并且保持数据包的进度。
SCP 402可进一步实现服务隧道端点(STEP)414。STEP 414可支持关于SF连接的服务叠加网络。STEP 414还可添加、删除以及更新遵循SC的数据包的服务叠加隧道报头。例如,服务叠加隧道报头将第一SCP连接至另一SCP或VS。
SCP 402还可实现数据中心隧道端点(XTEP)416。XTEP 416支持关于VS连接的数据中心叠加网络。具体地,XTEP 416可添加、删除以及更新遵循SC的数据包的服务叠加隧道报头。服务叠加隧道报头可将SCP连接至主机中的SF,例如,直接附接至当前处理数据包的ToR交换机。
应注意,基层交换机404可使用数据包的外部报头实现Layer 2和Layer 3转发。数据包可来自于SCP 402与数据包接口418和420的任意组合。例如,接口418可以是相同数据中心或其他地方中的其他ToR交换机的上行链路接口。例如,接口420可以是与交换机400相同的机架中服务器的服务器节点接口。任意组合的物理和逻辑接口422连接SCP 402和基层交换机404。
架构100中的一些技术优点包括不需要产生保持SFC转发状态的开销的服务器节点。此外,使用数据中心叠加隧道可将构成网络架构的ToR交换机(可包括位于不同的服务器机架中的ToR交换机)全部或局部地编织在一起,作为实例,诸如,虚拟可扩展的局域网(VXLAN)、使用通用路由封装(NVGRE)的网络虚拟化、通用网络虚拟化封装(Geneve)、最短路径分支(Shortest Path Breaching)(SPB)。每个ToR中的隧道端点均可以是SCP。进一步地,在一些实现方式中,隧道提供是静态的。即,隧道提供可以是一次性配置,然后,诸如,当物理拓扑改变时,进行选择性修改。
进一步的技术优点包括:机架中的每个ToR均可以逻辑地连接至每个服务器节点,在于机架使用至少一个数据中心叠加隧道,诸如,VXLAN、NVGRE、Geneve、SPB隧道等。ToR中的隧道端点是SCP,并且在服务器中,端点可以是虚拟交换机(VS)。如果每个服务器存在多个VS,则每个VS均可以通过单独的数据中心叠加隧道连接至ToR中的SCP。再次,隧道提供可以是静态的,在于隧道提供可以一次性配置,然后,例如,当物理拓扑改变时,进行选择性修改。
额外的技术优点包括机架中的每个ToR均可以逻辑连接至每个VM,即,用于SF的容器,在于,机架使用服务叠加隧道。ToR中的服务隧道端点是SCP,并且在服务器模式中,服务隧道端点是VM。在虚拟交换机、VM客户操作系统(OS)或网络功能自身中可以实现关于服务器节点中的每个VM的服务隧道端点处理。
图5示出了基于网络SFC的示例性叠加隧道拓扑500。例如,每个ToR SCP 502、504以及506均可保持本地机架508、510、512中分别与其直接附接的SF的可达性或转发状态。如果服务中的下一SF位于另一机架中,源ToR SCP则通过例如将数据包发送至另一机架中的目标ToR SCP而将数据包转发至另一机架的目标ToR SCP。然后,目标ToR SCP例如通过将数据包发送至与在连接至目标ToR的主机中运行的VM通信的VS而将数据包转发至目的地SF。基层核心交换机(UCS)514代表每个ToR交换机中的基层交换机,并且可通过任意种类的物理或逻辑网络拓扑连接ToR SCP 502、504、以及506。
图6示出了实例SC 650中的转发600,实例SC 650在通过网络交换机658连接并且服务的服务器652、654、以及656的机架内。图6示出了服务链650的起始602和服务叠加隧道初始点。图6还示出了服务链650的端604和服务叠加隧道终止点。服务链650在同一服务器机架内开始和结束,且服务器652、654、以及656上设置的VF连接至网络交换机658。
应注意,在该实例中,SF和VS都不保持任意的SFC转发状态信息。VS将与SC相关联的数据包返回至局域网交换机658,该SC如通过数据包中或根据VLAN、隧道或与数据包相关联的其他网络标识符的任意识别信息确定。在一种实现方式中,通过交换数据包的两个数据中心和服务叠加隧道报头中的源(SRC)和目的地(DST),VS返回数据包。因为VS中不保持任何状态,所以执行交换,从而将数据包返回至ToR,以进用于进一步处理。在该方面,通过指定VS执行交换的地址(例如,ToR交换机地址)的流表可以预先提供VS。
图6还示出了示例性的数据包660。数据包包括数据有效载荷662和SFC报头。例如,SFC报头可包括数据中心叠加隧道报头664,数据中心叠加隧道报头664将数据包指引至与承载下一SF的VM通信的具体VS。SFC报头还可包括指定与VS连接的SF的网络地址的服务叠加隧道报头666。SFF 412可在ToR交换机处创建、添加、更新以及移除作为第一到达的数据包的SFC报头,将数据包发送至序列中的指定SF并且在处理之后从SF返回数据包,并且数据包通过SC完成其处理。
图7示出了基于网络的SFC 700的实例,且SC在跨机架708、710、以及712的多个网络设备702、704以及706上扩展。图7示出了网络设备702中的服务链起始714。服务链起始714可以是服务叠加隧道初始点,例如,在该初始点,网络设备702将数据中心和服务叠加隧道报头插入到数据包上。图7还示出了服务链端716。服务链端716可以是服务叠加隧道终止点,例如,在终止点,网络设备706从数据包移除数据中心和服务隧道报头。
当在两个网络设备之间转发遵循SC的数据包时,例如,从网络设备702转发至网络设备704,发送网络设备702不需要修改数据包中的服务叠加隧道标识符。更确切地,接收网络设备可在将数据包发送给其本地SF之前更新服务叠加隧道报头。
应再次注意,在该实施例中,SF和VS不包含任意SFC转发状态信息。VS将与SC相关联的数据包返回给其本地网络设备,该SC如通过数据包中或根据VLAN、隧道或与数据包相关联的其他网络标识符的任意识别信息确定。例如,通过交换两个数据中心和服务叠加隧道报头中的SRC和DST,VS可返回数据包。
图7示出了用于处理分布在ToR交换机上的SC的ToR交换机至ToR交换机流量。每个ToR交换机中的SCP功能均对数据中心和服务叠加隧道报头进行更新,从而沿着SC将数据包指引至下一跳。每个ToR交换机中的SCP功能仅需要处理包括与该ToR交换机直接连接的VS、VM以及SF的SC的部分。每个ToR交换机中的SCP功能均可对服务链报头(例如,可包括服务功能索引和服务链标识符)执行查询,以确定ToR交换机是否复杂SC的任意一部分。即,例如,每个ToR交换机均可对{SCID,SFI}执行服务功能转发查询并且响应性地更新数据中心和服务叠加隧道报头。在ToR交换机之间行进的数据包的服务叠加隧道报头仅可以是占位符数据并且可通过SF的网络地址数据被处理SC的下一部分的下一ToR交换机替换。
图8示出了示例性的服务功能链(SC)800。SC可被实现为预定序列的SF。该序列的SF可通过实现SC的网络设备交付关于数据包流的预定数据平面服务。如上所述,独立网络设备可限定、储存以及管理SC。每个SC均可具有作为网络内的唯一ID的SCID,并且SCID指定SC作为SF的具体链。网络设备可将服务功能索引(SFI)保存为指定SC内的SF的索引。
SCC通过将数据包加签有报头信息而将数据包流映射至SCID,例如,将{应用ID,订户ID/类}从接收的数据包映射至{服务链ID,服务功能索引}。在网络中的任何位置均可以实现SCC。在入口,SCC对映射至特定SC(或不映射至SC)的流量执行识别和分类。例如,基于来自根据网络的IP地址的另一网络的全部流量,基于网络的片段(例如,通过端口或子网),基于流量的用户或所有人,或基于生成数据包的应用(仅举几个例子,语音IP应用、文件传输应用、虚拟私有网(VPN)应用、生成加密内容的应用、或视频或音频流媒体应用)。在执行映射时,SCC可执行深度包检测(DPI),以确定应处理数据包的指定SC。
SFF将数据包从SC内的一个SF转发至下一个。通过将{SCID,SFI}映射至物理网络地址(例如,{VS网络地址,SF网络地址}),SFF可转发数据包。物理网络地址处的SF执行SC中指定的下一服务功能。在完成SC时,服务链终止(SCT)功能从数据包移除服务链标签/报头,并且数据包通过网络交换机返回至非SC路由。
在图8的实例中,SCC已确定传入的数据包流802遵循SC 800。数据包流802通过SC进行,从而顺次限定了四个SF:SF1,深度包检测;SF2,防火墙;SF3,网络地址转译;以及SF4,广域网优化。在每个SF之前,通过保持SFI(例如,通过使SFI增加或减少)跟踪SC中的哪一SF应接着处理数据包,SFF确定数据包的下一SF。
图9示出了通过SC 902转发900的另一实施例,SC 902通过跨机架904、906以及908的ToR交换机扩展。SC 902包括顺次四个SF:SF1、SF2、SF3以及SF4。在进入SC之前,用户分类符(SUBC)(功能节点A)识别与用户相关联的数据包流并且将流映射至具体的流标识符。SCC(功能节点B)将流标识符(和可选地,诸如数据包来源等额外字符)映射至SC并且将数据包加签有包含SCID的SFC分类报头。
如通过另一种方式表达的,当数据包到达时,网关节点(例如,网关路由器GWR)可对数据包进行检测并且分类。在一些实现方式中,存在两种类型的分类:应用分类和流起源分类。对于应用分类,执行分类的网络节点对数据包进行检查并且确定其内容,例如,视频、HTTP数据或文件传输数据,并且网络节点生成对应的应用标识符。对于流起源分类,执行分类的网络节点可识别数据包的来源。例如,来源IP地址可识别来源。可以使用应用与来源数据的组合作为查找执行分类的网络节点中所提供的测量的查询。该策略可将应用和来源ID(或其他流量特性)映射至SCID。网络节点可实现提供例如添加到数据包的分类报头中的SCID和SFI的服务报头封装。ToR交换机中的SFF响应分类报头,以通过将SCID和SFI映射至物理网络地址而通过SC将数据包路由至SF。
在图9的实施例中,前两个SF设置在服务器机架908的主机中。因此,如图9所示,ToR交换机910执行SFF功能三次,以通过两个SF路由数据包,然后,将数据包路由至下一机架906,其中提供SC中的下一SF。在ToR交换机912中,ToR交换机912执行SFF功能两次,一次将数据包指引至SF 3,并且一次将数据包指引至ToR交换机914,其中,最后的SF(SF 4)承载在服务器机架904中。ToR交换机914执行SFF功能,以将数据包指引至SF4,并且再次将数据包指引回至网络,其中,SCT移除SFC所使用的数据包报头并且将数据包返回至用于通用路由的网络。应注意,在图9中,网格路由器(GWR)执行一些SC处理,其中包括SUBC、SCC、SFF的实例、以及SCT。
图10扩展了图9中的实施例并且示出了通过SC 1002的转发1000的另一实施例,SC1002通过跨机架1004、1006、以及1008的ToR交换机1010、1012、以及1014扩展。应注意,在图10中,用户访问网络中的设备(例如,物理端点(PE))执行SUBC功能。在该实施例中,PE可将MPLS标签中的生成用户标识符通信至GWR中的下列SCC功能。如上参考图9标注的,SCC将用户标识符映射至SC,并且通过SC处理数据包。
图11示出了位于机架1104内的服务功能链1102中的转发1100的另一实例。在该实例中,ToR交换机1106执行SUBC、SCC、SFF以及SCT的功能。当Tor交换机1106将数据包转发至SC中的下一SF时,其跟踪SFI,以确定转发数据包的下一地址,从而从执行SF的主机返回至ToR交换机1106。当指标通过SC跟踪至SC结束时,ToR交换机1106认为数据包已经完成SC并且执行SCT功能,以移除施加在数据包中的服务和数据中心叠加隧道报头,从而协助基于网络的SFC。
在上述所述基于网络的SFC架构中,在网络设备自身(例如,ToR交换机)中保持SFC的转发状态,具体地,将SF的逻辑地址映射至物理网络地址的功能。VS中不需要提供或保持转发状态和映射功能。一种有益结果在于服务链控制器仅需要管理网络设备中的映射表(而非所有端点中的映射表)。在通常情景中,机架中的每个ToR交换机拥有多个服务器(例如,48至1),在管理总支出上明显减少。
基于网络SFC中的VS参与是接收数据包并且将数据包传递至VM中提供的SF。在SF处理之后,VS将数据包返回至起源网络设备,例如,起源ToR交换机。VS不需要将关于下一跳SF的任何信息储存在SC中,更确切地,将处理之后的数据包返回至网络设备,以用于下一跳确定。
作为另一使用情况实施例,假设可包括顺次三个S的SC:DPI、随后防火墙、随后虚拟路由器。ToR交换机将SC分配给SCID作为提供SC的一部分。在一种实现方式中,使用SCID和SFI的字节组逻辑地址解决具体的服务功能。即,每个SF均具有SC内的索引。在该实施例中,对于DPI SF,索引可以索引值3开始,对于防火墙SF,则以索引值2开始,对于路由器SF,则以索引值1开始。
SCP 402(具体地,通过SCP 402实现的SFF 412)将逻辑地址(例如,{SCID 50,SFI3})映射至物理网络地址。在一种实现方式中,物理网络地址包括两部分:叠加端点和VD内的SF的地址,叠加端点是与SF附接的VS的地址。在数据包到达之后,SFF 412执行将SCID和SFI映射至下一SF的查询。SFF 412创建并且添加(或更新)数据包的数据中心叠加隧道报头,从而将数据包指引至与承载下一SF的VM通信的具体VS。SFF 412还创建并且添加(或更新)数据包的服务叠加隧道报头,数据包的服务叠加隧道报头指定了与VS连接的SF的地址。即,作为SFF 412的查询的结果,SFF 412可创建、添加、修改或删除服务隧道报头和数据中心叠加隧道。
SFC通过其映射的SC跟踪数据包的进度,例如,通过减少数据包的SFI。例如,在从DIP SF返回之后,SFC可使SFI从3减少至2并且更新携带SCID和SFI的数据包的报头。在该实例中,完成了对{SCID 50,SFI 2}的下一查询,找出了后续SF(防火墙SF)的网络地址,即,处理SC中的数据包的下一SF。SFC通过这种方式继续,直至SFI变成零。在该点,SFC认识到数据包已经到达SC的末端、移除SFC报头并且通过其正常方式转发数据包(无需SFC处理)。
通过多种不同类型的线路(从高度专业化的数据包处理器至通用中央处理单元)、通过多种不同方式可以实现上述所述SFC处理。在一种实现方式中,通过网络交换机的数据平面实现SFC处理。数据平面可包括与千兆位级交换结构附接的专用网络处理器。
再次参考图5,基于网络的SFC处理由叠加拓扑支持。叠加拓扑实现了与各个网络设备(例如,ToR交换机)中的SCP和服务器机架中的每个VS互连的数据包隧道连接。SCP 412可以是隧道端点。叠加拓扑实现了网络集线器与轮辐连接架构。在该拓扑中,利用叠加隧道将各个网络设备编织在一起,例如,从各个ToR交换机至诸如具体数据中心等限定位置上的每个其他ToR交换机的隧道。
因此,每个网络设备均具有到SF的每个直接附接的主机(和VS)的数据中心隧道连接。在将SCP连接至各个SF和承载SF的VM的数据中心隧道内限定了服务隧道。数据中心隧道支持ToR交换机之间的通信,每个ToR交换机均可处理关于跨任意数目的ToR交换机和服务器机架的SC的任意部分的数据包路由,例如,沿着连接数据中心中的多个服务器机架的数据中心脊带。
数据中心叠加隧道和服务叠加隧道构成了将任意网络设备(例如,任意网络交换机)连接至物理或虚拟的任意SF的两层转发结构。在一种实现方式中,外层解决了具体VS,并且内层解决了由与VS通信的节点承载的具体SF。寻址并不局限于IP或MAC地址,更确切地,可以使用任意寻址类型。叠加拓扑提供了从服务器机架中的每个ToR交换机至每个VS、VM、以及SF的逻辑和物理连接。
图12示出了实现执行基于网络节点的SFC的网络节点的逻辑1200。逻辑1200接收成为网络流的一部分的数据包(1202)。任意逻辑或物理网络节点(例如,SCP 402中的SCC410)可根据例如应用/内容和来源/用户对数据包进行分类(1204)。逻辑1200包括在存储器中限定SC(1206)。例如,SC可通过使用索引值指定SF的序列,即,按照具体的序列订购不同的服务功能。可提供诸如SFF 412等的功能的分类信息,SFF 412确定哪一SC(如有)应用于分类(1208)。该功能可将数据包的数据包报头中加签有适用的{SCID,SFI}(1210)。
SFF 412对SFI进行检验,以确定是否存在处理SC中的数据包的更多SF(1212)。如果不存在,SFF 412则从数据包移除数据中心和服务叠加隧道报头(1214)。然后,由网络设备正常处理数据包。如果存在处理数据包的额外SF,SFF 412则对SFI进行更新(1216)并且确定达到下一SF的网络地址(例如,基于{SCID,SFI})。SFF 412根据需要创建或修改数据包的数据中心和服务叠加隧道报头,从而将数据包指引至下一SF(1218)。
然后,SFF 412将数据包指引至下一SF(1220)。例如,SFF 412可通过基层交换机、通过叠加拓扑将数据包发送至与下一SF通信的VS和VM。
例如,通过交换数据中心和服务叠加隧道报头中的SRC和DST信息,VS将通过SF处理的数据包返回至SFF 412。SFF 412接收从SF和VS返回的处理数据包(1222)并且检验任意后续的SF是否应处理数据包(1212)。
通过多种不同方式并且通过硬件与软件的多种不同组合可以实现上述所述方法、设备、处理、以及逻辑。例如,实现方式的全部或部分可以是包括指令处理器的电路,诸如,中央处理单元(CPU)、微控制器、或微处理器;可以是专用集成电路(ASIC)、可编程逻辑设备(PLD)、或场可编程门阵列(FPGA);或可以是包括离散逻辑或其他电路部件的线路,其中包括模拟电路部件、数字电路部件、或模拟和数字电路部件;或可以是其任意组合。例如,线路可包括离散互连的硬件部件和/或可以在三个集成电路晶片上组合、可分布在多个集成电路晶片上、或者通过常见封装中的多个集成电路晶片的多芯片模块(MCM)实现。
线路可进一步包括或访问由该线路执行的指令。指令可储存在实际储存介质中,即,与易失性信号不通,诸如,闪速存储器、随机访问存储器(RAM)、只读存储器(ROM)、可擦除编程只读存储器(EPROM);指令可以储存在诸如紧凑盘只读存储器(CDROM)、硬盘驱动(HDD)、或其他磁盘或光谱等磁盘或光盘上;或指令可以储存在另一机器可读介质中或上。诸如计算机程序产品等产品可包括储存在介质中或上的储存介质和指令,并且当通过设备中的线路执行指令时,指令可致使设备实现上述所述或附图中示出的任意处理。
实现方式可以分布为多个系统部件之间的线路,诸如,多个处理器与存储器,可选地,包括多个分布式处理系统。参数、数据库、以及其他数据结构可被单独储存和管理、可被整合到单个存储器或数据库中、可通过多种不同方式被逻辑或物理地组织、并且可通过多种不同方式实现,其中包括诸如链接列表、哈希表、阵列、记录、对象、或默示储存机制等数据结构。程序可以是单个程序的部分(例如,子例程)、独立程序、分布在若干个存储器和处理器上、或通过诸如库(诸如,共享库(例如,动态链接库(DLL)))等多种不同方式实现。例如,DLL可储存在通过线路执行时执行上述所述或附图中示出的任意处理的指令。
已经具体描述了各种实现方式。然而,许多其他实现方式也是可能的。

Claims (20)

1.一种网络交换机,包括:
所述网络交换机的网络流接口,所述网络流接口被配置为接收包括数据包的网络流;
存储器,被配置为储存网络服务链定义,所述网络服务链定义包括在与所述网络交换机分离的服务器资源上提供的服务功能的服务功能区分符;以及
服务链处理线路,与所述网络流接口和所述存储器通信,所述服务链处理线路被配置为:
确定所述网络服务链定义适用于所述网络流;
确定所述数据包接下来应该由所述服务功能处理;
更新服务功能索引,以通过所述网络服务链定义跟踪所述数据包的进度;
对所述数据包加签在网络隧道报头后的服务功能链报头中的用于所述服务功能的网络地址;以及
将出自所述网络交换机的所述数据包转发至所述服务器资源上的所述服务功能,
其中所述服务链处理线路进一步被配置为当所述数据包将要返回所述服务功能链报头和所述网络隧道报头的源时,交换所述服务功能链报头和所述网络隧道报头中的源和目的地地址。
2.根据权利要求1所述的网络交换机,其中,所述服务链处理线路进一步被配置为:
获得关于所述数据包的流分类;以及
将所述流分类映射至所述网络服务链定义,以确定所述网络服务链定义适用于所述网络流。
3.根据权利要求2所述的网络交换机,其中:
所述流分类包括应用标识符、用户标识符或应用标识符和用户标识符两者。
4.根据权利要求1所述的网络交换机,其中:
所述网络服务链定义指定用于执行所述网络服务链定义内的所述服务功能的顺序;以及
所述服务链处理线路被进一步配置为:
读取所述数据包的数据包报头,以确定当前索引值;以及
将所述当前索引值与所述网络服务链定义匹配,以确定所述数据包接下来应该由所述服务功能处理。
5.根据权利要求4所述的网络交换机,其中:所述服务链处理线路进一步被配置为更新服务功能索引,以说明将所述数据包转发至所述服务功能用于处理。
6.根据权利要求5所述的网络交换机,其中:所述服务链处理线路进一步被配置为:
从所述服务器资源接收经由所述服务功能处理之后的所述数据包;以及
基于所述服务功能索引确定所述网络服务链定义内的后续目的地。
7.根据权利要求6所述的网络交换机,其中所述服务链处理线路进一步被配置为:
再次更新所述数据包的所述服务功能索引,以通过所述网络服务链定义跟踪所述数据包的进度;以及
将出自所述网络交换机的所述数据包转发至所述后续目的地。
8.根据权利要求7所述的网络交换机,其中,所述后续目的地是不同服务器资源上提供的不同服务功能。
9.根据权利要求8所述的网络交换机,其中,所述不同的服务器资源连接至分离的网络交换机。
10.一种网络交换方法,包括:
在与主机服务器互连的网络交换机中执行以下操作,其中在所述主机服务器上提供了第一服务功能和第二服务功能:
在存储器中定义指定一系列服务功能的网络服务链定义,所述一系列服务功能包括:
所述第一服务功能;和
所述第二服务功能;
其中,所述网络服务链定义包括:
所述第一服务功能的第一服务功能索引;和
所述第二服务功能的第二服务功能索引;
其中,所述第一服务功能索引和所述第二服务功能索引将所述第一服务功能排序在第二服务功能之前;
接收作为网络流的一部分的数据包;
基于在所述数据包的网络隧道报头之后的所述数据包的服务功能链报头确定所述数据包的分类信息;
基于所述分类信息确定所述网络服务链适用于所述网络流;
确定所述第一服务功能应该接下来处理所述数据包;以及
将所述数据包转发至所述第一服务功能,
其中当所述数据包将要返回所述服务功能链报头和所述网络隧道报头的源时,交换所述服务功能链报头和所述网络隧道报头中的源和目的地地址。
11.根据权利要求10所述的方法,进一步包括:
在收到所述数据包之后,确定所述数据包的服务链标识符和服务功能索引,并且确定所述网络服务链适用于所述网络流。
12.根据权利要求11所述的方法,其中:
所述服务链标识符识别所述网络服务链定义;以及
所述服务功能索引识别所述第一服务功能。
13.根据权利要求11所述的方法,其中:所述服务功能链报头包括所述服务功能索引和所述服务链标识符。
14.根据权利要求11所述的方法,进一步包括:调整所述服务功能索引,以在将所述数据包转发至所述第一服务功能之前,指向所述第二服务功能。
15.根据权利要求11所述的方法,进一步包括:将所述服务链标识符和所述服务功能索引映射至用于所述第一服务功能的网络地址。
16.根据权利要求15所述的方法,其中,所述网络地址包括虚拟交换机地址、服务功能网络地址、或虚拟交换机地址和服务功能网络地址两者。
17.根据权利要求15所述的方法,进一步包括:
在转发之前,将所述网络隧道报头添加到所述数据包中,所述网络隧道报头包括:
虚拟交换机的虚拟交换机地址,所述虚拟交换机用作所述第一服务功能的主机服务器,
其中在所述网络隧道报头之后的所述服务功能链报头包括用于所述主机服务器上的所述第一服务功能的服务功能网络地址。
18.一种网络交换机,包括:
数据包接口,被配置为将数据包接收到所述网络交换机中,并且将数据包通信至所述网络交换机之外;
存储器,被配置为储存:
网络服务链定义,包括:
第一网络服务链定义,指定构成第一数据包处理链的第一系列的服务功能;和
用于所述第一网络服务链定义的第一服务链标识符;以及
服务链映射表,包括:
从数据包分类至所述存储器中的所述网络服务链定义的分类映射;
与所述数据包接口通信的服务链处理器,所述服务链处理器被配置为:
获得所述数据包的分类信息;
根据所述分类信息和所述服务链映射表确定所述第一网络服务链应处理所述数据包;
在所述第一系列的服务功能之中,确定对所述数据包执行的下一服务功能;
通过更新所述数据包的服务功能报头而经由所述第一网络服务链跟踪所述数据包的进度;
将网络隧道报头添加到所述数据包中,所述网络隧道报头包括:
与用于所述下一服务功能的主机服务器通信的虚拟交换机的虚拟交换机地址;和
添加所述网络隧道报头之后的服务功能链报头,所述服务功能链报头包括用于所述主机服务器上的所述下一服务功能的服务功能网络地址;以及
将出自所述网络交换机的所述数据包转发至所述主机服务器上的所述下一服务功能,
其中所述服务链处理器进一步被配置为当所述数据包将要返回所述服务功能链报头和所述网络隧道报头的源时,交换所述服务功能链报头和所述网络隧道报头中的源和目的地地址。
19.根据权利要求18所述的网络交换机,其中:
所述服务功能报头包括:
所述第一服务链标识符;和
所述第一网络服务链中的服务功能索引。
20.根据权利要求19所述的网络交换机,其中:
所述网络交换机被配置为:
在所述网络交换机处接收回由所述下一服务功能处理之后的数据包;并且其中:
所述服务链处理器被配置为:
通过将所述第一网络服务链中的所述服务功能索引改变为指向后续服务功能而跟踪进度,所述后续服务功能随在所述数据包的所述下一服务功能之后;并且
将通过所述下一服务功能处理之后接收到的所述数据包转发至所述第一网络服务链中的所述后续服务功能。
CN201510770239.1A 2014-11-11 2015-11-11 基于网络的服务功能链接 Active CN105591978B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201462078196P 2014-11-11 2014-11-11
US62/078,196 2014-11-11
US201562162070P 2015-05-15 2015-05-15
US62/162,070 2015-05-15
US14/861,163 US9923815B2 (en) 2014-11-11 2015-09-22 Network based service function chaining on top of rack switches
US14/861,163 2015-09-22

Publications (2)

Publication Number Publication Date
CN105591978A CN105591978A (zh) 2016-05-18
CN105591978B true CN105591978B (zh) 2019-07-05

Family

ID=55803366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510770239.1A Active CN105591978B (zh) 2014-11-11 2015-11-11 基于网络的服务功能链接

Country Status (4)

Country Link
US (1) US9923815B2 (zh)
CN (1) CN105591978B (zh)
DE (1) DE102015013946A1 (zh)
HK (1) HK1218477A1 (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243302B (zh) * 2013-06-20 2018-03-16 华为技术有限公司 业务路由报文处理方法、装置及网络系统
US9699070B2 (en) 2013-10-04 2017-07-04 Nicira, Inc. Database protocol for exchanging forwarding state with hardware switches
CN104954245B (zh) * 2014-03-27 2019-07-16 中兴通讯股份有限公司 业务功能链处理方法及装置
US9946614B2 (en) * 2014-12-16 2018-04-17 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for managing faults in a virtual machine network
US9979645B2 (en) * 2015-01-14 2018-05-22 Futurewei Technologies, Inc. Hardware and software methodologies for creating and managing portable service function chains
US9942058B2 (en) 2015-04-17 2018-04-10 Nicira, Inc. Managing tunnel endpoints for facilitating creation of logical networks
US10554484B2 (en) 2015-06-26 2020-02-04 Nicira, Inc. Control plane integration with hardware switches
US9967182B2 (en) 2015-07-31 2018-05-08 Nicira, Inc. Enabling hardware switches to perform logical routing functionalities
US9781209B2 (en) * 2015-08-20 2017-10-03 Intel Corporation Techniques for routing packets between virtual machines
US10313186B2 (en) 2015-08-31 2019-06-04 Nicira, Inc. Scalable controller for hardware VTEPS
US9979593B2 (en) 2015-09-30 2018-05-22 Nicira, Inc. Logical L3 processing for L2 hardware switches
US9948577B2 (en) 2015-09-30 2018-04-17 Nicira, Inc. IP aliases in logical networks with hardware switches
US10263828B2 (en) 2015-09-30 2019-04-16 Nicira, Inc. Preventing concurrent distribution of network data to a hardware switch by multiple controllers
US10230576B2 (en) * 2015-09-30 2019-03-12 Nicira, Inc. Managing administrative statuses of hardware VTEPs
US10116553B1 (en) * 2015-10-15 2018-10-30 Cisco Technology, Inc. Application identifier in service function chain metadata
US10250553B2 (en) 2015-11-03 2019-04-02 Nicira, Inc. ARP offloading for managed hardware forwarding elements
US10069646B2 (en) * 2015-12-02 2018-09-04 Nicira, Inc. Distribution of tunnel endpoint mapping information
US9912616B2 (en) 2015-12-02 2018-03-06 Nicira, Inc. Grouping tunnel endpoints of a bridge cluster
US10719341B2 (en) 2015-12-02 2020-07-21 Nicira, Inc. Learning of tunnel endpoint selections
US10164885B2 (en) 2015-12-02 2018-12-25 Nicira, Inc. Load balancing over multiple tunnel endpoints
US10397108B2 (en) * 2016-01-25 2019-08-27 Futurewei Technologies, Inc. Service function chaining across multiple subnetworks
US11394580B2 (en) * 2016-02-18 2022-07-19 Alcatel Lucent Data transmission
US9954774B2 (en) * 2016-03-10 2018-04-24 Cisco Technology, Inc. Propagating flow characteristics in service function chaining (SFC) headers
US9985890B2 (en) 2016-03-14 2018-05-29 International Business Machines Corporation Identifying a local congestion control algorithm of a virtual machine
US10355983B2 (en) * 2016-05-09 2019-07-16 Cisco Technology, Inc. Traceroute to return aggregated statistics in service chains
US10348648B2 (en) 2016-05-17 2019-07-09 Cisco Technology, Inc. Service chain overlay network operations visibility via data packets
US10637772B2 (en) * 2016-05-28 2020-04-28 Guardtime Sa Verification mechanism for network service chain paths
US10045252B2 (en) * 2016-06-02 2018-08-07 International Business Machines Corporation Virtual switch-based congestion control for multiple TCP flows
CN106130894B (zh) * 2016-06-03 2019-04-19 上海华为技术有限公司 一种业务功能链的创建方法及系统
KR102541641B1 (ko) * 2016-06-07 2023-06-08 한국전자통신연구원 분산 서비스 기능 포워딩 시스템 및 방법
US10182035B2 (en) 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
US10419550B2 (en) * 2016-07-06 2019-09-17 Cisco Technology, Inc. Automatic service function validation in a virtual network environment
US10326685B1 (en) * 2016-07-29 2019-06-18 Amazon Technologies, Inc. Virtual routing tables for routers in a multi-tier network
US10075373B2 (en) * 2016-08-26 2018-09-11 Viasat, Inc. Methods and apparatus for providing traffic forwarder via dynamic overlay network
CN111884827B (zh) * 2016-08-26 2021-10-15 华为技术有限公司 一种sfc网络中同步拓扑信息的方法及路由网元
US10608881B2 (en) * 2016-09-22 2020-03-31 Nicira, Inc. Application-based network segmentation in a virtualized computing environment
US10164818B2 (en) * 2016-10-05 2018-12-25 International Business Machines Corporation Effective indexing of protocol information
US10187263B2 (en) * 2016-11-14 2019-01-22 Futurewei Technologies, Inc. Integrating physical and virtual network functions in a service-chained network environment
EP3340581B1 (en) * 2016-12-20 2022-02-23 InterDigital CE Patent Holdings Method for managing service chaining at a network equipment, corresponding network equipment
US10560527B2 (en) 2017-03-02 2020-02-11 Dell Products, L.P. Network service chains using hardware logic devices in an information handling system
US10938681B2 (en) * 2018-07-25 2021-03-02 Vmware, Inc. Context-aware network introspection in software-defined networking (SDN) environments
WO2020076061A1 (en) * 2018-10-08 2020-04-16 Samsung Electronics Co., Ltd. Method and system for forwarding data packets in a service function path of a network
US11184280B2 (en) * 2018-10-11 2021-11-23 Cisco Technology, Inc. Methods and apparatus for verification of non-steered traffic flows having unspecified paths based on traversed network node or service function identities
US10785321B2 (en) * 2018-11-19 2020-09-22 Nanning Pugui Precision Industrial Co., Ltd. Service function chain (SFC) based multi-tenancy processing method
CN109361627A (zh) * 2018-11-23 2019-02-19 广州市成格信息技术有限公司 一种基于VxLan的新型二层云交换设备
US10805164B2 (en) 2018-12-14 2020-10-13 At&T Intellectual Property I, L.P. Controlling parallel data processing for service function chains
US11146506B2 (en) 2018-12-14 2021-10-12 At&T Intellectual Property I, L.P. Parallel data processing for service function chains spanning multiple servers
US11463511B2 (en) * 2018-12-17 2022-10-04 At&T Intellectual Property I, L.P. Model-based load balancing for network data plane
US11411843B2 (en) * 2019-08-14 2022-08-09 Verizon Patent And Licensing Inc. Method and system for packet inspection in virtual network service chains
US11063662B2 (en) * 2019-10-22 2021-07-13 Hughes Network Systems, Llc Satellite network acceleration and optimization
US20220150160A1 (en) * 2020-11-06 2022-05-12 Juniper Networks, Inc. Backup service function notification and synchronization
US11582227B2 (en) 2020-12-22 2023-02-14 Microsoft Technology Licensing, Llc Securing network access at edge sites using trusted network devices
US20220385732A1 (en) * 2021-05-26 2022-12-01 Western Digital Technologies, Inc. Allocation of distributed cache
CN113395362B (zh) * 2021-08-17 2021-11-16 杭州雅观科技有限公司 移动边缘计算的服务链分群和重整方法
WO2023192832A1 (en) * 2022-03-28 2023-10-05 Intel Corporation Service function chaining in wireless cellular system with service exposure to third parties
US11743191B1 (en) 2022-07-25 2023-08-29 Vmware, Inc. Load balancing over tunnel endpoint groups

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092744A (zh) * 2014-06-30 2014-10-08 山东科技大学 基于记忆化服务簇映射目录的Web服务发现方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097452B2 (en) * 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
US9130872B2 (en) * 2013-03-15 2015-09-08 Cisco Technology, Inc. Workload based service chain insertion in a network environment
US9660905B2 (en) * 2013-04-12 2017-05-23 Futurewei Technologies, Inc. Service chain policy for distributed gateways in virtual overlay networks
US9407540B2 (en) * 2013-09-06 2016-08-02 Cisco Technology, Inc. Distributed service chaining in a network environment
JP2015095784A (ja) * 2013-11-12 2015-05-18 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
US9825856B2 (en) * 2014-01-06 2017-11-21 Futurewei Technologies, Inc. Service function chaining in a packet network
US9344337B2 (en) * 2014-03-13 2016-05-17 Cisco Technology, Inc. Service node originated service chains in a network environment
US20160065456A1 (en) * 2014-09-03 2016-03-03 Alcatel Lucent System and method providing service chaining in a mobile network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092744A (zh) * 2014-06-30 2014-10-08 山东科技大学 基于记忆化服务簇映射目录的Web服务发现方法

Also Published As

Publication number Publication date
CN105591978A (zh) 2016-05-18
DE102015013946A1 (de) 2016-05-12
US9923815B2 (en) 2018-03-20
HK1218477A1 (zh) 2017-02-17
US20160134531A1 (en) 2016-05-12

Similar Documents

Publication Publication Date Title
CN105591978B (zh) 基于网络的服务功能链接
US20230283549A1 (en) Loop prevention in virtual layer 2 networks
US9590907B2 (en) Service chaining in a cloud environment using software defined networking
US10404621B2 (en) Scalable InfiniBand packet-routing technique
US11777848B2 (en) Scalable routing and forwarding of packets in cloud infrastructure
CN105207873B (zh) 一种报文处理方法和装置
CN103546451B (zh) 用于管理覆盖网络中的流量的系统和方法
US11991246B2 (en) Cloud scale multi-tenancy for RDMA over converged ethernet (RoCE)
US11671898B2 (en) Systems and methods for routing data
CN105706043B (zh) 推进式链接的列表吞吐量
US20140064283A1 (en) System and method providing distributed virtual routing and switching (dvrs)
CN106664251A (zh) 网络环境中的双向流粘性
EP3465997B1 (en) Packet forwarding using vendor extension in a software-defined networking (sdn) system
US20230024408A1 (en) Efficient flow management utilizing control packets
CN105635190B (zh) 数据中心网络中的服务执行方法及装置
US20240291889A1 (en) CLOUD SCALE MULTI-TENANCY FOR RDMA OVER CONVERGED ETHERNET (RoCE)
US9258254B2 (en) Virtual router and switch
US11411998B2 (en) Reputation-based policy in enterprise fabric architectures
Gupta et al. Sdn And Nfv: A New Dimension To Virtualization
US20240323255A1 (en) Class-based queueing for scalable multi-tenant rdma traffic
EP4272408A1 (en) Cloud scale multi-tenancy for rdma over converged ethernet (roce)
EP4292254A1 (en) Invalidating cached flow information in a cloud infrastructure
WO2022271990A1 (en) Routing policies for graphical processing units

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1218477

Country of ref document: HK

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170302

Address after: Singapore Singapore

Applicant after: Avago Technologies Fiber IP Singapore Pte. Ltd.

Address before: American California

Applicant before: Zyray Wireless Inc.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20181018

Address after: Singapore Singapore

Applicant after: Annwa high tech Limited by Share Ltd

Address before: Singapore Singapore

Applicant before: Avago Technologies Fiber IP Singapore Pte. Ltd.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1218477

Country of ref document: HK