CN107852368A - 用于网络服务的高度可用的服务链 - Google Patents

用于网络服务的高度可用的服务链 Download PDF

Info

Publication number
CN107852368A
CN107852368A CN201680041159.5A CN201680041159A CN107852368A CN 107852368 A CN107852368 A CN 107852368A CN 201680041159 A CN201680041159 A CN 201680041159A CN 107852368 A CN107852368 A CN 107852368A
Authority
CN
China
Prior art keywords
network node
strategy
node
subset
network
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.)
Granted
Application number
CN201680041159.5A
Other languages
English (en)
Other versions
CN107852368B (zh
Inventor
B·M·舒尔茨
A·蒂瓦特
A·阿奈加
D·格普塔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107852368A publication Critical patent/CN107852368A/zh
Application granted granted Critical
Publication of CN107852368B publication Critical patent/CN107852368B/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/38Flow based routing
    • 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/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/025Updating only a limited number of routers, e.g. fish-eye update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • H04L45/037Routes obligatorily traversing service-related nodes
    • H04L45/0377Routes obligatorily traversing service-related nodes for service chaining
    • 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/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • 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/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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]

Abstract

控制和监测系统基于网络节点标识符来对服务链排序——数据流通过多个网络节点的顺序。控制和监测系统为联网节点提供策略,以便实施服务链的顺序。在一些实施例中,实现了改进服务链的可用性的特征。这样的功能包括负载平衡、故障切换、流量工程和在服务链的各个阶段的虚拟化网络功能的自动部署等。

Description

用于网络服务的高度可用的服务链
背景技术
在传统的网络布置中,诸如防火墙、分布式拒绝服务(DDoS)设备、深度分组检查(DPI)设备、负载平衡器、反病毒检查服务器、虚拟专用网络(VPN)设备等网络设备在网络的边缘以链布置物理地连线。从外部网络(诸如从公共因特网)到达的数据分组在到达诸如web服务器、代理服务器、电子邮件服务器或其他类型的应用服务节点等应用服务节点之前经过一个或多个网络设备。
近来,网络功能的虚拟化(诸如网络功能虚拟化(NFV))已经得到了发展。NFV是一种虚拟化各种网络功能的网络概念,其将各种网络功能实现为在标准服务器、交换机和存储装置之上运行网络相关软件的虚拟机。优势包括降低了设备成本,降低了功耗,提高了灵活性,缩短了新技术的上市时间,有能力引入有针对性的服务引入,等等。另外,软件定义网络(SDN)是其中控制平面与SDN应用和SDN数据路径对接的一种机制。SDN应用经由北向接口(NBI)将网络需求传送给控制平面。SDN数据路径通过SDN控制到数据平面接口(CDPI)通告和提供对其转发和数据处理能力的控制。SDN有效地定义和控制数据向哪里转发的决定,以将这种情报与物理上处理网络业务的底层系统分开。总之,SDN应用定义了拓扑;客户端、服务器和NVF部件是拓扑中的节点(“集线器”和“端点”);SDN数据路径是将所有东西连接在一起的“辐条(spoke)”。
发明内容
提供本“发明内容”是为了介绍将在下面的“具体实施方式”中进一步描述本公开的简化概念。本“发明内容”并非旨在标识所要求保护的主题的基本特征,也并非旨在用于确定所要求保护的主题的范围。
本公开的实施例提供了用于在网络服务或虚拟化网络服务中实现自动服务链接的系统、方法和装置。控制和监测系统基于网络节点标识符(例如,地址或其他标识符)来跟踪服务链中的多个网络节点。控制和监测系统基于网络节点标识符来对服务链排序(数据流通过多个网络节点的顺序),并且将策略应用于所有网络节点,以便实施服务链的顺序。策略可以应用于服务链中的所有网络节点,使得每个网络节点以正确的顺序接收数据,执行其功能(例如,防火墙、反病毒、DPI功能等),并且向服务链中的下一跳数据链路层地址转发数据。在一些实施例中,实现了改进服务链的可用性的特征。这样的功能包括负载平衡、故障切换、流量工程和在服务链的各个阶段的虚拟化网络功能的自动部署等。
附图说明
“具体实施方式”参考附图来阐述。在这些图中,附图标记的最左边的一个或多个数字标识附图标记首次出现的图。在不同的图中使用相同的附图标记来表示相似或相同的项目。
图1是示出用于使用策略来部署服务链的示例环境的示意图。
图2是示出使用利用层2代理实施的策略来部署服务链的示例环境的示意图。
图3是示出用于部署高度可用的服务链的示例环境的示意图。
图4是示出用于对通过服务链的入口业务进行负载平衡的示例环境的示意图。
图5是示出用于对出口业务服务链进行负载平衡的示例环境的示意图。
图6是示出功能块将业务重新引导至服务链中的不同功能块的示例环境的示意图。
图7是示出其中多个服务链与其间的网络层端点节点链接在一起的示例环境的示意图。
图8是示出用于提供服务链的示例过程的流程图。
图9是根据本公开的各种实施例的可用于实现服务链的示例计算系统的框图。
图10示出了用于提供高度可用的服务链的示例过程。
具体实施方式
本公开的实施例提供了用于在网络和/或虚拟化网络中实现自动服务链接的系统、方法和装置。
近来,联网的计算环境实现了由消费者和企业使用的多个软件应用的前所未有的可访问性。诸如防火墙、负载平衡器等设备保护这些软件应用,并且使得它们高度可用于客户端设备以获得包括购物、电子邮件、流式视频、社交媒体和语音通信的体验。诸如网络功能虚拟化等新的发展正在将软件从物理设备中取出,并且承诺在降低成本的同时增加灵活性。为了改进和自动化这样的功能的部署,可以将网络设备链接起来以形成服务链,该服务链提供平台以使得网络能够部署超出针对该平台本身构建的服务的附加的专业网络服务。
在一个实施例中,控制和监测系统可以支持网络设备的链接,以在业务到达应用之前自动引导业务通过适当的网络设备进行处理。例如,控制和监测系统基于网络节点标识符(例如,地址或其他标识符)来跟踪一个或多个服务链中的多个网络节点。控制和监测系统对服务链排序,使得能够建立数据流通过多个网络节点的顺序。在一个实施例中,可以基于网络节点标识符对服务链进行排序。控制和监测系统生成和向所有联网节点应用策略,以便实施服务链的顺序。在一些实施例中,策略可以包括入口数据链路层地址(例如,媒体访问控制(MAC)地址)、下一跳数据链路层地址和每个的队列等级以及其他信息。策略可以应用于服务链中的所有网络节点,使得每个网络节点以正确的顺序接收数据,执行其功能(例如,防火墙、反病毒、DPI功能等),并且向服务链中的下一跳数据链路层地址转发数据。该过程重复,直到数据分组到达应用服务节点,应用服务节点可以是例如文件服务器、web服务器或其他应用服务节点。在一些实施例中,数据链路层代理(例如,MAC代理)在服务链中的每一跳处实施策略。可以在每个流的基础上为数据流标识策略,诸如基于目的地地址(诸如目的地IP地址),基于协议信息(例如,基于传输控制协议(TCP)、用户数据报协议(UDP)、实时协议(RTP)或其他协议),或者基于其他信息,包括信息的组合。
数据链路层代理可以是诸如802.11(“以太网”)交换机等交换机,其可以是物理交换机或虚拟化交换机。在利用基于数据链路层的策略(例如,基于MAC的策略)的实施例中,目的地网络层地址不改变,而到达目的地地址的数据链路层地址根据策略改变。这使得网络层目的地(例如,IP地址)不太可能不匹配,从而提高了网络的可靠性。
在替代实施例中,策略基于网络层协议标识符(例如,互联网协议(IP)地址)。在一些实施例中,这样的基于网络层协议的策略通过网络层路由(例如,IP路由)或通过上层协议(诸如通过超文本传输协议(HTTP)重新引导)来实施。
在一些实施例中,网络服务节点被授予各种许可以更新策略。网络服务节点可以更新策略以引入新的下一跳(例如,在服务链中的新的网络服务节点),跳过服务链中的网络节点,或者将业务引导至新的服务链。在一个示例中,服务链中的防火墙节点可以基于数据流的检查结果来确定修改策略以将DPI节点引入到服务链中。在防火墙节点有权以该方式修改策略的情况下,防火墙可以更新策略,诸如通过与控制和监测系统通信,这又可以更新服务链中的其他网络节点。
在一些实施例中,实现了改进服务链的可用性的特征。这样的功能包括但不限于负载平衡、故障转移、流量工程和在服务链的各个阶段的虚拟化网络功能的自动部署。在一些实施例中,负载平衡由负载平衡器执行,诸如由本身是作为服务链的部分的虚拟化网络节点的虚拟化负载平衡器执行。在一些实施例中,负载平衡通过由服务链中的业务节点实施的策略来执行,这可以是单独负载平衡器的补充或替代。在一些实施例中,负载平衡在服务链内在每个流的基础上执行。
附加网络节点的部署在各种情况下执行。在一些实施例中,在网络节点发生故障,经历高带宽利用率或经历有限的可用计算资源(例如,CPU、存储装置、存储器)的情况下,控制和监测系统引起服务链中的另一网络节点的部署以解决故障或者解决增加的资源或带宽负载。部署新的网络节点,并且更新策略以使得业务能够流向新的节点,诸如在每个流的基础上。新部署的网络节点可以通过策略更新而可用于一个或多个服务链,使得新的节点能够向多于一个服务链提供资源。在一个示例中,服务链在服务链内的反病毒节点处经历负载增加。基于监测服务链中的反病毒节点处的资源利用率或带宽,控制和监测系统确定反病毒节点经历超过阈值的负载,并且引起部署其他反病毒节点,以更新策略以将业务引导至新部署的反病毒节点。
本文中包含的描述包括对诸如通过参考“层2”、“层3”、“数据链路层”、“网络层”等对开放系统互连(OSI)模型的层的参考。这样的参考仅仅是为了便于描述,并不表示暗示实施例必须完全或部分地符合或限于符合OSI模型的协议。并且某些协议可以参考OSI模型来描述,并且特别是被描述为与某些OSI模型层相关联。但是这样的协议(例如,802.11协议、TCP/IP协议)可以不全部或完全匹配OSI模型的任何特定层。
本公开的实施例实现了增加的部署灵活性,新的网络服务的更快推出,更高的可靠性,和增加的数据中心或云计算环境中的安全性。下面参考以下附图来提供示例实现。
图1示出了用于使用策略来部署服务链的环境100。控制和监测节点102接收或自动生成在环境100中实现服务链的策略。配置可以从管理设备104到达,诸如例如基于要被包括在服务链中的网络节点106的手动配置和指定的服务链顺序。管理设备104可以是被配置为与控制和监测节点102对接的个人计算机、膝上型计算机、平板计算机或任何计算系统。在其他实施例中,服务链可以基于由控制和监测节点102在网络中收集的情报来被启动或重新配置。例如,控制和监测节点102可以通过检查每个网络节点106和应用节点110的策略存储库108来自动发现网络节点能力。网络节点106可以向控制和监测节点102注册作为发现过程的部分。控制和监测节点102可以基于网络节点的标识符(诸如MAC地址或其他标识符)来发现、跟踪和监测网络节点106。因为在环境100中部署新的应用并且因为应用被停用,所以服务链的配置是一个动态过程,从而加快了部署或停用新应用的过程。每个应用节点110有一个或多个服务链与其相关联(为了说明起见,在图1中仅示出了一个服务链)。
基于网络节点106的能力,控制和监测节点102可以确定服务链的顺序。例如,DDoS网络节点可以自动放置在VPN网络节点之前,等等。策略存储库108可以指示这样的能力。
下表中示出了服务链的示例策略:
在上面示出的示例策略中,每个网络节点106被赋予入口队列等级,使得从外部网络112流入环境100的数据在被提供给应用节点110之前按照入口等级所示的顺序被路由到网络节点106。在这个示例中,服务链包括网络节点106-1、106-2和106-3。出口队列等级指示数据从应用节点110通过服务链到外部网络112的顺序。在这个示例中,出口队列等级指示数据以与入口队列等级相反的顺序流动(即,从106-3到106-2到106-1)。但是,出口队列等级可以指示数据按照与相反顺序不同的顺序流过服务链。出口队列等级也可以指示出口业务比入口业务通过更多、更少或不同的网络节点106。因此,在一些实施例中,通过服务链的业务流可以是全双工(双向)的,使得业务在两个方向上流过所有网络节点106,可以是单工(单向)的,使得业务仅在入口或出口方向中的一个方向上流过网络节点106,或者可以是某种混合方式,使得一些网络节点106被配置为以双向方式处理业务,而其他网络节点106被配置成以单向方式处理业务。在一个示例中,执行防火墙功能的网络节点106可以在两个方向上处理业务,而DDoS网络节点106仅监测入口业务。其他示例服务链策略在不脱离实施例的范围的情况下是可能的。而且,上表中所示的节点功能仅用于说明目的;示例网络节点功能包括负载平衡功能、防火墙功能、VPN服务器功能、DDoS保护功能、广域网(WAN)优化功能、网关功能、路由器功能、交换功能、代理服务器功能、反垃圾邮件功能、反病毒(或更一般地说,反恶意软件)功能等。
策略存储库108将每个网络节点106的协议栈114配置为实施服务链的排序。在上面的示例策略中,排序通过下一跳数据链路层地址(在这个示例中为下一跳MAC地址)来实施。在一些实施例中,策略可以基于其他信息(诸如基于下一跳网络层地址,诸如IP地址、HTTP重新引导、其他信息或信息的某种组合)来实施。因此,协议栈114的配置可以包括将一个或多个协议栈114内的数据链路层、网络层或其他协议层中的一个或多个配置为指示服务链中的下一跳。
每个网络节点106包括功能元件116,诸如负载平衡功能元件、防火墙功能元件、VPN服务器功能元件、DDoS保护功能元件、广域网(WAN)优化功能元件、网关功能元件、路由器功能元件、代理服务器功能元件、反垃圾邮件功能元件、反病毒(或更一般地说,反恶意软件)功能元件或其他元件。应用节点110包括用于提供某种类型的工作负载功能的功能元件116-4,诸如数据中心工作负载功能,根据一些实施例,其可以是网络服务器功能、数据库功能、搜索引擎功能、文件服务器功能等。在一些实施例中,应用节点110可以由客户端设备(诸如最终用户客户端设备、企业客户端设备或其他设备)可访问。
当每个网络节点106在数据流中(在入口和/或出口方向上)接收数据分组时,网络节点106在将数据分组递送到服务链策略中的下一跳地址之前根据其功能元件116执行其功能。每个网络节点106使用日志记录系统118记录诸如性能数据等数据。日志记录系统118将日志数据提供给控制和监测节点102,控制和监测节点102可以执行各种功能,诸如监测服务链,部署新的功能块,重新排序服务链,实现负载平衡和其他功能,其中一些功能在本“具体实施方式”中的其他地方更详细地描述。
网络节点106通过某种底层网络架构(诸如经由以太网交换网络和IP路由网络等)彼此耦合,耦合到应用节点110,耦合到外部网络112,耦合到控制和监测节点102等。网络架构可以提供任何到任何的连接,网络流通过策略存储库108来控制。网络架构可以是任何有线或无线技术,并且因此可以包括WiFi、移动宽带等。网络节点106可以包括一个或多个物理计算系统,并且网络节点106、应用节点110和/或控制和监测节点102中的不同节点可以共享一个或多个物理计算系统。网络节点106可以被认为被实例化为一个或多个计算系统上的功能块120,功能块120包括实现网络节点106的虚拟机。应用节点110也可以被实例化为一个或多个计算系统上的应用功能块122,应用功能块122包括实现应用节点110的虚拟机。环境100可以是云计算布置的部分,其中应用服务经由一个或多个应用节点110被提供给终端用户设备、其他服务器、节点、系统或设备,一个或多个应用节点110具有终端用户设备经由网络节点106的服务链从其访问应用服务的外部网络的网络连接。终端用户设备或者其他服务器、节点、系统或设备可以包括膝上型计算机、台式计算机、自助服务终端计算系统、移动设备(诸如手机、平板计算机、媒体播放器、个人数据助理、手持游戏系统等)、游戏机、智能电视、企业计算系统等。
由控制和监测节点102定义的策略还可以定义环境100的各方面。例如,控制和监测节点102可以为相同类型的功能块和/或相同类型的应用功能块定义标准化的软件和硬件。策略还可以定义使得功能块和/或应用功能块能够重新引导业务和/或以某些方式并且基于特定事件来改变策略的权限。其中一些示例在该“具体实施方式”中的其他地方更详细地描述。
与网络节点106一样,应用节点110也包括策略存储库108-4。因此,在一些实施例中,应用节点110也可以被认为是服务链的部分。这可以在具有多个应用节点的实施例中使用,其中目的地网络层(例如,IP层)地址对于所有应用节点是相同的,但是业务基于下一跳数据链路层地址(例如,MAC地址)而不是基于IP地址被路由到每个应用节点。在不脱离实施例的范围的情况下,其他示例是可能的。
图2示出了用于使用利用层2代理202实施的策略来部署服务链的环境200。环境200包括功能块204,功能块204包括植入在应用功能块212内的网络节点206和应用节点208。网络节点206可以与网络节点106相同或相似,并且应用节点208可以与应用节点110相同或相似。层2代理202可以被部署为环境200内的单独的物理设备,或者被部署为虚拟网络功能的虚拟化实例化。在一些实施例中,层2代理可以包括作为虚拟化交换机或作为物理交换机的网络交换机,诸如以太网或IEEE 802.1交换机(例如,MAC地址代理)。
在环境200内可以有虚拟化和物理层2代理202的混合。控制和监测节点102可以提供存储在层2代理202内的策略存储库210中和/或网络节点206内的服务链策略。入口和出口数据以与关于图1所述的相同或类似的方式经由层2代理流过功能块204。在网络节点206不具有与控制和监测节点102或者与网络内的其他网络节点206兼容的策略存储库的情况下,可以使用层2代理202。因此,即使在服务链中使用传统或不兼容的网络节点206,层2代理也可以使得相同的策略能够在服务链中的每个步骤被推出和实施。虽然图2被示出为每个功能块204具有它们自己的层2代理202,但是在一些实施例中,多个网络节点206可以共享相同的层2代理。
在一些情况下,策略配置错误可能导致无限业务循环。诸如IP等一些网络协议利用生存时间(TTL)字段来防止无限循环。但是诸如各种层2协议等其他协议本身不支持循环预防。一种防止层2中的无限循环的方法可以是实现生成树协议。但是,生成树可能会切断网络中的链路,从而减少冗余并且阻止业务流。在实施例中,图1和2的网络节点106和206中的一个(例如,服务链中的第一网络节点,尽管它可以是服务链中的其他网络节点)分别可以周期性地向服务链中的其他网络节点发送健康探针。健康探针包括在服务链中的每一跳中被记录和递增的嵌入式序列号。如果网络节点106或206看到相同的健康探针两次,则检测到循环。在一些实施例中,网络节点106和206监测网络业务。如果网络节点两次看到相同的业务,则可以检测到循环。网络业务中的某个唯一标识符被用来监测业务。唯一标识符可以包括例如以太网帧内的循环冗余校验(CRC)、序列号(诸如TCP序列号)或其他标识符。由于一些协议不包括序列号,UDP和IPSec是两个示例,所以序列号可能不适用于所有情况。
接下来,描述高度可用的服务链的技术。当单个应用节点(或向大量用户提供相同应用的应用节点组)存在多个服务链时,使服务链(和因此应用节点)对最终用户高度可用是非常有用的。在传统网络中,对服务链进行负载平衡,以确定应当如何部署服务链,或者确定数据流应当路由到哪些服务链是困难的。
图3示出了用于部署高度可用的服务链的环境300。环境300包括两个服务链302和304。服务链302包括负载平衡功能块306、功能块308和应用功能块310;服务链304包括负载平衡功能块312、功能块314和应用功能块316。来自外部网络112的业务源自于客户端设备;然而在一些实施例中,业务可以在环境300内本地发起,诸如在相同的数据中心内。控制和监测节点102将策略推送到负载平衡功能块306和312、以及功能块308和314以及应用功能块310和316。功能块306、308、312和314可以分别与图1和2的功能块120和204相同或相似。并且应用功能块310和316可以与应用功能块122和212相同或相似。策略存储在策略存储库318和320中。
当入口业务到达一个或多个路由器322时,业务被引导至负载平衡功能块306和312之一。将业务引导至负载平衡功能块306和312之一可以基于域名系统(DNS)循环法(例如,针对相同域名的交替DNS请求解析应用功能块310和316的端点IP地址)、等价多路径路由(ECMP)或其他机制。因此,业务流可以在服务链302和304之间相等地平衡(尽管它们不必相等地平衡,并且一些方法可以将更多的业务引导至一些服务链而不是其他服务链)。
类似于图1和图2,功能块306、308、312和314根据由控制和监测节点102提供的策略转发数据业务,直到业务到达应用功能块310和316。控制和监测节点102还监测通过服务链302和304中的每个的性能和业务流。
虽然图3以两个服务链302和304示出,但是这些和其他实施例不限于仅两个服务链;实施例可以缩放到N个服务链,其中N是整数。而且,应用功能块310和316可以在不脱离实施例的范围的情况下通过多于一个服务链接收业务流。
图4示出了用于对通过服务链的入口业务进行负载平衡的环境400。控制和监测节点102监测服务链302和304的性能。例如,服务链的功能块中的日志记录系统(诸如日志记录系统118)可以向控制和监测节点102报告资源利用率和/或性能信息。在检测到功能块(诸如功能块314-2)经历重负载(诸如重计算资源利用率,包括CPU利用率、存储器利用率、带宽负载等)时,控制和监测节点102确定功能块是服务链中的瓶颈。控制和监测节点确定实例化具有策略存储库404的新功能块402。新功能块402执行与功能块314-2相同的功能。例如,在功能块314-2是反病毒功能块的情况下,新功能块402也是反病毒功能块。
控制和监测节点102更新存储在策略存储库320上的策略以路由服务链304中的一些业务通过功能块402,并且使服务链中的一些业务通过功能块314-2。例如,功能块314-1可以基于一些标识符或者基于一些其他信息(如由存储在其策略存储库320-2中的策略确定的),确定以循环方式向功能块314-2和功能块402提供数据。在一个示例中,可以使用源IP地址来确定流向功能块314-2或者功能块402的分组。确定策略以避免数据循环,并且确保功能块320按正确的顺序在链中继续进行并且没有功能块类型被跳过。
在图4所示的示例中,功能块402向服务链304提供附加能力。但是在一些实施例中,新实例化的功能块(诸如功能块402)可以向多个服务链提供附加能力。为此,除了策略存储库320之外,控制和监测节点102还可以更新策略存储库318,以向服务链302和304两者提供功能块402。
在一些实施例中,负载平衡功能块306和312可以基于由控制和监测节点102提供的策略或者基于本地确定的实时数据来确定路由策略,该实时数据指示服务链的性能已经基于一个或多个预定的性能阈值以一种或多种可测量的方式下降。在一个示例中,负载平衡功能块306和312可以具有如下策略:一旦检测到性能下降或者基于来自控制和监测节点102的已更新策略,使得负载平衡功能块306和312能够开始将一些业务路由到另一服务链(例如,从负载平衡功能块306到功能块314-1)。
在一些实施例中,由控制和监测节点102提供的策略可以提供负载平衡功能,并且因此消除了对负载平衡功能块306和312的需要。策略可以提供跨功能块图分发业务,以形成动态服务链。这可以通过各种方式来实现。在一些实施例中,由控制和监测节点102提供的策略指示功能块308、314和402将业务引导至多个可能的下一跳功能块之一(例如,以循环方式,或者基于其他信息,诸如源IP地址、协议信息等)。在一些实施例中,功能块308、314和402采用诸如ECMP等扩展协议以在每个流的基础上进行下一跳确定。
在一些实施例中,路由策略可以基于每流马尔可夫链。被配置为使用每流马尔可夫链的功能块308、314和402可以对通过服务链集合的流的每个初始分组应用路由决策。在一些实施例中,由控制和监测节点102提供的策略指示功能块基于服务链的性能度量来加权可能的下一跳的概率。当单独的功能块308、314和402达到性能阈值(包括但不限于转发队列阈值)时,其对下一跳的选择概率可以接近或被设置为零。
每个功能块可以存储流信息。这使得功能块308、314和402能够将单个流中的所有分组视为相同,使得单个数据流中的所有分组被转发到服务链302和304中相同的下一跳;这样做可以使得服务链302和304能够维持连续性。例如,防火墙功能块可以被配置为检查单个流中的所有分组,而被发送到另一防火墙功能块的分组可以“断开”流,产生中断、错误、丢弃的分组等。
图5示出了用于对出口服务链进行负载平衡的环境500。环境500建立在图4中的示例上,其示出了入口业务负载平衡。如上所述,一些功能块仅处理入口业务,而其他功能块可以仅处理特定服务链中的出口业务。并且一些功能块扫描入口和出口数据两者(例如,双向数据)。如关于图1所描述的,控制和监测节点102至少部分基于由功能块提供的注册数据(包括功能块的通告的或检测到的能力)来建立出口(和入口)策略。策略对在出口方向上的服务链中的数据流排序。因为在环境500中部署新的应用并且因为应用被离线,所以服务链的配置是一个动态过程。每个应用有一个或多个服务链与其相关联。
如以上在图4的描述中所指出的,可以基于功能块314-2的性能负载来部署功能块402。因此,在控制和监测节点102更新策略以开始路由某些业务通过功能块402的情况下,策略可以指定入口和出口业务将通过功能块402。如在本“具体实施方式”中的其他地方所指出的,一些功能块可以在出口方向上被跳过,并且因此新功能块的提供或实例化可能并不总是导致对出口业务流的更新。
适用于入口业务流的相同路由策略也可以应用于出口业务流。例如,由控制和监测节点提供的策略可以提供跨功能块的图在出口方向上分发的业务,以形成动态服务链。在一些实施例中,由控制和监测节点102提供的策略指示功能块在出口方向上将业务转发到多个可能的下一跳功能块之一;功能块308、314和402使用诸如ECMP等扩展协议来在出口方向上在每个流的基础上进行下一跳确定;功能块308、314和402可以采用每流马尔可夫链。因此,在一些实施例中,入口和出口业务流是不对称的。另一方面,在一些实施例中,与单个业务流相关联的出口业务可以被引导至与用于入口业务的功能块相同的功能块,以在入口和出口方向上维持功能块连续性和业务流的对称性。
与入口业务流一样,每个功能块308、314和402可以存储流信息;这可以使功能块能够将单个流中的所有分组相同处理,使得单个数据流中的所有分组在出口方向上移动到相同的下一跳。
如上所述,当服务链负载较重时,其可能受益于某种类型的功能块处(例如,图4和5的功能块314-2处)的更多吞吐量。为了确定是否将新功能块部署到服务链中,控制和监测节点102可以根据各种因素(诸如基于网络拓扑)来确定在相似时间(一天中的时间、一周中的时间、一个月中的时间、按季度、一年中的时间、每隔N年发生的事件的每N年等)的历史网络利用率、以及实时利用率和性能信息,并且确定是否在服务链中部署附加功能块。
如果控制和监测节点102确定在负载平衡功能节点306和312处需要更多带宽,则控制和监测节点102更新策略,将策略部署到功能块,并且引起新的负载平衡功能块被部署。类似地,在控制和监测节点102确定在负载平衡功能节点306和312处需要较少带宽的情况下,控制和监测节点102可以停用负载平衡功能节点306和312之一,更新策略并且部署新的策略以路由业务通过较少数目的负载平衡功能节点。
类似地,控制和监测节点102可以(诸如基于网络拓扑、历史利用率和实时数据)确定要实例化全新的服务链(其可以包括新的应用功能块)。在这些情况下,控制和监测节点102可以为新的服务链引起新的功能块和/或新的应用功能块的实例化。这可以包括生成策略,为新实例化的功能块和/或新实例化的应用功能块提供新的策略,等等。
图6示出了用于功能块将业务重新引导至服务链中的不同功能块的环境600。功能块602可以与功能块120、204、306、308、312、314和402相同或相似。并且应用功能块604可以与应用功能块122、212、310和316相同或相似。如前所述,控制和监测节点102提供存储在策略存储库606中的策略。在策略的初始配置中,服务链608将业务从功能块602-1引导至602-2,并且然后引导至应用功能块604。在一些实施例中,提供给功能块的策略包括将一些业务重新引导至其他功能块的权限。在图6所示的示例中,基于例如对数据流中的数据分组的检查结果,允许功能块602-1将数据流重新引导至功能块602-3。在一个示例中,功能块602-1是防火墙功能块,其基于对数据流中的分组的检查来确定将数据流中的业务路由到深度分组检测引擎(例如,功能块602-3)以更仔细地分析数据流中的分组。如果允许功能块602-1进行这种改变(例如,基于由控制和监测节点102提供的策略),则功能块602-1更新数据流的下一跳地址(或者请求控制和监测节点102更新策略)。功能块602-3可以已经被实例化,或者可以基于将业务路由到它的确定来被实例化。功能块602-3被提供有策略。在一些实施例中,出口业务也可以诸如由控制和监测节点102来更新。
每个功能块可以存储流信息;这使得功能块602能够将单个流中的所有分组视为相同,使得单个数据流中的所有分组被转发到服务链608中的相同的下一跳。因此,一旦功能块602-1决定将特定数据流的业务路由到功能块602-3,与该数据流相关联的所有后续分组被引导至功能块602-3。与其他数据流相关联的分组可以继续从功能块602-1转发到功能块602-2。
除了允许功能块602将一些或全部流的业务重新引导至不同的功能块602之外,根据实施例的策略可以使得功能块能够将业务重新引导至完全不同的服务链。其示例关于图4来讨论,在图4中,负载平衡功能块306和312基于服务链性能、服务链利用率等将一些数据流引导至其他服务链。但是其他示例也是可能的。例如,服务块可以确定一些流应当受到更严格的审查,并且流因此被引导至提供更高安全级别的另一服务链。因此,可以将相对较快的服务链用于作为基线或默认的业务,其中基于分组检查的结果或基于其他信息将更多的可疑业务提供给相对更安全的链。在另一示例中,被确定为可疑的一些业务可以被完全丢弃(例如,被更新为不包括下一跳的策略),或者被重新引导至服务链中以产生蜜罐(honeypot)、测试台或另一替代应用功能块。
图7示出了其中多个服务链702和704与其间的网络层端点节点706链接在一起的环境700。在图7所示的示例中,服务链702的功能块708和服务链704的功能块710是数据链路层(例如,MAC层)服务链,使得定义服务链702和704的策略基于下一跳数据链路层地址(例如,MAC层地址)。网络层端点节点706可以是IP端点节点或其他网络层端点节点类型,并且其自身是来自外部网络112的入口业务的目的地。网络层端点706的示例包括VPN服务器、IP隧道网关、代理服务器、网络层防火墙(例如,代理防火墙)等。网络层端点706可以是应用功能块,诸如文件服务器节点、网络服务器节点、数据库节点、电子邮件服务器等。
服务链704将网络层端点节点706耦合到应用功能块712。控制和监测节点102向策略存储库714和716提供策略。每个服务链702和704的策略可以彼此不同。服务链702和704中的一个或两个可以被提供有高可用性特征,诸如负载平衡、路由策略、新功能块的实例化、基于分组检查的到新功能块的业务的重新引导(如图6所示)等,如在本“具体实施方式”中的其他地方所描述的。
在各种示例中,网络层端点节点706可以是web服务器节点,而应用功能块712可以是后端数据库服务器节点。作为臂长关系的部分,后端数据库服务器节点可以由与web服务器节点不同的实体提供,并且因此保护两个节点之间的数据流将是有用的。网络层端点节点706可以包括经由外部网络112终止与客户端设备的VPN连接的VPN节点功能,并且应用功能块712可以包括对客户端设备的应用功能。在不脱离实施例的范围的情况下,其他示例是可能的。
图8描绘了示出根据各种实施例的示例过程的流程图。这个过程的操作在各个块中示出,并且参考这些块进行总结。该过程被示出为逻辑流程图,其中的每个操作可以表示可以用硬件、软件或其组合来实现的一组操作。在软件的上下文中,操作表示存储在一个或多个计算机存储介质上的在由一个或多个处理器执行时引起一个或多个处理器能够执行所列举的操作的计算机可执行指令。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、部件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数目的所描述的操作可以以任何顺序组合,分成子操作,和/或并行执行以实现该过程。根据本公开的各种实施例的处理可以仅包括逻辑流程图中描绘的一些或全部操作。
图8示出了用于提供服务链的示例过程800。在802处,控制和监测节点102基于由控制和监测节点102在网络中收集的情报和信息(诸如计算和网络资源利用率、网络或服务器中断和故障、历史资源利用率数据等)来生成服务链策略。服务链策略指示被包括在服务链中的功能块(其通常包括网络节点、应用节点等)。服务链策略还对服务链中的功能块进行排序。在一些实施例中,服务链策略提供通过服务链的入口和出口业务流。在一些实施例中,服务链策略提供附加信息,诸如功能块改变策略的许可、用于功能块的标准化软件和硬件等。
在804处,控制和监测节点102将策略提供给服务链中的功能块。控制和监测节点也可以将策略提供给一个或多个应用功能块。
在806处,功能块和可能的应用功能块实施策略。在一些实施例中,实施策略包括基于策略选择下一跳地址。策略可以由功能块内的一个或多个网络节点实施,或者由功能块内的层2代理实施。
在808处,控制和监测节点、功能块或应用功能块中的一个或多个监测服务链。功能块和/或应用功能块可以记录利用率数据、性能数据等。在一些实施例中,利用率数据和性能数据可以包括CPU利用率、存储器利用率、网络带宽利用率、数据分组遍历服务链所花费的时间量等中的一个或多个。功能块和/或应用功能块可以将这个信息提供给控制和监测节点,或者提供给一个或多个功能块或应用功能块。控制和监测节点也可以监测功能块和应用功能块以确定它们是可操作的并且没有遭遇中断。
在810处,控制和监测节点、功能块或应用功能块中的一个可基于所监测的数据来更新策略。在一些实施例中,这个策略更新可以考虑影响网络中的能力的附加数据中心事件,诸如维护(计划的等)和其他事件。在一些实施例中,新的功能块可以在服务链中的特定位置被实例化,其中该特定位置处的功能块遭遇中断或经历高负载。在一些实施例中,已更新策略可以引起在服务链内或在多个服务链内发起或改变负载平衡。在一些实施例中,如在本“具体实施方式”中的其他地方所描述的,已更新策略可以将一个或多个业务流重新引导至原始服务链中不存在的功能块(诸如关于图6所描述的)。在一些实施例中,诸如出于负载平衡的目的或出于其他原因(例如,出于安全原因),已更新策略可以将业务流重新引导至全新的服务链。在不脱离实施例的范围的情况下,其他示例是可能的。
图9是根据本公开的各种实施例的可用于实现服务链的示例计算系统900的框图。计算系统900可以部署在包括数据中心、云计算环境或计算设备的其他网络的共享网络环境中。根据各种非限制性示例,计算系统900包括一个或多个设备,诸如服务器、存储设备和网络设备。在一个示例配置中,计算系统900包括至少一个处理器902。计算系统900还包含实现与各种其他系统的通信的一个或多个通信连接906。计算系统900还包括经由连接912在通信上耦合到一个或多个处理器902和计算机可读介质904的一个或多个输入设备908(诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等)以及一个或多个输出设备910(诸如显示器(包括触摸屏显示器)、扬声器、打印机等)。
计算机可读介质904存储在一个或多个处理器902上可加载和可执行的计算机可执行指令以及在这些程序的执行期间生成的和/或可以与这些程序一起使用的数据。在所示示例中,计算机可读介质904存储操作系统914,操作系统914向功能块元件916、应用功能块元件918以及控制和监测节点102提供基本的系统功能。一个或多个操作系统实例914、一个或多个功能块元件916以及一个或多个应用功能块元件918可以被实例化为一个或多个管理程序920下的虚拟机。
功能块元件916可以实现如在本“具体实施方式”中的其他地方所描述的功能块120、204、306、308、312、314、402、602、708和710中的一个或多个的软件功能,包括网络节点、日志记录系统、策略存储库、功能元件、协议栈、层2代理等。应用功能块元件918可以实现一个或多个应用功能块的软件功能,诸如在本“具体实施方式”中的其他地方所描述的应用功能块122、212、310、316、604和712,包括日志记录系统、策略存储库、功能元件、协议栈、层2代理等。
一个或多个处理器902可以是或包括一个或多个单核处理单元、多核处理单元、中央处理单元(CPU)、图形处理单元(GPU)、通用图形处理单元(GPGPU)或硬件逻辑部件,其例如经由来自模块或应用编程接口(API)的专门编程被配置为执行本文中描述的功能。在替代实施例中,本公开的一个或多个功能可以由但不限于硬件逻辑部件来执行或进行,包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、数字信号处理单元(DSP)和其他类型的定制处理单元。例如,被配置为执行本文中描述的功能中的一个或多个的处理单元可以表示包括嵌入在FPGA架构中的CPU核心的混合设备。这些或其他硬件逻辑部件可以独立操作,或者在一些情况下可以由CPU驱动。在一些示例中,计算系统900的实施例可以包括多个类型的多个处理单元。例如,处理单元可以是一个或多个GPGPU和一个或多个FPGA的组合。不同的处理单元可以具有不同的执行模型,例如,与图形处理单元(GPU)和中央处理单元(CPU)的情况一样。
取决于所使用的计算设备的配置和类型,计算机可读介质904包括易失性存储器(诸如随机存取存储器(RAM))和/或非易失性存储器(诸如只读存储器(ROM))、闪存等)。计算机可读介质904还可以包括附加的可移除存储装置和/或不可移除存储装置,包括但不限于SSD(例如,闪存)、HDD存储装置或其他类型的磁存储装置、光存储装置和/或其他存储装置,其可以为计算系统900提供计算机可执行指令、数据结构、程序模块和其他数据的非易失性存储。
计算机可读介质904可以例如表示计算机存储器,其是一种形式的计算机存储介质。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可执行指令、数据结构、程序模块或其他数据等信息的任何过程或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或者可以用于存储信息以供计算设备访问和检索的任何其他介质。相反,通信介质可以在诸如载波等已调制数据信号或其他传输机制中实施计算机可执行指令、数据结构、程序模块或其他数据。如本文中定义的,计算机存储介质不包括通信介质。
图10描绘了示出根据各种实施例的示例过程的流程图。这个过程的操作在各个块中示出,并且参考这些块进行总结。该过程被示出为逻辑流程图,其中的每个操作可以表示可以用硬件、软件或其组合来实现的一组操作。在软件的上下文中,操作表示存储在一个或多个计算机存储介质上的在由一个或多个处理器执行时引起一个或多个处理器能够执行所列举的操作的计算机可执行指令。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、部件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数目的所描述的操作可以以任何顺序组合,分成子操作,和/或并行执行以实现该过程。根据本公开的各种实施例的处理可以仅包括逻辑流程图中描绘的一些或全部操作。
图10示出了用于提供高度可用的服务链的示例过程1000。在1002处,计算系统提供包括多个网络节点的多个功能块(诸如功能块120、122、204、212、306、308、310、312、314、316和602)。功能块的网络节点具有提供对应的网络相关功能的功能元件(诸如功能元件116)。
在1004处,计算系统(例如,控制和监测节点、网络节点、应用节点或其他计算系统部件)确定多个业务流(入口和出口两者)在多个网络节点间的分发。这包括例如可能由负载平衡功能块或者控制和监测节点来标识要被包括在多个服务链中要用于特定业务流的特定服务链中的多个网络节点的子集。确定分发可以通过接收业务流的第一分组或其他数据传输单元来发起。分发可以基于网络性能信息、实时和/或历史性能信息来确定。性能信息可以包括网络利用率数据、网络带宽数据和计算资源信息,诸如存储器利用率数据、处理器利用率数据等。分发可以基于业务流的源信息,诸如基于源IP地址、协议信息或者与业务流的源相关的其他信息。分发可以基于目的地信息,诸如目的地层2地址、目的地层3地址、目的地端口(例如,TCP端口)信息等。分发业务流可基于负载平衡方案,自然循环法、基于性能信息的马尔科夫权重等。其他信息可以用于确定分发。
在1006处,计算系统(例如,控制和监测节点、网络节点、应用节点或其他计算系统部件)提供由多个网络节点的子集可使用以引导特定业务流通过特定服务链的策略。策略指示要被包括在特定服务链中的多个网络节点的子集和通过多个网络节点的子集的数据流顺序。为多个服务链提供多个策略实现了通过网络的业务流的分发。
在1008处,计算系统监测网络。在各种实施例中,这可以包括监测网络性能信息,自然实时和/或历史性能信息。性能信息可以包括网络利用率数据、网络带宽数据和计算资源信息,诸如存储器利用率数据、处理器利用率数据等。在各种实施例中,监测可以包括监测功能块(包括一个或多个网络节点和应用节点)的故障。在各种实施例中,监测可以包括向控制和监测节点、负载平衡节点、应用节点或计算系统的其他元件提供信息的日志记录系统(例如,日志记录系统118)。控制和监测节点或其他元件接收性能信息,并且可以维持网络拓扑和性能的全网视图。
在1010处,网络中的网络节点执行其各种网络相关功能,诸如防火墙功能、反病毒功能等。各种网络相关功能可以包括由功能块的功能元件提供的分组和/或数据检查功能。在一些实施例中,策略允许服务链的一个或多个网络节点更新服务链的策略,以将业务流重新引导通过没有被包括在特定服务链中的至少另一网络节点。重新引导可以基于网络节点根据其特定的网络相关功能对业务流的分组的检查。例如,可以基于检查网络业务使得防火墙网络节点能够将可疑业务重新引导至深度分组检查网络节点,或者将业务重新引导至完全不同的服务链。
在1012处,基于例如网络监测的结果和/或网络节点的网络相关功能的结果,计算系统确定是否重新引导业务。确定重新引导业务量可以基于达到或超过一个或多个性能阈值,诸如与网络利用率、计算资源利用率等有关的阈值。在一个示例中,超过处理器利用率阈值(诸如网络节点中的70%的处理器利用率)可能导致一些业务流被重新引导至其他网络节点和/或其他服务链。
在1014处(“是”路径),计算系统确定是否要实例化新的网络节点。该确定可以基于例如性能数据,诸如实时和/或历史性能数据。例如,在历史性能数据指示网络利用率可以在特定类型的网络节点处增加的情况下,可以实例化该类型的新的网络节点。类似地,在实时数据指示某一类型的所有网络节点接近、达到或超过性能阈值的情况下,可以实例化该类型的新的网络节点。在已经证实网络节点处有足够的资源可用的情况下,计算系统可以确定不实例化新的网络节点。
在1016处(“是”路径),计算系统引起网络节点被实例化。计算系统在1018处更新策略。在一些实施例中,更新策略包括将已更新策略分发给网络中的一些或全部功能块。已更新策略可以指示将一些或全部业务流转发到新实例化的网络节点,到现有网络节点,到全新的服务链,等等。
示例条款
示例A.一种用于提供多个服务链的计算系统,所述计算系统包括:一个或多个处理器;存储器;以及多个编程指令,存储在所述存储器上并且由所述一个或多个处理器可执行以执行动作,所述动作包括:标识要被包括在所述多个服务链中的特定服务链中的多个网络节点的子集,所述特定服务链要用于多个业务流中的特定业务流,所述特定业务流与应用节点相关联;定义指示所述多个网络节点的所述子集和与所述应用节点相关联的所述特定业务流通过所述特定服务链的所述多个网络节点的所述子集的顺序的策略;向所述多个网络节点的所述子集分发所述策略;实施所述策略以引导所述特定业务流通过所述特定服务链,所述策略指示要被包括在所述特定服务链中的所述多个网络节点的所述子集,所述策略还指示通过所述多个网络节点的所述子集的数据流顺序;监测多个网络节点,所述多个网络节点中的每个网络节点提供对应的网络相关功能;以及响应于所述监测,更新所述策略并且一旦所述策略被更新则向所述多个网络节点的所述子集重新分发所述策略。
示例B.根据示例A所述的计算系统,其中标识所述多个网络节点的所述子集还包括至少基于与所述多个网络节点相关联的性能信息或与所述多个网络节点相关联的服务可用性信息来标识要被包括在所述特定服务链中的所述多个网络节点的所述子集。
示例C.根据示例A或B中任一项所述的计算系统,其中所述动作还包括:实例化新的网络节点;以及进一步更新所述策略以引导所述特定业务流至少通过所述新的网络节点。
示例D.根据示例C所述的计算系统,其中所述动作还包括至少基于与所述多个网络节点的所述子集相关联的性能信息或与所述多个网络节点相关联的服务可用性信息来确定实例化所述新的网络节点。
示例E.根据示例D所述的计算系统,其中所述性能信息选自由历史网络利用率和实时网络利用率组成的组。
示例F.根据示例C所述的计算系统,其中所述动作还包括至少基于所述多个网络节点的所述子集中的至少一个网络节点的故障来确定实例化所述新的网络节点。
示例G.根据示例A至F中任一项所述的计算系统,其中所述动作还包括至少基于对所述多个网络节点间的所述多个业务流进行负载平衡来标识要被包括在所述特定服务链中的所述多个网络节点的所述子集。
示例H.根据示例G所述的计算系统,其中所述策略指示选自由层2下一跳地址、层3下一跳地址以及层2下一跳地址和层3下一跳地址的组合组成的组的对应的下一跳节点地址。
示例I.根据示例A至H中任一项所述的计算系统,其中所述服务链中的每个网络节点具有跨一个或多个下一跳来分发所述业务流的能力。
示例J.根据示例A至I中任一项所述的计算系统,其中所述动作还包括至少部分基于所述多个网络节点中的每个网络节点的权重来在所述多个网络节点间分发所述多个业务流,所述动作还包括至少基于所述多个网络节点中的每个网络节点的性能信息来确定所述权重。
示例K.根据示例A至J中任一项所述的计算系统,其中所述动作还包括检查所述特定业务流的一个或多个分组,所述检查由特定网络节点根据所述特定网络节点的特定网络相关功能来执行;以及由所述特定网络节点进一步更新所述策略以重新引导所述特定业务流至少通过另一网络节点,所述重新引导至少部分基于所述检查,所述策略指示所述特定服务链的所述多个网络节点的所述子集中的所述特定网络节点被允许基于所述检查来更新所述策略。
示例L.一种方法,包括:标识要被包括在所述多个服务链中的特定服务链中的多个网络节点的子集,所述特定服务链用于与应用节点相关联的特定业务流,所述多个网络节点中的每个网络节点提供对应的网络相关功能,所述特定业务流是多个业务流之一;定义指示所述多个网络节点的所述子集和与所述应用节点相关联的所述特定业务流通过所述多个网络节点的所述子集的顺序的策略;向所述多个网络节点的所述子集分发所述策略;监测与所述多个网络节点中的一个或多个网络节点相关联的能力信息;以及响应于所述监测,更新所述策略并且一旦更新则至少向所述多个网络节点的所述子集重新分发所述策略。
示例M.根据示例L所述的方法,其中所述能力信息包括选自由历史网络利用率和实时网络利用率组成的组的信息。
实例N.根据示例L或M中任一项所述的方法,还包括:至少基于所述能力信息来引起新的网络节点被实例化;以及其中所述更新包括更新所述策略以引导所述特定业务流至少通过所述新的网络节点。
示例O.根据示例L至N中任一项所述的方法,其中所述更新包括至少基于负载平衡所述多个业务流来更新所述策略。
示例P.根据示例L至O中任一项所述的方法,其中所述更新包括更新所述策略以指示使得所述多个网络节点的所述子集中的特定网络节点能够改变所述策略以重新引导所述特定业务流至少通过另一网络节点,所述重新引导至少基于由所述特定网络节点根据由所述特定网络节点提供的特定网络相关功能而执行的分组检查。
示例Q.一种计算系统,包括:一个或多个处理器;存储器;以及编程指令,存储在所述存储器上并且由所述一个或多个处理器可执行以执行动作,所述动作包括:标识要被包括在多个服务链中的特定服务链中的多个网络节点的子集,所述特定服务链用于与应用节点相关联的特定业务流,所述多个网络节点中的每个网络节点提供对应的网络相关功能,所述特定业务流是多个业务流之一;定义指示所述多个网络节点的所述子集和与所述应用节点相关联的所述特定业务流通过所述多个网络节点的所述子集的顺序的策略;向所述多个网络节点的所述子集分发所述策略;监测与所述多个网络节点中的一个或多个网络节点相关联的能力信息;并且响应于所述监测,更新所述策略并且一旦更新则至少向所述多个网络节点的所述子集重新分发所述策略。
示例R.根据示例Q所述的计算系统,其中所述动作还包括引起新的网络节点被实例化,并且其中所述更新包括更新所述策略以引导所述特定业务流以重新引导通过至少所述新的网络节点。
示例S.根据示例Q或R中任一项所述的计算系统,其中所述动作还包括基于所述多个网络节点的所述子集中的一个或多个网络节点的故障来进一步更新所述策略。
示例T.根据权利要求17所述的计算系统,其中:所述多个网络节点中的特定网络节点被配置为对所述特定业务流的一个或多个分组执行安全相关功能;并且所述动作还包括:至少基于由所述特定网络节点根据所述安全相关功能对所述一个或多个分组的检查来进一步更新所述策略,以将所述特定业务流从至少第一网络节点重新引导至至少第二网络节点。
示例U.一种用于提供多个服务链的计算系统,所述计算系统包括用于标识要被包括在所述多个服务链中的特定服务链中的多个网络节点的子集的装置,所述特定服务链要用于多个业务流中的特定业务流,所述特定业务流与应用节点相关联;用于定义指示所述多个网络节点的所述子集和与所述应用节点相关联的所述特定业务流通过所述特定服务链的所述多个网络节点的所述子集的顺序的策略的装置;用于向所述多个网络节点的所述子集分发所述策略的装置;用于实施所述策略以引导所述特定业务流通过所述特定服务链的装置,所述策略指示要被包括在所述特定服务链中的所述多个网络节点的所述子集,所述策略还指示通过所述多个网络节点的所述子集的数据流顺序;用于监测多个网络节点的装置,所述多个网络节点中的每个网络节点提供对应的网络相关功能;以及用于响应于所述监测来更新所述策略并且一旦所述策略被更新则向所述多个网络节点的所述子集重新分发所述策略的装置。
示例V.根据示例A所述的计算系统,其中用于标识所述多个网络节点的所述子集的所述装置还包括用于至少基于与所述多个网络节点相关联的性能信息或与所述多个网络节点相关联的服务可用性信息来标识要被包括在所述特定服务链中的所述多个网络节点的所述子集的装置。
示例W.根据示例U或V中任一项所述的计算系统,还包括用于实例化新的网络节点的装置;以及用于进一步更新所述策略以引导所述特定业务流至少通过所述新的网络节点的装置。
示例X.根据示例W所述的计算系统,还包括用于至少基于与所述多个网络节点的所述子集相关联的性能信息或与所述多个网络节点相关联的服务可用性信息来确定实例化所述新的网络节点的装置。
示例Y.根据示例X所述的计算系统,其中所述性能信息选自由历史网络利用率和实时网络利用率组成的组。
示例Z.根据示例W所述的计算系统,还包括用于至少基于所述多个网络节点的所述子集中的至少一个网络节点的故障来确定实例化所述新的网络节点的装置。
示例AA.根据示例U至Z中任一项所述的计算系统,还包括用于至少基于对所述多个网络节点间的所述多个业务流进行负载平衡来标识要被包括在所述特定服务链中的所述多个网络节点的所述子集的装置。
示例AB.根据示例AA所述的计算系统,其中所述策略指示选自由层2下一跳地址、层3下一跳地址以及层2下一跳地址和层3下一跳地址的组合组成的组的对应的下一跳节点地址。
示例AC.根据示例U至AB中任一项所述的计算系统,其中所述服务链中的每个网络节点具有跨一个或多个下一跳来分发所述业务流的能力。
示例AD.根据示例U至AC中任一项所述的计算系统,还包括用于至少部分基于所述多个网络节点中的每个网络节点的权重来在所述多个网络节点间分发所述多个业务流的装置、以及用于至少基于所述多个网络节点中的每个网络节点的性能信息来确定所述权重的装置。
示例AE.根据示例U至AD中任一项所述的计算系统,还包括:用于检查所述特定业务流的一个或多个分组的装置,所述检查由特定网络节点根据所述特定网络节点的特定网络相关功能来执行;以及用于由所述特定网络节点进一步更新所述策略以重新引导所述特定业务流至少通过另一网络节点的装置,所述重新引导至少部分基于所述检查,所述策略指示所述特定服务链的所述多个网络节点的所述子集中的所述特定网络节点被允许基于所述检查来更新所述策略。
示例AF.一种被配置为提供网络节点的计算系统,所述计算系统包括:用于接收与至少多个网络节点相关联的性能信息的装置;用于标识要被包括在要用于特定业务流的特定服务链中的所述多个网络节点的子集的装置;以及用于更新与所述特定业务流相关联并且由所述多个网络节点的所述子集可使用以引导所述特定业务流通过所述特定服务链的策略的装置,所述策略指示要被包括在所述特定服务链中的所述多个网络节点的所述子集,所述策略还指示通过所述多个网络节点的所述子集的数据流顺序。
示例AG.根据示例AF所述的计算系统,还包括用于引起新的网络节点被实例化的装置,并且其中用于更新的所述装置包括用于更新所述策略以引导所述特定业务流以重新引导通过至少所述新的网络节点的装置。
实例AH.根据示例AF或AG中任一项所述的计算系统,其中用于更新的所述装置至少基于性能信息或者所述多个网络节点的所述子集中的一个或多个网络节点的故障中的一项。
示例AI.根据示例AF至AH中任一项所述的计算系统,还包括用于对特定业务流的一个或多个分组执行安全相关功能的装置,其中用于更新所述策略的所述装置至少基于根据所述安全相关功能对所述一个或多个分组的检查,用于更新的所述装置包括用于更新所述策略以将所述特定业务流从至少第一网络节点重新引导至至少第二网络节点的装置。
示例AJ.一种提供网络节点的方法,所述方法包括:接收与至少多个网络节点相关联的性能信息;标识要被包括在要用于特定业务流的特定服务链中的所述多个网络节点的子集;以及更新与所述特定业务流相关联并且由所述多个网络节点的所述子集可使用以引导所述特定业务流通过所述特定服务链的策略,所述策略指示要被包括在所述特定服务链中的所述多个网络节点的所述子集,所述策略还指示通过所述多个网络节点的所述子集的数据流顺序。
示例AK.根据示例AJ所述的方法还包括引起新的网络节点被实例化,并且其中所述更新包括更新所述策略以引导所述特定业务流以重新引导通过至少所述新的网络节点。
示例AL.根据示例AJ或AK中任一项所述的计算系统,其中所述更新至少基于性能信息或者所述多个网络节点的所述子集中的一个或多个网络节点的故障中的一项。
示例AM.根据权利要求17所述的方法,还包括对所述特定业务流的一个或多个分组执行安全相关功能,其中所述更新所述策略至少基于根据所述安全相关功能对所述一个或多个分组的检查,所述更新包括更新所述策略以将所述特定业务流从至少第一网络节点重新引导至至少第二网络节点。
结论
尽管已经用特定于结构特征和/或方法动作的语言描述了技术,但是应当理解,所附权利要求不一定限于所描述的特征或动作。相反,这些特征和行为被描述为示例实现。
以上描述的所有方法和过程可以在由一个或多个通用计算机或处理器执行的软件代码模块中实施并且完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储设备中。这些方法中的一些或全部可以替代地在专用计算机硬件中实施。
除非另有特别说明,否则诸如“能够(can)”、“可(could)”、“可能(might)”或“可以(may)”等条件语言在上下文中被理解为表示某些示例包括而其他示例不包括某些特征、元素和/或步骤。因此,这样的条件语言通常并不表示针对一种或多种示例以任何方式要求某些特征、元素和/或步骤,或者一个或多个示例必然包括用于在有或者没有用户输入或提示的情况下决定是否包括某些特征、元件和/或步骤或将在任何特定示例中执行的逻辑。除非另有特别说明,否则诸如短语“X、Y或Z中的至少一个”等连接语言应当被理解为表示项目、术语等可以是X、Y或Z、或者其组合。
本文中描述和/或附图中描绘的流程图中的任何例程描述、元素或框应当被理解为可能表示的模块、分段或代码部分,其包括用于在例程中实现特定的逻辑功能或元素的一个或多个可执行指令。替代实现被包括在本文中描述的示例的范围内,其中元件或功能可以被删除、或者不按所示出或讨论的顺序执行,包括基本同步或相反顺序,这取决于所涉及的功能,如本领域技术人员理解将理解的。应当强调,可以对上述示例做出很多变化和修改,其中的元素应当被理解为在其他可接受的示例之中。所有这样的修改和变化旨在被包括在本公开的范围内并且由所附权利要求保护。

Claims (15)

1.一种用于提供多个服务链的计算系统,所述计算系统包括:
一个或多个处理器;
存储器;以及
多个编程指令,被存储在所述存储器上并且由所述一个或多个处理器可执行以执行动作,所述动作包括:
标识要被包括在所述多个服务链中的特定服务链中的多个网络节点的子集,所述特定服务链要被用于多个业务流中的特定业务流,所述特定业务流与应用节点相关联;
定义指示所述多个网络节点的所述子集和与所述应用节点相关联的所述特定业务流通过所述特定服务链的所述多个网络节点的所述子集的顺序的策略;
向所述多个网络节点的所述子集分发所述策略;
实施所述策略以引导所述特定业务流通过所述特定服务链,所述策略指示要被包括在所述特定服务链中的所述多个网络节点的所述子集,所述策略还指示通过所述多个网络节点的所述子集的数据流顺序;
监测多个网络节点,所述多个网络节点中的每个网络节点提供对应的网络相关功能;以及
响应于所述监测,更新所述策略并且一旦所述策略被更新就向所述多个网络节点的所述子集重新分发所述策略。
2.根据权利要求1所述的计算系统,其中标识所述多个网络节点的所述子集还包括:至少基于与所述多个网络节点相关联的性能信息或与所述多个网络节点相关联的服务可用性信息,标识要被包括在所述特定服务链中的所述多个网络节点的所述子集。
3.根据权利要求1所述的计算系统,其中所述动作还包括:
实例化新的网络节点;以及
进一步更新所述策略以引导所述特定业务流至少通过所述新的网络节点。
4.根据权利要求3所述的计算系统,其中所述动作还包括至少基于与所述多个网络节点的所述子集相关联的性能信息或与所述多个网络节点相关联的服务可用性信息来确定实例化所述新的网络节点。
5.根据权利要求4所述的计算系统,其中所述性能信息选自由历史网络利用率和实时网络利用率组成的组。
6.根据权利要求3所述的计算系统,其中所述动作还包括至少基于所述多个网络节点的所述子集中的至少一个网络节点的故障来确定实例化所述新的网络节点。
7.根据权利要求1所述的计算系统,其中所述动作还包括至少基于对所述多个网络节点之间的所述多个业务流进行负载平衡来标识要被包括在所述特定服务链中的所述多个网络节点的所述子集。
8.根据权利要求7所述的计算系统,其中所述策略指示选自由层2下一跳地址、层3下一跳地址以及层2下一跳地址和层3下一跳地址的组合组成的组的对应的下一跳节点地址。
9.根据权利要求1所述的计算系统,其中所述服务链中的每个网络节点具有跨一个或多个下一跳来分发所述业务流的能力。
10.根据权利要求1所述的计算系统,其中所述动作还包括:
检查所述特定业务流的一个或多个分组,所述检查由特定网络节点根据所述特定网络节点的特定网络相关功能来执行;以及
由所述特定网络节点进一步更新所述策略以重新引导所述特定业务流至少通过另一网络节点,所述重新引导至少部分基于所述检查,所述策略指示所述特定服务链的所述多个网络节点的所述子集中的所述特定网络节点被允许基于所述检查来更新所述策略。
11.根据权利要求1所述的计算系统,其中所述动作还包括至少部分基于所述多个网络节点中的每个网络节点的权重来在所述多个网络节点之间分发所述多个业务流,所述动作还包括至少基于所述多个网络节点中的每个网络节点的性能信息来确定所述权重。
12.一种方法,包括:
标识要被包括在多个服务链中的特定服务链中的多个网络节点的子集,所述特定服务链用于与应用节点相关联的特定业务流,所述多个网络节点中的每个网络节点提供对应的网络相关功能,所述特定业务流是多个业务流之一;
定义指示所述多个网络节点的所述子集和与所述应用节点相关联的所述特定业务流通过所述多个网络节点的所述子集的顺序的策略;
向所述多个网络节点的所述子集分发所述策略;
监测与所述多个网络节点中的一个或多个网络节点相关联的能力信息;以及
响应于所述监测,更新所述策略并且一旦更新就至少向所述多个网络节点的所述子集重新分发所述策略。
13.根据权利要求12所述的方法,还包括:
至少基于所述能力信息来引起新的网络节点被实例化;以及
其中所述更新包括更新所述策略以引导所述特定业务流至少通过所述新的网络节点。
14.根据权利要求12所述的方法,其中所述更新包括至少基于对所述多个业务流进行负载平衡来更新所述策略。
15.根据权利要求12所述的方法,其中所述更新包括更新所述策略以指示使得所述多个网络节点的所述子集中的特定网络节点能够改变所述策略以重新引导所述特定业务流至少通过另一网络节点,所述重新引导至少基于由所述特定网络节点根据由所述特定网络节点提供的特定网络相关功能而执行的分组检查。
CN201680041159.5A 2015-07-14 2016-07-14 用于网络服务的高度可用的服务链 Active CN107852368B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562192489P 2015-07-14 2015-07-14
US62/192,489 2015-07-14
US14/866,676 US9929945B2 (en) 2015-07-14 2015-09-25 Highly available service chains for network services
US14/866,676 2015-09-25
PCT/US2016/042176 WO2017011607A1 (en) 2015-07-14 2016-07-14 Highly available service chains for network services

Publications (2)

Publication Number Publication Date
CN107852368A true CN107852368A (zh) 2018-03-27
CN107852368B CN107852368B (zh) 2021-04-06

Family

ID=56618235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680041159.5A Active CN107852368B (zh) 2015-07-14 2016-07-14 用于网络服务的高度可用的服务链

Country Status (4)

Country Link
US (1) US9929945B2 (zh)
EP (1) EP3323228B1 (zh)
CN (1) CN107852368B (zh)
WO (1) WO2017011607A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111193666A (zh) * 2018-11-14 2020-05-22 瞻博网络公司 使用自适应机器学习探测预测应用体验质量度量
CN114237883A (zh) * 2021-12-10 2022-03-25 北京天融信网络安全技术有限公司 一种安全服务链创建方法、报文传输方法、装置及设备
CN114342342A (zh) * 2019-10-30 2022-04-12 Vm维尔股份有限公司 跨多个云的分布式服务链
US11805036B2 (en) 2018-03-27 2023-10-31 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417922B2 (en) 2012-12-03 2016-08-16 Cutting Edge Consulting Associates, Inc. Systems and methods for protecting an identity in network communications
US9794379B2 (en) 2013-04-26 2017-10-17 Cisco Technology, Inc. High-efficiency service chaining with agentless service nodes
USRE48131E1 (en) 2014-12-11 2020-07-28 Cisco Technology, Inc. Metadata augmentation in a service function chain
US11356359B2 (en) * 2015-09-02 2022-06-07 Telefonaktiebolaget Lm Ericsson (Publ) Methods and network nodes for scalable top-of-chain selection in mobile service chaining
US20170070387A1 (en) * 2015-09-09 2017-03-09 Telefonaktiebolaget L M Ericsson (Publ) Method for pro-active traffic redirection in multi-hop wireless networks using software defined networking
KR20170052002A (ko) * 2015-11-03 2017-05-12 한국전자통신연구원 가상 네트워크 기능 체이닝 시스템 및 방법
US10986039B2 (en) * 2015-11-11 2021-04-20 Gigamon Inc. Traffic broker for routing data packets through sequences of in-line tools
US10305764B1 (en) * 2015-12-30 2019-05-28 VCE IP Holding Company LLC Methods, systems, and computer readable mediums for monitoring and managing a computing system using resource chains
US10148594B2 (en) 2015-12-31 2018-12-04 Fortinet, Inc. Application based conditional forwarding and load balancing in a software defined networking (SDN) architecture
US10075393B2 (en) * 2015-12-31 2018-09-11 Fortinet, Inc. Packet routing using a software-defined networking (SDN) switch
US10374922B2 (en) * 2016-02-24 2019-08-06 Cisco Technology, Inc. In-band, health-based assessments of service function paths
US10182019B2 (en) * 2016-02-25 2019-01-15 Telefonaktiebolaget Lm Ericsson (Publ) Interconnected hardware infrastructure resource control
US10187306B2 (en) 2016-03-24 2019-01-22 Cisco Technology, Inc. System and method for improved service chaining
US10931793B2 (en) 2016-04-26 2021-02-23 Cisco Technology, Inc. System and method for automated rendering of service chaining
US10237187B2 (en) * 2016-04-29 2019-03-19 Citrix Systems, Inc. System and method for service chain load balancing
US10218616B2 (en) 2016-07-21 2019-02-26 Cisco Technology, Inc. Link selection for communication with a service function cluster
US10320664B2 (en) 2016-07-21 2019-06-11 Cisco Technology, Inc. Cloud overlay for operations administration and management
US10225270B2 (en) 2016-08-02 2019-03-05 Cisco Technology, Inc. Steering of cloned traffic in a service function chain
US10218593B2 (en) 2016-08-23 2019-02-26 Cisco Technology, Inc. Identifying sources of packet drops in a service function chain environment
US10616347B1 (en) * 2016-10-20 2020-04-07 R&D Industries, Inc. Devices, systems and methods for internet and failover connectivity and monitoring
US10333829B2 (en) * 2016-11-30 2019-06-25 Futurewei Technologies, Inc. Service function chaining and overlay transport loop prevention
US10129127B2 (en) * 2017-02-08 2018-11-13 Nanning Fugui Precision Industrial Co., Ltd. Software defined network controller, service function chaining system and trace tracking method
EP3582457B1 (en) * 2017-02-08 2022-11-09 Nippon Telegraph And Telephone Corporation Communication device and communication method
WO2018149514A1 (en) * 2017-02-16 2018-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for virtual function self-organisation
US11050784B1 (en) * 2017-03-17 2021-06-29 Amazon Technologies, Inc. Mitigating a denial-of-service attack
US10225187B2 (en) 2017-03-22 2019-03-05 Cisco Technology, Inc. System and method for providing a bit indexed service chain
CN109417513B (zh) * 2017-03-24 2021-09-14 华为技术有限公司 软件定义网络中动态检测对端的系统和方法
US10333855B2 (en) 2017-04-19 2019-06-25 Cisco Technology, Inc. Latency reduction in service function paths
US10623264B2 (en) 2017-04-20 2020-04-14 Cisco Technology, Inc. Policy assurance for service chaining
US10554689B2 (en) 2017-04-28 2020-02-04 Cisco Technology, Inc. Secure communication session resumption in a service function chain
US10348638B2 (en) 2017-05-30 2019-07-09 At&T Intellectual Property I, L.P. Creating cross-service chains of virtual network functions in a wide area network
US10735275B2 (en) 2017-06-16 2020-08-04 Cisco Technology, Inc. Releasing and retaining resources for use in a NFV environment
US10798187B2 (en) 2017-06-19 2020-10-06 Cisco Technology, Inc. Secure service chaining
US10397271B2 (en) 2017-07-11 2019-08-27 Cisco Technology, Inc. Distributed denial of service mitigation for web conferencing
US10673698B2 (en) 2017-07-21 2020-06-02 Cisco Technology, Inc. Service function chain optimization using live testing
US11063856B2 (en) 2017-08-24 2021-07-13 Cisco Technology, Inc. Virtual network function monitoring in a network function virtualization deployment
US10516650B2 (en) 2017-09-13 2019-12-24 Netabstraction, Inc. Dynamic, user-configurable virtual private network
US10791065B2 (en) 2017-09-19 2020-09-29 Cisco Technology, Inc. Systems and methods for providing container attributes as part of OAM techniques
US11018981B2 (en) 2017-10-13 2021-05-25 Cisco Technology, Inc. System and method for replication container performance and policy validation using real time network traffic
US10637750B1 (en) * 2017-10-18 2020-04-28 Juniper Networks, Inc. Dynamically modifying a service chain based on network traffic information
US10541893B2 (en) 2017-10-25 2020-01-21 Cisco Technology, Inc. System and method for obtaining micro-service telemetry data
US10855590B2 (en) 2018-08-31 2020-12-01 Gigamon Inc. Elastic modification of application instances in a network visibility infrastructure
CN110932923B (zh) * 2018-09-20 2022-04-01 中国移动通信有限公司研究院 计算带宽利用率的方法及设备
US10805221B2 (en) 2018-11-06 2020-10-13 Nanning Fugui Precision Industrial Co., Ltd. Service function chain (SFC) path selection method and system
US11146492B2 (en) * 2019-02-01 2021-10-12 Arista Networks, Inc. Method and system for optimizing service device traffic management
US11349715B2 (en) 2019-02-01 2022-05-31 Arista Networks, Inc. Method and system for consistent policy enforcement through fabric offloading
CN110166359B (zh) * 2019-05-27 2022-02-25 新华三信息安全技术有限公司 一种报文转发方法及装置
JP7191781B2 (ja) * 2019-06-21 2022-12-19 エヌ・ティ・ティ・コミュニケーションズ株式会社 ポリシー決定装置、ポリシー決定方法、およびプログラム
US11411843B2 (en) * 2019-08-14 2022-08-09 Verizon Patent And Licensing Inc. Method and system for packet inspection in virtual network service chains
US11050640B1 (en) * 2019-12-13 2021-06-29 Cisco Technology, Inc. Network throughput assurance, anomaly detection and mitigation in service chain
JP2023519856A (ja) * 2020-03-31 2023-05-15 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ネットワーク機能の変更通知をサブスクライブするための方法および装置
US11924087B2 (en) * 2020-12-18 2024-03-05 Ciena Corporation Adjustable multi-criteria network path computation and visualizations thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092744A (zh) * 2014-06-30 2014-10-08 山东科技大学 基于记忆化服务簇映射目录的Web服务发现方法
CN104322023A (zh) * 2013-05-24 2015-01-28 华为技术有限公司 流转发方法、设备及系统
CN104426756A (zh) * 2013-08-19 2015-03-18 中兴通讯股份有限公司 一种服务节点能力信息的获取方法及控制平台
WO2015055945A1 (fr) * 2013-10-18 2015-04-23 Orange Procede et systeme de decouverte dynamique de fonctions service
WO2015094040A1 (en) * 2013-12-18 2015-06-25 Telefonaktiebolaget L M Ericsson (Publ) Method and control node for handling data packets
US20150195197A1 (en) * 2014-01-06 2015-07-09 Futurewei Technologies, Inc. Service Function Chaining in a Packet Network

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728748B1 (en) 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US7478161B2 (en) 1999-11-30 2009-01-13 Microsoft Corporation Network quality of service for qualitative applications
US6941557B1 (en) 2000-05-23 2005-09-06 Verizon Laboratories Inc. System and method for providing a global real-time advanced correlation environment architecture
US7444398B1 (en) 2000-09-13 2008-10-28 Fortinet, Inc. System and method for delivering security services
US7363353B2 (en) 2001-07-06 2008-04-22 Juniper Networks, Inc. Content service aggregation device for a data center
US20040111506A1 (en) 2002-12-10 2004-06-10 International Business Machines Corporation System and method for managing web utility services
US7606147B2 (en) 2005-04-13 2009-10-20 Zeugma Systems Inc. Application aware traffic shaping service node positioned between the access and core networks
US20070078996A1 (en) 2005-10-04 2007-04-05 Wei-Che Chen Method for managing a network appliance and transparent configurable network appliance
EP1879358A1 (en) 2006-07-12 2008-01-16 Hewlett-Packard Development Company, L.P. Method of providing composite services in a network and corresponding network element
US20090063747A1 (en) 2007-08-28 2009-03-05 Rohati Systems, Inc. Application network appliances with inter-module communications using a universal serial bus
US8442043B2 (en) 2008-12-29 2013-05-14 Cisco Technology, Inc. Service selection mechanism in service insertion architecture data plane
JP5315128B2 (ja) 2009-05-25 2013-10-16 株式会社日立製作所 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法
JP5533315B2 (ja) 2010-06-16 2014-06-25 富士ゼロックス株式会社 情報処理システム、管理装置、処理要求装置及びプログラム
US8743885B2 (en) * 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
CA2862585C (en) 2012-01-26 2020-06-09 Siemens Aktiengesellschaft Controller and method for controlling communication services for applications on a physical network
US10097452B2 (en) 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
US9661522B2 (en) 2012-07-09 2017-05-23 Cisco Technology, Inc. System and method associated with a service flow router
US8817625B1 (en) 2013-09-13 2014-08-26 Telefonaktiebolaget L M Ericsson (Publ) Service placement for inline services chaining with multiple instances
US10361918B2 (en) * 2013-03-19 2019-07-23 Yale University Managing network forwarding configurations using algorithmic policies
US9246799B2 (en) 2013-05-10 2016-01-26 Cisco Technology, Inc. Data plane learning of bi-directional service chains
US9258243B2 (en) 2013-05-10 2016-02-09 Cisco Technology, Inc. Symmetric service chain binding
US9137161B2 (en) 2013-05-29 2015-09-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system of bandwidth-aware service placement for service chaining
US9444675B2 (en) 2013-06-07 2016-09-13 Cisco Technology, Inc. Determining the operations performed along a service path/service chain
CN104333511B (zh) 2013-07-22 2019-01-08 华为技术有限公司 确定业务传输路径的方法、装置及系统
US9203765B2 (en) 2013-08-30 2015-12-01 Cisco Technology, Inc. Flow based network service insertion using a service chain identifier
US9755960B2 (en) 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks
KR101460048B1 (ko) 2013-10-24 2014-11-11 에스케이텔레콤 주식회사 태깅을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치
US9363180B2 (en) 2013-11-04 2016-06-07 Telefonkatiebolaget L M Ericsson (Publ) Service chaining in a cloud environment using Software Defined Networking
KR101527377B1 (ko) 2014-03-31 2015-06-09 쿨클라우드(주) Sdn 기반의 서비스 체이닝 시스템
US20170250869A1 (en) * 2014-09-12 2017-08-31 Andreas Richard Voellmy Managing network forwarding configurations using algorithmic policies
US20170019303A1 (en) 2015-07-14 2017-01-19 Microsoft Technology Licensing, Llc Service Chains for Network Services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104322023A (zh) * 2013-05-24 2015-01-28 华为技术有限公司 流转发方法、设备及系统
CN104426756A (zh) * 2013-08-19 2015-03-18 中兴通讯股份有限公司 一种服务节点能力信息的获取方法及控制平台
WO2015055945A1 (fr) * 2013-10-18 2015-04-23 Orange Procede et systeme de decouverte dynamique de fonctions service
WO2015094040A1 (en) * 2013-12-18 2015-06-25 Telefonaktiebolaget L M Ericsson (Publ) Method and control node for handling data packets
US20150195197A1 (en) * 2014-01-06 2015-07-09 Futurewei Technologies, Inc. Service Function Chaining in a Packet Network
CN104092744A (zh) * 2014-06-30 2014-10-08 山东科技大学 基于记忆化服务簇映射目录的Web服务发现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11805036B2 (en) 2018-03-27 2023-10-31 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
CN111193666A (zh) * 2018-11-14 2020-05-22 瞻博网络公司 使用自适应机器学习探测预测应用体验质量度量
CN111193666B (zh) * 2018-11-14 2021-10-26 瞻博网络公司 使用自适应机器学习探测预测应用体验质量度量
CN114342342A (zh) * 2019-10-30 2022-04-12 Vm维尔股份有限公司 跨多个云的分布式服务链
CN114237883A (zh) * 2021-12-10 2022-03-25 北京天融信网络安全技术有限公司 一种安全服务链创建方法、报文传输方法、装置及设备

Also Published As

Publication number Publication date
EP3323228A1 (en) 2018-05-23
WO2017011607A1 (en) 2017-01-19
EP3323228B1 (en) 2019-10-16
CN107852368B (zh) 2021-04-06
US20170019335A1 (en) 2017-01-19
US9929945B2 (en) 2018-03-27

Similar Documents

Publication Publication Date Title
CN107852368A (zh) 用于网络服务的高度可用的服务链
US10778756B2 (en) Location of actor resources
US10965515B2 (en) Graph-based network fabric for a network visibility appliance
US20220046084A1 (en) Providing a set of application slices within an application environment
CN110392999A (zh) 分布式计算系统中的虚拟过滤平台
Akbar Neghabi et al. Nature‐inspired meta‐heuristic algorithms for solving the load balancing problem in the software‐defined network
US20170019303A1 (en) Service Chains for Network Services
US8862744B2 (en) Optimizing traffic load in a communications network
CN109644157A (zh) 使用底层任播vtep ip的边缘节点集群网络冗余和快速收敛
EP3596600B1 (en) Systems and methods for compute node management protocols
CN107005584A (zh) 内联服务交换机
CN108886496A (zh) 多路径虚拟交换
US20160234234A1 (en) Orchestrating the Use of Network Resources in Software Defined Networking Applications
CN107078921A (zh) 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
CN107077340A (zh) 负载均衡
EP3432551B1 (en) Splitting network discovery payload based on degree of relationships between nodes
US11750518B2 (en) Elastic modification of application instances in a network visibility infrastructure
US20200007440A1 (en) Dynamic rule-based flow routing in networks
CN112714903A (zh) 使用客户端提供的决策元数据的基于可缩放小区的包处理服务
US11571618B1 (en) Multi-region game server fleets
Toosi et al. Acinonyx: Dynamic flow scheduling for virtual machine migration in SDN-enabled clouds
Femminella et al. Networking issues related to delivering and processing genomic big data
US20230164022A1 (en) Cloud Network Failure Auto-Correlator
US11571619B1 (en) Cross-region management of game server fleets
Teyeb Integrated optimization in cloud environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant