CN108475206B - 在网络功能虚拟化架构中实现精细的粒度服务链 - Google Patents
在网络功能虚拟化架构中实现精细的粒度服务链 Download PDFInfo
- Publication number
- CN108475206B CN108475206B CN201680079648.XA CN201680079648A CN108475206B CN 108475206 B CN108475206 B CN 108475206B CN 201680079648 A CN201680079648 A CN 201680079648A CN 108475206 B CN108475206 B CN 108475206B
- Authority
- CN
- China
- Prior art keywords
- service
- kernel
- special
- specialized
- session
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements 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
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45541—Bare-metal, i.e. hypervisor runs directly on hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/503—Internet protocol [IP] addresses using an authentication, authorisation and accounting [AAA] protocol, e.g. remote authentication dial-in user service [RADIUS] or Diameter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
网络设备实施一种通过使用闪电模块按需实例化服务来在网络中提供服务链的方法。闪电模块将服务提供为特型内核执行的应用,其中特型内核由管理程序支持。该方法还包括通过闪电模块接收对用户的认证、管理和计费(AAA)服务认证;实例化特殊的特型内核以监控会话中的来自用户的分组;以及,响应于接收到来自用户的分组,实例化在至少一个特型内核配置文件中标识的服务链特型内核。
Description
技术领域
本发明的实施例涉及服务链领域,更具体地,涉及使用最小化虚拟化操作环境中所需的资源的按需服务来实现服务链的方法。
背景技术
虚拟化指代创建硬件平台和/或软件操作环境的虚拟而非真实版本的计算环境。通常,虚拟化被实现为虚拟机,其充当具有操作系统的真实计算机。软件可以在虚拟机中执行,就像它在实际计算系统上执行一样。然而,虚拟机将执行软件与该执行软件在其上操作的实际计算机硬件分离。在一些虚拟化环境中,多个虚拟机可以在计算机硬件集合上执行。如本文所使用的,“集合”指代包括一个项目的任何正整数个项目。管理程序是管理实际计算机硬件资源和虚拟机对这些资源的访问的软件。
此虚拟化空间中的另一概念称为容器化(containerization)。容器为应用提供操作空间,其中操作系统的内核允许多个隔离的用户空间实例,而不是单个用户空间实例。容器化简化了“虚拟化”堆栈(即,实现虚拟化的程序集,例如虚拟机和管理程序),并且使得能够在特定硬件平台或“主机”上运行附加应用。然而,容器化技术将应用限制为在相同内核上运行。此外,容器“轻”安全性使得云提供商(容器的常见用例)难以仅利用容器来接受“多租户”(其中不同的客户在云计算环境中使用相同的硬件)。这些限制使得云提供商在虚拟机内运行容器,以便为每个客户提供更高的安全性。
容器和虚拟机两者都在操作的完整内核上运行,这会带来很大的开销,因为内核包含大量未使用的代码(也称为“死”代码)。这种设置的直接后果是存在大量错误,并且大的“攻击表面”使得云计算系统的用户易受攻击。此外,容器需要很长时间才能启动,这需要它们保持处于活动模式,以便在高可用性或低延迟应用需要时读取大多数类型的应用。
与网络中的服务链相关地使用虚拟化。可以通过控制器来虚拟化(NFV)和组织网络功能。这种实现的一种可能性是经由软件定义网络(SDN)架构中的控制器。然而,SDN架构并未得到广泛应用。SDN控制器的可扩展性和弹性是加速采用SDN需要解决的两大挑战。另一方面,添加附加的SDN控制器是解决弹性的快速应急措施(fix)。然而,链路故障的恢复时间可以导致严重的分组丢失和/或更高的延迟。目前的趋势表明,在数据面中留有足够的智能,以应对这一问题,这与SDN设计相悖。因此,SDN不是用于服务链的现成选项。
发明内容
在一个实施例中,提供了一种由网络设备实施的方法。该方法用于通过由闪电模块按需实例化服务来实现服务链。闪电模块将服务提供为特型内核执行的应用,其中特型内核由管理程序支持。该方法包括通过闪电模块接收对用户的认证、管理和计费(AAA)服务认证;实例化特殊的特型内核以监控会话中的来自用户的分组;以及,响应于接收到来自用户的分组,实例化在至少一个特型内核配置文件中标识的服务链特型内核。
在另一实施例中,网络设备被配置为执行用于实现服务链的方法。其中,服务链是通过由闪电模块按需实例化服务来实现的。闪电模块将服务提供为由管理程序支持的特型内核执行的应用。网络设备包括:非暂时性机器可读存储介质,其中存储有闪电模块和管理程序数据库;以及耦合到非暂时性机器可读存储介质的处理器,处理器被配置为执行所述闪电模块,闪电模块被配置为:接收对用户的认证、管理和计费(AAA)服务认证;实例化特殊的特型内核以监控会话中的来自用户的分组;以及,响应于接收到来自用户的分组,实例化在至少一个特型内核配置文件中标识的服务链特型内核。
在另一实施例中,提供了一种非暂时性机器可读介质,其中存储有指令集,当执行该指令集时使得网络设备执行方法。该方法用于通过由闪电模块按需实例化服务来实现服务链。闪电模块将服务提供为由管理程序支持的特型内核执行的应用。该指令集还包括通过闪电模块接收对用户的认证、管理和计费(AAA)服务认证;实例化特殊的特型内核以监控会话中的来自用户的分组;以及,响应于接收到来自用户的分组,实例化在至少一个特型内核配置文件中标识的服务链特型内核。
附图说明
通过参考用于说明本发明实施例的以下描述和附图,可以最好地理解本发明。附图中:
图1是示出了在实现应用时虚拟机(VM)、容器和特型内核(unikernel)之间的差异的图。
图2是示出了当前虚拟设备设计与实施例中使用的特型内核实现之间的差异的图。
图3A和图3B是系统架构的一个实施例的图。
图4是网络层级处的服务链处理的一个实施例的图。
图5是针对服务链管理的处理的一个实施例的流程图。
图6A示出了根据本发明一些实施例的示例网络内的网络设备(ND)之间的连接性以及ND的三种示例性实现。
图6B示出了根据本发明一些实施例的用于实现专用网络设备的示例性方式。
图6C示出了根据本发明一些实施例的可以耦合虚拟网元(VNE)的各种示例性方式。
具体实施方式
以下描述描述了通过按需实例化服务来实现服务链的方法和装置。这些服务由闪电(lightning)模块实例化,闪电模块将服务实例化为由虚拟化操作环境中的管理程序支持的特型内核执行的应用。此处理利用特殊的特型内核来监控通信会话中的来自与给定用户相关联的会话的分组。在通过闪电模块接收到用户认证并与给定会话相关联后,将实例化此特殊特型内核。当接收到来自会话的分组时,可以随后在由特型内核配置文件定义的服务链特型内核中实例化适当的服务。闪电模块和按需实例化服务的处理减少了服务链实现的开销,同时通过使用特型内核来执行每个按需服务提供了低延迟处理。
在以下描述中,阐述了大量的具体细节,例如逻辑实现、操作码(opcode)、用于指定运算数的手段、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/整合选择,以提供对本发明的更全面的理解。然而,本领域技术人员将理解:本发明可以在没有这些具体细节的情况下实施。在其它实例中,并未详细示出控制结构、门级电路和全软件指令序列,以不使本发明模糊。在利用所包括的描述的情况下,本领域普通技术人员将能够在不进行过度试验的情况下实现适当的功能。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示了所描述的实施例可以包括特定特征、结构、或特性,但是每个实施例可以不必包括该特定特征、结构、或特性。此外,这种短语不一定指代同一实施例。此外,当结合实施例来描述具体特征、结构或特性时,应认为结合其它实施例(不管是否是显式描述的)来实现这种特征、结构或特性是在本领域技术人员的知识内的。
在本文中,括号中的文本和具有虚线边界(例如,长划点虚线、短划线虚线、点虚线、以及点)的块可以用于示出向本发明实施例添加附加特征的可选操作。然而,这种标注不应当被视为意味着:在本发明的某些实施例中,它们是仅有的选项或可选操作,和/或具有实线边界的块不是可选的。
在以下描述和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应当理解:这些术语不意在作为彼此的同义词。“耦合”用于指示两个或更多个元件可以或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”用于指示在彼此耦合的两个或更多个元件之间建立通信。
电子设备使用机器可读介质(也被称为计算机可读介质)来(内部和/或通过网络使用其它电子设备)存储和发送代码(其由软件指令构成,且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质是例如机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪存设备、相变存储器)和机器可读传输介质(也被称为载体)(例如,电、光、无线电、声或其它形式的传播信号-例如载波、红外信号)。从而,电子设备(例如,计算机)包括硬件和软件,例如一个或多个处理器的集合,其耦合到用于存储在该处理器集合上执行的代码和/或用于存储数据的一个或多个机器可读存储介质。例如,电子设备可以包括包含代码在内的非易失性存储器,因为即使在电子设备关闭(当掉电时)时非易失性存储器也可以保持代码/数据,以及在打开电子设备时,通常将要由该电子设备的处理器执行的该部分代码从较慢的非易失性存储器中拷贝到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。通常的电子设备还包括用于与其它电子设备建立网络连接(以使用传播信号来发送和/或接收代码和/或数据)的一个或多个物理网络接口的集合。本发明实施例的一个或多个部分可以使用软件、固件、和/或硬件的不同组合来实现。
网络设备(ND)是将网络上其它电子设备(例如,其它网络设备、端用户设备)加以通信互联的电子设备。一些网络设备是为多个联网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量、和/或订户管理)提供支持、和/或为多个应用服务(例如,数据、语音、和视频)提供支持的“多服务网络设备”。
概览
该实施例克服了现有技术的问题。服务链的现有技术具有许多缺点。实施例通过引入允许绕过(bypass)次优分组交换的新机制来解决服务链的现有问题。基于SDN的服务链使得能够实现不同虚拟网络功能(VNF)之间的业务定向,但其操作效率低下。在基于SDN的服务链中,需要业务在被重新路由到下一跳VNF之前在虚拟交换机上“跳动”(即,被转发到控制器)。实施例提供了一种处理和系统,其允许对虚拟路由器内的专用微服务(例如,VNF)进行“按需”实例化和链接。实施例采用新机制来将特定的VNF集合一起实例化、配置和拼接成服务链。此处理与每个VNF使用低内存占用的结构相结合,并且能够增加同时运行的VNF的数量。实施例的处理和结构能够扩展到大规模并且服务于大量租户。
实施例相比于现有技术所提供的优点包括提供“零占用”云,因为实施例允许在接收到业务时启动VNF,并且还在会话终止时关闭相同的VNF。类似地,实施例使得能够对VNF快速实例化,使得系统能够扩大或缩小规模。实施例通过在用于实现VNF的实例化容器之间使用零拷贝共享存储器来消除业务定向(即,不涉及SDN)。实施例还提供了现有技术的改善的安全性。
实施例利用特型内核来实例化VNF。特型内核由管理程序和“闪电模块”管理,如下文进一步描述的。本文中使用的特型内核是被设计用于在云环境中运行的单用途程序。特型内核是从应用代码、系统库和配置的模块化堆栈编译而来的。它们不是被设计为直接在硬件上运行,因为它们缺少处理驱动器所需的代码和复杂性,这使得特型内核可快速实例化和终止,以及限制其资源需求。此外,特型内核不是被设计为支持多用户或多进程操作。相反,每个特型内核都是仅运行一个特定应用的单个线程。特型内核在管理程序(例如,XEN管理程序或类似的管理程序)上和/或在容器(例如,Docker)中运行。本领域技术人员将理解,本文描述的关于在管理程序上运行的实施例也可以在容器中运行。
图1是示出了在实现应用时虚拟机(VM)、容器和特型内核(unikernel)之间的差异的图。特型内核设计通过将内核切分成模块化集合和独立的库、并且使得每个应用仅能够选择以期望性能运行所需的模块化和库,来去除用户空间和内核之间的经典边界。如图1所示,VM实现构建于与共享硬件接口连接的管理程序上。然后,虚拟机将该硬件抽象并表示到在VM上执行的操作系统。操作系统是支持应用赖以操作的运行时间模块和库的完整的操作系统。
相反,容器在操作系统上操作。容器分隔用户空间,使得不同的用户具有在相同操作系统上操作的离散用户空间。然而,运行时间模块和库特定于容器的用户空间。在使用通用操作系统时,应用使用容器内的这些运行时间模块和库进行操作。在这种情况下,可以通过操作系统来接口连接硬件,或者在一些情况下,可以存在附加的抽象级别。此外,可以结合容器使用附加的安全性,其中应用在具有运行时间模块和库的安全容器中运行。主机操作系统也可以在容器中操作,并且管理程序管理与平台的硬件的接口。
如上所述,特型内核具有更简单且“更轻”的实现。特型内核提供执行应用所需的特定环境。因此,在特型内核环境中的应用可以不依赖于通用运行时间模块或库,并且与管理程序直接接口连接。这使得特型内核中的应用更加专业化、更高效、资源消耗更少、加载和终止速度也更快。因此,实施例依赖于使用特型内核来将NFV实现为服务链处理和结构的一部分。
图2是示出了当前虚拟设备设计与实施例中使用的特型内核实现之间的差异的图。如所示,用于在标准虚拟化环境中产生和执行应用的标准处理是将应用的源代码编译成目标文件。目标文件进一步被编译为二进制文件,该被编译成的二进制文件可以在用户空间中执行,并且可以访问运行时间模块和库。这些虚拟化环境中的操作系统的内核可以提供虚拟存储空间和对网络堆栈的访问以用于网络通信。内核还提供与硬件接口连接所需的I/O调度器和设备驱动器。
在实施例中,作为针对虚拟化应用的标准编译处理的备选方案,该处理创建用作应用的专用或“个性化”内核的特型内核。该处理从源代码开始,并且将该源代码编译成目标文件。向应用添加所需的网络库、设备库和启动库。完整的特型内核和应用链接在一起,并且可供管理程序和云平台(例如,XEN云设备)使用。该管理程序和云平台可以包括专用运行时间操作系统,例如幻景(mirage)操作系统或类似操作系统。
图3A和图3B是系统架构的一个实施例的图。在示例实施例中,示出了Xen管理程序。然而,本领域技术人员将理解,可以使用其它类型的类似管理程序。Xen管理程序是一种开源类型1或裸机管理程序,其可以在单个计算机(或主机)上并行运行操作系统的多个实例或实际上不同的操作系统。Xen管理程序用作为许多不同商业和开源应用的基础,例如:服务器虚拟化、基础设施即服务(IaaS)、桌面虚拟化、安全应用、嵌入式和硬件设备。
所示架构的实施例包括控制域(域0)。此域是具有特殊权限(例如,直接访问硬件的能力)的专用虚拟机。该域处理对系统I/O功能的所有访问,并且与其它虚拟机进行交互。它还向外界公开了控制接口,通过该接口控制系统。在没有域0的情况下,该示例Xen管理程序是不可用的,域0是系统启动的第一个VM。然而,可以使用与其实施例一致的其它等效管理程序架构。
域0中的关键模块是管理程序数据库(即,在此示例中为Xen存储(Xenstore)数据库),其用于在执行期间存储有关域的信息(即,域之间共享的分层命名空间),以及用作为创建和控制域U设备的机制。管理程序数据库用于配置和状态信息,而不是用于大型数据传输。管理程序数据库(即,Xen存储)支持处理(transaction)和原子操作。在该存储中,每个域都有自己的路径。在该存储中改变值时,将通知适当的驱动器。
结合实施例使用的管理程序(例如,Xen管理程序)可以具有包括具有较小占用和接口(大小约为1MB)在内的特性。因为它使用微内核设计,占用内存小,并且面向客户机(guest)的接口有限,因此它比其它管理程序更鲁棒、更安全。管理程序提供驱动器隔离和半虚拟化。Xen管理程序的示例实施例具有允许系统的主设备驱动器在虚拟机内运行的能力。如果驱动器崩溃或受到破坏,则可以重新启动包含驱动器的虚拟机,并且重新启动驱动器不会影响系统的其余部分。类似地,示例Xen管理程序提供了完全半虚拟化的客户机,这些客户机已经被优化为作为虚拟机运行。这允许客户机的运行速度比使用硬件扩展(HVM)的情况快得多。此外,管理程序可以在不支持虚拟化扩展的硬件上运行。
实施例提供了一种利用诸如图3A和图3B中所示的架构来提供服务链的处理。这种新的服务链机制基于微服务集合的动态实例化、配置和拼接,每个微服务作为特型内核的一部分运行,特型内核将服务于特定的流。通过促使特型内核性质改变,特型内核变得可以在往返时间(RTT)(即,在分组从服务链返回时接收并终止分组的时间)处以分组来启动这些微服务,从而允许在接收到第一分组时实例化整个链并且当会话结束时去除该链(稍后更详细描述)。期望这些微服务在物理/虚拟节点(例如,可以在任何网络设备、计算设备、云架构或类似环境中实现的虚拟路由器或交换机)上运行。在一个实施例中,可以使用爱立信虚拟交换机EVS。在一些实施例中,微服务可以分布在多个节点上,以使得系统能够扩展以处理大量服务和会话。
在一个实施例中,该处理促使基于管理程序的架构的特型内核性质(例如,诸如基于Xen管理程序的架构)改变。为此,我们引入了新模块,即“闪电”模块,它将与管理程序数据存储(例如,在域0中运行的Xen存储模块)通信。在使用Xen存储的实施例中,可以通过域0中的Unix域套接字、内核级API(即,XenBus是虚拟I/O驱动器用于与Xen存储交互的内置内核API)、或输入输出控制(ioctl)接口来访问Xen存储。
“闪电”模块提供以下服务:(1)特型内核标识和服务链配置,例如,请求分配仅对于特定的特型内核链来说可访问的共享存储段,(2)与认证、授权和计费(AAA)服务器接口连接,闪电模块可以从AAA服务器接收要应用于特定流的策略,以及(3)与可以在不同节点上运行的其它“闪电”模块接口连接。
闪电模块的这些服务可以应用于图3A中的架构中所示的示例中。在该示例中,用户集合及其指派的服务链被示出为是通过虚拟交换机或路由器(例如,EVS或EVR)实现的。“用户A”具有由4个特型内核组成的服务链,这些特型内核仅在成功认证用户A之后被实例化,如下面参考图4进一步描述的。该服务链中的每个特型内核都被指派了一个唯一的功能。在特型内核完成其任务后,它会发送信号,这允许下一个“内联”特型内核完成其工作,依此类推。这样的信号可以被发送到下一个特型内核或者发送到协调特型内核集合的中央实体(例如,闪电模块)。特型内核实例化和配置构建于管理程序中(即“闪电模块+Xen存储”)。此处理和架构确保租户和/或用户流之间的隔离。
图4是网络层级处的服务链处理的一个实施例的图。该示例图示示出了适用于在其中处理和架构以及实施例将是有益的固定和移动宽带两者的基本场景。请注意,可以在客户终端设备(CPE)、无线电基站(RBS)、WiFi接入点或类似设备中实例化特型内核。
以下述步骤(按顺序)描述了基本场景:(1)用户附接到CPE,然后RBS经由AAA发起认证;AAA向闪电模块传送用户的服务链;(3)“闪电”模块将服务链配置写入管理程序数据存储(例如,可以存储为子树的Xen存储);(4)然后,管理程序数据存储将服务链配置的要求转换为特型内核“config”文件;(4)实例化特殊的特型内核0(U0),并且向该特殊特型内核0分配共享存储器,以与给定服务链的其余特型内核一起使用;(5)在第一分组到达时,U0通知管理程序数据存储(例如,Xen存储)实例化链的其余部分;以及(6)当会话关闭时,特型内核0向管理程序数据存储(Xen存储)发送通知以去除整个链(包括U0)。
如应用于图4的示例那样的,用户设备连接到虚拟边界网络网关(vBNG)或虚拟演进分组网关(vEPG)。vBNG或vEPG可以是虚拟路由器或交换机的一部分。虚拟路由器或交换机可以由任何数量的网络设备、计算设备或类似设备实现。当会话是由用户设备启动的,并且与vBNG或vEPG处的虚拟路由器或交换机连接时,可以从AAA服务器做出认证请求。AAA服务器可以确定认证、计费、合法拦截、线路服务质量(QoS)、配额以及类似的策略和度量。然后将AAA确定返回到虚拟路由器和交换机。向闪电模块提供该AAA确定。闪电模块接收用户的服务链信息,并且与管理程序数据库(即,Xen存储)通信,以配置特型内核堆栈(即,特殊的特型内核和为会话提供服务链的微服务的特型内核集合)。当随后从vBNG或vEPG处的用户设备接收到业务时,然后,特殊的特型内核检测到来自用户设备的会话数据业务,并且根据需要实例化服务链的特型内核。当每个微服务完成时,它向闪电模块发信号通知微服务已经完成时,然后实例化下一微服务。因此,在任何给定时间处在其特型内核中仅执行当前活动的微服务。当所有服务都已执行时,则终止最后一个特型内核和特殊特型内核。在所示示例中,服务链包括深度分组检测(DPI)、收费、安全性、统一资源定位符(URL)解析或类似服务。这些服务中的每一个服务都由在由闪电模块管理的特型内核中操作的虚拟化功能实现。
将参考其它附图的示例性实施例来描述该流程图和其它流程图中的操作。然而,应当理解:流程图中的操作可以由本发明中除了参考其它附图描述的那些实施例之外的实施例来执行,且本发明的参考这些其它附图讨论的实施例可以执行与参考流程图来讨论的那些实施例不同的操作。
图5是针对服务链管理的处理的一个实施例的流程图。该处理可以开始于用户例如经由虚拟边界网络网关或虚拟演进分组网关而附接到客户终端设备或远程宽带服务(块501)。用户经由用户设备连接,并且建立要遍历虚拟路由器或交换机的会话。虚拟边界网络网关或虚拟演进分组网关可以向AAA服务请求对用户认证(块503)。AAA服务向虚拟交换机或路由器的闪电模块提供用户认证,其中闪电模块是管理程序和管理程序数据库的组件或与其通信(块505)。所接收的信息可以包括配置文件或与适用于用户的服务链有关的信息。
闪电模块将针对用户的服务链配置写入管理程序数据库来作为特型内核配置文件集合(块507)。然后,闪电模块实例化特殊的特型内核以监控会话中的来自用户的分组(块509)。当接收到来自用户的分组时(块511),该处理实例化在特型内核配置文件中标识的服务链特型内核。这开始于与要应用于的会话的第一服务相关联的第一特型内核被实例化(块513)。反过来,在每个服务或微服务完成之后,它指示下一服务或微服务开始,它然后终止。在针对服务链定义的所有服务都已完成之后,然后会话关闭,执行服务和微服务的特型内核终止,并且从包括特殊特型内核在内的管理程序数据库中去除该执行服务和微服务的特型内核。
图6A示出了根据本发明一些实施例的示例性网络内的网络设备(ND)之间的连接性以及ND的三种示例性实现。图6A示出了ND600A-600H、以及借助600A-600B、600B-600C、600C-600D、600D-600E、600E-600F、600F-600G、600A-600G之间和600H与600A、600C、600D和600G中每一个之间的线示出的这些ND之间的连接性。这些ND是物理设备,且这些ND之间的连接性可以是无线的或有线的(通常被称为链路)。从ND 600A、600E和600F延伸的附加线示出了:这些ND担当网络的进入点和离开点(且从而这些ND有时被称为边缘ND;而其它ND可以被称为核心ND)。
图6A中的两个示例性ND实现是:1)专用网络设备602,其使用定制的专用集成电路(ASIC)和专有操作系统(OS);以及2)通用网络设备604,其使用常见的现货供应(COTS)处理器和标准OS。
专用网络设备602包括联网硬件610,联网硬件610包括计算资源612(其通常包括一个或多个处理器的集合)、转发资源614(其通常包括一个或多个ASIC和/或网络处理器)、以及物理网络接口(NI)616(有时被称为物理端口)、以及其中存储有联网软件620的非暂时性机器可读存储介质618。物理NI是ND中的硬件,通过该硬件进行网络连接(例如,通过无线网络接口控制器(WNIC)以无线方式或者通过将电缆插入连接到网络接口控制器(NIC)的物理端口),例如由ND 600A至600H之间的连接所示出的那些连接。在操作期间,联网软件620可以由联网硬件610来执行,以实例化一个或多个联网软件实例622的集合。每个联网软件实例622以及联网硬件610中的执行该网络软件实例的部分(无论其是专用于该联网软件实例的硬件和/或由该联网软件实例与其它联网软件实例622暂时共享的硬件的时间片)形成了单独的虚拟网元630A至630R。虚拟网元(VNE)630A至630R中的每一个VNE包括控制通信和配置模块632A至632R(有时被称为本地控制模块或控制通信模块)和转发表634A至634R,使得给定的虚拟网元(例如,630A)包括控制通信和配置模块(例如,632A)、一个或多个转发表的集合(例如,634A)、以及联网硬件610中的执行虚拟网元(例如,630A)的部分。
尽管这种类型的专用网络设备602可以存在于网络中,但是它不实现本发明的实施例。
专用网络设备602通常在物理上和/或逻辑上被视为包括:1)ND控制面624(有时被称为控制面),包括执行控制通信和配置模块632A至632R的计算资源612;以及2)ND转发面626(有时被称为转发面、数据面、或介质面),包括利用转发表634A至634R的转发资源614和物理NI 616。作为ND是路由器(或实现路由功能)的示例,ND控制面624(执行控制通信和配置模块632A至632R的计算资源612)通常负责参与控制如何路由(例如,数据的下一跳和该数据的输出物理NI)数据(例如,分组)并负责在转发表634A至634R中存储该路由信息,以及ND转发面626负责在物理NI 616上接收该数据并基于转发表634A至634R从物理NI 616中的适当的物理NI转发该数据。
图6B示出了根据本发明一些实施例的用于实现专用网络设备602的示例方式。图6B示出了包括卡638(通常是可热插拔的)在内的专用网络设备。尽管在一些实施例中,卡638具有两种类型(作为ND转发面626来操作的一个或多个(有时被称为线路卡)、以及进行操作以实现ND控制面624的一个或多个(有时被称为控制卡)),备选实施例可以将功能结合到单个卡上和/或包括附加卡类型(例如,一种附加类型的卡被称为服务卡、资源卡、或多应用卡)。服务卡可以提供专门的处理(例如,层4到层7服务(例如,防火墙、网际协议安全(IPsec)、安全套接字层(SSL)/传输层安全(TLS)、入侵检测系统(IDS)、对等(P2P)、IP语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关))。作为示例,服务卡可以用于终止IPsec隧道,并执行伴随的认证和加密算法。这些卡通过示出为背板636的一个或多个互联机制耦合在一起(例如,第一全网格耦合线路卡以及第二全网格耦合所有卡)。
返回图6A,通用网络设备604包括硬件640,硬件640包括一个或多个处理器642(其经常是COTS处理器)的集合和网络接口控制器644(NIC,也被称为网络接口卡)(其包括物理NI 646)、以及其中存储有软件650的非暂时性机器可读存储介质648。在操作期间,处理器642执行软件650以实例化一个或多个应用664A至664R的一个或多个集合。尽管一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化(由包括闪电模块665在内的虚拟化层654和特型内核660A至660R表示)。例如,一个这样的备选实施例实现操作系统级虚拟化,在这种情况下,虚拟化层654表示允许创建如上文所述的多个特型内核660A至660R的管理程序,每个特型内核可以用于执行微服务集合中的一个微服务。在该实施例中,多个特型内核660A至660R每个都是用户空间实例,但是可以共享虚拟存储空间。将作为特型内核660A至660R的一个或多个微服务的一个或多个集合以及虚拟化层654的实例化统称为软件实例652。
特型内核660A至660R执行与服务链相关的功能,硬件640的这种虚拟化有时被称为网络功能虚拟化(NFV)。因此,NFV可以用于将很多网络设备类型统一到工业标准高容量服务器硬件、物理交换机、和物理储存设备,它们可以位于数据中心、ND、和客户终端设备(CPE)中。然而,本发明的不同实施例可以不同地实现特型内核660A至660R中的一个或多个特型内核。在某些实施例中,虚拟化层654包括提供与物理以太网交换机类似的转发服务的虚拟交换机。
图6A中的第三示例性ND实现是混合网络设备606,其在单个ND或ND内的单个卡中包括定制ASIC/专有OS和COTS处理器/标准OS两者。在这种混合网络设备的某些实施例中,平台VM(即,实现专用网络设备602的功能的VM)可以向混合网络设备606中存在的联网硬件提供半虚拟化。
不管ND的上述示例性实现如何,当考虑由ND实现的多个虚拟网元(VNE)中的单个VNE(例如,仅一个VNE是给定虚拟网络的一部分)时,或者仅单个VNE当前由ND实现的情况下,缩写的术语网元(NE)有时被用于指代该VNE。此外,在所有上述示例性实现中,每个VNE(例如,VNE 630A至630R、VNE 660A至660R、以及混合网络设备606中的那些VNE)在物理NI(例如,616、646)上接收数据,并且从物理NI(例如,616、646)中的适当的物理NI转发该数据。例如,实现IP路由器功能的VNE基于IP分组中的一些IP头部信息来转发IP分组;其中,IP头部信息包括源IP地址、目的IP地址、源端口、目的端口(其中,在本文中“源端口”和“目的端口”指代协议端口,与ND的物理端口相对)、传输协议(例如,用户数据报协议(UDP)、传输控制协议(TCP)和差异化服务(DSCP))值。
图6C示出了根据本发明一些实施例的可以耦合VNE的各种示例性方式。图6C示出了在ND 600A中实现的VNE 670A.1至670A.P(以及可选的VNE 670A.Q至670A.R)以及ND600H中的VNE 670H.1。在图6C中,VNE 670A.1至670A.P在以下意义上是彼此分离的:它们可以从ND 600A外部接收分组并向ND 600外部转发分组;VNE 670A.1与VNE 670H.1耦合,由此它们在其各自ND之间传送分组;VNE 670A.2至670A.3可以可选地在它们之间转发分组,而不向ND 600A外部转发分组;以及VNE 670A.P可以可选地是VNE链中的第一个VNE,该VNE链包括VNE 670A.Q以及其之后的VNE 670A.R(有时这被称为动态服务链接,其中,一系列VNE中的每个VNE提供不同服务(例如,一个或多个层4至层7网络服务))。尽管图6C示出了VNE之间的各种示例性关系,但是备选实施例可以支持其它关系(例如,更多/更少的VNE、更多/更少的动态服务链、具有一些公共VNE和一些不同VNE的多个不同动态服务链)。
图6A的ND例如可以形成互联网或私有网络的一部分;以及其它电子设备(未示出,例如端用户设备,包括工作站、膝上型电脑、上网本、平板电脑、掌上型电脑、移动电话、智能电话、平板电话、多媒体电话、基于网际协议的语音(VoIP)电话、终端、便携式媒体播放器、GPS单元、可穿戴设备、游戏系统、机顶盒、支持互联网的家用电器)可以耦合到网络(直接或通过诸如接入网之类的其它网络),以通过网络(例如,互联网或重叠(例如,隧道通过)在互联网上的虚拟私有网络(VPN))彼此通信(直接或通过服务器)和/或访问内容和/或服务。这种内容和/或服务通常由属于服务/内容提供商的一个或多个服务器(未示出)或参与对等(P2P)服务的一个或多个端用户设备(未示出)来提供,并且可以包括例如公共网页(例如,自由内容、商店前端页面、搜索服务)、私有网页(例如,提供电子邮件服务的用户名/密码访问网页)、和/或基于VPN的公司网络。例如,端用户设备可以耦合(例如,通过(无线或有线)耦合到接入网的客户终端设备)到边缘ND,边缘ND耦合(例如,通过一个或多个核心ND)到其它边缘ND,该其它边缘ND耦合到担当服务器的电子设备。然而,通过计算和存储虚拟化,作为图6A中的ND操作的一个或多个电子设备也可以托管一个或多个这样的服务器。
虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络(例如,图6A中的那个物理网络)的逻辑抽象。虚拟网络可以实现为在底层网络(例如,L3网络,如使用隧道(例如,通用路由封装(GRE)、层2隧道传输协议(L2TP)、IPSec)来创建覆盖网络的网际协议(IP)网络)上提供网络服务(例如,层2(L2,数据链路层)和/或层3(L3,网络层)服务)的覆盖网络(有时被称为网络虚拟覆盖)。
网络虚拟化边缘(NVE)位于底层网络的边缘处,并参与实现网络虚拟化;NVE的面向网络侧使用底层网络向其它NVE隧道传输帧以及隧道传输来自其它NVE的帧;NVE的面向外部侧向网络外部的系统发送数据和从网络外部的系统接收数据。虚拟网络实例(VNI)是NVE上虚拟网络的特定实例(例如,ND上的NE/VNE、ND上NE/VNE的一部分,其中,通过仿真将该NE/VNE划分为多个VNE);可以在NVE上实例化一个或多个VNI(例如,作为ND上的不同VNE)。虚拟接入点(VAP)是NVE上用于将外部系统连接到虚拟网络的逻辑连接点;VAP可以是通过逻辑接口标识符(例如,VLAN ID)来标识的物理或虚拟端口。
网络服务的示例包括:1)以太网LAN仿真服务(类似于互联网工程任务组(IETF)多协议标签交换(MPLS)的基于以太网的多点服务或以太网VPN(EVPN)服务),其中,外部系统通过基于底层网络的LAN环境跨网络互连(例如,NVE针对不同的这种虚拟网络提供分离的L2VNI(虚拟交换实例),以及提供跨底层网络的L3(例如,IP/MPLS)隧道传输封装);以及2)虚拟化IP转发服务(从服务定义角度来说,类似于IETF IP VPN(例如,边界网关协议(BGP)/MPLS IPVPN)),其中,外部系统通过基于底层网络的L3环境跨网络互连(例如,NVE针对不同的这种虚拟网络提供分离的L3VNI(转发和路由实例),以及提供跨底层网络的L3(例如,IP/MPLS)隧道传输封装)。网络服务还可以包括服务质量能力(例如,业务分类标记、业务调节(conditioning)和调度)、安全能力(例如,用于保护客户终端免受源自网络的攻击的过滤器,以避免有缺陷的路由公告)、以及管理能力(例如,完全检测和处理)。
一些ND包括用于认证、授权和计费(AAA)协议的功能(例如,RADIUS(远程认证拨入用户服务)、Diameter和/或TACACS+(终端反问控制器访问控制系统+)。AAA可以通过客户端/服务器模型提供,其中AAA客户端在ND上实现,AAA服务器可以在ND上本地实现、或者在与ND耦合的远程电子设备上实现。认证是识别和验证订户的处理。例如,可以通过用户名和密码的组合或通过唯一密钥来识别订户。授权确定订户在被认证之后可以做什么,例如(例如,通过使用访问控制策略)获得对某些电子设备信息资源访问的权限。计费记录用户活动。作为概述示例,端用户设备可以通过耦合到核心ND的边缘ND(支持AAA处理)(例如,通过接入网)耦合,核心ND耦合到实现服务/内容提供商的服务器的电子设备。执行AAA处理以为订户识别存储在针对该订户的AAA服务器中的该订户的订户记录。订户记录包括在处理该订户的业务期间使用的属性集合(例如,订户姓名、密码、认证信息、访问控制信息、速率限制信息、管制信息)。
已经根据与计算机存储器内的数据比特有关的处理的算法和符号表示呈现了前面详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最高效地向本领域中的技术人员传达其工作实质的方式。算法在这里通常被设想为导致期望结果的自洽的处理序列。处理是需要对物理量进行物理操纵的处理。通常(尽管并不一定),这些量采用能够被存储、传送、组合、比较和以其它方式操纵的电或磁信号的形式。已证明为了方便,有时,出于通常使用的原因,这些信号可以利用比特、值、元素、符号、特性、项、数字等来进行指代。
然而,应当记住,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非如以上讨论中显而易见的另行明确声明,否则应当理解:在说明书全文中,使用诸如“处理”或“运算(computing)”或“计算(calculating)”或“确定”或“显示”之类的术语的讨论指代计算机系统或类似电子计算设备的动作和处理,该计算机系统或类似电子计算设备将表示为计算机系统的寄存器和存储器中的物理(电子)量的数据操纵和转变为类似表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备中的物理量的其它数据。
本文中呈现的算法和显示并非固有地与任何特定计算机或其它装置相关。各种通用系统可以与根据本文中的教导的程序一起使用,或者可以证明构建更专业的装置来执行所需的方法处理会更方便。根据以上描述,各种这些系统所需的结构将是显而易见的。此外,没有参考任何特定编程语言描述本发明的实施例。应当理解,可以使用各种编程语言来实现如本文所述的本发明实施例的教导。
在前面的说明书中,已经参考本发明的特定示例性实施例描述了本发明的实施例。显而易见地,在不脱离所附权利要求书中阐述的本发明的更广泛的精神和范围的情况下,可以对本发明进行各种修改。因此,说明书和附图应当被看做具有说明性意义而不是限制意义。
在整个说明书中,已经通过流程图呈现了本发明的实施例。应当理解,这些流程图中描述的处理和事务的顺序仅用于说明目的,而不是作为对本发明的限制。本领域普通技术人员将认识到,在不脱离所附权利要求中阐述的本发明的更广泛精神和范围的情况下,可以对流程图进行变化。
Claims (17)
1.一种由网络设备实施的方法,所述方法用于通过由闪电模块按需实例化服务来实现服务链,所述闪电模块将所述服务提供为由管理程序支持的特型内核执行的应用,其中所述特型内核是被设计用于在云环境中运行的单用途程序,所述方法包括:
响应于用户设备启动会话,通过所述闪电模块接收认证、管理和计费AAA服务认证;
响应于接收到所述AAA服务认证,配置包括特殊的特型内核和特型内核集合的内核堆栈,所述特型内核集合在至少一个特型内核配置文件中被标识并提供所述服务链的微服务;
实例化所述特殊的特型内核以检测来自所述用户设备的会话业务;以及
响应于由所述特殊的特型内核在所述会话中监控到来自所述用户设备的分组,实例化在所述至少一个特型内核配置文件中标识的服务链特型内核。
2.根据权利要求1所述的方法,还包括:
将针对用户设备的服务链配置写入到管理程序数据库中作为所述至少一个特型内核配置文件。
3.根据权利要求1所述的方法,还包括:
在所述会话关闭时,去除所述服务链特型内核。
4.根据权利要求1所述的方法,其中,响应于用户设备附接到客户终端设备或远程宽带服务而接收AAA服务认证。
5.根据权利要求1所述的方法,其中,通过管理程序数据库将服务链配置要求转换为所述至少一个特型内核配置文件。
6.根据权利要求1所述的方法,其中,所述服务链特型内核是在多个计算设备中实例化的。
7.一种网络设备,被配置为执行通过由闪电模块按需实例化服务来实现服务链的方法,所述闪电模块将所述服务提供为由管理程序支持的特型内核执行的应用,其中所述特型内核是被设计用于在云环境中运行的单用途程序,所述网络设备包括:
非暂时性机器可读存储介质,其中存储有所述闪电模块和管理程序数据库;以及
耦合到所述非暂时性机器可读存储介质的处理器,所述处理器被配置为执行所述闪电模块,所述闪电模块被配置为:响应于用户设备启动会话,接收认证、管理和计费AAA服务认证;响应于接收到所述AAA服务认证,配置包括特殊的特型内核和特型内核集合的内核堆栈,所述特型内核集合在至少一个特型内核配置文件中被标识并提供所述服务链的微服务;实例化所述特殊的特型内核以检测来自所述用户设备的会话业务;以及,响应于由所述特殊的特型内核在所述会话中监控到来自所述用户设备的分组,实例化在所述至少一个特型内核配置文件中标识的服务链特型内核。
8.根据权利要求7所述的网络设备,其中,所述闪电模块还被配置为:将针对用户设备的服务链配置写入所述管理程序数据库中作为所述至少一个特型内核配置文件。
9.根据权利要求7所述的网络设备,其中,所述闪电模块还被配置为:在所述会话关闭时,去除所述服务链特型内核。
10.根据权利要求7所述的网络设备,其中,响应于用户设备附接到客户终端设备或远程宽带服务而接收AAA服务认证。
11.根据权利要求7所述的网络设备,其中,通过所述管理程序数据库将服务链配置要求转换为所述至少一个特型内核配置文件。
12.一种非暂时性机器可读介质,其中存储有指令集,所述指令集在被执行时使得网络设备执行用于通过由闪电模块按需实例化服务来实现服务链的方法,所述闪电模块将服务提供为由管理程序支持的特型内核执行的应用,其中所述特型内核是被设计用于在云环境中运行的单用途程序,所述指令集还包括:
响应于用户设备启动会话,通过所述闪电模块接收认证、管理和计费AAA服务认证;
响应于接收到所述AAA服务认证,配置包括特殊的特型内核和特型内核集合的内核堆栈,所述特型内核集合在至少一个特型内核配置文件中被标识并提供所述服务链的微服务;
实例化所述特殊的特型内核以检测来自所述用户设备的会话业务;以及
响应于由所述特殊的特型内核在所述会话中监控到来自所述用户设备的分组,实例化在所述至少一个特型内核配置文件中标识的服务链特型内核。
13.根据权利要求12所述的非暂时性机器可读介质,还存储有指令,包括:
将针对用户设备的服务链配置写入到管理程序数据库中作为所述至少一个特型内核配置文件。
14.根据权利要求12所述的非暂时性机器可读介质,还存储有指令,包括:
在所述会话关闭时,去除所述服务链特型内核。
15.根据权利要求12所述的非暂时性机器可读介质,其中,响应于用户设备附接到客户终端设备或远程宽带服务而接收AAA服务认证。
16.根据权利要求12所述的非暂时性机器可读介质,其中,通过管理程序数据库将服务链配置要求转换为所述至少一个特型内核配置文件。
17.根据权利要求12所述的非暂时性机器可读介质,其中,所述服务链特型内核是在多个计算设备中实例化的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/956,142 US10193984B2 (en) | 2015-12-01 | 2015-12-01 | Architecture for enabling fine granular service chaining |
US14/956,142 | 2015-12-01 | ||
PCT/IB2016/056597 WO2017093825A1 (en) | 2015-12-01 | 2016-11-02 | Enabling fine granular service chaining in a network-function virtualization architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108475206A CN108475206A (zh) | 2018-08-31 |
CN108475206B true CN108475206B (zh) | 2022-05-13 |
Family
ID=57345993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680079648.XA Active CN108475206B (zh) | 2015-12-01 | 2016-11-02 | 在网络功能虚拟化架构中实现精细的粒度服务链 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10193984B2 (zh) |
EP (1) | EP3384386B1 (zh) |
CN (1) | CN108475206B (zh) |
WO (1) | WO2017093825A1 (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9894150B2 (en) * | 2015-09-30 | 2018-02-13 | Spirent Communications, Inc. | Accurate generation of multiple dimensions of computer load |
US11449365B2 (en) * | 2016-01-04 | 2022-09-20 | Trilio Data Inc. | Ubiquitous and elastic workload orchestration architecture of hybrid applications/services on hybrid cloud |
WO2017158407A1 (en) * | 2016-03-18 | 2017-09-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Using nano-services to secure multi-tenant networking in datacenters |
US10430258B2 (en) | 2016-04-20 | 2019-10-01 | At&T Intellectual Property I, L.P. | Discovery and chaining of virtual functions |
US9886303B2 (en) * | 2016-06-15 | 2018-02-06 | International Business Machines Corporation | Specialized micro-hypervisors for unikernels |
US11150925B2 (en) * | 2016-07-07 | 2021-10-19 | Data Accelerator Ltd. | Method and system for compound application virtualization |
US10489275B2 (en) | 2016-10-20 | 2019-11-26 | Cisco Technology, Inc. | Agentless distributed monitoring of microservices through a virtual switch |
US10505870B2 (en) | 2016-11-07 | 2019-12-10 | At&T Intellectual Property I, L.P. | Method and apparatus for a responsive software defined network |
US10169028B2 (en) * | 2016-12-13 | 2019-01-01 | Ciena Corporation | Systems and methods for on demand applications and workflow management in distributed network functions virtualization |
US10749796B2 (en) | 2017-04-27 | 2020-08-18 | At&T Intellectual Property I, L.P. | Method and apparatus for selecting processing paths in a software defined network |
WO2018195877A1 (zh) * | 2017-04-27 | 2018-11-01 | 华为技术有限公司 | 通信方法、装置和系统 |
US10673751B2 (en) * | 2017-04-27 | 2020-06-02 | At&T Intellectual Property I, L.P. | Method and apparatus for enhancing services in a software defined network |
US10819606B2 (en) | 2017-04-27 | 2020-10-27 | At&T Intellectual Property I, L.P. | Method and apparatus for selecting processing paths in a converged network |
US10257668B2 (en) | 2017-05-09 | 2019-04-09 | At&T Intellectual Property I, L.P. | Dynamic network slice-switching and handover system and method |
US10382903B2 (en) | 2017-05-09 | 2019-08-13 | At&T Intellectual Property I, L.P. | Multi-slicing orchestration system and method for service and/or content delivery |
US11336572B2 (en) | 2017-05-12 | 2022-05-17 | Nicira, Inc. | Dynamic chain of service functions for processing network traffic in a virtual computing environment |
US10346143B2 (en) | 2017-06-21 | 2019-07-09 | Ca, Inc. | Systems and methods for transforming service definitions in a multi-service containerized application |
US10409654B2 (en) * | 2017-07-13 | 2019-09-10 | International Business Machines Corporation | Facilitating event-driven processing using unikernels |
US10070344B1 (en) | 2017-07-25 | 2018-09-04 | At&T Intellectual Property I, L.P. | Method and system for managing utilization of slices in a virtual network function environment |
US10592215B1 (en) * | 2017-08-17 | 2020-03-17 | NanoVMs, Inc. | Unikernel cross-compilation |
US11265291B2 (en) | 2017-08-25 | 2022-03-01 | Red Hat, Inc. | Malicious packet filtering by a hypervisor |
US10616099B2 (en) | 2017-08-28 | 2020-04-07 | Red Hat, Inc. | Hypervisor support for network functions virtualization |
US10104548B1 (en) | 2017-12-18 | 2018-10-16 | At&T Intellectual Property I, L.P. | Method and apparatus for dynamic instantiation of virtual service slices for autonomous machines |
US10817402B2 (en) | 2018-01-03 | 2020-10-27 | Nec Corporation | Method and system for automated building of specialized operating systems and virtual machine images based on reinforcement learning |
US11516639B2 (en) * | 2018-02-28 | 2022-11-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Requesting flexible user-plane services in a service-based architecture |
CN110324376A (zh) * | 2018-03-30 | 2019-10-11 | 江苏融成嘉益信息科技有限公司 | 一种商业微服务组件库 |
US11989569B2 (en) | 2018-04-11 | 2024-05-21 | NanoVMs, Inc. | Unikernel provisioning |
US10628177B1 (en) | 2018-04-11 | 2020-04-21 | NanoVMs, Inc. | Unikernel provisioning |
US10349454B1 (en) | 2018-05-16 | 2019-07-09 | At&T Intellectual Property I, L.P. | Software demarcation in edge computing environment |
US11283676B2 (en) * | 2018-06-11 | 2022-03-22 | Nicira, Inc. | Providing shared memory for access by multiple network service containers executing on single service machine |
US11233778B2 (en) | 2018-08-15 | 2022-01-25 | Juniper Networks, Inc. | Secure forwarding of tenant workloads in virtual networks |
US11329966B2 (en) * | 2018-08-15 | 2022-05-10 | Juniper Networks, Inc. | System and method for transferring packets between kernel modules in different network stacks |
US11768729B2 (en) * | 2018-10-03 | 2023-09-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for secure and verifiable composite service execution and fault management on blockchain |
US10983847B2 (en) | 2019-02-15 | 2021-04-20 | Red Hat, Inc. | Dynamically loadable unikernel binaries |
CN111913426B (zh) * | 2019-05-08 | 2023-05-05 | 创升益世(东莞)智能自控有限公司 | 一种应用于工业自动化控制系统的软件容器方法 |
US11683308B2 (en) * | 2019-06-06 | 2023-06-20 | Cisco Technology, Inc. | Systems and methods for generating contextual labels |
US11296975B2 (en) | 2019-06-25 | 2022-04-05 | Vmware, Inc. | Systems and methods for implementing multi-part virtual network functions |
US10931507B2 (en) * | 2019-06-25 | 2021-02-23 | Vmware, Inc. | Systems and methods for selectively implementing services on virtual machines and containers |
US11709716B2 (en) | 2019-08-26 | 2023-07-25 | Red Hat, Inc. | Hardware offload support for an operating system offload interface using operation code verification |
GB2594534B (en) * | 2020-04-30 | 2022-09-21 | Metaswitch Networks Ltd | Processing user traffic in a virtualised network |
US11321107B1 (en) * | 2020-05-13 | 2022-05-03 | NanoVMs, Inc. | Running arbitrary binaries as unikernels on embedded processors |
US11991077B2 (en) * | 2021-03-01 | 2024-05-21 | Juniper Networks, Inc. | Data interfaces with isolation for containers deployed to compute nodes |
US11888736B2 (en) * | 2021-07-14 | 2024-01-30 | Cisco Technology, Inc. | Service chaining in fabric networks |
CN115134232B (zh) * | 2022-07-04 | 2024-02-23 | 深信服科技股份有限公司 | 一种虚拟路由器管理方法、设备、系统和存储介质 |
CN115987566B (zh) * | 2022-12-01 | 2024-10-08 | 贵州电网有限责任公司 | 一种基于新能源电力系统服务器隔离架构 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969475A (zh) * | 2010-11-15 | 2011-02-09 | 张军 | 基于云计算的商业数据可控分发与融合应用系统 |
CN102090020A (zh) * | 2008-08-26 | 2011-06-08 | 思科技术公司 | 通过在服务插入体系的节点中安装软件使服务动态实例化 |
CN102088683A (zh) * | 2009-12-03 | 2011-06-08 | 中兴通讯股份有限公司 | 一种移动网络中的计费实现方法及系统 |
CN104519121A (zh) * | 2013-09-30 | 2015-04-15 | 瞻博网络公司 | 计算机网络内的会话感知服务链 |
CN104598297A (zh) * | 2015-01-30 | 2015-05-06 | 杭州华三通信技术有限公司 | 虚拟机管理方法及装置 |
CN104937879A (zh) * | 2013-01-28 | 2015-09-23 | 瑞典爱立信有限公司 | 用于在网络中放置服务的方法和设备 |
CN104935506A (zh) * | 2014-03-21 | 2015-09-23 | 瞻博网络公司 | 可选择的服务节点资源 |
CN105099751A (zh) * | 2014-05-16 | 2015-11-25 | 思科技术公司 | 用于在网络环境中向服务传输信息的系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140259012A1 (en) * | 2013-03-06 | 2014-09-11 | Telefonaktiebolaget L M Ericsson (Publ) | Virtual machine mobility with evolved packet core |
US9654341B2 (en) * | 2014-02-20 | 2017-05-16 | Cisco Technology, Inc. | Client device awareness of network context for mobile optimzation |
US10200258B2 (en) * | 2014-08-14 | 2019-02-05 | Juniper Networks, Inc. | Transaction integrity for network services configuration |
US10417025B2 (en) * | 2014-11-18 | 2019-09-17 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
-
2015
- 2015-12-01 US US14/956,142 patent/US10193984B2/en active Active
-
2016
- 2016-11-02 WO PCT/IB2016/056597 patent/WO2017093825A1/en active Application Filing
- 2016-11-02 EP EP16797998.8A patent/EP3384386B1/en active Active
- 2016-11-02 CN CN201680079648.XA patent/CN108475206B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102090020A (zh) * | 2008-08-26 | 2011-06-08 | 思科技术公司 | 通过在服务插入体系的节点中安装软件使服务动态实例化 |
CN102088683A (zh) * | 2009-12-03 | 2011-06-08 | 中兴通讯股份有限公司 | 一种移动网络中的计费实现方法及系统 |
CN101969475A (zh) * | 2010-11-15 | 2011-02-09 | 张军 | 基于云计算的商业数据可控分发与融合应用系统 |
CN104937879A (zh) * | 2013-01-28 | 2015-09-23 | 瑞典爱立信有限公司 | 用于在网络中放置服务的方法和设备 |
CN104519121A (zh) * | 2013-09-30 | 2015-04-15 | 瞻博网络公司 | 计算机网络内的会话感知服务链 |
CN104935506A (zh) * | 2014-03-21 | 2015-09-23 | 瞻博网络公司 | 可选择的服务节点资源 |
CN105099751A (zh) * | 2014-05-16 | 2015-11-25 | 思科技术公司 | 用于在网络环境中向服务传输信息的系统和方法 |
CN104598297A (zh) * | 2015-01-30 | 2015-05-06 | 杭州华三通信技术有限公司 | 虚拟机管理方法及装置 |
Non-Patent Citations (2)
Title |
---|
Jitsu: Just-In-Time Summoning of Unikernels;Anil Madhavapeddy等;《https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-madhavapeddy.pdf》;20150506;第2页,图1 * |
XenStore;Eli M. Dow等;《https://www.informit.com/articles/article.aspx?p=1187966&seqnmum=7》;20080410;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
US20170155724A1 (en) | 2017-06-01 |
CN108475206A (zh) | 2018-08-31 |
US10193984B2 (en) | 2019-01-29 |
EP3384386B1 (en) | 2021-01-06 |
WO2017093825A1 (en) | 2017-06-08 |
EP3384386A1 (en) | 2018-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475206B (zh) | 在网络功能虚拟化架构中实现精细的粒度服务链 | |
EP3672169B1 (en) | Facilitating flow symmetry for service chains in a computer network | |
US11570104B2 (en) | Tunnel-based service insertion in public cloud environments | |
US10812378B2 (en) | System and method for improved service chaining | |
US20160364231A1 (en) | Method for minimal service impact during software upgrade in network elements (nes) | |
EP3210347B1 (en) | Pre-built match-action tables | |
US20160182336A1 (en) | Hybrid cloud network monitoring system for tenant use | |
US11627080B2 (en) | Service insertion in public cloud environments | |
EP3465997B1 (en) | Packet forwarding using vendor extension in a software-defined networking (sdn) system | |
US11470071B2 (en) | Authentication for logical overlay network traffic | |
US10581730B2 (en) | Packet processing using service chains | |
US11032162B2 (en) | Mothod, non-transitory computer-readable storage medium, and computer system for endpoint to perform east-west service insertion in public cloud environments | |
US20200389399A1 (en) | Packet handling in software-defined networking (sdn) environments | |
US11546242B2 (en) | Logical overlay tunnel monitoring | |
US20240179089A1 (en) | Containerized router service chaining for containerized network functions | |
US20230308354A1 (en) | Intelligent controller for smart nics and hardware accelerators | |
EP4304148A1 (en) | Edge services using network interface cards having processing units |
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 |