CN104038401B - 用于分布式覆盖虚拟环境的互操作性的方法和系统 - Google Patents
用于分布式覆盖虚拟环境的互操作性的方法和系统 Download PDFInfo
- Publication number
- CN104038401B CN104038401B CN201410083690.1A CN201410083690A CN104038401B CN 104038401 B CN104038401 B CN 104038401B CN 201410083690 A CN201410083690 A CN 201410083690A CN 104038401 B CN104038401 B CN 104038401B
- Authority
- CN
- China
- Prior art keywords
- virtual switch
- virtual
- type
- switch
- supported
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施方式涉及用于分布式覆盖虚拟环境的互操作性,具体地,提供了支持多个封装的主机之间的互操作性。一个实施方式包括一种包括映射用于虚拟交换机的分组封装协议类型信息的方法。每个虚拟交换机与一个或多个虚拟机(VM)相关联。基于该映射而确定对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM,是否存在一个或多个公共封装协议类型。如果确定对于第一虚拟交换机和第二虚拟交换机存在一个或多个公共封装协议类型,则选择公共封装协议类型。分组被封装以用于使用所选公共封装协议类型在第一VM与第二VM之间通信。
Description
技术领域
本发明的实施方式涉及覆盖虚拟环境,并且特别地提供支持多个封装网络的主机之间的互操作性。
背景技术
使用覆盖的网络虚拟化使用封装(诸如虚拟可扩展局域网(VxLAN)封装)和网络虚拟化通用路由封装(NVGRE),其可得到管理程序和联网供应商的支持。为了使用VxLAN或NVGRE封装,将管理程序虚拟交换机修改成支持相应覆盖技术。与封装类型的不兼容性使得必须使用转换网关,该转换网关在不同的分组格式之间进行转换。转换网关常常是通信瓶颈,其可影响通信性能。
发明内容
本发明的实施方式涉及在支持多个封装的主机之间提供互操作性。一个实施方式包括一种方法,包括映射用于虚拟交换机的分组封装协议类型信息。每个虚拟交换机与一个或多个虚拟机(VM)相关联。在一个实施方式中,基于该映射来确定:对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM,是否存在一个或多个公共封装协议类型。在一个实施方式中,如果确定对于第一虚拟交换机和第二虚拟交换机存在一个或多个公共封装协议类型,则选择公共封装协议类型。使用所选公共封装协议类型来封装分组以用于第一VM与第二VM之间的通信。
另一实施方式包括一种包括硬件层的系统,该硬件层包括物理设备。多个虚拟交换机中的每个与覆盖硬件层的一个或多个虚拟机(VM)相关联。包括分布式覆盖虚拟以太网(DOVE)连接性服务(DCS)的服务器映射用于多个虚拟交换机的分组封装协议类型信息,并基于分组封装协议映射表来确定对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM,是否存在一个或多个公共封装协议类型,如果对于第一虚拟交换机和第二虚拟交换机存在一个或多个公共封装协议类型,则选择公共封装协议类型。第一虚拟交换机使用所选公共封装协议类型,来封装用于在第一VM与第二VM之间的通信的分组。
另一实施方式包括用于在支持多个封装的主机之间提供互操作性的计算机程序产品。该计算机程序产品包括计算机可读存储介质,其具有用其体现的程序代码、可由处理器读取/执行以执行一种方法的程序代码,该方法包括:由处理器来映射用于多个虚拟交换机的分组封装协议类型。在一个实施方式中,每个虚拟交换机与一个或多个虚拟机(VM)相关联。在一个实施方式中,由处理器基于映射来确定:对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM,是否存在一个或多个公共封装协议类型。如果确定对于第一虚拟交换机和第二虚拟交换机存在一个或多个公共封装协议类型,则由处理器来选择公共封装协议类型。分组被处理器封装以使用所选公共封装协议类型来在第一VM与第二VM之间进行通信。
参考以下描述、所附权利要求以及附图,本发明的这些及其他特征、方面和优点将变得显而易见。
附图说明
图1表示根据本发明一实施方式的云计算节点。
图2表示根据本发明一实施方式的云计算环境。
图3表示根据本发明一实施方式的抽象模型层。
图4是示出用于采用本发明的实施方式的分布式覆盖虚拟环境的框图。
图5示出根据本发明的实施方式的分布式覆盖虚拟环境的另一框图。
图6示出根据本发明的实施方式的可使用的封装格式。
图7是示出了根据本发明的实施方式的示例性分布式虚拟以太网(DOVE)连接性服务(DCS)响应的框图。
图8是示出了根据本发明的实施方式的与转换网关的示例性通信的框图。
图9是示出了根据本发明的实施方式的、用于在支持多个封装网络的主机之间提供互操作性的示例性过程的框图。
具体实施方式
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其他类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户账号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其他通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
本发明的实施方式可实现为计算机可读信号介质,其可包括具有在其中体现的计算机可读程序代码(例如,在基带中或者作为载波的一部分)的传播数据信号。此类传播信号可以采取多种形式中的任何一个,包括但不限于电磁、光或其任何适当组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,其他硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施方式不限于此。如图3所示,提供下列层和对应功能:
硬件
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟化
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其他资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供账单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其他资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及包装映射和交流。如上所述,根据图3描述的前述例子仅仅是说明性的,本发明并不局限于这些例子。
应理解的是,本文所述的本发明的所有功能通常由网络独立网络接口系统500(图5)执行,其能够有形地体现为程序/实用工具40(图1)的程序代码42的模块。然而,情况不必如此。相反,可以由图3中所示的层60-66中的任何一个来执行/实现和/或支持本文所述的功能。
要重申的是,虽然本公开包括关于云计算的详细描述,但本文所述的讲授内容的实施方式不限于云计算环境。相反,本发明的实施方式意在使用现在已知或稍后开发的任何类型的集群计算环境来实现。
本发明的实施方式涉及在支持多个封装的主机之间提供互操作性。一个实施方式包括一种方法,该方法包括映射用于虚拟交换机的分组封装协议类型信息。每个虚拟交换机与一个或多个虚拟机(VM)相关联。在一个实施方式中,基于该映射来确定:对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM而言,是否存在一个或多个公共封装协议类型。在一个实施方式中,如果确定对于第一虚拟交换机和第二虚拟交换机而言,存在一个或多个公共封装协议类型,则选择公共封装协议类型。使用所选公共封装协议类型来封装分组以用于第一VM与第二VM之间的通信。
图4示出了用于采用本发明的实施方式的分布式覆盖虚拟环境400的框图。在一个实施方式中,分布式覆盖虚拟环境400可包括分布式覆盖虚拟以太网(DOVE)网络系统。分布式覆盖虚拟环境400包括多个虚拟系统(或网络)405(在一个实施方式中也称为DOVE模块),每个系统包括具有虚拟交换机315、管理程序316和VM 320的服务器310(或主机),其覆盖可包括物理交换机、路由器、服务器、网关、防火墙等的物理层325(例如,包括物理硬件和软件过程)。物理层325还可称为上层。在一个实施方式中,覆盖网络段1-N 305(例如,覆盖网络段1-3)连接多个系统以用于不同元件(例如,管理程序316、VM 320)的通信,其中N是正数(例如,2、3、5、10等)。应注意的是,虽然示出了三个系统405,但在分布式覆盖虚拟环境400中可包括更多(或更少)的系统405。在一个实施方式中,虚拟交换机315包括DOVE交换机。
在一个实施方式中,覆盖网络段1-N 305创建管理程序316之间的覆盖网络并使用分组的封装,其中源自于一个VM 320的分组被封装(例如,添加覆盖和物理网络报头),并且物理层325(底层)被用来向服务器310进行输送,目标VM 320驻留于该处。在一个实施方式中,在物理层325中,由物理交换机使用外报头来转发分组,其中封装报头中的覆盖标识(ID)提供业务隔离。到目的地服务器310的虚拟交换机315的输入分组被解封装(例如,从分组剥离封装报头)并输送到目的地VM 320。在一个实施方式中,支持不同虚拟系统405之间的地址独立性。例如,在两个不同系统405中操作的两个不同VM 320可具有相同的网际协议(IP)地址和媒体访问控制(MAC)地址。作为另一示例,系统405支持向位于不同物理子网(在物理实体之间包括交换机和/或路由器)中的不同主机部署VM 320(属于相同系统405)。在另一实施方式中,可在相同物理主机上操控属于不同系统405的VM 320。在另一实施方式中,系统405在不改变VM 320网络地址和失去其网络连接的情况下,支持数据中心中的任何位置的VM 320迁移。
在一个实施方式中,系统405基于策略(例如,来自DCS)用物理路径转换来封装数据,并在系统405之间发送已封装数据,继而,该封装的数据被解封装并被转发至目的地VM320。在一个实施方式中,策略在不具有执行特定任务的底层物理实体的细节的情况下、以逻辑方式来描述要求如何通过虚拟网络来发送数据。
在一个实施方式中,管理程序316(例如,VM 320管理器)允许多个操作系统(例如,VM,诸如VM 320)在主机计算机上同时地运行。管理程序316向VM 320提供物理资源的抽象。例如,可将物理网络接口卡(NIC)抽象为系统405的虚拟NIC(vNIC)。在一个实施方式中,虚拟交换机315是用于为VM 320提供连接性的管理程序316中的以太网交换机的软件抽象。
图5示出根据本发明的实施方式的示出用于示出用于地址发现的示例的分布式覆盖虚拟环境500的框图。在一个实施方式中,分布式覆盖虚拟环境500包括多个系统405以及集群DOVE连接性服务(DCS)520。在一个实施方式中,DCS 520包括:多个DCS节点510;和DOVE管理控制台515,用于管理多个DCS节点510并为DCS接点510提供到虚拟交换机315的网际协议(IP)地址。在一个实施方式中,在VM 320激活时,虚拟交换机315检测VM 320的IP/MAC地址,并更新DCS 520的地址映射。在一个实施方式中,DCS节点510在集群DCS 520中共享地址映射信息。在一个示例性实施方式中,第一VM 320开始与另一系统405中的第二VM 320通信。与第一VM 320相关联的虚拟交换机315请求来自服务于虚拟交换机315的DCS 510的决定(resolution)。DCS 510用第二VM 320映射信息进行响应,其被本地地高速缓存在虚拟交换机315处。在一个实施方式中,映射在由服务器310主持的并且包括VM 320及其关联虚拟交换机315的映射地址的DCS节点中被跟踪。
图6示出在根据本发明的实施方式中可使用的示例性封装格式。在一个实施方式中,原始分组610可包括内部MAC地址、内部IP地址以及净载荷信息。一个VM 320期望将原始分组610从一个VM 320传送至另一VM 320。在一个实施方式中,原始分组610通过添加封装有格式化字段620而被系统405封装,该格式化字段620诸如外部MAC地址、外部IP地址、用户数据报协议(UDP)、封装协议报头以及可选字段(未示出)。在一个实施方式中,封装协议报头包括特定封装协议类型的格式630,诸如VxLAN、NVGRE等。在一个实施方式中,每个虚拟交换机315支持特定隧道转换封装协议格式。如果已封装分组被发送到与不支持用于已封装分组的封装协议类型的虚拟交换机315相关联的VM 320,则必须用其能够处理的封装协议类型对分组进行格式化或转换(例如,由图8的转换网络910/920进行)。
在一个实施方式中,虚拟交换机315与DCS节点510互操作,并使用基于类型长度值(TLV)/UDP的协议来与DCS节点510交换信息。DCS节点510复制用于转发请求并传递DCS节点IP地址到虚拟交换机315的信息。
图7是示出了根据本发明的实施方式的示例性DCS查询-响应800的框图。在一个实施方式中,虚拟交换机315转发用于从DCS集群520进行TUNNEL_INFO型查找的请求810。在一个实施方式中,该请求包括用于与目的地VM 320通信的网络标识符(例如,虚拟网络ID)和用于端点IP地址的请求,并且DCS用TUNNEL_INFO和端点MAC进行响应。在一个实施方式中,DCS节点510用每个虚拟交换机315所支持的封装/隧道类型(例如,VxLAN、NVGRE、C、D等)来增强VM 320和虚拟交换机315的地址的TUNNEL_INFO映射。在一个实施方式中,DCS节点510还保持每个转换网关(例如,转换网关910、转换网关920等,图9)的列表,并用每个相应网关的封装协议/隧道类型转换能力来映射列表中的每个网关。
在一个实施方式中,DCS节点510通过为虚拟交换机315提供包括端点信息825和隧道信息830的信息820,来对请求810进行响应。在一个实施方式中,端点信息包括VNID、端点MAC地址、端点IP地址,并且隧道信息830包括VNID、隧道端点(TEP也称为DOVE vSwitch)、IP地址值、支持的隧道类型、转换网络以及支持的隧道类型。在本实施方式中,除位置信息(例如,端点信息825)之外,所支持的封装协议/隧道类型的类型(例如,隧道信息830)也被提供给源虚拟交换机315。
在一个实施方式中,一旦用于第一VM 320的源虚拟交换机315获得地址位置信息和用于目的地VM 230的由虚拟交换机315所支持的隧道类型,则源虚拟交换机315确定目的地虚拟交换机315(例如,隧道端点)及其本身能够支持公共隧道类型。在一个实施方式中,源虚拟交换机315选择由其本身和目的地虚拟交换机315支持的公共隧道类型,并用其本身和用于目的地VM 320的目的地虚拟交换机315支持的公共隧道类型来封装分组。在本实施方式中,基于对两个虚拟交换机315所共有的所选隧道类型,不需要出现经由转换网关(例如,转换网关910、转换网关920等,图8)的转换,这由于较少的处理和通信等待时间而提供更好的效率。
在一个实施方式中,DCS节点510创建每个虚拟交换机315所支持的、所支持隧道类型的列表,并为对于每个虚拟交换机315而言所支持的每个所支持隧道类型分配优先级。在一个实施方式中,可基于支持特定隧道类型的虚拟交换机315的数目、系统管理员偏好、处理特定隧道类型的效率等,来确定该优先级。在一个实施方式中,将用于每个虚拟交换机315的所支持隧道类型的列表按照优先级顺序排序,并且源虚拟交换机315基于最高优先级来选择源虚拟交换机315和目的地虚拟交换机315所支持的公共隧道类型。
在一个实施方式中,如果源虚拟交换机315确定对于其本身和目的地虚拟交换机315而言不存在公共隧道类型,则源虚拟交换机315将可用转换网关的列表用于选择要使用的最近转换网关,其支持由源虚拟交换机315所支持的至少一个隧道类型格式和由目的地虚拟交换机315所支持的至少另一隧道类型。在本实施方式中,使用最近转换网关(该最近转换网关实现由源虚拟交换机315和目的地虚拟交换机315所支持的隧道类型的共同特性)作为目的地隧道端点,以用于减少查找处理和等待时间。
图8是示出了根据本发明的实施方式的与转换网关910和920的示例性通信9000的框图。在一个实施方式中,为了在来自系统A的第一VM 320与来自系统B的第二VM 320之间进行通信,由于来自系统A的虚拟交换机315支持隧道类型D,并且在源虚拟交换机315确定目的地虚拟交换机315支持隧道类型D(基于对于对包括DCS的地址服务925的请求的响应)之后,源交换机315使用隧道类型D来封装分组,并将用于其关联VM 320的分组发送到目的地虚拟交换机315,而不必首先将分组发送到转换网关(例如,转换网关910或920)。在示例性通信9000中,从系统B到系统D的通信是直接的,因为两个虚拟交换机315都支持隧道类型A(例如,公共隧道类型)。
在一个示例性实施方式中,当系统B上的VM 320与系统C上的VM 320进行通信时,源虚拟交换机315在来自地址服务925的对位置请求的响应中,接收目的地虚拟交换机315(用于目的地VM 320)的隧道类型信息。在一个示例中,确定两个虚拟交换机315不支持公共隧道类型(例如,系统B的虚拟交换机315支持隧道类型A和D,并且系统C的虚拟交换机315支持隧道类型B)。在一个示例中,来自系统A的虚拟交换机315从地址服务925查询DCS以获得转换网关列表,该转换网关支持由来自系统B的虚拟交换机315所支持的至少一个格式和由来自系统C的虚拟交换机315所支持的至少一个格式。根据所获得的转换网关的列表,来自系统A的虚拟交换机315确定支持格式A和D(用于来自系统B的虚拟交换机315)及格式B(用于来自系统C的虚拟交换机315)的最近的(并且在本示例中,唯一)转换网关是转换网关910。在一个实施方式中,根据所获得的列表,来自系统B的虚拟交换机315使用其与转换网关910公共的隧道类型(例如,隧道类型A或D)来封装数据分组,并将已封装分组发送到转换网关910。转换网关910去除现有封装报头,并在这种情况下使用隧道类型B来应用新的报头,该新的报头与用于目的地VM 320的系统C的虚拟交换机315兼容。
在另一实施方式中,当系统C上的VM 320与系统D上的VM 320通信时,源虚拟交换机315接收目的地虚拟交换机315(用于目的地VM320)的隧道类型信息。在一个示例中,确定两个虚拟交换机315不支持公共隧道类型(例如,系统C的虚拟交换机315支持隧道类型B,而系统D的虚拟交换机315支持隧道类型A和C)。在一个示例中,来自系统C的虚拟交换机315从地址服务925查询DCS,以获得转换网关列表,该转换网关支持由来自系统C的虚拟交换机315所支持的至少一个格式和由来自系统D的虚拟交换机315所支持的至少一个格式。根据所获得的转换网关的列表,来自系统A的虚拟交换机315确定转换网关910和转换网关920两者支持隧道类型B。然而,支持隧道格式B的最近转换网关是转换网关920。在一个实施方式中,根据所获得的列表,来自系统C的虚拟交换机315使用其与转换网关920公共的隧道类型(例如,隧道类型B)来封装数据分组,并将已封装分组发送到转换网关920。转换网关920去除现有封装报头,并在这种情况下使用隧道类型C来应用新的报头,该新的报头与用于目的地VM 320的系统D的虚拟交换机315兼容。
图9示出根据一个实施方式的用于在支持多个封装网络的主机之间提供互操作性的示例性过程1000的框图。在一个实施方式中,过程框1010提供映射用于多个虚拟交换机(例如,虚拟交换机315)的分组封装协议类型信息,其中每个虚拟交换机与一个或多个VM(例如,VM320)相关联。在一个实施方式中,过程框1020提供,基于该映射来确定对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM,是否存在一个或多个公共封装协议类型。在一个实施方式中,过程框1030提供,如果确定对于第一虚拟交换机和第二虚拟交换机存在一个或多个公共封装协议类型,则选择公共封装协议类型。在一个实施方式中,过程框1040提供使用所选公共封装协议类型来封装用于第一VM与第二VM之间的通信的分组。
在一个实施方式中,过程1000还提供,创建可用转换网关的列表,其中该列表包括用于每个转换网关的转换能力。在确定不存在用于第一虚拟交换机和第二虚拟交换机的公共封装协议类型时,将可用转换网关的列表用于选择要使用的转换网关,该要使用的转换网关支持由第一虚拟交换机所支持的至少一个封装格式和由第二虚拟交换机所支持的至少另一封装格式。在一个实施方式中,过程1000还包括:向包括DCS的服务器提供第一虚拟交换机驻留于其上的隧道端点的封装能力,并且在确定不存在用于第一虚拟交换机和第二虚拟交换机的公共封装协议类型时,提供用于实现由第一虚拟交换机和第二虚拟交换机所支持的封装协议类型的公共共性(denominator)的最近转换网关的信息。
系统400和500可包括一个或多个源程序、可执行程序(对象代码)、脚本或包括要执行的一组计算机程序指令的任何其他实体。当系统400和500包括源程序时,则通常经由编译器、汇编器、解释器等对该程序进行转换,其可以包括或者不包括在存储设备内。这些计算机程序指令也可以存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
在本文的语境中,“计算机可读介质”可以是能够存储、传送、传播或传输供指令执行系统、装置或设备或与之相结合地使用的程序的任何装置。计算机可读介质可以是例如但不限于能够包含或存储计算机程序以供计算机相关系统或方法或与之相结合地使用的电子、磁、光、电磁、红外或半导体系统、装置、设备、传播介质或其他物理设备或装置。
如本领域的技术人员将认识到的,可以将本发明的各方面体现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下完全硬件实施方式、完全软件实施方式(包括固件、驻留软件、微代码等)或将软件和在本文中一般地可全部称为“电路”、“模块”或“系统”的硬件方面组合的实施方式的形式。此外,本发明的方面还可以采取在一个或多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
在本文的语境中,“计算机可读介质”可以是能够存储、传送、传播或传输供指令执行系统、装置或设备或与之相结合地使用的程序的任何装置。计算机可读介质可以是例如但不限于能够包含或存储计算机程序以供计算机相关系统或方法或与之相结合地使用的电子、磁、光、电磁、红外或半导体系统、装置、设备、传播介质或其他物理设备或装置。
计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接(电子)、便携式计算机盘、随机存取存储器(RAM)(电子)、只读存储器(ROM)(电子)、可擦式可编程只读存储器(EPROM、EEPROM或闪速存储器)(电子)、光纤(光学)以及便携式紧凑盘只读存储器(CD-ROM、CD R/W)(光学)。请注意,计算机可读介质甚至可以是在其上面印刷或冲压程序(如在纸带、穿孔卡等中)的纸张或另一适当介质,因为能够经由例如纸张或其他介质的光学扫描以电子方式来捕捉程序,然后在必要时以适当的方式进行编译、解释或处理,并且然后存储在计算机存储器中。
计算机可读信号介质可以包括具有在其中(例如在基带中或作为载波的一部分)体现的计算机可读程序代码的传播数据信号。此类传播信号可以采取多种形式中的任何一个,包括但不限于电磁、光或其任意适当的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在其中用硬件来实现系统400和500的一个实施方式中,能够用每个在本领域中众所周知的以下技术中的任何一个或组合来实现系统400和500:具有用于对数据信号实现逻辑功能的逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
下面参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。将理解的是可以由计算机程序指令来实现流程图和/或方框图的每个方框以及流程图和/或方框图中的方框的组合。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
在此使用的术语仅是为了描述特定实施方式,且不旨在限制本发明。如在此使用的,除非上下文另外清楚地指明,单数形式“一”、“一个”和“该”也旨在包括复数形式。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/或组件。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应注意的是,在有些备选实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。还应注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应强调的是本发明的上述实施方式、特别是任何“优选实施方式”仅仅是实施方式的可能示例,仅仅是为了清楚地理解本发明的原理而阐述的。
在实质上不脱离本发明的精神和原理的情况下,可对本发明的上述实施方式进行许多变更和修改。所有此类修改和变更在本文中意图被包括在本公开和本发明的范围内且受到以下权利要求的保护。
Claims (14)
1.一种用于分布式覆盖虚拟环境的互操作性的方法,包括:
映射用于多个虚拟交换机的分组封装协议类型信息,其中每个虚拟交换机与一个或多个虚拟机VM相关联;
基于所述映射来确定对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM是否存在一个或多个公共封装协议类型;
如果确定存在一个或多个公共封装协议类型,则选择一公共封装协议类型;以及
使用选择的所述公共封装协议类型来封装用于在所述第一VM与所述第二VM之间的通信的分组。
2.根据权利要求1所述的方法,还包括:
创建用于每个虚拟交换机的所支持封装协议类型的列表;
为用于每个虚拟交换机的每个所支持封装协议类型分配优先级;以及
按照优先级顺序来将用于每个虚拟交换机的所支持封装协议类型的所述列表排序。
3.根据权利要求2所述的方法,其中选择所述公共封装协议类型包括:从所支持封装协议类型的所述列表中选择具有最高优先级的封装协议类型。
4.根据权利要求1所述的方法,还包括:
创建可用转换网关的列表,其中所述列表包括用于每个转换网关的转换能力。
5.根据权利要求4所述的方法,其中当确定不存在一个或多个公共封装协议类型时,将可用转换网关的所述列表用于选择要使用的转换网关,所述要使用的转换网关支持由所述第一虚拟交换机所支持的至少一个封装格式和由所述第二虚拟交换机所支持的至少另一封装格式。
6.根据权利要求1所述的方法,还包括:
向包括分布式覆盖虚拟以太网DOVE连接性服务DCS的服务器提供所述第一虚拟交换机驻留于其上的隧道端点的封装能力。
7.根据权利要求6所述的方法,其中在确定不存在一个或多个公共封装协议类型时,提供用于用作目的地隧道端点的、实现由所述第一虚拟交换机和所述第二虚拟交换机所支持的封装协议类型的公共共性的最近转换网关的信息。
8.一种用于分布式覆盖虚拟环境的互操作性的系统,包括:
硬件层,包括物理设备;
多个虚拟交换机,每个虚拟交换机与覆盖所述硬件层的一个或多个虚拟机VM相关联;以及
服务器,包括分布式覆盖虚拟以太网DOVE连接性服务DCS,所述服务器映射用于多个虚拟交换机的分组封装协议类型信息,并基于所述分组封装协议映射来确定对于与第一虚拟交换机相关联的第一VM和与第二虚拟交换机相关联的第二VM是否存在一个或多个公共封装协议类型,如果存在一个或多个公共封装协议类型,则选择一公共封装协议类型,
其中所述第一虚拟交换机使用选择的所述公共封装协议类型来封装用于在所述第一VM与所述第二VM之间的通信的分组。
9.根据权利要求8所述的系统,其中包括所述DCS的所述服务器创建用于所述多个虚拟交换机的每个虚拟交换机的所支持封装协议类型的列表,为用于每个虚拟交换机的每个所支持封装协议类型分配优先级,并按优先级顺序来将用于每个虚拟交换机的所支持封装协议类型的所述列表排序。
10.根据权利要求9所述的系统,其中包括所述DCS的所述服务器从所支持封装协议类型的所述列表中选择具有最高优先级的所述公共封装协议类型。
11.根据权利要求8所述的系统,其中包括所述DCS的所述服务器创建可用转换网关的列表,其中所述列表包括用于每个转换网关的转换能力。
12.根据权利要求9所述的系统,其中包括所述DCS的所述服务器选择将被所述第一虚拟交换机和所述第二虚拟交换机使用的转换网关,其中选择的所述转换网关支持由所述第一虚拟交换机所支持的至少一个封装格式和由所述第二虚拟交换机所支持的至少另一封装格式。
13.根据权利要求8所述的系统,其中所述第一虚拟交换机向包括所述DCS的所述服务器提供所述第一虚拟交换机驻留于其上的隧道端点的封装能力。
14.根据权利要求13所述的系统,其中包括所述DCS的所述服务器提供用于用作目的地隧道端点的、实现由所述第一虚拟交换机和所述第二虚拟交换机所支持的封装协议类型的公共共性的最近转换网关的信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/791,719 | 2013-03-08 | ||
US13/791,719 US9143582B2 (en) | 2013-03-08 | 2013-03-08 | Interoperability for distributed overlay virtual environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038401A CN104038401A (zh) | 2014-09-10 |
CN104038401B true CN104038401B (zh) | 2017-05-10 |
Family
ID=51468995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410083690.1A Active CN104038401B (zh) | 2013-03-08 | 2014-03-07 | 用于分布式覆盖虚拟环境的互操作性的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (3) | US9143582B2 (zh) |
CN (1) | CN104038401B (zh) |
Families Citing this family (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743885B2 (en) | 2011-05-03 | 2014-06-03 | Cisco Technology, Inc. | Mobile service routing in a network environment |
US9383891B2 (en) * | 2012-03-28 | 2016-07-05 | Skytap | Methods and systems for an intermediate graphical desktop sharing protocol |
US9432287B2 (en) | 2013-03-12 | 2016-08-30 | International Business Machines Corporation | Virtual gateways and implicit routing in distributed overlay virtual environments |
US9374241B2 (en) | 2013-03-14 | 2016-06-21 | International Business Machines Corporation | Tagging virtual overlay packets in a virtual networking system |
US9680968B2 (en) * | 2013-03-14 | 2017-06-13 | Patent Capital Group | Establishing translation for virtual machines in a network environment |
US9112801B2 (en) | 2013-03-15 | 2015-08-18 | International Business Machines Corporation | Quantized congestion notification in a virtual networking system |
US9407540B2 (en) | 2013-09-06 | 2016-08-02 | Cisco Technology, Inc. | Distributed service chaining in a network environment |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US9014007B2 (en) * | 2013-05-31 | 2015-04-21 | Dell Products L.P. | VXLAN based multicasting systems having improved load distribution |
US9699082B2 (en) * | 2013-08-27 | 2017-07-04 | Cisco Technology, Inc. | Inter-domain network tenant identifier |
US9491094B2 (en) | 2013-09-25 | 2016-11-08 | Cisco Techonology, Inc. | Path optimization in distributed service chains in a network environment |
US20150085870A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Co-operative load sharing and redundancy in distributed service chains in a network environment |
US9838218B2 (en) * | 2013-10-24 | 2017-12-05 | Kt Corporation | Method for providing overlay network interworking with underlay network and system performing same |
CN104601427B (zh) * | 2013-10-31 | 2018-03-06 | 新华三技术有限公司 | 数据中心网络中的报文转发方法及装置 |
US9300585B2 (en) | 2013-11-15 | 2016-03-29 | Cisco Technology, Inc. | Shortening of service paths in service chains in a communications network |
US9531564B2 (en) * | 2014-01-15 | 2016-12-27 | Cisco Technology, Inc. | Single hop overlay architecture for line rate performance in campus networks |
US10176005B2 (en) * | 2014-03-31 | 2019-01-08 | Cypherpath, Inc. | Environment virtualization |
US9379931B2 (en) | 2014-05-16 | 2016-06-28 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9479443B2 (en) | 2014-05-16 | 2016-10-25 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9692698B2 (en) | 2014-06-30 | 2017-06-27 | Nicira, Inc. | Methods and systems to offload overlay network packet encapsulation to hardware |
US9419897B2 (en) * | 2014-06-30 | 2016-08-16 | Nicira, Inc. | Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization |
CN104243268B (zh) * | 2014-09-19 | 2017-05-10 | 新华三技术有限公司 | Vxlan与隧道的关联方法及装置 |
US10417025B2 (en) | 2014-11-18 | 2019-09-17 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
CN104486192B (zh) * | 2014-12-05 | 2019-02-01 | 国云科技股份有限公司 | 一种虚拟网络隔离方法 |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9762402B2 (en) | 2015-05-20 | 2017-09-12 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
CN106302069A (zh) * | 2015-05-22 | 2017-01-04 | 杭州华三通信技术有限公司 | 实现vxlan和nvgre网络的互通方法和设备 |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US9888127B2 (en) | 2015-07-30 | 2018-02-06 | At&T Intellectual Property I, L.P. | Methods, systems, and computer readable storage devices for adjusting the use of virtual resources providing communication services based on load |
US10277736B2 (en) | 2015-07-30 | 2019-04-30 | At&T Intellectual Property I, L.P. | Methods, systems, and computer readable storage devices for determining whether to handle a request for communication services by a physical telephone number mapping service or a virtual telephone number mapping service |
US9851999B2 (en) | 2015-07-30 | 2017-12-26 | At&T Intellectual Property I, L.P. | Methods, systems, and computer readable storage devices for handling virtualization of a physical telephone number mapping service |
US9866521B2 (en) | 2015-07-30 | 2018-01-09 | At&T Intellectual Property L.L.P. | Methods, systems, and computer readable storage devices for determining whether to forward requests from a physical telephone number mapping service server to a virtual telephone number mapping service server |
US10462011B2 (en) | 2015-08-27 | 2019-10-29 | Nicira, Inc. | Accessible application cluster topology |
US10153918B2 (en) * | 2015-08-27 | 2018-12-11 | Nicira, Inc. | Joining an application cluster |
US10122626B2 (en) | 2015-08-27 | 2018-11-06 | Nicira, Inc. | Self-managed overlay networks |
US10063468B2 (en) | 2016-01-15 | 2018-08-28 | Cisco Technology, Inc. | Leaking routes in a service chain |
US11044203B2 (en) | 2016-01-19 | 2021-06-22 | Cisco Technology, Inc. | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
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 |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
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 |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
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 |
US10075373B2 (en) | 2016-08-26 | 2018-09-11 | Viasat, Inc. | Methods and apparatus for providing traffic forwarder via dynamic overlay network |
CN106454814A (zh) * | 2016-11-10 | 2017-02-22 | 中国科学院计算技术研究所 | 一种用于gtp隧道通信的系统与方法 |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
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 |
US10999219B1 (en) * | 2017-06-19 | 2021-05-04 | Juniper Networks, Inc. | Automated packet switch type and host selection for efficient virtualized network function 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 |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
CN107426348A (zh) * | 2017-07-27 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种ip地址的自动化管理方法和系统 |
CN109391517B (zh) * | 2017-08-02 | 2023-06-27 | 联想企业解决方案(新加坡)有限公司 | 用于监控覆盖网络中的数据流量的方法 |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
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 |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
CN109995640A (zh) * | 2018-01-03 | 2019-07-09 | 中兴通讯股份有限公司 | 一种多类型层叠网互连的方法、装置及系统 |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
CN111124659B (zh) * | 2018-11-01 | 2023-03-17 | 深信服科技股份有限公司 | 一种异构云网络互通系统及方法 |
US11962518B2 (en) | 2020-06-02 | 2024-04-16 | VMware LLC | Hardware acceleration techniques using flow selection |
US11593278B2 (en) | 2020-09-28 | 2023-02-28 | Vmware, Inc. | Using machine executing on a NIC to access a third party storage not supported by a NIC or host |
US11636053B2 (en) | 2020-09-28 | 2023-04-25 | Vmware, Inc. | Emulating a local storage by accessing an external storage through a shared port of a NIC |
US11829793B2 (en) | 2020-09-28 | 2023-11-28 | Vmware, Inc. | Unified management of virtual machines and bare metal computers |
US11716383B2 (en) | 2020-09-28 | 2023-08-01 | Vmware, Inc. | Accessing multiple external storages to present an emulated local storage through a NIC |
US11792134B2 (en) | 2020-09-28 | 2023-10-17 | Vmware, Inc. | Configuring PNIC to perform flow processing offload using virtual port identifiers |
US11995024B2 (en) | 2021-12-22 | 2024-05-28 | VMware LLC | State sharing between smart NICs |
US11863376B2 (en) | 2021-12-22 | 2024-01-02 | Vmware, Inc. | Smart NIC leader election |
US11928367B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Logical memory addressing for network devices |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447538A (zh) * | 2002-02-21 | 2003-10-08 | 夏普株式会社 | 通信装置及通信系统 |
CN1988544A (zh) * | 2006-12-19 | 2007-06-27 | 中兴通讯股份有限公司 | 一种3g视频网关多媒体编解码能力协商方法 |
CN101060454A (zh) * | 2007-05-16 | 2007-10-24 | 杭州华三通信技术有限公司 | 代理接入方法、控制网络设备以及代理接入系统 |
WO2006099296A3 (en) * | 2005-03-10 | 2009-04-16 | Nexthop Technologies Inc | Flexible, scalable, wireless data forwarding and mobility for secure wireless networks |
CN102882710A (zh) * | 2011-09-12 | 2013-01-16 | 微软公司 | 跨机器的事件日志关联 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426944B1 (en) | 1998-12-30 | 2002-07-30 | At&T Corp | Method and apparatus for controlling data messages across a fast packet network |
US7424019B1 (en) | 2001-11-27 | 2008-09-09 | Marvell Israel (M.I.S.L) Ltd. | Packet header altering device |
US7188364B2 (en) | 2001-12-20 | 2007-03-06 | Cranite Systems, Inc. | Personal virtual bridged local area networks |
US7478173B1 (en) | 2003-12-18 | 2009-01-13 | Wmware, Inc. | Method and system for sharing a network connection in a virtual computer system |
US7843925B2 (en) | 2004-01-20 | 2010-11-30 | Nortel Networks Limited | Ethernet differentiated services architecture |
US7702742B2 (en) * | 2005-01-18 | 2010-04-20 | Fortinet, Inc. | Mechanism for enabling memory transactions to be conducted across a lossy network |
US8892706B1 (en) | 2010-06-21 | 2014-11-18 | Vmware, Inc. | Private ethernet overlay networks over a shared ethernet in a virtual environment |
CN100542122C (zh) | 2006-09-29 | 2009-09-16 | 华为技术有限公司 | 一种vlan交换隧道的复用方法和vlan交换域 |
EP1936880A1 (en) | 2006-12-18 | 2008-06-25 | British Telecommunications Public Limited Company | Method and system for congestion marking |
US7778257B1 (en) | 2007-03-07 | 2010-08-17 | Marvell International Ltd. | Virtual ethernet stack |
KR100865722B1 (ko) | 2007-06-25 | 2008-10-28 | 순천대학교 산학협력단 | 유비쿼터스 센서 네트워크에서 이씨엔 비트를 이용한혼잡제어 방법 |
US8121038B2 (en) | 2007-08-21 | 2012-02-21 | Cisco Technology, Inc. | Backward congestion notification |
US7885276B1 (en) | 2008-09-30 | 2011-02-08 | Emc Corporation | Isolating network traffic in multi-tenant virtualization environments |
US9014184B2 (en) | 2009-09-24 | 2015-04-21 | Nec Corporation | System and method for identifying communication between virtual servers |
US8693339B2 (en) | 2009-12-10 | 2014-04-08 | Verizon Patent And Licensing Inc. | LDP extension for forwarding path congestion notification |
US8767742B2 (en) | 2010-04-22 | 2014-07-01 | International Business Machines Corporation | Network data congestion management system |
US8407366B2 (en) | 2010-05-14 | 2013-03-26 | Microsoft Corporation | Interconnecting members of a virtual network |
US8989187B2 (en) | 2010-06-04 | 2015-03-24 | Coraid, Inc. | Method and system of scaling a cloud computing network |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US8929218B2 (en) | 2010-09-10 | 2015-01-06 | Brocade Communication Systems, Inc. | Congestion notification across multiple layer-2 domains |
US8644194B2 (en) | 2010-10-15 | 2014-02-04 | International Business Machines Corporation | Virtual switching ports on high-bandwidth links |
US8718061B2 (en) | 2010-11-19 | 2014-05-06 | Industrial Technology Research Institute | Data center network system and packet forwarding method thereof |
US20120173757A1 (en) | 2011-01-05 | 2012-07-05 | International Business Machines Corporation | Routing optimization for virtual machine migration between geographically remote data centers |
US8774213B2 (en) | 2011-03-30 | 2014-07-08 | Amazon Technologies, Inc. | Frameworks and interfaces for offload device-based packet processing |
US20120290695A1 (en) | 2011-05-13 | 2012-11-15 | International Business Machines Corporation | Distributed Policy Service |
US8665706B2 (en) | 2011-09-27 | 2014-03-04 | Verizon Patent And Licensing Inc. | Redundancy in point-to-multipoint (PMP) backhaul networks |
US8660129B1 (en) | 2012-02-02 | 2014-02-25 | Cisco Technology, Inc. | Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks |
US10454760B2 (en) | 2012-05-23 | 2019-10-22 | Avago Technologies International Sales Pte. Limited | Layer-3 overlay gateways |
US9736211B2 (en) * | 2012-08-27 | 2017-08-15 | Vmware, Inc. | Method and system for enabling multi-core processing of VXLAN traffic |
CN102857416B (zh) | 2012-09-18 | 2016-09-28 | 中兴通讯股份有限公司 | 一种实现虚拟网络的方法、控制器和虚拟网络 |
EP2891277B1 (en) * | 2012-09-26 | 2017-08-09 | Huawei Technologies Co., Ltd. | Overlay virtual gateway for overlay networks |
CN102946354B (zh) | 2012-11-15 | 2016-11-23 | 华为技术有限公司 | 一种报文转发的方法、装置及网络设备 |
US9350558B2 (en) | 2013-01-09 | 2016-05-24 | Dell Products L.P. | Systems and methods for providing multicast routing in an overlay network |
US9432287B2 (en) | 2013-03-12 | 2016-08-30 | International Business Machines Corporation | Virtual gateways and implicit routing in distributed overlay virtual environments |
US9374241B2 (en) | 2013-03-14 | 2016-06-21 | International Business Machines Corporation | Tagging virtual overlay packets in a virtual networking system |
US9112801B2 (en) | 2013-03-15 | 2015-08-18 | International Business Machines Corporation | Quantized congestion notification in a virtual networking system |
-
2013
- 2013-03-08 US US13/791,719 patent/US9143582B2/en active Active
-
2014
- 2014-03-07 CN CN201410083690.1A patent/CN104038401B/zh active Active
-
2015
- 2015-04-17 US US14/689,915 patent/US9374316B2/en active Active
-
2016
- 2016-04-18 US US15/132,092 patent/US9749145B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447538A (zh) * | 2002-02-21 | 2003-10-08 | 夏普株式会社 | 通信装置及通信系统 |
WO2006099296A3 (en) * | 2005-03-10 | 2009-04-16 | Nexthop Technologies Inc | Flexible, scalable, wireless data forwarding and mobility for secure wireless networks |
CN1988544A (zh) * | 2006-12-19 | 2007-06-27 | 中兴通讯股份有限公司 | 一种3g视频网关多媒体编解码能力协商方法 |
CN101060454A (zh) * | 2007-05-16 | 2007-10-24 | 杭州华三通信技术有限公司 | 代理接入方法、控制网络设备以及代理接入系统 |
CN102882710A (zh) * | 2011-09-12 | 2013-01-16 | 微软公司 | 跨机器的事件日志关联 |
Also Published As
Publication number | Publication date |
---|---|
US9749145B2 (en) | 2017-08-29 |
US20160234033A1 (en) | 2016-08-11 |
US9143582B2 (en) | 2015-09-22 |
US20150281118A1 (en) | 2015-10-01 |
CN104038401A (zh) | 2014-09-10 |
US20140254603A1 (en) | 2014-09-11 |
US9374316B2 (en) | 2016-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038401B (zh) | 用于分布式覆盖虚拟环境的互操作性的方法和系统 | |
CN104052789B (zh) | 用于虚拟联网系统的负载平衡的方法和系统 | |
US9602307B2 (en) | Tagging virtual overlay packets in a virtual networking system | |
CN104320418B (zh) | 提供对远程服务的本地安全网络访问 | |
CN103718164B (zh) | 虚拟计算机和服务 | |
US10164868B2 (en) | Hypervisor routing between networks in a virtual networking environment | |
CN103748558B (zh) | 用于在物理网络上覆盖虚拟网络的系统和方法 | |
JP5809696B2 (ja) | 分散型仮想ネットワーク・ゲートウェイ | |
CN104995880B (zh) | 虚拟联网系统中的量化拥塞通知的方法和系统 | |
CN104717137B (zh) | 管理覆盖网络中的数据流的方法和系统 | |
CN104717156B (zh) | 使用网络接口卡管理软件定义网络中的数据流的方法和系统 | |
CN105684357B (zh) | 虚拟机中地址的管理 | |
CN103491129B (zh) | 一种业务节点配置方法、业务节点池注册器及系统 | |
CN103890751B (zh) | 逻辑l3路由 | |
KR101912073B1 (ko) | 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이 | |
CN105450690B (zh) | 虚拟机管理程序执行的方法和虚拟机管理系统 | |
CN106663034A (zh) | 基于企业的网络与多租户网络之间的应用程序迁移 | |
US20120216194A1 (en) | Hypervisor application of service tags in a virtual networking environment | |
CN107615716A (zh) | 用于云联网的多租户感知动态主机配置协议(dhcp)机制 | |
CN109561108A (zh) | 一种基于策略的容器网络资源隔离控制方法 | |
CN104813288B (zh) | 用于在启用openflow的云计算中使用mpls时分离租户特定数据的装置和方法 | |
CN107113298A (zh) | 为rdma提供多租赁支持的方法 | |
CN102780601A (zh) | 管理虚拟网络的方法与系统 | |
CN105493445A (zh) | 联网计算环境中的区域防火墙集群 | |
CN103812777B (zh) | 覆盖虚拟化网络中的高效数据传输方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211109 Address after: USA New York Patentee after: Qindarui Co. Address before: Armank, New York, USA Patentee before: International Business Machines Corp. |