CN105978817B - 用于传输数据的方法、存储器和网络适配器 - Google Patents

用于传输数据的方法、存储器和网络适配器 Download PDF

Info

Publication number
CN105978817B
CN105978817B CN201610135770.6A CN201610135770A CN105978817B CN 105978817 B CN105978817 B CN 105978817B CN 201610135770 A CN201610135770 A CN 201610135770A CN 105978817 B CN105978817 B CN 105978817B
Authority
CN
China
Prior art keywords
network adapter
virtual switch
network
identified
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610135770.6A
Other languages
English (en)
Other versions
CN105978817A (zh
Inventor
B·G·巴纳瓦利卡
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.)
Qindarui Co.
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105978817A publication Critical patent/CN105978817A/zh
Application granted granted Critical
Publication of CN105978817B publication Critical patent/CN105978817B/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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/04Semiconductor bodies ; Multistep manufacturing processes therefor characterised by their crystalline structure, e.g. polycrystalline, cubic or particular orientation of crystalline planes
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/06Semiconductor bodies ; Multistep manufacturing processes therefor characterised by their shape; characterised by the shapes, relative sizes, or dispositions of the semiconductor regions ; characterised by the concentration or distribution of impurities within semiconductor regions
    • H01L29/10Semiconductor bodies ; Multistep manufacturing processes therefor characterised by their shape; characterised by the shapes, relative sizes, or dispositions of the semiconductor regions ; characterised by the concentration or distribution of impurities within semiconductor regions with semiconductor regions connected to an electrode not carrying current to be rectified, amplified or switched and such electrode being part of a semiconductor device which comprises three or more electrodes
    • H01L29/1025Channel region of field-effect devices
    • H01L29/1029Channel region of field-effect devices of field-effect transistors
    • H01L29/1033Channel region of field-effect devices of field-effect transistors with insulated gate, e.g. characterised by the length, the width, the geometric contour or the doping structure
    • H01L29/1037Channel region of field-effect devices of field-effect transistors with insulated gate, e.g. characterised by the length, the width, the geometric contour or the doping structure and non-planar channel
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/12Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
    • H01L29/16Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, only elements of Group IV of the Periodic System
    • H01L29/1608Silicon carbide
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/12Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
    • H01L29/16Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, only elements of Group IV of the Periodic System
    • H01L29/161Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, only elements of Group IV of the Periodic System including two or more of the elements provided for in group H01L29/16, e.g. alloys
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/12Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
    • H01L29/16Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, only elements of Group IV of the Periodic System
    • H01L29/161Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, only elements of Group IV of the Periodic System including two or more of the elements provided for in group H01L29/16, e.g. alloys
    • H01L29/165Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, only elements of Group IV of the Periodic System including two or more of the elements provided for in group H01L29/16, e.g. alloys in different semiconductor regions, e.g. heterojunctions
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/12Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed
    • H01L29/26Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, elements provided for in two or more of the groups H01L29/16, H01L29/18, H01L29/20, H01L29/22, H01L29/24, e.g. alloys
    • H01L29/267Semiconductor bodies ; Multistep manufacturing processes therefor characterised by the materials of which they are formed including, apart from doping materials or other impurities, elements provided for in two or more of the groups H01L29/16, H01L29/18, H01L29/20, H01L29/22, H01L29/24, e.g. alloys in different semiconductor regions, e.g. heterojunctions
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices adapted for rectifying, amplifying, oscillating or switching, or capacitors or resistors with at least one potential-jump barrier or surface barrier, e.g. PN junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof  ; Multistep manufacturing processes therefor
    • H01L29/66Types of semiconductor device ; Multistep manufacturing processes therefor
    • H01L29/68Types of semiconductor device ; Multistep manufacturing processes therefor controllable by only the electric current supplied, or only the electric potential applied, to an electrode which does not carry the current to be rectified, amplified or switched
    • H01L29/76Unipolar devices, e.g. field effect transistors
    • H01L29/772Field effect transistors
    • H01L29/78Field effect transistors with field effect produced by an insulated gate
    • H01L29/788Field effect transistors with field effect produced by an insulated gate with floating gate
    • H01L29/7881Programmable transistors with only two possible levels of programmation
    • H01L29/7883Programmable transistors with only two possible levels of programmation charging by tunnelling of carriers, e.g. Fowler-Nordheim tunnelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/20Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B41/23Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B41/27Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Abstract

本申请涉及用于传输数据的方法、存储器和网络适配器。在实施例中,网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在网络适配器中存储的列表中标识出的叠加网络中的一个或多个虚拟交换机中的每一个的请求。针对在列表中标识出的一个或多个虚拟交换机中的每一个,网络适配器创建对多目的地分组的头端复制,获得针对所标识出的虚拟交换机的隧道端点信息,将所创建的对多目的地分组的头端复制与特定于所获得的隧道端点信息中标识的隧道协议的报头进行封装,以及将所封装的分组传输到在所标识的虚拟交换机上托管的接收器。

Description

用于传输数据的方法、存储器和网络适配器
技术领域
本发明一般涉及数据传输的领域,并且更特别地涉及在叠加网络(overlaynetwork)中传输多目的地(multi-destination)分组。
背景技术
数据处理环境包括各种硬件、软件和固件网络组件。物理网络,也被称为底层(underlay),是使用这样的组件来定义的网络。
目前可以使用一些技术从这样的联网组件构造逻辑网络,该逻辑网络也被称为软件定义网络(SDN)叠加(以下称为“叠加”,“叠加网络”或“OVN”)。本质上,联网组件被抽象为对应的逻辑表示或虚拟表示,并且该抽象被用于定义叠加。也就是说,叠加是通过使用底层联网组件的逻辑表示来形成和操作的逻辑网络。
物理网络通常存在于数据处理环境的划定边界内,该数据处理环境的联网组件在物理网络中被利用。与物理网络不同,叠加可以被设计为跨越一个或多个数据处理环境。例如,物理网络可以被包含在数据中心内,而叠加可以跨越一个或多个数据中心。
作为示例,联网网关的逻辑表示可以加入叠加中,以使得归结于叠加中的联网网关的逻辑表示的功能实际上由叠加中的底层联网网关组件执行。
在叠加中,因为执行联网功能的实际的联网组件被抽象为表示那些组件所提供的联网功能性的逻辑实体,而不是那些功能的实际实现,因此需要一些事物来将该联网功能性引入运行的逻辑网络中。SDN控制器是在叠加内管理和操作逻辑联网组件的组件。
虚拟机器(VM)包括对数据处理系统中可用的真实硬件、软件和固件组件的虚拟化表示。数据处理系统可以具有配置在其上的任何数量的VM,并且利用在其中的任何数量的虚拟化组件。数据处理系统还被称为计算节点(computing node)、计算节点(computenode)、节点、或主机。
在诸如数据中心中之类的大规模的数据处理环境中,数以千计的VM可以在任何给定时间在主机上运行,此时如果没有数以千计的这样的主机则数以百计的这样的主机可以在数据中心中是运行的。诸如所描述的数据中心之类的虚拟化数据处理环境经常被称为“云”,其基于需要向若干客户端提供计算资源和计算服务。
虚拟交换机(在本文中有时被称为vSwitch)是允许VM之间的通信的软件应用。虚拟交换机是完全虚拟的,并且可以连接到网络接口卡(NIC)。虚拟交换机将物理交换机合并为单个逻辑交换机。这有助于增加带宽,并且在服务器和交换机之间创建活动网格(activemesh)。虚拟交换机可以被嵌入到服务器所安装的软件中,或被包括在服务器的硬件中作为其固件的一部分。
通过定义叠加网络而进行网络虚拟化是在数据中心和云计算环境的管理和运行中新兴的趋势。网络虚拟化的一个目标是简化在多宿主数据处理环境以及专用的客户数据处理环境中的网络供应(provisioning)。
单播(Unicasting)是点到点,即从单个发送器到单个接收器,发送数据的方法。广播是将相同的数据发送给所有可能的目的地的方法。另一个多目的地分发方法(多播(multicasting))通过使用特别的地址分配将相同的数据仅仅发送给被称为接收器的感兴趣目的地。因特网协议(IP)多播是在IP分组的单个传输中将IP分组多播传送给若干接收器的过程。IP多播是用于帮助节约数据中心中的带宽并且减小服务器上的负荷的流行技术。
在叠加网络中操作的IP多播被称为叠加多播。叠加多播可以以不同的方式实现,依赖于底层网络中提供的对多播的支持。基于多播的叠加多播要求底层网络提供对多播的支持。在底层网络中的多播目前在数据处理环境中并不普遍。基于多-单播(multi-unicast)的叠加多播是在叠加网络中传输多播分组的方法,在该叠加网络中底层支持单播,但不支持多播。
发明内容
在一个实施例中,一种方法包括,网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在网络适配器所存储的列表中标识出的、叠加网络的一个或多个虚拟交换机中的每一个的请求。该方法还包括,针对在列表中标识出的一个或多个虚拟交换机中的每一个:网络适配器创建对多目的地分组的头端复制;网络适配器获得针对所标识出的虚拟交换机的隧道端点信息(tunneling endpoint information);网络适配器将所创建的对多目的地分组的头端复制与特定于所获得的隧道端点信息中标识的隧道协议的报头进行封装;以及网络适配器将所封装的分组传输到在所标识出的虚拟交换机上托管(host)的接收器。
在另一个实施例中,存储器存储用于实施方法的、由网络适配器的处理器可执行的程序指令。该方法包括,网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在网络适配器所存储的列表中标识出的、叠加网络的一个或多个虚拟交换机中的每一个的请求。该方法还包括,针对在列表中标识出的一个或多个虚拟交换机中的每一个:网络适配器创建对多目的地分组的头端复制;网络适配器获得针对所标识出的虚拟交换机的隧道端点信息;网络适配器将所创建的对多目的地分组的头端复制与特定于所获得的隧道端点信息中标识的隧道协议的报头进行封装;以及网络适配器将所封装的分组传输到在所标识的虚拟交换机上托管的接收器。
在另一个实施例中,网络适配器包括处理器、存储器和存储在存储器中以供处理器执行来实施方法的程序指令。该方法包括,网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在网络适配器存储的列表中标识出的、叠加网络的一个或多个虚拟交换机中的每一个的请求。该方法还包括,针对在列表中标识出的一个或多个虚拟交换机中的每一个:网络适配器创建对多目的地分组的头端复制;网络适配器获得针对所标识出的虚拟交换机的隧道端点信息;网络适配器将所创建的对多目的地分组的头端复制与特定于所获得的隧道端点信息中标识的隧道协议的报头进行封装;以及网络适配器将所封装的分组传输到在所标识的虚拟交换机上托管的接收器。
附图说明
图1是示出在根据本发明的实施例中的多目的地分组处理环境的功能性框图;
图2是示出在根据本发明的实施例中的网络适配器的功能性框图;
图3是在根据本发明的实施例中,描绘在图1中的多目的地分组处理环境内向多目的地群组接收器列表中添加虚拟交换机和移除虚拟交换机的操作步骤的流程图;
图4是在根据本发明的实施例中,描绘用于在图1中的多目的地分组处理环境内将多目的地分组传输到多目的地群组的操作步骤的流程图;
图5描绘了在根据本发明的实施例中的服务器计算机的框图。
具体实施方式
根据本发明的实施例认识到网络适配器的显著优势:基于由基于软件的数据路径提供的卸载(offload)指令维持多目的地群组与隧道端点(TEP)的映射、提供应用程序接口(API)以操控这样的映射、以及处理针对多目的地分组的头端复制(head endreplication)。本文所描述的实施例使虚拟交换机从创建一到许多的单播分组以用于多目的地分组,并且从针对新创建的分组中的每一个执行校验和以及封装中解脱。本文所描述的实施例消除了对用于在基于虚拟交换机软件的数据路径处处理多目的地分组的现有方法的限制。
本文所描绘的实施例认识到在OVN TEP处的多目的地流量(traffic)处理是中央处理单元(CPU)昂贵的操作。一些在OVN TEP处的多目的地分组处理的实现对用于处理多目的地分组的底层网络的支持具有依赖性,这对这样的OVN解决方案的可部署性造成显著的限制,因为处理多目的地分组所需要的底层网络支持不总是存在于用户驻地(customerpremises)中。用户驻地设备(CPE)是位于用户驻地(物理位置)而不是位于提供者的驻地或在之间的电话或其他服务提供者设备。电话手持设备、有线电视机顶盒、以及数字用户线路(DSL)路由器是CPE的示例。可替代地,OVN TEP使用重复的单播方法来处理多目的地分组递送。本文所描述的实施例认识到,这样的方法是CPU密集的,易于延迟的,并且具有显著的可缩放性问题,因为分组形成、校验和以及封装工作在基于软件的数据路径中被执行。本文所描述的实施例进一步认识到,这样的实现还遭受不一致的多目的地分组处理性能,并且影响对正常的单播分组的处理,因为对多目的地分组的重复单播的典型处理涉及在去往远程TEP的其他单播分组之前创建针对每个多目的地分组的一到许多的单播分组。这个问题在OVN TEP具有与底层网络的单个物理连接时变得甚至更严重。
现在将参考附图详细描述根据本发明的实施例。图1是示出在根据本发明的实施例中的多目的地分组处理环境的功能性框图。
多目的地分组处理环境100包括服务器120、网络控制器122、服务器124、和服务器142,这些全部通过网络120互联。服务器102、124和142各自可以是能够处理程序指令以及例如通过网络120来接收和发送数据的任何电子设备或电子设备的组合。在一些实施例中,服务器102、124和142可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、服务器计算机、个人数字助手(PDA)、或智能电话中的任何一个。在其他实施例中,服务器102、124和142各自可以表示(诸如在分布式计算环境中)利用多个计算机作为服务器系统的服务器计算系统。
服务器102包括RAM 104、CPU 106、持久存储装置108、VM 112、VM 114、虚拟交换机116以及网络适配器118。持久存储装置108可以例如是硬盘驱动器。可替代地,或除了硬磁盘驱动器以外,持久存储装置108可以包括固态硬驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。持久存储装置108存储操作系统软件,以及使得服务器102能够通过网络120上的数据连接与网络控制器122、服务器124、和服务器142进行通信的软件。多目的地软件110(有时缩写为“mdest软件110”)也存储在持久存储装置108中。多目的地软件110是使得虚拟交换机116能够通过网络120与网络控制器122、服务器102上的VM112和VM 114;服务器124上的VM 134、VM 136和虚拟交换机138;以及服务器142上的VM152、VM 154和虚拟交换机156进行通信的软件。多目的地软件110还使得网络控制器122能够向虚拟交换机116、138和156供应针对给定的多目的地群组的多目的地群组接收器列表。
VM 112使用网络120上的叠加虚拟网络通过虚拟交换机116、虚拟交换机138和虚拟交换机156与VM 134和VM 152进行通信。VM 114使用网络120上的单独的叠加虚拟网络通过虚拟交换机116、虚拟交换机138和虚拟交换机156与VM 136和VM 154进行通信。虚拟交换机116被VM 112和VM 114使用以用于与网络120上它们各自的叠加网络上的节点进行通信。在一个实施例中,可以在多目的地分组处理环境100中存在许多虚拟机器和虚拟叠加网络。在其他实施例中,网络控制器122可以驻留在多目的地分组处理环境100中的服务器上,或作为连接到网络120的独立的计算机。
网络适配器118是将服务器102连接到网络120的计算机硬件组件。网络适配器118允许服务器102与网络控制器122、服务器124和服务器142进行通信。网络适配器118还包括卸载能力,该卸载能力允许网络适配器118基于由基于软件的数据路径提供的卸载指令维持多目的地群组和TEP的映射、提供应用程序接口(API)以操纵这样的映射、以及处理针对多目的地分组的头端复制(head end replication)。网络适配器118还使得VM 112能够使用网络120上的叠加虚拟网络通过虚拟交换机116、虚拟交换机138和虚拟交换机156与VM134和VM 152进行通信。网络适配器18还使得VM 114能够使用网络120上的单独的叠加虚拟网络通过虚拟交换机116、虚拟交换机138和虚拟交换机156与VM 136和VM 154进行通信。
在图1中,网络120被示出为服务器102、网络控制器122、服务器124、和服务器142之间的互联结构。在实际中,网络120可以是任何可行的数据传输网络。网络120可以是例如,局域网(LAN)、诸如因特网之类的广域网(WAN)、或两者的组合,并且可以包括有线、无线、或光纤连接。一般来说,网络120可以是根据本发明的实施例支持服务器102、网络控制器122、服务器124、和服务器142之间的通信的连接和协议的任何组合。
网络控制器122是具有虚拟网络、虚拟交换机、虚拟端点(多目的地的发送器和接收器)的端到端供应的可见性的SDN控制器。网络控制器122负责生成在给定的多目的地群组(例如VM 112、VM 134和VM 152)内的多目的地群组接收器列表,并且将其供应给具有针对给定的多目的地群组的多目的地发送器的、例如虚拟交换机156的虚拟交换机。在一个实施例中,网络控制器122可以是在多目的地分组处理环境100中的单独的计算机系统、服务器、或硬件。在另一个实施例中,网络控制器122可以是服务器102、服务器124或服务器142的一部分。一些实施例可以在多目的地分组处理环境100中包括多于一个的网络控制器,以便例如用作网络控制器122的备用控制器。
服务器124包括RAM 126、CPU 128、持久存储装置130、VM 134、VM 136、虚拟交换机和网络适配器140。持久存储装置130包含类似于mdest软件110的mdest软件132。网络适配器140是将服务器124连接到网络120的计算机硬件组件。网络适配器140允许服务器124与网络控制器122、服务器102和服务器142通信。网络适配器140还包括允许网络适配器140基于由基于软件的数据路径提供的卸载指令维持多目的地群组和TEP的映射、提供应用程序接口(API)以操纵这样的映射、以及处理针对多目的地分组的头端复制的卸载能力。网络适配器140还使得VM 134能够使用网络120上的叠加虚拟网络通过虚拟交换机138、虚拟交换机116和虚拟交换机156与VM 112和VM 152进行通信。网络适配器140还使得VM 136能够使用网络120上的单独的叠加虚拟网络通过虚拟交换机138、虚拟交换机116和虚拟交换机156与VM 114和VM 154进行通信。
服务器142包括RAM 144、CPU 146、持久存储装置148、VM 152、VM 154、虚拟交换机156和网络适配器158。持久存储装置148包含类似于mdest软件110的mdest软件150。网络适配器158是将服务器142连接到网络120的计算机硬件组件。网络适配器158允许服务器142与网络控制器122、服务器102和服务器142进行通信。网络适配器158还包括允许网络适配器158基于由基于软件的数据路径提供的卸载指令维持多目的地群组和TEP的映射、提供应用程序接口(API)以操纵这样的映射、以及处理针对多目的地分组的头端复制的卸载能力。网络适配器158还使得VM 152使用网络120上的叠加虚拟网络通过虚拟交换机156、虚拟交换机116和虚拟交换机138与VM 112和VM 134进行通信。网络适配器158还使得VM 154使用网络120上的单独的叠加虚拟网络通过虚拟交换机156、虚拟交换机116和虚拟交换机138与VM 114和VM 136进行通信。
在图1的示例实施例中,服务器142用作针对被称为“MDG-1”的、在虚拟交换机156上托管的多目的地群组的多目的地发送器,并且处理针对VM 112、VM 134、VM 152、虚拟交换机138和虚拟交换机116的网络数据。服务器142还用作针对被称为“MDG-2”(未示出)的、在虚拟交换机156上托管的多目的地群组的多目的地发送器,并且处理针对VM 114、VM136、VM 154、虚拟交换机138和虚拟交换机116的网络数据。在其他实施例中,多目的地群组可以被托管在多目的地分组处理环境100中的一个或多个虚拟交换机上。
图2是示出根据本发明的实施例中的网络适配器的功能性框图。网络适配器200是网络适配器118、140和158中的每一个的实施例,并且包含处理器202、存储器204、外围组件互连(PCI)接口206、介质访问控制208、和多目的地应用程序接口(API)210。应当理解的是,图2仅仅提供了对一个实现的说明,并且不意味着关于可以在其中实现不同的实施例的环境的任何限制。可以做出对所描绘的环境的许多修改。在一个实施例中,多目的地API 210可以驻留在存储器204中或驻留在单独的只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、或闪速存储器中。在另一个实施例中,多目的地API 210可以驻留在于主机服务器,并且可以被下载到网络适配器118。
多目的地API 210使得网络适配器200能够基于由例如虚拟交换机156的多目的地发送器托管的多目的地群组接收器列表来创建和存储多目的地群组列表。将多目的地操作从例如虚拟交换机156的虚拟交换机卸载到网络适配器200提供了用于多目的地分组处理操作的主机CPU利用的显著减少。将多目的地操作卸载到网络适配器200的另一个优势是改善分组发送延迟,因为处理在硬件级别进行。将多目的地操作卸载到网络适配器200还解决了随着增长的多目的地群组成员列表而产生的可缩放性问题。可缩放性是系统、网络或进程以可行的方式处理日益增长的工作量的能力,或其要被扩大以适应该增长的能力。对于针对每个多目的地群组成员的软件实施的分组复制和头端复制,当多目的地群组成员列表增加时,针对被传输的每个分组,校验和计算必须被执行,从而在主机CPU上增加高负荷,该高负荷随着多目的地群组成员列表的增长而增长。通过这些操作被卸载到网络适配器200,诸如CPU 106、128和146之类的CPU能够向其他任务提供更多的处理周期。
图3是描绘根据本发明的实施例中的向图1的多目的地分组处理环境内的多目的地群组接收器列表添加和移除虚拟交换机的操作步骤的、被总体表示为300的流程图。在这个示例实施例中,服务器142上的虚拟交换机156是MDG-1的多目的地发送器。网络控制器122向虚拟交换机156发送要将虚拟交换机116添加到网络适配器158上的MDG-1接收器的列表的请求,如步骤302所描绘的那样。MDG-1接收器的列表可以被存储在网络适配器158的存储器204中。在步骤304中,响应于接收到该请求,虚拟交换机156调用网络适配器158的多目的地API 210中的一个或多个,以通过将虚拟交换机116添加到网络适配器158上的MDG-1接收器的列表来更新MDG-1。响应于接收到对网络适配器158的多目的地API 210中的所述一个或多个的调用,网络适配器158通过将虚拟交换机116添加到网络适配器158上的MDG-1接收器的列表来更新MDG-1。
网络控制器122向虚拟交换机156发送要将虚拟交换机138添加到虚拟交换机156上的MDG-1接收器的列表的请求,如步骤306所描绘的那样。在步骤308中,响应于接收到该请求,虚拟交换机156调用网络适配器158的多目的地API 210中的一个或多个,以通过将虚拟交换机138添加到网络适配器158上的MDG-1接收器的列表来更新MDG-1。响应于接收到对网络适配器158的多目的地API 210中的所述一个或多个的调用,网络适配器158通过将虚拟交换机138添加到网络适配器158上的MDG-1接收器的列表来更新MDG-1。
虚拟交换机以类似的方式从多目的地群组被移除。在步骤310中,网络控制器1122向虚拟交换机156发送从MDG-1接收器的列表删除虚拟交换机116的请求。在步骤312中,响应于接收到该请求,虚拟交换机156调用网络适配器158的多目的地API 210中的一个或多个,以通过从网络适配器158上的MDG-1接收器的列表删除虚拟交换机116来更新MDG-1。响应于接收到对网络适配器158的多目的地API 210中的所述一个或多个的调用,网络适配器158通过从网络适配器158上的MDG-1接收器的列表删除虚拟交换机116来更新MDG-1。
网络控制器122发送另一个要将虚拟交换机116添加到网络适配器158上的MDG-1接收器的列表的请求,如步骤314所描绘的那样。在步骤316中,响应于接收到该请求,虚拟交换机156调用网络适配器158的多目的地API 210中的一个或多个,以通过将虚拟交换机116添加到网络适配器158上的MDG-1接收器的列表来更新MDG-1。响应于接收到对网络适配器158的多目的地API 210中的所述一个或多个的调用,网络适配器158通过将虚拟交换机116添加到网络适配器158上的MDG-1接收器的列表来更新MDG-1。在网络适配器158中维持诸如MDG-1接收器的列表之类的多目的地群组列表,提供了在多目的地分组处理环境100内无缝地对该列表进行缩放的能力。
图4是描绘根据本发明的实施例中的用于将多目的地分组传输给图1的多目的地分组处理环境内的多目的地群组的操作步骤的、被总体表示为400的流程图。在步骤402中,服务器142将用于MDG-1的多目的地分组传输给虚拟交换机156。在一个实施例中,多目的地分组可以来源于虚拟机器152或虚拟机器154。在另一个实施例中,多目的地分组可以来源于存储在持久存储装置148中的mdest软件150。虚拟交换机156调用网络适配器158的多目的地API 210中的一个或多个,以用于网络适配器158将多目的地分组传输给MDG-1接收器的列表中的虚拟交换机,如步骤404所描述的那样。在步骤406中,响应于为网络适配器158将多目的地分组传输给MDG-1接收器的列表中的虚拟交换机、对网络适配器158的多目的地API 210中的所述一个或多个的调用的接收,网络适配器158通过创建针对MDG-1接收器列表中的每个虚拟交换机的分组的副件来执行针对多目的地分组的头端复制过程。对于MDG-1接收器的列表中的每个虚拟交换机,网络适配器158获得虚拟交换机隧道端点信息。该隧道端点信息可以包含对于目的地虚拟交换机所需要的隧道协议以及虚拟局域网(VLAN)端口群组。VLAN端口群组在初始的VLAN配置过程期间由管理员配置。VLAN端口群组包括物理网络接口卡(NIC)、VLAN信息和合作策略(teaming policy)。这些端口群组决定VLAN流量(traffic)如何通过物理NIC被运送进主机TEP和运送出主机TEP。网络适配器158将针对目的地虚拟交换机的所复制的多目的地分组与隧道协议所特定的报头封装起来。在计算机网络中,封装是设计模块化通信协议的方法,其中网络中的逻辑分离的功能通过包括在较高层的对象内隐藏的信息而从它们底层的结构被抽象。隧道协议允许网络用户访问或提供底层网络不直接提供或支持的网络服务。隧道协议的一个重要的用途是允许外来协议在不支持此特定协议的网络上运行,例如在IPv4上运行IPv6。
网络适配器158将每个封装分组传输给其MDG-1接收器的列表中的目的地MDG-1接收器。在步骤408中,网络适配器158向虚拟交换机116发送第一封装分组。在步骤410中,虚拟交换机116接收并且解封分组,识别被包含在分组中的多目的地群组“MDG-1”,然后在端口列表中查找多目的地群组。在计算机联网中,解封分组是移除先前被封装的数据。虚拟交换机用作使用常用的网络适配器集合的端口配置的容器,该常用的网络适配器集合包括完全不包含网络适配器的集合。在一个实施例中,端口列表可以被存储在虚拟交换机中或本地服务器上。每个虚拟交换机提供有限数量的接口,通过这些接口,例如VM 152和VM 154的虚拟机器和网络服务可以到达一个或多个网络。虚拟交换机116将分组转发给服务器102上的网络适配器118上的目的地端口“X”,如步骤412所描绘的那样。
在步骤414中,网络适配器158向虚拟交换机138发送第二封装分组。在步骤416中,虚拟交换机138接收并解封分组,并且在端口列表中查找多目的地群组“MDG-1”。虚拟交换机138将分组转发到服务器124上的网络适配器140上的目的地端口“Y”,如步骤418所描绘的那样。
图5描绘了在根据本发明的实施例中的服务器计算机的组件的框图。应当理解的是,图5仅仅提供了对一个实现的说明,并且不意味着关于可以实现不同实施例的环境的任何限制。可以做出对所描绘的环境的许多修改。
服务器计算机500是服务器计算机102、124和142中的每一个的实施例,并且包括通信结构502,该通信结构502提供一个或多个计算机处理器504、存储器506、持久存储装置508、通信单元510、以及一个或多个输入/输出(I/O)接口512之间的通信。可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等等)、系统存储器、外围设备以及系统内的任何其他硬件组件之间传递数据和/或控制信息的任何体系架构来实施通信结构502。例如,通信结构502可以用一个或多个总线来实施。
存储器506和外围存储装置508是计算机可读的存储介质。在这个实施例中,存储器506包括随机存取存储器(RAM)514和高速缓存存储器516。通常,存储器506可以包括任何适当的易失性或非易失性计算机可读存储介质。
多目的地软件524(类似于多目的地软件110、132和150中的每一个)经由存储器506中的一个或多个存储器被存储在持久存储装置508中,以供相应的计算机处理器504中的一个或多个进行执行。在这个实施例中,持久存储装置508包括硬磁盘驱动器。可替代地,或除了硬磁盘驱动器以外,持久存储装置可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
由持久存储装置508使用的介质还可以是可移除的。例如,可移除硬盘驱动器可以被用于持久存储装置508。其他示例包括光盘和磁盘、拇指驱动器、以及被插入到驱动器以用于向也是持久存储装置508的一部分的另一个计算机可读存储介质进行递送的智能卡。
在这些示例中,通信单元510提供与包括诸如网络控制器122之类的网络120的资源在内的其他数据处理系统或设备进行通信。在这些示例中,通信单元510包括一个或多个网络接口卡。通信单元510可以通过使用物理通信链路和无线通信链路中的任一个或两者来提供通信。通过通信单元510,多目的地软件524可以被下载到持久存储装置508。
一个或多个I/O接口512允许用可以连接到服务器102的其他设备进行数据的输入和输出。例如,I/O接口512可以提供与外部设备518的连接,外部设备518诸如键盘、小型键盘、触摸屏、和/或一些其他合适的输入设备。外部设备518还可以包括便携式计算机可读介质,诸如拇指驱动器、便携式光盘或磁盘、以及存储器卡。例如多目的地软件524的、用于实行本发明的实施例的软件和数据,可以被存储在这样的便携式计算机可读存储介质上,并且可以经由一个或多个I/O接口512被加载到持久存储装置508。一个或多个I/O接口512还连接到显示器520。显示器520提供向用户显示数据的机构,并且可以是例如计算机监控器。
本文所描述的程序是基于在本发明的特定实施例中实施这些程序的应用而被识别的。但是应当理解的是,本文中的任何特定的程序术语仅仅是为了便利而被使用,并且因此本发明不应当被限制为仅仅在由这样的术语识别和/或暗示的任何特定应用中使用。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (20)

1.一种用于传输数据的方法,包括:
网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在所述网络适配器中存储的列表中标识出的所述叠加网络的一个或多个虚拟交换机中的每一个的请求;以及
针对在所述列表中标识出的所述一个或多个虚拟交换机中的每一个:
所述网络适配器创建所述多目的地分组的头端复制;
所述网络适配器获得针对所标识出的虚拟交换机的隧道端点信息;
所述网络适配器将所创建的对多目的地分组的头端复制与特定于在所获得的隧道端点信息中标识的隧道协议的报头进行封装;以及
所述网络适配器将所封装的分组传输到在所标识的虚拟交换机上托管的接收器。
2.如权利要求1所述的方法,还包括:
响应于接收到由所述第一虚拟交换机做出的、对所述网络适配器的应用程序接口的调用,所述网络适配器将第二虚拟交换机的标识符添加到所述列表。
3.如权利要求1所述的方法,还包括:
响应于接收到由所述第一虚拟交换机做出的、对所述网络适配器的应用程序接口的调用,所述网络适配器从所述列表中删除第二虚拟交换机的标识符。
4.如权利要求1所述的方法,其中所述的获得包括:从软件定义的网络控制器中检索针对所标识出的虚拟交换机的隧道端点信息。
5.如权利要求1所述的方法,其中所述隧道端点信息包括与所标识的虚拟交换机所需要的隧道协议有关的信息。
6.如权利要求1所述的方法,其中所封装的分组标识多目的地接收器群组,所述多目的地群组包括所述多目的地分组的发送器和接收一个或多个被传输的封装的分组中的一个的每个虚拟交换机。
7.如权利要求6所述的方法,其中所述多目的地群组在所标识的虚拟交换机上的端口列表中被识别。
8.一种存储程序指令的存储器,该程序指令能够由网络适配器的处理器可执行以实施方法,所述方法包括:
所述网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在所述网络适配器中存储的列表中标识出的所述叠加网络中的一个或多个虚拟交换机中的每一个的请求;以及
针对在所述列表中标识出的所述一个或多个虚拟交换机中的每一个:
所述网络适配器创建所述多目的地分组的头端复制;
所述网络适配器获得针对所标识出的虚拟交换机的隧道端点信息;
所述网络适配器将所创建的对多目的地分组的头端复制与特定于在所获得的隧道端点信息中标识的隧道协议的报头进行封装;以及
所述网络适配器将所封装的分组传输到在所标识的虚拟交换机上托管的接收器。
9.如权利要求8所述的存储器,其中所述方法还包括:
响应于接收到由所述第一虚拟交换机做出的对所述网络适配器的应用程序接口的调用,所述网络适配器将第二虚拟交换机的标识符添加到所述列表。
10.如权利要求8所述的存储器,其中所述方法还包括:
响应于接收到由所述第一虚拟交换机做出的、对所述网络适配器的应用程序接口的调用,所述网络适配器从所述列表中删除第二虚拟交换机的标识符。
11.如权利要求8所述的存储器,其中所述的获得包括:从软件定义的网络控制器中检索针对所标识出的虚拟交换机的隧道端点信息。
12.如权利要求8所述的存储器,其中所述隧道端点信息包括与所标识的虚拟交换机所需要的隧道协议有关的信息。
13.如权利要求8所述的存储器,其中所封装的分组识别多目的地接收器群组,所述多目的地群组包括所述多目的地分组的发送器和接收一个或多个被传输的封装的分组中的一个的每个虚拟交换机。
14.如权利要求13所述的存储器,其中所述多目的地群组在所标识的虚拟交换机上的端口列表中被识别。
15.一种网络适配器,包括处理器、存储器、以及被存储在所述存储器中以供所述处理器执行以实现方法的程序指令,所述方法包括:
所述网络适配器从叠加网络的第一虚拟交换机接收将多目的地分组传输到在所述网络适配器中存储的列表中标识出的所述叠加网络中的一个或多个虚拟交换机中的每一个的请求;以及
针对在列表中标识出的所述一个或多个虚拟交换机中的每一个:
所述网络适配器创建所述多目的地分组的头端复制;
所述网络适配器获得针对所标识出的虚拟交换机的隧道端点信息;
所述网络适配器将所创建的对多目的地分组的头端复制与特定于所获得的隧道端点信息中标识的隧道协议的报头进行封装;以及
所述网络适配器将所封装的分组传输到在所标识的虚拟交换机上托管的接收器。
16.如权利要求15所述的网络适配器,其中所述方法还包括:
响应于接收到由所述第一虚拟交换机做出的、对所述网络适配器的应用程序接口的调用,所述网络适配器将第二虚拟交换机的标识符添加到所述列表。
17.如权利要求15所述的网络适配器,其中所述方法还包括:
响应于接收到由所述第一虚拟交换机做出的、对所述网络适配器的应用程序接口的调用,所述网络适配器从所述列表中删除第二虚拟交换机的标识符。
18.如权利要求15所述的网络适配器,其中所述的获得包括:从软件定义的网络控制器中检索针对所标识出的虚拟交换机的隧道端点信息。
19.如权利要求15所述的网络适配器,其中所述隧道端点信息包括与所标识的虚拟交换机所需要的隧道协议有关的信息。
20.如权利要求15所述的网络适配器,其中所封装的分组识别多目的地接收器群组,所述多目的地群组包括所述多目的地分组的发送器和接收一个或多个被传输的封装的分组中的一个的每个虚拟交换机。
CN201610135770.6A 2015-03-11 2016-03-10 用于传输数据的方法、存储器和网络适配器 Active CN105978817B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/644,258 US9887939B2 (en) 2015-03-11 2015-03-11 Transmitting multi-destination packets in overlay networks
US14/644,258 2015-03-11

Publications (2)

Publication Number Publication Date
CN105978817A CN105978817A (zh) 2016-09-28
CN105978817B true CN105978817B (zh) 2019-03-15

Family

ID=56801281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610135770.6A Active CN105978817B (zh) 2015-03-11 2016-03-10 用于传输数据的方法、存储器和网络适配器

Country Status (3)

Country Link
US (4) US9887939B2 (zh)
CN (1) CN105978817B (zh)
DE (1) DE102016104264B4 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9887939B2 (en) 2015-03-11 2018-02-06 International Business Machines Corporation Transmitting multi-destination packets in overlay networks
US11212240B2 (en) * 2016-05-26 2021-12-28 Avago Technologies International Sales Pte. Limited Efficient convergence in network events
EP3613172B1 (en) 2017-04-18 2023-06-07 Deutsche Telekom AG Method for enhanced handling of multicast data streams within a broadband access network of a telecommunications network, telecommunications network, and system for enhanced handling of multicast data streams within a broadband access network of a telecommunications network, program and computer program product
US10484303B2 (en) * 2017-08-29 2019-11-19 Cisco Technology, Inc. Replication with dedicated metal deployment in a cloud
US11150963B2 (en) * 2019-02-28 2021-10-19 Cisco Technology, Inc. Remote smart NIC-based service acceleration
JP2020150079A (ja) 2019-03-12 2020-09-17 キオクシア株式会社 半導体記憶装置およびその製造方法
US11605642B2 (en) * 2020-12-16 2023-03-14 Micron Technology, Inc. Microelectronic devices including stair step structures, and related memory devices, electronic systems, and methods
US20220385570A1 (en) * 2021-05-28 2022-12-01 Juniper Networks, Inc. Policy enforcement for bare metal servers by top of rack switches

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102549973A (zh) * 2009-10-07 2012-07-04 日本电气株式会社 功率节省系统及功率节省方法
CN102648455A (zh) * 2009-12-04 2012-08-22 日本电气株式会社 服务器和流控制程序
WO2015018323A1 (en) * 2013-08-05 2015-02-12 Huawei Technologies Co., Ltd. Method for packet tunneling through software defined network, method of intelligently controlling flow of a packet through software defined network and system

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717913B1 (en) * 1999-02-23 2004-04-06 Alcatel Multi-service network switch with modem pool management
EP2323164B1 (en) 2000-08-14 2015-11-25 SanDisk 3D LLC Multilevel memory array and method for making same
US7219157B2 (en) 2001-03-23 2007-05-15 Lucent Technologies Inc. Application programming interface for network applications
US7266120B2 (en) * 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
US20060187950A1 (en) * 2005-02-18 2006-08-24 Alcatel Architecture and provisioning tools for managed multicast virtual private LAN trees
CN101352008A (zh) 2005-12-28 2009-01-21 日本电气株式会社 通信装置、其操作方法和操作程序
JP2008020977A (ja) 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
US8208463B2 (en) * 2006-10-24 2012-06-26 Cisco Technology, Inc. Subnet scoped multicast / broadcast packet distribution mechanism over a routed network
US20080175239A1 (en) * 2007-01-23 2008-07-24 Yipes Enterprise Services, Inc Multicast wide-area network for distributing data to selected destinations with limited or no replication
CN101094175B (zh) * 2007-06-14 2011-06-01 华为技术有限公司 一种组播流量保护方法、装置及系统
JP2009266946A (ja) 2008-04-23 2009-11-12 Toshiba Corp 三次元積層不揮発性半導体メモリ
JP5259242B2 (ja) 2008-04-23 2013-08-07 株式会社東芝 三次元積層不揮発性半導体メモリ
US8510551B1 (en) * 2008-11-10 2013-08-13 Juniper Networks, Inc. Policy handling for multicast transmissions
US8440547B2 (en) 2009-02-09 2013-05-14 International Business Machines Corporation Method and structure for PMOS devices with high K metal gate integration and SiGe channel engineering
US8942167B2 (en) * 2009-05-14 2015-01-27 Avaya Inc. Methods, apparatus and computer readable medium for seamless internet protocol multicast connectivity in unified networks
KR101045073B1 (ko) 2009-08-07 2011-06-29 주식회사 하이닉스반도체 수직채널형 비휘발성 메모리 소자 및 그 제조 방법
US8635632B2 (en) 2009-10-21 2014-01-21 International Business Machines Corporation High performance and resource efficient communications between partitions in a logically partitioned system
US20110185082A1 (en) 2009-12-29 2011-07-28 Tervela, Inc. Systems and methods for network virtualization
US8395941B2 (en) 2010-05-17 2013-03-12 Micron Technology, Inc. Multi-semiconductor material vertical memory strings, strings of memory cells having individually biasable channel regions, memory arrays incorporating such strings, and methods of accessing and forming the same
KR101792778B1 (ko) 2010-10-26 2017-11-01 삼성전자주식회사 비휘발성 메모리 장치 및 그 형성 방법
US9379906B2 (en) * 2011-03-04 2016-06-28 Cisco Technology, Inc. Network appliance with integrated local area network and storage area network extension services
US8774213B2 (en) 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
KR101845507B1 (ko) 2011-05-03 2018-04-05 삼성전자주식회사 수직 구조의 비휘발성 메모리 소자 및 그 제조 방법
CN102820253B (zh) 2011-06-08 2014-04-16 中国科学院上海微系统与信息技术研究所 一种基于soi衬底的高迁移率双沟道材料的制备方法
US8743641B2 (en) 2011-09-07 2014-06-03 Macronix International Co., Ltd. Memory with temperature compensation
US8901635B2 (en) * 2011-09-12 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device and method for manufacturing the same
KR20130045050A (ko) 2011-10-25 2013-05-03 에스케이하이닉스 주식회사 3차원 구조의 비휘발성 메모리 소자
CN103077969B (zh) 2011-10-26 2016-03-30 中国科学院微电子研究所 一种mos器件及其制造方法
US8956968B2 (en) 2011-11-21 2015-02-17 Sandisk Technologies Inc. Method for fabricating a metal silicide interconnect in 3D non-volatile memory
US8704206B2 (en) 2011-11-21 2014-04-22 Avalanche Technology Inc. Memory device including transistor array with shared plate channel and method for making the same
CN103200209B (zh) * 2012-01-06 2018-05-25 华为技术有限公司 成员资源的访问方法、群组服务器和成员设备
US8811406B2 (en) * 2012-03-14 2014-08-19 International Business Machines Corporation Delivering multicast frames to aggregated link trunks in a distributed switch
US9154416B2 (en) * 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US20130256777A1 (en) 2012-03-30 2013-10-03 Seagate Technology Llc Three dimensional floating gate nand memory
US8847302B2 (en) 2012-04-10 2014-09-30 Sandisk Technologies Inc. Vertical NAND device with low capacitance and silicided word lines
US8865535B2 (en) 2012-04-13 2014-10-21 Sandisk Technologies Inc. Fabricating 3D non-volatile storage with transistor decoding structure
US10225094B2 (en) * 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
US9064216B2 (en) * 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US9898317B2 (en) * 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8959185B2 (en) * 2012-06-06 2015-02-17 Juniper Networks, Inc. Multitenant server for virtual networks within datacenter
US8890110B2 (en) 2012-06-19 2014-11-18 SK Hynix Inc. Vertical memory device and method of fabricating the same
JP2014007681A (ja) * 2012-06-27 2014-01-16 Hitachi Ltd ネットワークシステム、および、その管理装置、そのスイッチ
US8978031B2 (en) 2012-08-21 2015-03-10 International Business Machines Corporation Processing of overlay networks using an accelerated network interface card
US9369293B2 (en) * 2012-09-11 2016-06-14 Cisco Technology, Inc. Compressing singly linked lists sharing common nodes for multi-destination group expansion
US8953618B2 (en) 2012-10-10 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) IP multicast service leave process for MPLS-based virtual private cloud networking
CN103731288B (zh) * 2012-10-16 2017-04-12 杭州华三通信技术有限公司 报文转发方法及设备
US9116727B2 (en) * 2013-01-15 2015-08-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Scalable network overlay virtualization using conventional virtual switches
US8964530B2 (en) * 2013-01-31 2015-02-24 Cisco Technology, Inc. Increasing multi-destination scale in a network environment
CN104009926B (zh) * 2013-02-26 2017-04-12 杭州华三通信技术有限公司 Evi网络中的组播方法及边缘设备ed
US9491063B2 (en) * 2013-05-15 2016-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing network services orchestration
US9432204B2 (en) * 2013-08-24 2016-08-30 Nicira, Inc. Distributed multicast by endpoints
CN104426680B (zh) * 2013-09-03 2018-03-16 华为技术有限公司 数据传输方法、装置和系统
US9264330B2 (en) * 2013-10-13 2016-02-16 Nicira, Inc. Tracing host-originated logical network packets
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9602392B2 (en) * 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment coloring
US10135687B2 (en) 2014-01-06 2018-11-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual group policy based filtering within an overlay network
US9794079B2 (en) * 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks
US9419811B2 (en) * 2014-04-17 2016-08-16 Cisco Technology, Inc. Automatic fabric multicast group selection in a dynamic fabric automation network architecture
US9887939B2 (en) 2015-03-11 2018-02-06 International Business Machines Corporation Transmitting multi-destination packets in overlay networks
US9577927B2 (en) * 2014-06-30 2017-02-21 Nicira, Inc. Encoding control plane information in transport protocol source port field and applications thereof in network virtualization
US9692698B2 (en) 2014-06-30 2017-06-27 Nicira, Inc. Methods and systems to offload overlay network packet encapsulation to hardware
US9509527B2 (en) * 2014-06-30 2016-11-29 Arista Networks, Inc. Method and system for VXLAN encapsulation offload
US9794180B2 (en) * 2014-07-18 2017-10-17 Cisco Technology, Inc. Reducing transient packet duplication and improving split-horizon filtering
US9432205B2 (en) * 2014-11-04 2016-08-30 Telefonaktiebolaget L M Ericsson (Publ) Explicit block encoding of multicast group membership information with bit index explicit replication (BIER)
US9742575B2 (en) * 2014-11-04 2017-08-22 Telefonaktiebolaget L M Ericsson (Publ) Explicit list encoding of sparse multicast group membership information with Bit Index Explicit Replication (BIER)
US10103902B1 (en) * 2015-03-05 2018-10-16 Juniper Networks, Inc. Auto-discovery of replication node and remote VTEPs in VXLANs
US10673742B2 (en) * 2015-09-10 2020-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Multicast state reduction via tunneling in a routed system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102549973A (zh) * 2009-10-07 2012-07-04 日本电气株式会社 功率节省系统及功率节省方法
CN102648455A (zh) * 2009-12-04 2012-08-22 日本电气株式会社 服务器和流控制程序
WO2015018323A1 (en) * 2013-08-05 2015-02-12 Huawei Technologies Co., Ltd. Method for packet tunneling through software defined network, method of intelligently controlling flow of a packet through software defined network and system

Also Published As

Publication number Publication date
DE102016104264A1 (de) 2016-09-15
US10044645B2 (en) 2018-08-07
CN105978817A (zh) 2016-09-28
US20170125522A1 (en) 2017-05-04
US9887939B2 (en) 2018-02-06
DE102016104264B4 (de) 2023-04-20
US20170359276A1 (en) 2017-12-14
US20180262448A1 (en) 2018-09-13
US9865685B2 (en) 2018-01-09
US20160269324A1 (en) 2016-09-15
US10798025B2 (en) 2020-10-06

Similar Documents

Publication Publication Date Title
CN105978817B (zh) 用于传输数据的方法、存储器和网络适配器
JP6335363B2 (ja) 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供
Hu et al. A survey on software-defined network and openflow: From concept to implementation
CN104320350B (zh) 用于提供基于信用的流控制的方法及系统
CN105531972B (zh) 控制数据存储输入/输出请求
US7761573B2 (en) Seamless live migration of virtual machines across optical networks
US10305749B2 (en) Low latency flow cleanup of openflow configuration changes
CN104335533B (zh) 将原始光纤通道端口连接到纯以太网光纤通道存储区域网络的网关设备
US20200403826A1 (en) Monitoring network traffic using traffic mirroring
CN104618264A (zh) 为了高效资源利用而在数据中心网络中自适应调度数据流的方法和系统
JP2015534320A (ja) ポリシーベースのデータセンタネットワーク自動化を提供するシステムおよび方法
KR20110110843A (ko) 가상 머신 네트워킹을 위한 방법 및 시스템
US10356008B2 (en) Large scale fabric attached architecture
US10333725B2 (en) Overlay network with optimized packet flooding
CN108322325A (zh) 一种虚拟机管理方法及装置
US10599532B2 (en) Upgrade backup in virtualized computing environments
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
CN109379239A (zh) 一种OpenStack环境中配置接入交换机的方法及装置
US9374308B2 (en) Openflow switch mode transition processing
CN110389711A (zh) 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品
US20230299992A1 (en) Enhanced endpoint multicast emulation
US11606268B2 (en) Cloud computing environment with split connectivity and application interfaces that enable support of separate cloud services
US20220283866A1 (en) Job target aliasing in disaggregated computing systems
KR20190115257A (ko) Sdn 및 nfv를 이용한 도로 교통 네트워크의 보안 서비스 제공 시스템 및 그 방법
US20170134336A1 (en) Method, system, and computer program product for a network device in switchless networks

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

Effective date of registration: 20211206

Address after: USA New York

Patentee after: Qindarui Co.

Address before: USA New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right