CN1744552A - 用于提供网络虚拟化的方法和装置 - Google Patents
用于提供网络虚拟化的方法和装置 Download PDFInfo
- Publication number
- CN1744552A CN1744552A CN200510096707.8A CN200510096707A CN1744552A CN 1744552 A CN1744552 A CN 1744552A CN 200510096707 A CN200510096707 A CN 200510096707A CN 1744552 A CN1744552 A CN 1744552A
- Authority
- CN
- China
- Prior art keywords
- host computer
- computer system
- address
- order
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching 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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- 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/08—Configuration management of networks or network elements
-
- 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/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于信息处理***的网络虚拟化层,其中与网络耦接的物理机器被分成多个逻辑分区,每个逻辑分区都有驻留于其上的主机***。响应从主机***之一接收指定数据链路层(第2层)地址的命令,虚拟化层使数据链路层地址与主机***相关,并为主机***转发指定所述数据链路层地址作为目的地址的数据分组。单播分组转发给指定目的地址作为个人MAC地址的单个主机***,而多播分组转发给指定目的地址作为组MAC地址的每一个主机***。主机***也可以指定虚拟LAN(VLAN)ID,该VLAN ID用于指定转发分组到共享该VLAN ID的主机***的范围。
Description
技术领域
本发明涉及用于驻留于虚拟网络环境中的主机的数据链路层(第2层)连通性虚拟化的方法和装置。更特别的,本发明涉及在信息处理***中用于提供网络虚拟化的方法和装置,在该***中,与网络耦接的物理机器被分成多个逻辑分区,每个逻辑分区都有驻留于其上的主机***。
背景技术
IBM开放***适配器(OSA)是连接在IBM S/390或z系列处理器与网络之间的硬件元件,该网络可能是企业内的专用网络、公共网络或二者的结合。描述开放***适配器的参考资料包含下列专利、专利申请和出版物,通过参考在此引入:
美国专利6,772,221 Ratcliff等,“Dynamically configuring andmonitoring hosts connected in a computing network having a gateway0device”
美国专利6,600,743 Lee等,“IP multicast interface”
美国专利6,490,285 Lee等,“IP multicast interface”
美国专利6,389,027 Lee等,“IP multicast interface”
美国专利6,327,621 Lee等,“Method for shared multicastinterface in a multi-partition environment”
美国专利6,185,218 Ratcliff等,“Communication method andapparatus for use in a computing network environment having highperformance LAN connections”
美国专利6,084,859 Ratcliff等,“Internet Protocol assists usingmulti-path channel protocol”
美国专利6,014,699 Ratcliff等,“Internet Protocol assists for highperformance LAN connections”
美国专利6,006,261 Ratcliff等,“Internet Protocol assists usingmulti-path channel protocol”
美国专利6,003,080 Ratcliff等,“Internet Protocol assists usingmulti-path channel protocol”
美国专利5,999,974 Ratcliff等,“Internet Protocol assists for highperformance LAN connections”
美国专利5,987,515 Ratcliff等,“Internet Protocol assists usingmulti-path channel protocol”
美国专利5,974,049 Ratcliff等,“Internet Protocol assists for highperformance LAN connections”
美国专利5,740,438 Ratcliff等,“Methods and system for networkcommunications of multiple partitions”
美国专利申请公开号2002/0075878,Lee等,“IP multicastInterface”
美国专利申请公开号2002/0029286,Gioquindo等,“Communication between mnltiple partitions employing host-networkinterface”
OSA-Express Implementation Guide,IBM Redbooks,SG24-5948-02,2003年1月
OSA-Express for IBM eServer zSeries and S/390,IBM,G221-9110-03,2004年4月
最近,在把服务器的工作量并入企业级服务器,例如IBM eServerz系列服务器,上付出了极大的努力。由于在大型服务器中单个工作负荷的工作量趋于平均值,这种合并能产生相当高的利用率。然而,这种服务器合并的努力和高速网络适配器(例如,TCP/IP卸载和10Gb/s)的费用也带动了网络虚拟化的需求。也就是说,企业计算***的用户希望单个物理网络接口卡(NIC)支持多个服务器。然而,在一个没有上千也有上百台服务器的环境下,每台服务器都需要具有双网络连接的能力以从故障恢复,每个服务器映象都具有双NIC的复杂性和开销就不再可行了。为了成功并且提供一个能支持巨大、不同种类的统一服务器环境的解决方案,网络虚拟层必须是协议无关的。到达统一服务器中的通信量的大多数是TCP/IP流量,但是仍然有一些服务器需要非TCP/IP协议的信息流。用户需求经常指定既要支持TCP/IP协议又要支持非TCP/IP协议的网路连通性的连接。
本发明提供了将虚拟和物理层2通信桥接为单个无缝联网结构的与协议无关的解决方案。
发明内容
一般而言,本发明预期了一种在信息处理***中提供网络虚拟化的方法和装置,在该***中与网络耦接的物理机器被分为成多个逻辑分区,它们的每一个都有驻留于其上的主机***。主机***和网络之间的网络虚拟化层(NVL)操作于数据链路层,开放***互联(OSI)模型的第2层。根据接收来自主机***的其中之一的指定该主机***的数据链路层地址的设定命令,网络虚拟层使特定数据链路层地址与主机***相关。该特定数据链路层可能是由其中一个主机***所独有的个人媒体访问控制(MAC)地址,或是由两个或多个此类***共享的组MAC地址。还有另一组网络虚拟层的命令允许主机***为其自己指定虚拟局域网(VLAN)ID。
当接收到包含作为目的地址的数据链路层地址的单播或者多播数据分组时,网络虚拟化层确定主机***是否与该目的地址有关。如果主机***和该目的地址有关,如果该目的地址是单播数据分组的单个MAC地址的话,则网络虚拟化层转发数据分组给与该目的地址有关的一个主机***,或者如果目的地址是多播数据分组的组MAC地址则转发数据分组给与目的地址有关的每一个主机***。另外,如果数据分组包含VLAN标记,那么网络虚拟化层就只向已经注册了一个匹配VLAN ID的***或主机***转发该分组。包含VLAN标记的广播分组被转发给已注册了匹配VLAN ID的所有主机***。
最后,根据接收来自主机***的指定数据链路层地址或VLANID的删除命令,网络虚拟化层解除与主机***有关的特定数据链路层地址或VLAN ID的关系。
在这里所讨论的网络虚拟化解决方案中,单个物理网络适配器,或网络接口卡,能支持数千个独立服务器。为了与协议无关,网络虚拟化层(NVL)作为数据链路层、或第2层实体运行。这就要求每个主机具有唯一的第2层地址,其相当于媒体访问控制(MAC)地址。目前还没有能够支持数千个MAC地址的NIC。因此,NVL管理一个能够为每个服务器分配唯一MAC地址的MAC地址表。NVL还支持能具有共享单个组MAC地址的多个服务器的组MAC地址。也支持第2层VLAN(虚拟局域网)的概念,而且NVL管理来自VLAN的服务器的增加或删除,这样去往特定VLAN的流量能与其他没有参与到该VLAN中的服务器分离。
本发明预期一种管理服务器与第2层环境接口所需的所有寻址功能的配置和修改(增加和删除)的网络虚拟化层(NVL)。这些功能包括服务器和NVL之间的连接的定义和删除,由NVL给服务器分配唯一的MAC地址,由服务器向NVL注册组MAC地址,以及来自VLAN的服务器的增加和删除。
除了配置功能外,NVL控制服务器和NVL之间的LAN数据分组的发送和接收。这些控制包括向与MAC地址有关的指定服务器发送数据分组,向所有与组MAC地址有关的注册服务器发送数据分组,以及向注册有与分组有关的匹配VLAN标记的服务器发送数据分组。
附图说明
图1A示出了结合本发明的物理网络配置;
图1B示出了图1的网络适配器;
图1C示出了数据分组;
图1D示出了由图1中所示的配置所创建的虚拟网络配置;
图2和图3示出了根据本发明的虚拟MAC地址的设置;
图4示出了图1中所示配置的虚拟MAC地址表;
图5示出了本发明的网络虚拟化层处理接收的数据分组;
图6和图7示出了根据本发明的虚拟MAC地址的删除;
图8示出了根据本发明的组MAC地址的设置;
图9示出了虚拟LAN分配的建立;
图10示出了虚拟LAN分配的删除;
图11示出了图1中所示的主机***、***管理器和网络适配器之间的初始化顺序。
具体实施方式
图1A示出了结合了本发明的配置100。配置100包括经由网络适配器104与网络106耦接的物理机器102。在一个优选实施例中物理机器102可能包括IBMTM eServerTM zSeriesTM服务器(IBM,eServer,zSeries是IBM公司的商标),然而本发明并不局限于任何特定的硬件或软件平台。网络适配器104在网络106和机器102之间转发数据分组108,并可包括在上文参考的专利和出版物中所描述的IBM开放***适配器。网络106可能是诸如在一个组织内的局域网(LAN)的内部网络、外部网络、或二者的结合,并且可能有其它的物理机器或设备(未示出)和它连接。
在常规方法中,机器102被分为多个逻辑机器,其中的每一个都有自己的主操作***(OS)110(在这里也参考作为“服务器”,或简单地称为“主机”),例如,IBM z/OSTM或z/VMTM操作***,或者诸如LinuxTM操作***的基于UNIXTM的操作***的实例。(z/OS和z/VM是IBM公司的商标;UNIX是美国和其他国家的开放小组的注册商标;Linux是美国、其他国家或二者的Linus Torvalds的商标)。逻辑分区管理程序或者***管理器112执行机器资源的划分并为各分区执行各种各样的服务。
现在参考图1B,网络适配器104包括在这此参考作为网络虚拟化层(NVL)的组件120。在下面讨论的方式中,NVL 120用于为进行请求的主机OS 110定义唯一的媒体访问控制(MAC)地址,以便主机OS 110好像具有带有自己的MAC地址的虚拟网络接口卡(NIC),如图1D所示。如下所述,NVL 120还被用于为进行请求的OS 110定义组MAC地址或VLAN ID。为此目的,NVL 120维持几张表,包括虚拟(个人)MAC地址表122,组MAC地址表124以及VLAN ID表126。
参考图1C,在网络适配器104与机器102或网络106之间传播的每个数据分组108都包含多个本发明感兴趣的字段,所述字段包括目的地址字段130和VLAN标记132。目的地址字段130指示分组108的目标节点的MAC地址。VLAN标记132指示(若有的话)分组108被限制的虚拟LAN。正如在本领域中所知道的,MAC地址是开放***互联(OSI)模型中的数据链路层(第2层)地址。
根据本发明,当在第2层环境下运行网络适配器104时,定义了一组第2层的辅助原语(assist primitive)。这些扩展的格式与目前使用的以及例如在上文标识的美国专利5,974,049中所描述的IP辅助原语相似。定义了命令代码以便当万一允许现有的第3层和新的第2层辅助在相同的数据设备中流动时它们是唯一的值。为第2层的原语定义了新的版本(=2)。
下表概述了该新的格式:
偏移 长度 描述
0 1 命令
1 1 发起者:00=主机,01=OSA
2 2 发起者设置的序号
4 2 返回码
6 1 LAN类型
7 1 LAN编号
8 1 版本=2
9 1 计数=1
10 2 保留(给第3层的IP版本)
12 4 第2层辅助支持
16 4 第2层辅助允许
20 N 原语特定的数据
在上表中,“OSA”指的是网络适配器104,“主机”指的是主机OS 110,而偏移和长度是按照字节定义的。当所使用的特殊命令代码不重要(除了优选与第3层原语使用的那些不一致的之外)时,在所示的实施例中,在0字节偏移处中使用的命令代码如下:
编码 指令
0x21 SETVMAC
0x22 DELVMAC
0x23 SETGMAC
0x24 DELGMAC
0x25 SETVLAN
0x26 DELVLAN
在上表中,前缀“0x”表示值为十六进制值。在这个实施例中,只有一个(个人)虚拟MAC地址、组MAC地址或VLAN ID能在这些指令之一的每一次调用中注册或取消注册。这是因为如果在注册多个地址时发生错误,错误的修正过程也许不能被明确定义。因此,在这些命令的字节偏移9处的计数字段始终设为1。
来自IP辅助格式的这种格式的基本改变如下。偏移10处的IP版本号已经删除并且改变为保留字段。偏移12和16处的IP辅助支持和允许已经分别变为新的第2层辅助支持和允许。偏移8处的版本号也从1变为2。
SETVMAC/DELVMAC
为了使NVL 120中的主机110能自动设置MAC地址,定义了称为SETVMAC(设置虚拟MAC)的命令。该命令允多个分区环境中的任何主机110设置一个或多个NVL 120中唯一的MAC地址(如图2所示)。在下列描述的方式中,NVL 120添加每个MAC到转发表122的第2层并且验证所添加的地址是唯一的。
SETVMAC第2层原语用于向网络适配器104注册虚拟MAC地址,网络适配器104为第2层交换使用虚拟MAC地址以确定如何转发接收到的分组108。DELVMAC第2层原语用于取消网络适配器104的虚拟MAC地址注册。
下面为用于开始于字节偏移20处的这些命令的原语-特定数据:
偏移 长度 描述
20 4 MAC地址长度
24 6 Guest的虚拟MAC地址
在上表中,“guest”指的是主机OS 110。由于已经由网络适配器104管理,虚拟MAC地址的本地管理位设置为开。由于MAC地址是个人MAC地址,设置组地址位设置为关。
图2和图3示出了由主机OS 110设置虚拟MAC地址。主机OS110通过向网络适配器104发布SETVMAC命令启动处理过程,在此情况下
SETVMAC 020000000001,
其中,上述式子是上文描述的(步骤302)实际命令格式的方便记忆法。在上述式子中,020000000001是一个以十六进制的形式指定的目标MAC地址的变量一更可读的写法是,02-00-00-00-00-01。
接收到命令之后,NVL 120散列所指示的MAC地址以生成索引放入虚拟MAC地址表122(步骤304)。如果在表122中已经有该MAC地址的条目,说明该MAC地址已经注册(步骤306),NVL 120就会生成一个适当的返回码并返回给主机OS 110(步骤308)。如果该MAC地址尚未注册但表122已经满了的话(步骤310),NVL 120就会生成另一个适当的返回码并返回主机OS 110(步骤312)。
如果这两种情况都没有发生,而且如果索引的位置已经有另一个MAC地址的活动条目(步骤314),那么就发生了散列冲突,NVL 120会为表122中的可用位置建立一个冲突链(步骤316)。(在本技术领域中,散列冲突链完全是常见的,因此在此没有示出。)在建立这样的链之后,或者如果索引的位置没有活动条目,则NVL 120把所指示MAC地址与主机地址信息一起加入到虚拟MAC地址表122中(步骤318),并且给主机OS 110返回一个指示成功向表122添加MAC地址的码(步骤320)。
图4示出了虚拟MAC地址表122(和表124和126一样,在此也参考作为前向表)。表122包含大量条目402,其中每一个都包含如下字段:条目编号404,散列冲突链406,条目标志406,主机地址信息408,MAC地址410,条目命中计数412以及活动顺序链指针414。
条目编号404是在MAC地址之上计算的散列信息,并且在表122中作为索引。散列冲突链406是为MAC地址生成的条目链接列表,该MAC地址编址指向同一条目编号404。条目标志406包含如活动、冲突等类似的标志。主机地址信息408包含指向映射到已注册该MAC地址的主机OS 110的控制块的指针。MAC地址字段包含已注册MAC地址。条目命中计数412指示了已使用该主机信息为该特定条目402转发入网分组108的次数。该值首先用于重新排列散列冲突链以将具有最高命中率的条目放在首位。一旦散列链被重新排列,计数就会被清零并复位定时器。出于这个目的,冲突链会被周期性检测。最后,活动顺序链指针414就是用于把所有活动条目以单一顺序方式链接起来的链接列表指针。
每个主机110也都具有从NVL 120中删除MAC地址的能力。DELVMAC(删除虚拟MAC)命令就是为这个目的而定义的(见图3)。DELVMAC命令从NVL转发表122中删除指定的MAC地址。
SETVMAC和DELVMAC命令的使用使得分区环境中的任何主机110在单个主机对网络的接口中共享网络适配器104。这使任何主机110能支持通过单个主机对网络的接口横越第2层媒体的任何协议。
图6和7示出了由主机OS 110定址的虚拟MAC地址的删除过程。主机OS 110通过发送DELVMAC命令启动该过程,在此情况下:
DELVMAC 020000000001,
其中上述表达式是前述的实际命令格式的方便记忆(步骤702)。接收到这个命令之后,NVL 120将所指示的MAC地址散列到虚拟MAC地址表122的条目402中(步骤704)。如果MAC地址与表中条目402的地址不匹配(步骤706),而且在散列冲突链中还保留有条目的话(步骤708),程序返回步骤706以检验散列冲突链中的下一条目。如果在步骤708散列冲突链里没有保留的条目,则NVL 120生成适当的表明删除操作失败的返回码并返回给主机OS 110(步骤710)。如果在步骤706的任何遍历中所指示的MAC地址与表中条目402中的地址412相匹配的话,NVL 120就从表122中删除条目402(步骤712),并且给主机OS 110返回指示删除操作成功的返回码(步骤714)。
SETGMAC/DELGMAC
在一个类似的方式中,根据本发明,定义SETGMAC(设置组MAC)和DELGMAC(删除组MAC)命令以使任何多分区环境中的主机110能够在第2层接口“侦听”多分区环境中的其他主机110。由主机110发布的每个SETGMAC命令都被加入到组MAC地址转发表124中。表124跟踪所有已注册(发布SETGMAC)了同一组MAC地址的主机110。除了其为单个MAC地址注册多主机110之外,组MAC地址表124在结构上与个人MAC地址表122相似。当接收到具有与表124中的条目匹配的目标MAC地址的网络分组或主机分组108时,所有注册了组MAC地址的主机110都会接收分组108。
SETGMAC第2层原语用于向网络适配器104注册组MAC地址。网络适配器104使用组MAC地址为第2层交换确定哪个OS应该接收已接收的多播分组。DELGMAC第2层原语用于从网络适配器104取消组MAC地址的注册。
开始于字节偏移20处的这些命令的原语-特定数据如下:
偏移 长度 描述
20 4 组MAC地址的长度
24 6 组MAC地址
为了命令能被接受,组地址位必须为开。
图8示出了由主机OS 110对组MAC地址的设置。主机OS 110通过发送SETGMAC命令启动程序(步骤802)。接收到该命令后,NVL 120散列所指示的组MAC地址以生成索引放入组MAC地址表124(步骤804)。NVL 120接下来确定在组MAC地址表124中是否已经有一个该索引的基本条目,表明主机已经注册了该组MAC地址(步骤806)。如果没有,NVL 120就为该组MAC地址创建一个基本条目(步骤808),为主机OS 110在基本条目中增加一个条目(步骤810),并且生成一个指示给表124成功添加组MAC地址的返回码(步骤812)。如果在步骤806中表124中已经有了组MAC基本条目,NVL 120就会确定该条目是否是同一个主机OS 110的条目(步骤814)。如果是,NVL 120生成一个表明主机OS 110试图注册组MAC地址的副本的返回码(步骤816)。否则,NVL 120进入步骤810,在此NVL 120按上文描述的操作,除了在这种情况下其将主机110加入到条目的链接列表中作为基本条目。该链接列表用于将接收的具有匹配组地址的分组转发给链接列表上的所有主机。
SETVLAN/DELVLAN
最后,根据本发明,有一组与VLAN(虚拟局域网)配置相关的命令。这些命令由在多分区环境下的各主机110使用以把它们自身在可适用的地方的同一VLAN中结合起来。在所示的实施例中,这些命令定义为SETVLAN(设置VLAN)和DELVLAN(删除VLAN)。任何主机110都可以给NVL 120发送SETVLAN命令。然后,NVL 120就把在同一个VLAN中注册的所有主机110“结合”在一起。
该格式与用于组地址的格式非常相似。当VLAN已经注册,VLAN就检查为该VLAN定义的基本条目。如果没有这样的基本条目,就创建一个基本条目,然后该初始的主机条目就作为链接列表上的第一个条目添加进来。作为具有同一VLAN中附加主机注册表,它们被加入到链接列表中。
注册在不同VLAN中的主机110不允许彼此之间相互通信。这就隔离了多分区环境内的各种主机110或主机组。这就给于了***隔离或分离多分区环境中的通信量的能力以使通信在属于同一VLAN的主机110之间流动。单个主机110具有连接多个不同VLAN的能力。
SETVLAN第2层原语(图9)用于向网络适配器104注册连接的VLAN ID。网络适配器104使用VLAN ID确定是否应该把任何接收到的分组,包括多播或广播分组,转发给指定的连接。DELVLAN第2层原语(图10)用于从网络适配器104中取消VLAN ID的注册。
开始于字节偏移20处的这些命令的原语-特定数据如下:
偏移 长度 描述
20 2 12-位VLAN ID,向右对齐
该命令只影响广播分组的入网路由码。
入网数据流
单播流量
对于入网数据流,用于控制单播流量的网络适配器104中的编码使用第2层目标MAC地址130(图1C)以做所有的转发决定。如果目标MAC地址130没有注册,就丢弃分组108。在所示的实施例中,这样做是因为网络适配器104运行于混杂的模式,并且从已被附加转换器转发的网络接收了所有分组。
广播流量
一旦主机OS发送了SETVMAC命令,广播流量就被转发给主机分区。如果广播分组包含VLAN头部,为了便于主机接收广播分组,匹配的VLAN ID必须已经被注册。
多播流量
为了从网络接收多播分组,主机OS必须使用SETGMAC命令注册MAC组地址。SETGMAC必须包括包含于MAC头部的目的地址字段中的特定MAC组地址。由于这是来自第2层的观点,就无需还要匹配相关的第3层协议。只有第2层组地址用于转发分组。所有注册了组MAC地址的主机都接收分组的拷贝。如果多播分组包含了VLAN头部,那么为了主机能接收多播分组匹配的VLAN ID必须已经被注册。
VLAN转发规则
下面的表格总结了当存在或不存在VLAN标记时用于路由入网分组的规则。这些规则试图匹配用于厂商的LAN设备中的转换规则。每个客户LAN可以注册一个以上的VLAN标记,而且同一VLAN标记可以被一个以上的客户LAN注册。
帧类型 | 单播 | 多播 | 广播 |
无标记帧 | 当目标MAC匹配已注册MAC地址时转发 | 向所有注册匹配组MAC的guest LAN转发 | 向所有具有第2层能力的guest LAN转发 |
标记帧 | 当目标MAC匹配已注册MAC地址而且guestLAN已经注册匹配的VLAN标记时转发 | 只向注册了匹配组MAC地址和匹配VLAN标记的guestLAN转发 | 向所有注册了匹配VLAN标记的guestLAN转发 |
出网数据流
单播流量
为了向外发送单播分组,目标MAC地址用于所有路由决策。OSA先查看本地连接的主机以确定目标MAC是否是为本地连接的主机。所有本地连接的主机在它们的虚拟MAC地址中设置本地管理位的要求用于使搜索更加有效。如果不能找到本地连接的主机,分组就被发送到外部LAN。
广播/多播
为了向外发送广播和多播分组,分组被转发给符合上文讨论的入网数据流的标准的任何本地连接的主机。该分组总是在外部LAN中发送。
图5示出了由NVL 120接收的分组108的处理过程。在从网络接收到分组108之后(步骤502),NVL 120解析出包含在接收分组108中的目标MAC地址130(步骤504)。NVL 120接着确定MAC地址是否有设置为1的组地址位,表明该地址是组地址(步骤506)。如果MAC地址有设置的组地址位,NVL 120确定分组108是否是广播分组(步骤508)。如果分组108是广播分组,NVL 120于是就转发分组给所有活动的主机110。否则,NVL 120只转发分组给那些匹配如组MAC地址表124所指示的组MAC地址的主机110(步骤512)。
如果在第506步MAC地址没有设置组地址位,NVL 120接着就从MAC地址中计算出一个散列索引以定位表的条目(步骤514)并且确定MAC地址是否匹配该条目(步骤516)。如果匹配,其转发分组108给指定的主机110(步骤518)。如果当前表中的条目是散列冲突链的最后一个条目(步骤520),NVL 120就丢弃分组108(步骤522)。否则,NVL 120获取散列冲突链的下一条目(步骤522)并且返回到步骤516,并重复这个过程直到找到匹配的条目或者到达链的尾部。
上述处理过程假设不存在VLAN标记132。如果分组108包含VLAN标记132,那么根据VLAN转发表126进一步指定转发的范围。这样,在步骤510,如果存在VLAN标记,那么NVL 120只转发分组108给那些匹配VLAN标记的活动主机110。类似地,在步骤512,如果存在VLAN标记,那么NVL 120只转发分组108给那些既匹配组MAC地址又匹配VLAN标记的主机110。最后,在步骤518,仅在主机120同样也匹配VLAN ID时NVL 120才转发分组108给匹配该唯一MAC地址的主机120。
初始化流
图11示出了发生在主机OS 110、***管理器112和网络适配器104之间的初始化顺序。用于当前QDIO第3层流的初始多径信道(MPC)握手为第2层模式前向传播(步骤1102到1104)。下面概括的改变仅是针对这个流的修改。
用于指示LAN何时在线和离线的STRTLAN/STOPLAN概念也用于第2层模式。STRTLAN命令是用在MPC握手完成之后的第一个控制命令(步骤1106到1108)。如果LAN端口离线,STRTLAN返回一个0xE080的返回码并且***管理器112和网络适配器104之间的初始化顺序被暂停执行。当LAN又在线后,网络适配器104生成STRTLAN以指示该端口现在ONLINE并且继续初始化。这就是现今用于第3层实现中的相同功能。
在STRTLAN完成后,主机OS 110通过发布设置适配器参数辅助和用读MAC地址子命令代码指定改变MAC地址的硬件命令,从***管理器112请求虚拟MAC地址(步骤1110)。这将给OS设备驱动程序分配虚拟MAC地址(步骤1112)。虚拟MAC地址列表是由负责运行于***管理器112下的客户LAN环境的配置的***管理员控制。
OS设备驱动程序接着发布本发明的SetVMAC第2层辅助以向***管理器112注册这个虚拟MAC地址(步骤1114)。***管理器112于是发布本发明的SetVMAC第2层辅助以向网络适配器104注册这个虚拟MAC地址(步骤1116)。
连同上述步骤,***管理器112为主机OS 110构成虚拟设备。那些虚拟设备模拟网络适配器104(具有上下文的不同之处所指示的适当偏差)的功能。例如,网络适配器104有对每个物理网卡而言唯一的“烧入”MAC地址。***管理器112为每个在***管理器112的这个实例的环境内唯一的虚拟NIC分配MAC地址。***管理器112并不直接访问网络适配器104中的表122-126,但是使用相似的结构以管理基于来自个人虚拟机器主机110的SET*和DEL*命令的MAC地址和VLAN ID。通常,虚拟网络接口卡中主机OS 110的行为转化为真实网络适配器104中的适当行为。来自主机OS 110的SETVMAC会导致SETVMAC下传至实际网络适配器104。如果这是第一个加入到特定多播组的主机,那么来自该主机OS 110的SETGMAC只会导致SETGMAC传到网络适配器104。
本发明的SetVLAN第2层辅助用于向***管理器112(步骤1118)和网络适配器104(步骤1120)注册802.1Q标记。这些802.1Q标记由负责虚拟MAC地址的同一个***管理员控制。
对MPC初始化流的改动
在所示实施例中,主机OS 110现在指定了在IDXFLVL(功能级别)中的IDX交换的OS标识符。这个当前值是0x0101(z/OS),0x4101(Linux),0xB101(z/VM)和0xC101(VSE)。OSA将在IDX回复中响应0x2101。
在使能IC MPC原语中定义了新的兴趣组的值,对于第3层的支持,在用户会话上的使能IC原语的过滤器数据DIF(01类型)中指定的当前值是TCPIP,其等于0x03。对于第2层的支持,定义了一个称为LAYER2的新值,等于0x08。
所有不具有本发明的层2支持的网络适配器104将会以错误码0x41的形式拒绝启动IC原语,因为该新的值将是没有被定义的。
网络适配器104将会继续支持第3层模式以及第2层模式。特定的QDIO数据设备将只支持第2层或第3层模式。Enable IC交换确定在数据设备上支持哪种模式。一旦模式被设置,另一种模式的控制命令就不会被接受。
第2层辅助头部的初始版本号对所有第2层原语设置为0x02。
QDIO头部
为支持本发明的第2层定义了新的QDIO头部ID(0x02)。在入网方面QDIO头部的新用途之一是提供入网分块(blocking)能力。
为提供这种能力,包含了整个分组的长度。
头部包括:
偏移 大小 描述
0 1字节 头部的格式ID
1 3字节 标志
4 1字节 端口号
5 1字节 帧头长度
6 2字节 数据分组长度
8 2字节 序列号
10 2字节 VLAN优先级,VLANID
12 4字节 保留
16 16字节 保留
虽然描述并示出了特定实施例,对本领域的技术人员明显的是可做各种修改但不偏离本发明的原理。
Claims (20)
1.一种在信息处理***中提供网络虚拟化的方法,其中与网络耦接的物理机器被分成多个逻辑分区,每个逻辑分区都有驻留于其上的主机***,所述方法包括步骤:
从所述主机***之一接收为该主机***指定数据链路层地址的命令;以及
响应接收所述命令,使指定的数据链路层地址与所述主机***相关联。
2.根据权利要求1的方法,其中所述数据链路层地址为媒体访问控制(MAC)地址。
3.根据权利要求2的方法,其中所述MAC地址是仅可与其中一个所述主机***相关联的唯一MAC地址。
4.根据权利要求2的方法,其中所述MAC地址是可与一个以上所述主机***相关联的组MAC地址。
5.根据权利要求1的方法,还包括步骤:
从所述主机***之一接收为该主机***指定VLAN ID的命令;以及
响应接收所述命令,使指定的VLAN ID与所述主机***相关联。
6.根据权利要求1的方法,其中所述命令是第一命令,所述方法还包括步骤:
从所述主机***之一接收为该主机***指定数据链路层地址的第二命令;以及
响应接收所述第二命令,解除指定的数据链路层地址与所述主机***的关联。
7.根据权利要求1的方法,还包括步骤:
接收包含数据链路层地址作为目的地址的数据分组;
响应接收所述数据分组,确定是否有主机***与所述目的地址相关联;以及
如果有主机***与所述目的地址相关联,转发所述数据分组给与所述目的地址相关联的所述主机***。
8.根据权利要求7的方法,其中所述数据分组是只转发给具有所述目的地址作为唯一MAC地址的单个主机***的单播分组。
9.根据权利要求7的方法,其中所述数据分组是只转发给具有所述目的地址作为唯一MAC地址并与所述分组共享VLAN ID的单个主机***的单播分组。
10.根据权利要求7的方法,其中所述数据分组是转发给具有所述目的地址作为组MAC地址的所有主机***的多播分组。
11.根据权利要求7的方法,其中所述数据分组是转发给具有所述目的地址作为组MAC地址并与所述分组共享VLAN ID的所有主机***的多播分组。
12.根据权利要求7的方法,其中所述数据分组是转发给与所述分组共享VLAN ID的所有主机***的广播分组。
13.一种在信息处理***中提供网络虚拟化的设备,其中与网络耦接的物理机器被分成多个逻辑分区,每个逻辑分区都有驻留于其上的主机***,所述设备包括:
用于从所述主机***之一接收为该主机***指定数据链路层地址的命令的装置;以及
用于响应接收所述命令,使指定的数据链路层地址与所述主机***相关联的装置。
14.根据权利要求13的设备,其中所述命令是第一命令,所述设备还包括:
用于从所述主机***之一接收为该主机***指定数据链路层地址的第二命令的装置;以及
用于响应接收所述第二命令,解除指定的数据链路层地址与所述主机***的关联的装置。
15.根据权利要求13的设备,还包括:
用于接收包含数据链路层地址作为目的地址的数据分组的装置;
用于响应接收所述数据分组,确定是否有主机***与所述目的地址相关联的装置;
用于如果主机***与所述目的地址相关联,则转发所述数据分组给所述主机***的装置。
16.根据权利要求15装置,其中所述数据分组只转发给具有所述目的地址并与所述分组共享VLAN ID的主机***。
17.一种机器可读的程序存储设备,确实地体现了可由机器执行的指令程序以完成用于在信息处理***中提供网络虚拟化的方法步骤,其中与网络耦接的物理机器被分成多个逻辑分区,每个逻辑分区都有驻留于其上的主机***,所述方法步骤包括:
从所述主机***之一接收为该主机***指定数据链路层地址的命令;以及
响应接收所述命令,使指定的数据链路层地址与所述主机***相关联。
18.根据权利要求17的程序存储设备,其中所述命令是第一命令,所述方法步骤还包括:
从所述主机***之一接收为该主机***指定数据链路层地址的第二命令;以及
响应接收所述第二命令,解除指定的数据链路层地址与所述主机***的关联。
19.根据权利要求17的程序存储设备,所述方法步骤还包括:
接收包含数据链路层地址作为目的地址的数据分组;
响应接收所述数据分组,确定是否有主机***与所述目的地址相关联;以及
如果主机***与所述目的地址相关联,转发所述数据分组给所述主机***。
20.根据权利要求19的程序存储设备,其中所述数据分组只转发给具有所述目的地址并与所述分组共享VLAN ID的主机***。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/928,824 | 2004-08-27 | ||
US10/928,824 US7515589B2 (en) | 2004-08-27 | 2004-08-27 | Method and apparatus for providing network virtualization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1744552A true CN1744552A (zh) | 2006-03-08 |
CN100382529C CN100382529C (zh) | 2008-04-16 |
Family
ID=35942953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100967078A Active CN100382529C (zh) | 2004-08-27 | 2005-08-26 | 用于提供网络虚拟化的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7515589B2 (zh) |
CN (1) | CN100382529C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009669B (zh) * | 2007-01-05 | 2011-04-13 | 杭州华三通信技术有限公司 | 一种传输组播消息的方法和***以及路由设备 |
CN102334112A (zh) * | 2009-02-27 | 2012-01-25 | 美国博通公司 | 用于虚拟机网络的方法和*** |
CN102792651A (zh) * | 2010-03-19 | 2012-11-21 | 瑞典爱立信有限公司 | 在mac层应用服务路径路由选择的分组节点 |
CN101222507B (zh) * | 2008-01-22 | 2013-08-21 | 张建中 | 一种在网络中进行移动通讯的方法和装置以及*** |
CN103309725A (zh) * | 2013-05-20 | 2013-09-18 | 深圳市京华科讯科技有限公司 | 网络虚拟化处理方法 |
CN109274535A (zh) * | 2018-10-11 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种网络初始化方法和装置 |
CN111585889A (zh) * | 2013-10-13 | 2020-08-25 | Nicira股份有限公司 | 逻辑路由器 |
US10819658B2 (en) | 2012-08-17 | 2020-10-27 | Hewlett Packard Enterprise Development Lp | Network management with network virtualization based on modular quality of service control (MQC) |
US11736394B2 (en) | 2014-03-27 | 2023-08-22 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US11799775B2 (en) | 2015-06-30 | 2023-10-24 | Nicira, Inc. | Intermediate logical interfaces in a virtual distributed router environment |
US12073240B2 (en) | 2021-06-07 | 2024-08-27 | Nicira, Inc. | Configuration of logical router |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7649879B2 (en) * | 2004-03-30 | 2010-01-19 | Extreme Networks, Inc. | Pipelined packet processor |
US7889750B1 (en) | 2004-04-28 | 2011-02-15 | Extreme Networks, Inc. | Method of extending default fixed number of processing cycles in pipelined packet processor architecture |
GB0411054D0 (en) * | 2004-05-18 | 2004-06-23 | Ricardo Uk Ltd | Fault tolerant data processing |
US7756984B2 (en) * | 2004-09-27 | 2010-07-13 | Citrix Systems, Inc. | Systems and methods for virtual host name roaming |
US7443848B2 (en) * | 2004-09-29 | 2008-10-28 | Intel Corporation | External device-based prefetching mechanism |
US7505447B2 (en) | 2004-11-05 | 2009-03-17 | Ruckus Wireless, Inc. | Systems and methods for improved data throughput in communications networks |
US8619662B2 (en) * | 2004-11-05 | 2013-12-31 | Ruckus Wireless, Inc. | Unicast to multicast conversion |
TWI391018B (zh) | 2004-11-05 | 2013-03-21 | Ruckus Wireless Inc | 藉由確認抑制之增強資訊量 |
US8638708B2 (en) | 2004-11-05 | 2014-01-28 | Ruckus Wireless, Inc. | MAC based mapping in IP based communications |
US9043792B1 (en) * | 2004-11-17 | 2015-05-26 | Vmware, Inc. | Virtual local area network (vlan) coordinator providing access to vlans |
US10768958B2 (en) | 2004-11-17 | 2020-09-08 | Vmware, Inc. | Using virtual local area networks in a virtual computer system |
US8762595B1 (en) * | 2005-04-05 | 2014-06-24 | Oracle America, Inc. | Method for sharing interfaces among multiple domain environments with enhanced hooks for exclusiveness |
US7620981B2 (en) | 2005-05-26 | 2009-11-17 | Charles William Frank | Virtual devices and virtual bus tunnels, modules and methods |
US9813283B2 (en) | 2005-08-09 | 2017-11-07 | Oracle International Corporation | Efficient data transfer between servers and remote peripherals |
US8819092B2 (en) | 2005-08-16 | 2014-08-26 | Rateze Remote Mgmt. L.L.C. | Disaggregated resources and access methods |
US8601159B2 (en) * | 2005-09-27 | 2013-12-03 | Microsoft Corporation | Distributing and arbitrating media access control addresses on ethernet network |
JP4622835B2 (ja) * | 2005-12-07 | 2011-02-02 | 株式会社日立製作所 | 仮想計算機システム及びそのネットワーク通信方法 |
US7822033B1 (en) * | 2005-12-30 | 2010-10-26 | Extreme Networks, Inc. | MAC address detection device for virtual routers |
US7817633B1 (en) | 2005-12-30 | 2010-10-19 | Extreme Networks, Inc. | Method of providing virtual router functionality through abstracted virtual identifiers |
US7894451B2 (en) * | 2005-12-30 | 2011-02-22 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US20070153809A1 (en) * | 2006-01-03 | 2007-07-05 | Yuan-Chih Chang | Method of multicasting multimedia information over wireless local area network |
US8521912B2 (en) * | 2006-01-12 | 2013-08-27 | Broadcom Corporation | Method and system for direct device access |
US7801150B1 (en) * | 2006-02-14 | 2010-09-21 | Juniper Networks, Inc. | Multiple media access control (MAC) addresses |
TWI289387B (en) * | 2006-02-17 | 2007-11-01 | Hon Hai Prec Ind Co Ltd | Wireless network multicasting system and method |
US7742474B2 (en) * | 2006-06-30 | 2010-06-22 | Oracle America, Inc. | Virtual network interface cards with VLAN functionality |
US7634608B2 (en) * | 2006-06-30 | 2009-12-15 | Sun Microsystems, Inc. | Bridging network components |
US7643482B2 (en) * | 2006-06-30 | 2010-01-05 | Sun Microsystems, Inc. | System and method for virtual switching in a host |
US7684423B2 (en) * | 2006-06-30 | 2010-03-23 | Sun Microsystems, Inc. | System and method for virtual network interface cards based on internet protocol addresses |
US7715416B2 (en) * | 2006-06-30 | 2010-05-11 | The Open Computing Trust 1 | Generalized serialization queue framework for protocol processing |
US7966401B2 (en) * | 2006-06-30 | 2011-06-21 | Oracle America, Inc. | Method and apparatus for containing a denial of service attack using hardware resources on a network interface card |
US7630368B2 (en) * | 2006-06-30 | 2009-12-08 | Sun Microsystems, Inc. | Virtual network interface card loopback fastpath |
US7613132B2 (en) * | 2006-06-30 | 2009-11-03 | Sun Microsystems, Inc. | Method and system for controlling virtual machine bandwidth |
US7515596B2 (en) * | 2006-06-30 | 2009-04-07 | Sun Microsystems, Inc. | Full data link bypass |
US7792140B2 (en) * | 2006-06-30 | 2010-09-07 | Oracle America Inc. | Reflecting the bandwidth assigned to a virtual network interface card through its link speed |
US7613198B2 (en) * | 2006-06-30 | 2009-11-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic assignment of network interface card resources |
US7912926B2 (en) * | 2006-07-20 | 2011-03-22 | Oracle America, Inc. | Method and system for network configuration for containers |
US8630296B2 (en) * | 2006-07-20 | 2014-01-14 | Oracle America, Inc. | Shared and separate network stack instances |
US8050266B2 (en) * | 2006-07-20 | 2011-11-01 | Oracle America, Inc. | Low impact network debugging |
US8713202B2 (en) * | 2006-07-20 | 2014-04-29 | Oracle America, Inc. | Method and system for network configuration for virtual machines |
US7788411B2 (en) * | 2006-07-20 | 2010-08-31 | Oracle America, Inc. | Method and system for automatically reflecting hardware resource allocation modifications |
US8095675B2 (en) * | 2006-07-20 | 2012-01-10 | Oracle America, Inc. | Priority and bandwidth specification at mount time of NAS device volume |
US7894453B2 (en) * | 2006-07-20 | 2011-02-22 | Oracle America, Inc. | Multiple virtual network stack instances |
US7848331B2 (en) * | 2006-07-20 | 2010-12-07 | Oracle America, Inc. | Multi-level packet classification |
US8392565B2 (en) * | 2006-07-20 | 2013-03-05 | Oracle America, Inc. | Network memory pools for packet destinations and virtual machines |
US8014413B2 (en) * | 2006-08-28 | 2011-09-06 | Intel Corporation | Shared input-output device |
US9083565B2 (en) * | 2006-09-25 | 2015-07-14 | Hangzhou H3C Technologies Co., Ltd. | Network apparatus and method for communication between different components |
US7970873B2 (en) * | 2006-10-30 | 2011-06-28 | Dell Products L.P. | System and method for assigning addresses to information handling systems |
US8447880B2 (en) * | 2006-12-20 | 2013-05-21 | Oracle America, Inc. | Network stack instance architecture with selection of transport layers |
US7738457B2 (en) * | 2006-12-20 | 2010-06-15 | Oracle America, Inc. | Method and system for virtual routing using containers |
US7843821B2 (en) * | 2006-12-21 | 2010-11-30 | Oracle America, Inc. | Method, apparatus and program product to use factory-defined multiple MAC addresses for virtual NICS |
US8194667B2 (en) * | 2007-03-30 | 2012-06-05 | Oracle America, Inc. | Method and system for inheritance of network interface card capabilities |
US8175271B2 (en) * | 2007-03-30 | 2012-05-08 | Oracle America, Inc. | Method and system for security protocol partitioning and virtualization |
US8087066B2 (en) * | 2007-04-12 | 2011-12-27 | Oracle America, Inc. | Method and system for securing a commercial grid network |
US7831867B2 (en) * | 2007-04-17 | 2010-11-09 | International Business Machines Corporation | Apparatus and method to integrate hardware adapter tracing with a host OS tracing through signaling |
US7729879B2 (en) * | 2007-04-17 | 2010-06-01 | International Business Machines Corporation | Apparatus and method to integrate hardware adapter diagnostics with a host OS diagnostics through signaling |
US20080267177A1 (en) * | 2007-04-24 | 2008-10-30 | Sun Microsystems, Inc. | Method and system for virtualization of packet encryption offload and onload |
US8006297B2 (en) * | 2007-04-25 | 2011-08-23 | Oracle America, Inc. | Method and system for combined security protocol and packet filter offload and onload |
US7702799B2 (en) * | 2007-06-28 | 2010-04-20 | Oracle America, Inc. | Method and system for securing a commercial grid network over non-trusted routes |
US8547899B2 (en) | 2007-07-28 | 2013-10-01 | Ruckus Wireless, Inc. | Wireless network throughput enhancement through channel aware scheduling |
US20090063706A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing |
US8798056B2 (en) * | 2007-09-24 | 2014-08-05 | Intel Corporation | Method and system for virtual port communications |
US8458366B2 (en) * | 2007-09-27 | 2013-06-04 | Oracle America, Inc. | Method and system for onloading network services |
US8041854B2 (en) * | 2007-09-28 | 2011-10-18 | Intel Corporation | Steering data units to a consumer |
US8121117B1 (en) | 2007-10-01 | 2012-02-21 | F5 Networks, Inc. | Application layer network traffic prioritization |
US8095661B2 (en) * | 2007-12-10 | 2012-01-10 | Oracle America, Inc. | Method and system for scaling applications on a blade chassis |
US7984123B2 (en) * | 2007-12-10 | 2011-07-19 | Oracle America, Inc. | Method and system for reconfiguring a virtual network path |
US8086739B2 (en) * | 2007-12-10 | 2011-12-27 | Oracle America, Inc. | Method and system for monitoring virtual wires |
US7962587B2 (en) * | 2007-12-10 | 2011-06-14 | Oracle America, Inc. | Method and system for enforcing resource constraints for virtual machines across migration |
US8370530B2 (en) * | 2007-12-10 | 2013-02-05 | Oracle America, Inc. | Method and system for controlling network traffic in a blade chassis |
US7945647B2 (en) * | 2007-12-10 | 2011-05-17 | Oracle America, Inc. | Method and system for creating a virtual network path |
US8990799B1 (en) * | 2008-01-30 | 2015-03-24 | Emc Corporation | Direct memory access through virtual switch in device driver |
US7852486B2 (en) * | 2008-02-07 | 2010-12-14 | Board Of Regents, The University Of Texas System | Wavelength and intensity monitoring of optical cavity |
US7831710B2 (en) * | 2008-02-25 | 2010-11-09 | International Business Machines Corporation | Communication of offline status between computer systems |
US8042004B2 (en) * | 2008-02-25 | 2011-10-18 | International Business Machines Corporation | Diagnosing communications between computer systems |
US7965714B2 (en) * | 2008-02-29 | 2011-06-21 | Oracle America, Inc. | Method and system for offloading network processing |
US8886838B2 (en) * | 2008-02-29 | 2014-11-11 | Oracle America, Inc. | Method and system for transferring packets to a guest operating system |
US7970951B2 (en) * | 2008-02-29 | 2011-06-28 | Oracle America, Inc. | Method and system for media-based data transfer |
US7944923B2 (en) * | 2008-03-24 | 2011-05-17 | Oracle America, Inc. | Method and system for classifying network traffic |
US7826359B2 (en) * | 2008-03-24 | 2010-11-02 | Oracle America, Inc. | Method and system for load balancing using queued packet information |
US20110035494A1 (en) * | 2008-04-15 | 2011-02-10 | Blade Network Technologies | Network virtualization for a virtualized server data center environment |
US7801046B2 (en) * | 2008-04-28 | 2010-09-21 | Oracle America, Inc. | Method and system for bandwidth control on a network interface card |
US8369343B2 (en) * | 2008-06-03 | 2013-02-05 | Microsoft Corporation | Device virtualization |
US7751401B2 (en) * | 2008-06-30 | 2010-07-06 | Oracle America, Inc. | Method and apparatus to provide virtual toe interface with fail-over |
US8739179B2 (en) * | 2008-06-30 | 2014-05-27 | Oracle America Inc. | Method and system for low-overhead data transfer |
US7941539B2 (en) * | 2008-06-30 | 2011-05-10 | Oracle America, Inc. | Method and system for creating a virtual router in a blade chassis to maintain connectivity |
US8406230B2 (en) * | 2008-06-30 | 2013-03-26 | Oracle America, Inc. Formerly Known As Sun Microsystems, Inc. | Method and system for classifying packets in a network interface card and interface for performing the same |
US8099615B2 (en) * | 2008-06-30 | 2012-01-17 | Oracle America, Inc. | Method and system for power management in a virtual machine environment without disrupting network connectivity |
US9426095B2 (en) * | 2008-08-28 | 2016-08-23 | International Business Machines Corporation | Apparatus and method of switching packets between virtual ports |
US8621485B2 (en) * | 2008-10-07 | 2013-12-31 | International Business Machines Corporation | Data isolation in shared resource environments |
US8019837B2 (en) * | 2009-01-14 | 2011-09-13 | International Business Machines Corporation | Providing network identity for virtual machines |
US8321862B2 (en) * | 2009-03-20 | 2012-11-27 | Oracle America, Inc. | System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy |
US8116199B2 (en) * | 2009-05-08 | 2012-02-14 | Oracle America, Inc. | Method and system for monitoring network communication |
US8341505B2 (en) * | 2009-05-08 | 2012-12-25 | Oracle America, Inc. | Enforcing network bandwidth partitioning for virtual execution environments with direct access to network hardware |
US8174984B2 (en) * | 2009-05-29 | 2012-05-08 | Oracle America, Inc. | Managing traffic on virtualized lanes between a network switch and a virtual machine |
US8954957B2 (en) * | 2009-07-01 | 2015-02-10 | Riverbed Technology, Inc. | Network traffic processing according to network traffic rule criteria and transferring network traffic metadata in a network device that includes hosted virtual machines |
US8238324B2 (en) | 2009-07-24 | 2012-08-07 | Broadcom Corporation | Method and system for network aware virtual machines |
US9973446B2 (en) * | 2009-08-20 | 2018-05-15 | Oracle International Corporation | Remote shared server peripherals over an Ethernet network for resource virtualization |
US8260588B2 (en) * | 2009-10-16 | 2012-09-04 | Oracle America, Inc. | Virtualizing complex network topologies |
US8254261B2 (en) * | 2009-10-16 | 2012-08-28 | Oracle America, Inc. | Method and system for intra-host communication |
US8675644B2 (en) * | 2009-10-16 | 2014-03-18 | Oracle America, Inc. | Enhanced virtual switch |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US9979626B2 (en) * | 2009-11-16 | 2018-05-22 | Ruckus Wireless, Inc. | Establishing a mesh network with wired and wireless links |
US9999087B2 (en) * | 2009-11-16 | 2018-06-12 | Ruckus Wireless, Inc. | Determining role assignment in a hybrid mesh network |
US8477610B2 (en) * | 2010-05-31 | 2013-07-02 | Microsoft Corporation | Applying policies to schedule network bandwidth among virtual machines |
US9503375B1 (en) | 2010-06-30 | 2016-11-22 | F5 Networks, Inc. | Methods for managing traffic in a multi-service environment and devices thereof |
US9420049B1 (en) | 2010-06-30 | 2016-08-16 | F5 Networks, Inc. | Client side human user indicator |
US8726093B2 (en) | 2010-06-30 | 2014-05-13 | Oracle America, Inc. | Method and system for maintaining direct hardware access in the event of network interface card failure |
US8964740B2 (en) * | 2010-07-28 | 2015-02-24 | CSC Holdings, LLC | Group signaling using synthetic media access control addresses |
US8644194B2 (en) | 2010-10-15 | 2014-02-04 | International Business Machines Corporation | Virtual switching ports on high-bandwidth links |
US9473518B2 (en) * | 2010-10-22 | 2016-10-18 | International Business Machines Corporation | Securing network communications with logical partitions |
US8891406B1 (en) * | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US8462666B2 (en) | 2011-02-05 | 2013-06-11 | Force10 Networks, Inc. | Method and apparatus for provisioning a network switch port |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US9858241B2 (en) | 2013-11-05 | 2018-01-02 | Oracle International Corporation | System and method for supporting optimized buffer utilization for packet processing in a networking device |
US8634415B2 (en) | 2011-02-16 | 2014-01-21 | Oracle International Corporation | Method and system for routing network traffic for a blade server |
EP2710784B1 (en) | 2011-05-16 | 2017-12-06 | F5 Networks, Inc | A method for load balancing of requests' processing of diameter servers |
US9154327B1 (en) | 2011-05-27 | 2015-10-06 | Cisco Technology, Inc. | User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network |
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 |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9244843B1 (en) | 2012-02-20 | 2016-01-26 | F5 Networks, Inc. | Methods for improving flow cache bandwidth utilization and devices thereof |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
EP2853074B1 (en) | 2012-04-27 | 2021-03-24 | F5 Networks, Inc | Methods for optimizing service of content requests and devices thereof |
US9325562B2 (en) * | 2012-05-15 | 2016-04-26 | International Business Machines Corporation | Overlay tunnel information exchange protocol |
JP5798530B2 (ja) * | 2012-08-09 | 2015-10-21 | 日本電信電話株式会社 | パケット処理装置およびパケット処理方法 |
US10033837B1 (en) | 2012-09-29 | 2018-07-24 | F5 Networks, Inc. | System and method for utilizing a data reducing module for dictionary compression of encoded data |
EP2904725B1 (en) | 2012-10-08 | 2019-01-23 | Huawei Technologies Co., Ltd. | Transport functions virtualization for wavelength division multiplexing (wdm)-based optical networks |
US9578090B1 (en) | 2012-11-07 | 2017-02-21 | F5 Networks, Inc. | Methods for provisioning application delivery service and devices thereof |
US10341263B2 (en) | 2012-12-10 | 2019-07-02 | University Of Central Florida Research Foundation, Inc. | System and method for routing network frames between virtual machines |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9497614B1 (en) | 2013-02-28 | 2016-11-15 | F5 Networks, Inc. | National traffic steering device for a better control of a specific wireless/LTE network |
JP6036506B2 (ja) * | 2013-04-15 | 2016-11-30 | 富士通株式会社 | 障害影響範囲を特定するためのプログラム及び情報処理装置 |
US9497125B2 (en) * | 2013-07-28 | 2016-11-15 | Mellanox Technologies Ltd. | Congestion control enforcement in a virtualized environment |
US9367454B2 (en) * | 2013-08-15 | 2016-06-14 | Applied Micro Circuits Corporation | Address index recovery using hash-based exclusive or |
US9489327B2 (en) | 2013-11-05 | 2016-11-08 | Oracle International Corporation | System and method for supporting an efficient packet processing model in a network environment |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US11169997B1 (en) * | 2014-08-28 | 2021-11-09 | State Farm Mutual Automobile Insurance Company | Centralized data access tool implementing resource governance |
JP2016100739A (ja) | 2014-11-21 | 2016-05-30 | 株式会社日立製作所 | ネットワークシステム、ネットワークシステムの管理方法及びゲートウェイ装置 |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10397114B2 (en) * | 2015-04-29 | 2019-08-27 | Hewlett Packard Enterprise Development Lp | Client communications in multi-tenant data center networks |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US9807024B2 (en) | 2015-06-04 | 2017-10-31 | Mellanox Technologies, Ltd. | Management of data transmission limits for congestion control |
US10009277B2 (en) | 2015-08-04 | 2018-06-26 | Mellanox Technologies Tlv Ltd. | Backward congestion notification in layer-3 networks |
US10237376B2 (en) | 2015-09-29 | 2019-03-19 | Mellanox Technologies, Ltd. | Hardware-based congestion control for TCP traffic |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10412198B1 (en) | 2016-10-27 | 2019-09-10 | F5 Networks, Inc. | Methods for improved transmission control protocol (TCP) performance visibility and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
JP7064132B2 (ja) * | 2018-04-24 | 2022-05-10 | 日本電信電話株式会社 | 障害監視システム及び障害監視方法 |
US11144354B2 (en) | 2018-07-31 | 2021-10-12 | Vmware, Inc. | Method for repointing resources between hosts |
US12003422B1 (en) | 2018-09-28 | 2024-06-04 | F5, Inc. | Methods for switching network packets based on packet data and devices |
US11689455B2 (en) | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
CN116235484A (zh) * | 2020-07-14 | 2023-06-06 | 甲骨文国际公司 | 层2网络中的基于接口的acl |
US11765080B2 (en) | 2020-12-30 | 2023-09-19 | Oracle International Corporation | Layer-2 networking span port in a virtualized cloud environment |
US11671355B2 (en) | 2021-02-05 | 2023-06-06 | Oracle International Corporation | Packet flow control in a header of a packet |
US11777897B2 (en) | 2021-02-13 | 2023-10-03 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740438A (en) | 1995-03-31 | 1998-04-14 | International Business Machines Corporation | Methods and system for network communications of multiple partitions |
US5794048A (en) * | 1996-08-29 | 1998-08-11 | Matridigm Corporation | Method for classification of year-related data fields in a program |
JP3638742B2 (ja) * | 1996-11-29 | 2005-04-13 | アンリツ株式会社 | ルータ |
US6157623A (en) * | 1997-02-14 | 2000-12-05 | Advanced Micro Devices, Inc. | Apparatus and method for selectively outputting data using a MAC layer interface or a PCI bus interface |
US5987515A (en) | 1997-08-29 | 1999-11-16 | International Business Machines Corporation | Internet protocol assists using multi-path channel protocol |
US5974049A (en) | 1997-08-29 | 1999-10-26 | International Business Machines Corporation | Internet protocol assists for high performance LAN connections |
US6006261A (en) | 1997-08-29 | 1999-12-21 | International Business Machines Corporation | Internet protocol assists using multi-path channel protocol |
US6014699A (en) | 1997-08-29 | 2000-01-11 | International Business Machines Corporation | Internet protocol assists for high performance LAN connections |
US5999974A (en) | 1997-08-29 | 1999-12-07 | International Business Machines Corporation | Internet protocol assists for high performance LAN connections |
US6003080A (en) | 1997-08-29 | 1999-12-14 | International Business Machines Corporation | Internet protocol assists using multi-path channel protocol |
US6084859A (en) | 1997-08-29 | 2000-07-04 | International Business Machines Corporation | Internet protocol assists using multi-path channel protocol |
US6185218B1 (en) | 1997-08-29 | 2001-02-06 | International Business Machines Corporation | Communication method and apparatus for use in a computing network environment having high performance LAN connections |
US6389027B1 (en) | 1998-08-25 | 2002-05-14 | International Business Machines Corporation | IP multicast interface |
US6600743B1 (en) | 1998-08-25 | 2003-07-29 | International Business Machines Corporation | IP multicast interface |
US6490285B2 (en) | 1998-08-25 | 2002-12-03 | International Business Machines Corporation | IP multicast interface |
US6327621B1 (en) | 1998-08-25 | 2001-12-04 | International Business Machines Corporation | Method for shared multicast interface in a multi-partition environment |
US6330615B1 (en) | 1998-09-14 | 2001-12-11 | International Business Machines Corporation | Method of using address resolution protocol for constructing data frame formats for multiple partitions host network interface communications |
US6772221B1 (en) | 2000-02-17 | 2004-08-03 | International Business Machines Corporation | Dynamically configuring and 5 monitoring hosts connected in a computing network having a gateway device |
US7356841B2 (en) | 2000-05-12 | 2008-04-08 | Solutioninc Limited | Server and method for providing specific network services |
US7080135B1 (en) * | 2001-01-24 | 2006-07-18 | Advanced Micro Devices, Inc. | Systems and methods for accessing an address table of a network device |
US20020184368A1 (en) | 2001-04-06 | 2002-12-05 | Yunsen Wang | Network system, method and protocols for hierarchical service and content distribution via directory enabled network |
US6880002B2 (en) * | 2001-09-05 | 2005-04-12 | Surgient, Inc. | Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources |
US6877011B2 (en) * | 2001-10-10 | 2005-04-05 | Sun Microsystems, Inc. | System and method for host based storage virtualization |
US7213065B2 (en) | 2001-11-08 | 2007-05-01 | Racemi, Inc. | System and method for dynamic server allocation and provisioning |
US7024427B2 (en) | 2001-12-19 | 2006-04-04 | Emc Corporation | Virtual file system |
US7245627B2 (en) * | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
CN1469253A (zh) * | 2002-07-15 | 2004-01-21 | 深圳麦士威科技有限公司 | 用于虚拟网络的信息单向传输*** |
US7111303B2 (en) * | 2002-07-16 | 2006-09-19 | International Business Machines Corporation | Virtual machine operating system LAN |
KR100759169B1 (ko) * | 2002-07-22 | 2007-09-14 | 엘지노텔 주식회사 | 네트워크 스위치의 서버관리 및 패킷 전송방법 |
US7606239B2 (en) * | 2003-01-31 | 2009-10-20 | Brocade Communications Systems, Inc. | Method and apparatus for providing virtual ports with attached virtual devices in a storage area network |
US7440415B2 (en) * | 2003-05-30 | 2008-10-21 | Ixia | Virtual network addresses |
US7287186B2 (en) * | 2003-06-02 | 2007-10-23 | Surgient Inc. | Shared nothing virtual cluster |
US7660322B2 (en) * | 2003-12-11 | 2010-02-09 | International Business Machines Corporation | Shared adapter |
US7752635B2 (en) * | 2003-12-18 | 2010-07-06 | Intel Corporation | System and method for configuring a virtual network interface card |
US8838743B2 (en) * | 2004-02-13 | 2014-09-16 | Intel Corporation | Apparatus and method for a dynamically extensible virtual switch |
-
2004
- 2004-08-27 US US10/928,824 patent/US7515589B2/en active Active
-
2005
- 2005-08-26 CN CNB2005100967078A patent/CN100382529C/zh active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009669B (zh) * | 2007-01-05 | 2011-04-13 | 杭州华三通信技术有限公司 | 一种传输组播消息的方法和***以及路由设备 |
CN101222507B (zh) * | 2008-01-22 | 2013-08-21 | 张建中 | 一种在网络中进行移动通讯的方法和装置以及*** |
CN102334112B (zh) * | 2009-02-27 | 2014-06-11 | 美国博通公司 | 用于虚拟机网络的方法和*** |
CN102334112A (zh) * | 2009-02-27 | 2012-01-25 | 美国博通公司 | 用于虚拟机网络的方法和*** |
US9311120B2 (en) | 2009-02-27 | 2016-04-12 | Broadcom Corporation | Method and system for virtual machine networking |
CN102792651B (zh) * | 2010-03-19 | 2015-08-05 | 瑞典爱立信有限公司 | 在mac层应用服务路径路由选择的装置 |
CN102792651A (zh) * | 2010-03-19 | 2012-11-21 | 瑞典爱立信有限公司 | 在mac层应用服务路径路由选择的分组节点 |
US10819658B2 (en) | 2012-08-17 | 2020-10-27 | Hewlett Packard Enterprise Development Lp | Network management with network virtualization based on modular quality of service control (MQC) |
CN103309725A (zh) * | 2013-05-20 | 2013-09-18 | 深圳市京华科讯科技有限公司 | 网络虚拟化处理方法 |
CN111585889A (zh) * | 2013-10-13 | 2020-08-25 | Nicira股份有限公司 | 逻辑路由器 |
CN115174470A (zh) * | 2013-10-13 | 2022-10-11 | Nicira股份有限公司 | 逻辑路由器 |
US11736394B2 (en) | 2014-03-27 | 2023-08-22 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US11799775B2 (en) | 2015-06-30 | 2023-10-24 | Nicira, Inc. | Intermediate logical interfaces in a virtual distributed router environment |
CN109274535A (zh) * | 2018-10-11 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种网络初始化方法和装置 |
US12073240B2 (en) | 2021-06-07 | 2024-08-27 | Nicira, Inc. | Configuration of logical router |
Also Published As
Publication number | Publication date |
---|---|
CN100382529C (zh) | 2008-04-16 |
US20060045089A1 (en) | 2006-03-02 |
US7515589B2 (en) | 2009-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1744552A (zh) | 用于提供网络虚拟化的方法和装置 | |
US9059943B2 (en) | Method of routing multicast traffic | |
KR100992050B1 (ko) | 가상화된 네트워크 환경에서 입력/출력 공유를 가지는프로토콜 오프로드 및 다이렉트 입력/출력을 위한 방법 및시스템 | |
CN111654433B (zh) | 路由规则的获取方法、设备和*** | |
US8369333B2 (en) | Method and apparatus for transparent cloud computing with a virtualized network infrastructure | |
CN1290008C (zh) | 在处理***中虚拟连网的***及方法 | |
RU2357281C2 (ru) | Виртуальная сеть вещания для междоменной связи | |
CN1649325A (zh) | 数据包传送装置 | |
EP2860882B1 (en) | Service processing method, device and system | |
CN102957619B (zh) | 虚拟路由***及方法 | |
CN1404264A (zh) | 统一进程间通信 | |
CN1716905A (zh) | 虚拟路由器对应多点传送数据包中继装置 | |
CN1848792A (zh) | 跨混合网络的多协议标签交换虚拟专用网的实现方法 | |
CN1631007A (zh) | 建立服务接入关系的***及方法 | |
US9960998B2 (en) | Forwarding packet in stacking system | |
CN1929444A (zh) | 运营商边界节点、虚拟专用局域网服务通信方法及*** | |
CN1620010A (zh) | Vlan服务器 | |
CN102231708A (zh) | 虚拟路由装置及其路由方法 | |
CN1864149A (zh) | 单连接和容错对称多计算***上的组到组通信 | |
CN1742267A (zh) | 管理用于ip联网的资源 | |
CN1180583C (zh) | 一种宽带网络虚拟专用网的实现方法 | |
CN1921441A (zh) | 一种虚拟专用局域网的报文转发方法及装置 | |
CN1301096A (zh) | 针对可移植路由器框架的控制和分布协议 | |
CN1906902A (zh) | 在包括多个链接中间网络的网络中传递分组的方法 | |
CN110391919B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |