CN1744552A - 用于提供网络虚拟化的方法和装置 - Google Patents

用于提供网络虚拟化的方法和装置 Download PDF

Info

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
Application number
CN200510096707.8A
Other languages
English (en)
Other versions
CN100382529C (zh
Inventor
尤特兹·巴切
安吉洛·玛齐亚诺
丹尼斯·R.·穆塞尔怀特
布鲁斯·H.·拉特克里夫
斯蒂芬·R.·瓦利
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.)
International Business Machines Corp
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 CN1744552A publication Critical patent/CN1744552A/zh
Application granted granted Critical
Publication of CN100382529C publication Critical patent/CN100382529C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth 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的主机系统。
CNB2005100967078A 2004-08-27 2005-08-26 用于提供网络虚拟化的方法和装置 Active CN100382529C (zh)

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 (10)

* Cited by examiner, † Cited by third party
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

Families Citing this family (165)

* Cited by examiner, † Cited by third party
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
US8638708B2 (en) 2004-11-05 2014-01-28 Ruckus Wireless, Inc. MAC based mapping in IP based communications
US8619662B2 (en) * 2004-11-05 2013-12-31 Ruckus Wireless, Inc. Unicast to multicast conversion
US9240868B2 (en) * 2004-11-05 2016-01-19 Ruckus Wireless, Inc. Increasing reliable data throughput in a wireless network
US10768958B2 (en) 2004-11-17 2020-09-08 Vmware, Inc. Using virtual local area networks in a virtual computer system
US9043792B1 (en) * 2004-11-17 2015-05-26 Vmware, Inc. Virtual local area network (vlan) coordinator providing access to vlans
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 株式会社日立製作所 仮想計算機システム及びそのネットワーク通信方法
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
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
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
US7613198B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and apparatus for dynamic assignment of network interface card resources
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
US7715416B2 (en) * 2006-06-30 2010-05-11 The Open Computing Trust 1 Generalized serialization queue framework for protocol processing
US7515596B2 (en) * 2006-06-30 2009-04-07 Sun Microsystems, Inc. Full data link bypass
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
US7684423B2 (en) * 2006-06-30 2010-03-23 Sun Microsystems, Inc. System and method for virtual network interface cards based on internet protocol addresses
US7613132B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and system for controlling virtual machine bandwidth
US7630368B2 (en) * 2006-06-30 2009-12-08 Sun Microsystems, Inc. Virtual network interface card loopback fastpath
US7788411B2 (en) * 2006-07-20 2010-08-31 Oracle America, Inc. Method and system for automatically reflecting hardware resource allocation modifications
US7912926B2 (en) * 2006-07-20 2011-03-22 Oracle America, Inc. Method and system for network configuration for containers
US8095675B2 (en) * 2006-07-20 2012-01-10 Oracle America, Inc. Priority and bandwidth specification at mount time of NAS device volume
US8630296B2 (en) * 2006-07-20 2014-01-14 Oracle America, Inc. Shared and separate network stack instances
US8713202B2 (en) * 2006-07-20 2014-04-29 Oracle America, Inc. Method and system for network configuration for virtual machines
US7894453B2 (en) * 2006-07-20 2011-02-22 Oracle America, Inc. Multiple virtual network stack instances
US8050266B2 (en) * 2006-07-20 2011-11-01 Oracle America, Inc. Low impact network debugging
US8392565B2 (en) * 2006-07-20 2013-03-05 Oracle America, Inc. Network memory pools for packet destinations and virtual machines
US7848331B2 (en) * 2006-07-20 2010-12-07 Oracle America, Inc. Multi-level packet classification
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
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
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
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
US8370530B2 (en) * 2007-12-10 2013-02-05 Oracle America, Inc. Method and system for controlling network traffic in a blade chassis
US7984123B2 (en) * 2007-12-10 2011-07-19 Oracle America, Inc. Method and system for reconfiguring a virtual network path
US8095661B2 (en) * 2007-12-10 2012-01-10 Oracle America, Inc. Method and system for scaling applications on a blade chassis
US7962587B2 (en) * 2007-12-10 2011-06-14 Oracle America, Inc. Method and system for enforcing resource constraints for virtual machines across migration
US8086739B2 (en) * 2007-12-10 2011-12-27 Oracle America, Inc. Method and system for monitoring virtual wires
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
US7970951B2 (en) * 2008-02-29 2011-06-28 Oracle America, Inc. Method and system for media-based data transfer
US8886838B2 (en) * 2008-02-29 2014-11-11 Oracle America, Inc. Method and system for transferring packets to a guest operating system
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
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
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
US8739179B2 (en) * 2008-06-30 2014-05-27 Oracle America Inc. Method and system for low-overhead data transfer
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
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
US8116199B2 (en) * 2009-05-08 2012-02-14 Oracle America, Inc. Method and system for monitoring network communication
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
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
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
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
US8634415B2 (en) 2011-02-16 2014-01-21 Oracle International Corporation Method and system for routing network traffic for a blade server
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
US8879431B2 (en) 2011-05-16 2014-11-04 F5 Networks, Inc. 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
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization 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
WO2014058764A1 (en) 2012-10-08 2014-04-17 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
WO2016175873A1 (en) * 2015-04-29 2016-11-03 Hewlett Packard Enterprise Development Lp Client communications in multi-tenant data center networks
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies 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
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control 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
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
EP4183119A1 (en) * 2020-07-14 2023-05-24 Oracle International Corporation Virtual layer-2 network
US12015552B2 (en) 2020-12-30 2024-06-18 Oracle International Corporation Layer-2 networking information 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)

* Cited by examiner, † Cited by third party
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 アンリツ株式会社 ルータ
US5999441A (en) * 1997-02-14 1999-12-07 Advanced Micro Devices, Inc. Random access memory having bit selectable mask for memory writes
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
US6084859A (en) * 1997-08-29 2000-07-04 International Business Machines Corporation Internet protocol assists using multi-path channel protocol
US6003080A (en) * 1997-08-29 1999-12-14 International Business Machines Corporation Internet protocol assists using multi-path channel protocol
US5999974A (en) * 1997-08-29 1999-12-07 International Business Machines Corporation Internet protocol assists for high performance LAN connections
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
US6327621B1 (en) * 1998-08-25 2001-12-04 International Business Machines Corporation Method for shared multicast interface in a multi-partition environment
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
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

Cited By (14)

* Cited by examiner, † Cited by third party
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 郑州云海信息技术有限公司 一种网络初始化方法和装置

Also Published As

Publication number Publication date
US20060045089A1 (en) 2006-03-02
CN100382529C (zh) 2008-04-16
US7515589B2 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
CN1744552A (zh) 用于提供网络虚拟化的方法和装置
US9059943B2 (en) Method of routing multicast traffic
EP2491684B1 (en) Method and apparatus for transparent cloud computing with a virtualized network infrastructure
CN111654433B (zh) 路由规则的获取方法、设备和系统
US7111303B2 (en) Virtual machine operating system LAN
CN1290008C (zh) 在处理系统中虚拟连网的系统及方法
RU2357281C2 (ru) Виртуальная сеть вещания для междоменной связи
CN1649325A (zh) 数据包传送装置
EP2860882B1 (en) Service processing method, device and system
CN102957619B (zh) 虚拟路由系统及方法
US20120320918A1 (en) Bridge port between hardware lan and virtual switch
CN1404264A (zh) 统一进程间通信
CN102780608A (zh) 用于分布式虚拟交换机的私有虚拟局域网方法和系统
CN1716905A (zh) 虚拟路由器对应多点传送数据包中继装置
CN1848792A (zh) 跨混合网络的多协议标签交换虚拟专用网的实现方法
US9960998B2 (en) Forwarding packet in stacking system
CN1620010A (zh) Vlan服务器
KR20080092908A (ko) 가상화된 네트워크 환경에서 입력/출력 공유를 가지는프로토콜 오프로드 및 다이렉트 입력/출력을 위한 방법 및시스템
CN1180583C (zh) 一种宽带网络虚拟专用网的实现方法
CN1921441A (zh) 一种虚拟专用局域网的报文转发方法及装置
CN1906902A (zh) 在包括多个链接中间网络的网络中传递分组的方法
CN1301096A (zh) 针对可移植路由器框架的控制和分布协议
CN1946060A (zh) 实现重定向报文正确转发的方法及第一部件、第二部件
CN101076791A (zh) 提供端口的动态专用的处理器间通信网络
CN1516401A (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