CN103270736B - 一种网络设备 - Google Patents
一种网络设备 Download PDFInfo
- Publication number
- CN103270736B CN103270736B CN201180031894.5A CN201180031894A CN103270736B CN 103270736 B CN103270736 B CN 103270736B CN 201180031894 A CN201180031894 A CN 201180031894A CN 103270736 B CN103270736 B CN 103270736B
- Authority
- CN
- China
- Prior art keywords
- mac
- address
- frame
- multiple
- network
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L29/00—Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00
- H04L29/12—Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 characterised by the data terminal
- H04L29/12009—Arrangements for addressing and naming in data networks
- H04L29/12018—Mapping of addresses of different types; address resolution
- H04L29/12028—Mapping of addresses of different types; address resolution across network layers, e.g. resolution of network layer into physical layer addresses, Address Resolution Protocol [ARP]
-
- 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. local area networks [LAN], wide area networks [WAN]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements or network protocols for addressing or naming
- H04L61/10—Mapping of addresses of different types; Address resolution
- H04L61/103—Mapping of addresses of different types; Address resolution across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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. local area networks [LAN], wide area networks [WAN]
- 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements or network protocols for addressing or naming
- H04L61/25—Network arrangements or network protocols for addressing or naming mapping of addresses of the same type; address translation
- H04L61/2596—Non - internet protocol [IP] address translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements or network protocols for addressing or naming
- H04L61/60—Details
- H04L61/6004—Structures or formats of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements or network protocols for addressing or naming
- H04L61/60—Details
- H04L61/6018—Address types
- H04L61/6022—Layer 2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements or network protocols for addressing or naming
- H04L61/60—Details
- H04L61/6095—Details involving masks or ranges of addresses
Abstract
Description
[0001 ] 相关申请案的交叉参考
[0002] 本发明要求2011年3月7日由琳达•邓巴(Linda Dunbar)等人递交的发明名称为 "目录服务器辅助地址解析(Directory Server Assisted Address Resolution)" 的第61/ 449,918号美国临时专利申请案、2010年10月5日由熊义君(Yijun Xiong)等人递交的发明 名称为"用于具有重复主机因特网协议地址的可扩展以太网络的媒体接入控制地址代表方 案(Media Access Control Address Delegation Scheme for Scalable Ethernet Networks with Duplicated Host Internet Protocol Addresses)"的第61/389,747号美 国临时专利申请案、2010年8月17日由琳达•邓巴等人递交的发明名称为"用于大型二层中 目标主机的代表网关和代理以及通过重复因特网协议地址进行地址解析(Delegate Gateways and Proxy for Target hosts in Large Layer Two and Address Resolution with Duplicated Internet Protocol Addresses)"的61/374,514号美国临时专利申请 案、2010年6月29日由琳达•邓巴等人递交的发明名称为"跨过多个地址域从二层到二层 (Layer 2 to layer 2 Over Multiple Address Domains)"的第61/359,736号美国临时专 利申请案以及2010年11月8日由琳达•邓巴等人递交的发明名称为"不对称网络地址封装 (Asymmetric Network Address Encapsulation)" 的第61/411,324号美国临时专利申请案 的在先申请优先权,所有在先申请的内容以引用的方式并入本文中,如全文再现一般。
[0003] 关于由联邦政府赞助的
[0004] 研发的声明
[0005] 不适用。
[0006] 参考缩微胶片附录
[0007] 不适用。
技术领域
[0008] 无
背景技术
[0009] 现代通信和数据网络包括在整个网络中传输数据的节点。节点可包含在整个网络 中传输各个数据包或数据帧的路由器、交换机、网桥或其组合。一些网络可提供不使用中间 节点上的预配置路由就能将数据帧从网络中的一个节点转发到另一个节点的数据服务。其 他网络可沿预配置或预建立的路径,将数据帧从网络中的一个节点转发到另一节点。
发明内容
[0010] 在一项实施例中,本发明包含一种设备,其包括:多个区域边界网桥(DBB),其位于 多个第二网络区域中用于耦合到核心网络区域中的多个核心网桥且经由所述第二网络区 域中的多个中间交换机而耦合到所述第二网络区域中的多个终端站;其中所述核心网桥和 所述DBB知道所述DBB的多个媒体接入控制(MAC)地址但不知道所述终端站的因特网协议 (IP)地址和MAC地址,且其中所述终端站的所述IP地址在所述核心网络区域中的目录服务 (DS)中映射到所述终端站的相应第二网络区域中的相应DBB的MAC地址。
[0011] 在另一项实施例中,本发明包含一种设备,其包括:多个边缘节点,其耦合到核心 网络;多个主机,其耦合到所述边缘节点,其中如果耦合到边缘节点的多个主机被多个不同 客户指配了相同的重复地址,则给所述边缘节点指配多个代表地址,所述多个代表地址对 应于被指配了相同的重复地址的所述多个主机,且其中所述代表地址由其他边缘节点和所 述核心网络用来将多个帧从连接到所述其他边缘节点的其他主机转发到所述边缘节点,所 述边缘节点使用所述代表地址来将所述帧恰当地转发到所述相应的多个主机,所述相应的 多个主机连接到所述边缘节点并被指配了相同的重复地址。
[0012] 在另一项实施例中,本发明包含一种网络组件,其包括:接收机,其用于接收在桥 接二层网络中的相应区域中的多个主机的多个IP地址和媒体接入控制(MAC)地址;逻辑电 路,其用于将所述主机的IP地址映射到MAC地址;以及发射机,其用于将所述主机的MAC地址 和IP地址而非所述主机的MAC地址通报给所述桥接二层网络中的核心区域。
[0013] 在又一项实施例中,本发明包含一种方法,其包括:从桥接二层网络中的本地区域 中的第一终端站接收对与所述桥接二层网络中的第二区域中的第二终端站关联的MAC地址 的地址解析协议(ARP)请求;发送DS查询以获得与所述第二终端站关联的MAC地址;接收DS 响应,所述DS响应表示与所述第二终端站关联的所述MAC地址;以及将ARP响应发送到所述 第一终端站,所述ARP响应包括与所述第二终端站关联的MAC地址。
[0014] 从结合附图和所附权利要求书进行的以下详细描述将更清楚地理解这些和其他 特征。
附图说明
[0015] 为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述, 其中相同参考标号表不相同部分。
[0016]图1是虚拟专用局域网(LAN)服务(VPLS)互联LAN的一项实施例的不意图。
[0017] 图2是虚拟二层网络的一项实施例的示意图。
[0018] 图3是边界控制机制的一项实施例的示意图。
[0019] 图4是数据帧转发方案的一项实施例的示意图。
[0020] 图5是数据帧转发方案的另一项实施例的示意图。
[0021 ]图6是数据帧转发方案的另一项实施例的示意图。
[0022]图7是互联二层站点的一项实施例的不意图。
[0023] 图8是跨过多个地址域的二层扩展的一项实施例的示意图。
[0024] 图9是跨过多个地址域的伪二层网络的一项实施例的示意图。
[0025] 图10是域地址限制机制的一项实施例的示意图。
[0026] 图11是数据帧转发方案的另一项实施例的示意图。
[0027] 图12是数据帧转发方案的另一项实施例的示意图。
[0028] 图13是数据帧转发方案的另一项实施例的示意图。
[0029] 图14是数据帧转发方案的另一项实施例的示意图。
[0030] 图15是广播方案的一项实施例的示意图。
[0031]图16是广播方案的另一项实施例的示意图。
[0032]图17是互联网络区域的一项实施例的不意图。
[0033]图18是互联网络区域的另一项实施例的不意图。
[0034]图19是地址解析协议(ARP)代理方案的一项实施例的示意图。
[0035]图20是数据帧转发方案的另一项实施例的示意图。
[0036]图21是ARP代理方案的另一项实施例的示意图。
[0037] 图22是故障接管方案的一项实施例的示意图。
[0038] 图23是虚拟机注册方案的一项实施例的示意图。
[0039]图24是位置服务器注册和确认消息净荷的一项实施例的示意图。
[0040]图25是ARP处理方案的一项实施例的示意图。
[0041 ]图26是LS查询和响应消息净荷的一项实施例的示意图。
[0042]图27是数据帧转发方案的另一项实施例的示意图。
[0043]图28是数据帧转发方案的另一项实施例的示意图。
[0044]图29是节点故障处理方案的一项实施例的示意图。
[0045]图30是链路故障处理方案的一项实施例的示意图。
[0046]图31是物理服务器的一项实施例的示意图。
[0047]图32是不对称网络地址封装方案的一项实施例的示意图。
[0048]图33是ARP处理方案的另一项实施例的示意图。
[0049] 图34是扩展ARP净荷的一项实施例的示意图。
[0050] 图35是另一个数据帧转发方案的一项实施例的示意图。
[00511图36是增强型ARP处理方法的一项实施例的协议图。
[0052]图37是扩展地址解析方法的一项实施例的协议图。
[0053 ]图38是网络组件单元的一项实施例的示意图。
[0054]图39是通用计算机系统的一项实施例的示意图。
具体实施方式
[0055]最初应理解,尽管下文提供一项或多项实施例的说明性实施方案,但可使用任何 数量的技术,不管是当前已知还是现有的,来实施所揭示的系统和/或方法。本发明决不应 限于下文所说明的说明性实施方案、图式和技术,包含本文所说明并描述的示范性设计和 实施方案,而是可在所附权利要求书的范围以及其均等物的完整范围内进行修改。
[0056]可为二层或三层网络的现代数据网络连接到可能需要跨过多个位置或站点的云 服务和虚拟机(VM)。有时,连接服务器(或VM)集群与存储装置的数据中心的二层网络必需 跨过多个位置。数据中心网络也可能需要留在二层层级,以支持已部署的应用程序,从而节 约例如几百万美元的成本。服务器集群和/或存储装置之间的二层通信包括负载平衡、数据 库集群、虚拟服务器故障恢复、网络层(三层)下的透明操作、跨过多个位置来扩展子网,以 及冗余。二层通信还包含应用程序之间的保活机制。一些应用程序需要相同IP地址以在多 个位置上进行通信,在这些位置上,一个服务器可能为主用的,另一个服务器可能为备用 的。(不同位置上的)主备用服务器可在彼此之间交换保活消息,这可能需要二层保活机制。 [0057] 图1所示为VPLS互联局域网(LAN) 100的一项实施例。VPLS互联LAN 100是可扩展机 制,其可用于跨过例如物理位置等多个数据中心(DC)位置来连接多个二层网络,以建立统 一或平面二层网络。VPLS互联LAN 100可包括VPLS 110和多个LAN 120,其中所述多个LAN可 经由例如边缘路由器等多个边缘节点112连接到VPLS 110。每个LAN 120可包括连接到相应 边缘节点112的多个二层交换机122、连接到相应二层交换机的多个接入交换机124、连接到 相应接入交换机124的多个VM 126JPLS互联LAN 100的组件可如图1所示般布置。
[0058] VPLS 110可为用于跨过不同位置或DC来连接LAN 120的任何网络。例如,VPLS 110 可包括三层网络,以跨过不同DC将LAN 120互联。二层交换机122可用于在开放式系统互联 (0SI)模型数据链路层上进行通信。数据链路协议的实例包含LAN以太网、点对点协议 (PPP)、高级数据链路控制(HDLC),以及用于点对点连接的高级数据通信控制协议(ADCCP)。 接入交换机124可用于在二层交换机122和VM 126之间转发数据。VM 126可包括系统虚拟 机,其提供系统平台,例如运行程序或应用程序的操作系统(0S)和/或流程虚拟机。每个LAN 120中的VM 126可分布在多个处理器、中央处理器(CPU)或计算机系统上。LAN 120中的多个 VM 126也可分享相同的系统资源,例如磁盘空间、存储器、处理器和/或其他计算资源。VM 126可布置在机箱上,且例如经由接入交换机124连接到相应LAN 120。
[0059] VPLS互联LAN 100的一些方面可造成不实际或不需要的实施问题。在一个方面中, VPLS 110可能需要实施支持多协议标记交换(MPLS)的广域网(WAN)。但是,一些运营商不支 持WAN上的MPLS,且因此在实施VPLS互联LAN 100时可能有困难。此外,要解析例如跨过LAN 120的VM 126的主机链路层地址,可能需要第四版IP(IPv4)ARP或第六版IP(IPv6)邻居发现 (ND)协议,例如因特网工程任务组(IETF)请求注解(RFC)826中描述的IPv4 ARP以及由IETF RFC 4861描述的IPv6 ND,二者以引用的方式并入本文中。ARP可使请求泛洪到所有的互联 LAN 120,且因此耗尽大量系统资源(例如,带宽)。随着LAN 120和/或VM 126的数量增加,此 ARP泛洪机制可能会遭受可扩展性问题。VPLS互联LAN 100也需要设置网状伪线(PW)来连接 到LAN 120,这可能需要对隧道进行密集配置和状态维护。在一些情形中,VPLS 110可使用 边界网关协议(BGP)来发现LAN 120,并为每个LAN 120构建网状PW。
[0060]光传输虚拟化(0TV)是另一种可扩展机制,其已被提议用于跨过多个位置或DC来 连接二层网络,以建立平面二层网络。0TV是思科(Cisco)提议的一种方法,其取决于二层通 信的IP封装。0TV可使用中间系统到中间系统(IS-1S)路由协议,以将每个位置(例如DC)内 的MAC可达性分配到其他位置。0TV方案也可能具有一些不实际或不需要的方面。在一个方 面中,0TV可能需要提供商核心IP网络维护相对大量的组播组。因为每个LAN可具有单独的 重叠拓扑,因此由服务提供商IP网络维护的重叠拓扑可能相对大量,从而可能成为核心网 络的负担。0TV也可能需要边缘节点使用因特网组管理协议(IGMP)来加入IP域中不同的组 播组中。如果每个边缘节点连接到多个VLAN,则每个边缘节点可能需要加入多个IGMP组中。 [0061 ] 在0TV中,例如每个位置上的网关等边缘装置可为IP主机,所述IP主机之间相距一 跳,因此可能不需要在边缘装置之间实施链路状态协议来交换可达性信息。但是,链路状态 也可用于验证对等体,如果对等体通过发送第3版IGMP(IGMPv3)报告加入到VLAN,则0TV中 可能需要执行此项验证操作。或者,0TV可使用BGP验证方法。但是,BGP验证定时可能不同于 IS-IS验证定时。例如,BGP可能适合秒级性能,IS-IS可能适合亚秒级性能。此外,IS-IS协议 可能不适合在0TV系统中的每个位置上处理实质大量的主机和VM,例如数以万计的主机和 VMWTV可能也不适合支持数以万计的闭合用户组。
[0062] 本文所揭示的系统和方法用于提供可扩展机制,以在多个不同位置上连接多个二 层网络,从而获得平面或单个二层网络。可扩展机制可解决用于获得跨过多个位置的平面 二层网络的一些方面或挑战。可扩展机制可通过支持应用程序的可扩展地址解析且使网络 交换机保存与跨过多个位置的所有或多个主机关联的多个地址来促进跨过多个位置的拓 扑发现。可扩展机制也可支持组播组,并促进在不同位置之间转发业务以及例如向未知主 机地址广播业务。
[0063] 所述方法包含边界控制机制,以在多个位置上扩展相对大的平面二层。因此,应用 程序、服务器和/或VM可能不知道虚拟二层网络,其包括通过例如三层、2.5层或二层网络等 另一个网络互联的多个二层网络。二层网络可能位于不同或单独的物理位置、一个位置的 多个层面或者通过三层互联的多个排。协议无关地址解析机制也可以使用,且可适合在多 个位置上处理相对大型的虚拟二层网络和/或实质大量的二层网络。
[0064]图2所示为跨过不同DC或物理位置的虚拟二层网络200的一项实施例。虚拟二层网 络200可为可扩展机制,其用于跨过例如地理位置或DC等多个位置或一个数据中心内的多 个站点来连接多个二层网络,以建立统一或平面二层网络。虚拟二层网络200可包括服务网 络210和多个二层网络220,其中所述多个二层网络220可经由例如边缘路由器等多个边缘 节点212连接到服务网络210。本文中的服务网络210可指互联网络,例如服务提供商网络、 核心网络、三层网络、二层或2.5层网络,或者将多个站点中的组件进行连接或互联的任何 其他网络。每个二层网络220可包括连接到相应边缘节点212的多个L2GW 222,以及可连接 到L2GW 222的多个中间交换机224。虚拟二层网络200的组件可如图2所示般布置。中间交换 机224也可连接到多个主机和/或VM(未图示)。
[0065] 服务网络210可为经建立以使例如服务提供商网络等二层网络220互联的任何网 络。例如,服务网络210可为二层、2.5层或三层网络,例如虚拟专用网(VPN)。服务网络210可 能不知道L2GW 222后面的所有地址,例如MAC地址。L2GW 222可为每个DC位置上的边界节 点,且具有在DC位置上进行内部通信的二层接口。L2GW 222和中间交换机224可使用主机的 相应MAC地址来在相同二层网络220内的相同位置上与主机和/或VM进行通信。但是,L2GW 222和中间交换机224可能不需要知道其他二层网络220中主机/VM的MAC地址。相反,一个二 层网络220中的主机可将(另一位置或站点上)另一个二层网络220的L2GW 222的地址用作 目的地址,以与其他二层网络中的目标主机通信。当帧(例如,以太网帧)到达例如其他二层 网络等目标站点的L2GW 222时,L2GW 222可基于帧的净荷中携载的IP地址,例如使用网络 地址转换(NAT)表或MAC地址转换(MAT)表来转换目标主机的目的地址,如下文所述。
[0066] 在一项实施例中,每个L2GW 222可在本地IP地址信息表(Local-IPAddrTable)中 保存L2GW 222的相同二层网络220内的所有主机/VM的地址。L2GW 222也可用于实施代理 ARP功能,如下文所述。此外,L2GW 222可保存MAC转发表,其可包括非IP应用程序的MAC地 址。MAC地址可包括主机/VM的MAC地址,以及例如相同二层网络220等相同位置内的中间交 换机224的MAC地址。
[0067] L2GW 222可向其在其他位置(例如,其他二层网络220)上的对等体(例如,其他 L2GW 222)通知所有主用VLAN和其位置上每个VLAN下的本地主机的所有IP地址。如果域内 有非IP应用程序,则L2GW 222也可向其对等体通知这些非IP应用程序的MAC地址和VLAN。二 层站点或二层网络220可具有许多VLAN,其为操作方便而在L2GW 222端口和中间交换机224 端口上启用。因此,无需额外配置即可移动属于任何已启用VLAN的VM或主机。一个站点(或 二层网络220)中的主用VALN可具有属于此VLAN的主机,所述主机位于此站点内。即使L2GW 222仅可保存在所在本地站点中主用的VLAN的地址信息(例如,每个L2GW 222的远程IP地址 信息表中),跨过不同位置的L2GW 222也可获得所有其他位置的主机IP地址。如果本地域中 没有属于VLAN的VLAN标识符(VID)的主机,则可能不需要保存此VID的远程主机信息,因为 此VID可能没有以本地域为目标的通信。虽然VLAN可指配有多个VID (例如,如IEEE 802.1Q 中所述),但本文中使用的术语VLAN和VID可互换,用来指已建立的VLAN。因此,每个L2GW 222可将属于(例如,二层网络220上的)一个位置的每个IP地址组映射到属于相同位置的相 应L2GW 222的MAC地址。L2GW 222也在其Local-IPAddrTable发生更改时,将地址信息的更 新发送到对等体,以更新其他对等体中的信息。这样可以按照递增方式更新地址信息并在 每个L2GW 222中进行映射。
[0068]图3所示为边界控制机制300的一项实施例。边界控制机制300可为可扩展机制,其 用于跨过多个站点、位置或DC建立平面或虚拟二层网络。虚拟二层网络可包括服务网络310 和多个二层网络320,其中所述多个二层网络320可经由例如边缘路由器等多个边缘节点 312连接到服务网络310。每个二层网络220可包括连接到相应边缘节点312的多个L2GW 322,以及可连接到L2GW 322的多个中间交换机324。中间交换机324也可连接到(或可到达) 例如在VM或服务器上实例化的主机326。虚拟二层网络的组件可如图2所示般布置,且可类 似于虚拟二层网络200的相应组件。
[0069]基于边界控制机制300,每个L2GW 322可保存属于在相应本地二层站点,例如,相 应二层网络320,中主用的VLAN的所有位置上的主机IP地址。每个L2GW 322也可知道其他位 置上对等体L2GW 322的MAC地址。但是,L2GW 322可不保存其他位置上的主机的MAC地址,这 样可实质缩小在L2GW 322之间交换(且存储)的数据的大小,因为虽然可能不汇总MAC地址, 但可能汇总IP地址(例如,10.1.1 .x可表示255个主机)12GW 322上保存的IP地址可映射到 相同位置的相应L2GW 322的MAC地址。具体来说,属于每个位置或二层网络300的每个主机 IP地址集可映射到这个位置上L2GW 322的MAC地址。但是,L2GW 322可在不同位置之间交换 用于运行非IP应用程序的节点的多个MAC地址。
[0070]为支持跨过虚拟二层网络的不同位置的地址解析,ARP(或ND)请求可从第一主机 326(主机A)发送,并由第一位置或二层网络320中的相应本地L2GW 322拦截。主机A可发送 ARP请求,以获得第二位置或二层网络320中第二主机326(主机B)的MAC地址。如果本地L2GW 322具有与主机A属于相同VLAN的主机B的条目,例如主机B的IP地址,则本地L2GW 322可通 过将自己的MAC地址发送到主机A来响应ARP/ND请求。或者,本地L2GW 322可在ARP/ND响应 中将相应L2GW的MAC地址(主机B的位置)发送到主机A。如果本地L2GW 322不保存或存储 VLAN的主机B的条目,则本地L2GW 322可假设主机B不存在。例如,L2GW 322可定期或按周期 用自己的本地主机IP地址及相应VLAN来更新对等体。可能的情况是,一些L2GW 322可能没 有接收到一些VLAN的其他位置上新配置主机的IP地址的更新。在这种情况下,不会发回响 应,且请求实体(主机A)可能发送针对目标主机的多条ARP/ND请求。
[0071] 在一项实施例中,L2GW 222可向其他二层站点中的其他L2GW 222发出每个VLAN下 本地主机的多个集合IP地址。集合地址中的条目数量可实质小于L2GW 222的Local-IPAddrTable中的相应条目数量。在一些实施例中,L2GW 222可向其他二层站点中的所有其 他L2GW 222发出请求,以请求远程站点中单个VLAN(或任一VLAN)下的IP地址(以集合形 式)。当属于非主用VLAN的主机添加到L2GW 222的本地站点时,这可能很实用。
[0072] 表1所示为根据边界控制机制300将主机地址映射到相应L2GW的MAC地址和VLAN的 一个实例。多个L2GW MAC地址(例如L2GW1 MAC和L2GW2 MAC)可映射到多个相应主机地址。 每个L2GW MAC地址可映射到可与相同位置或DC关联的多个VLAN(例如,VLAN#、VLAN-x等)中 的多个主机IP(或MAC)地址。每个VLAN也可包括主机的多个虚拟专用组(VPG)(或闭合用户 组hVPG可为主机和/或VM集群,其属于二层域(或L2域),且可经由二层彼此进行通信。本文 中使用的二层域可指二层网络中的子位置或子站点。当二层网络跨过多个站点或位置时, 本文中的每个站点可称为二层域。本文中使用的术语二层域、二层站点和二层区域可互换。 本文中使用的术语域、站点和区域也可互换。VPG中的主机也可具有建立于主机之间的组播 组。VPG内的主机/VM可跨过多个物理位置。在很多情况下,一个VLAN可对一个客户专用,例 如每个VLAN可只有一个VPG。因此,在此类情况下,表中可能不需要有VPG列(或属性)。
[0073] 例如,VLAN#可包括多个VPG中的多个主机,包含G-x 1、G-x2等,而且,每个VPG可包 括多个主机。例如在VLAN#和VLAN-x等的情况下,对于IP应用程序来说,每个VLAN中的主机 IP地址可映射到相同位置上的相应L2GW MAC地址。可汇总IP地址,以此来减少表中的条目 数。例如在VLAN-xl的情况下,对于非IP应用程序来说,每个VLAN中的主机MAC地址可映射到 VLAN的相同位置上的相应L2GW MAC地址。在一些情况下,每个VLAN可只有一个VPG,且因此 可不需要表1中的VPG列。
[0074] 表1:边界控制机制
[0077]图4所示为可用于跨过多个位置或DC的虚拟二层网络中的数据帧转发方案400的 一项实施例。虚拟二层网络可包括服务网络410和多个二层网络420,其中所述多个二层网 络420可经由例如边缘路由器等多个边缘节点412连接到服务网络410。每个二层网络420可 包括连接到相应边缘节点412的多个L2GW 422,以及可连接到L2GW 422的多个中间交换机 424。中间交换机424也可连接到主机426,例如VM。虚拟二层网络的组件可如图4所示般布 置,且可类似于虚拟二层网络200的相应组件。
[0078] 基于数据帧转发方案400,L2GW 422可支持用于MAC-in-MAC的电气和电子工程师 学会(IEEE)802.1ah标准,所述标准以引用的方式并入本文中,其使用以太类型字段来表示 内部帧需要MAC地址转换。例如,第一L2GW 422(GW1)可从第一位置(位置1)上的第一主机 426(主机A)接收帧440,例如以太网帧。帧440可预期发送到第二位置(位置2)上的第二主机 426(主机B)。帧440可包括GW1的MAC目的地址(MAC-DA)442(L2GW-位置1)、主机A的MAC源地 址(MAC-SA)444(A的MAC)、主机B的IP目的地址(IP-DA)446(B)、主机A的IP源地址(IP-SA) 448(A),以及净荷。然后,GW1可将外部MAC帧头(outer MAC header)添加到帧440,以获得内 部帧460。外部MAC帧头可包括GW2的MAC-DA 462(L2GW-位置2)、GW1 的MAC-SA 464(L2GW-位 置1),以及表示内部帧460需要MAC地址转换的以太类型466。内部帧460也可包括GW1的MAC-DA 468(L2GW-位置1),以及主机A的MAC-SA 470(A的MAC)。然后,内部帧460可在服务网络 410中被转发到GW2,其可处理外部MAC帧头以转换帧的MAC地址。因此,GW2可获得第二帧 480,其可包括主机B的MAC-DA482(B的MAC)、主机A的MAC-SA484(A的MAC)、主机B的IP-DA486 (B)、主机A的IP-SA488(A),以及净荷。然后,第二帧480可被转发到位置2上的主机B。
[0079]数据帧转发方案400在实施时比思科的0TV方案简单,思科的0TV方案需要封装外 部IP帧头。此外,许多以太网芯片支持IEEE 802. lah。可使用服务实例标签(I-TAG),例如 802. lah中所指定的,来区分不同的VPG。因此,I-TAG字段也可用于数据帧转发方案400中, 以在例如服务网络410中区分提供商域的多个VPG。GW2可使用MAT执行上述MAC转换方案,类 似于使用NAT将公共IP转换成专用IP。与基于传输控制协议(TCP)会话的NAT方案不同,MAT 方案可基于使用内部IP地址来查找MAC地址。
[0080]图5所示为用于非IP应用程序的另一个数据帧转发方案500的一项实施例。数据帧 转发方案500可使用非IP主机的MAC地址,或者不实施IP地址而实施非IP应用程序以在虚拟 二层网络中不同位置上的主机之间转发帧的主机的MAC地址。虚拟二层网络可包括服务网 络510和多个二层网络520,其中所述多个二层网络520可经由例如边缘路由器等多个边缘 节点512连接到服务网络510。每个二层网络520可包括连接到相应边缘节点512的多个L2GW 522,以及可连接到L2GW 522的多个中间交换机524。中间交换机524也可连接到主机526,例 如VM。虚拟二层网络的组件可如图5所示般布置,且可类似于虚拟二层网络200的相应组件。 [0081 ] 基于数据帧转发方案500,L2GW 522可支持用于MAC-in-MAC的IEEE 802. lah。例 如,第一L2GW 520(GW1)可从第一位置(位置1)上的第一主机526(主机A)接收帧540,例如以 太网帧。帧540可预期发送到或发往第二位置(位置2)上的第二主机526(主机B)。帧540可包 括GW1的MAC-DA 542(L2GW-位置1)、主机A的MAC-SA 544(A的MAC),以及净荷。然后,GW1可将 外部MAC帧头添加到帧540,以获得内部帧560。外部MAC帧头可包括GW2的MAC-DA 562(L2GW-位置2)、GW1的MAC-SA 564(L2GW-位置1),以及表示内部帧560是MAC-in-MAC帧的以太类型 566。内部字段560也可包括主机B的MAC-DA 568(B的MAC),以及主机A的MAC-SA 570(A的 MAC)。然后,内部帧560可在服务网络510中被转发到GW2,其可处理内部帧560以获得第二帧 580。第二帧580可包括主机B的MAC-DA 582(B的MAC)、主机A的MAC-SA 584(A的MAC),以及净 荷。然后,第二帧580可被转发到位置2上的主机B。
[0082]数据帧转发方案500在实施时比思科的0TV方案简单,思科的0TV方案需要封装外 部IP帧头。此外,许多以太网芯片支持IEEE 802. lah。可使用802. lah中所述的I-TAG来区分 不同的VPG。因此,I-TAG字段也可用于数据帧转发方案500中,以在例如服务网络510中区分 提供商域的多个VPGXW2可如上文所述处理第二帧580,而不执行MAC转换方案。
[0083]图6所示为可用于跨过多个位置的虚拟二层网络中的另一个数据帧转发方案600 的一项实施例。数据帧转发方案600可用于从主机转发帧,所述主机在虚拟二层网络中从先 前位置移动到新位置且保存第二主机的相同的所获知MAC地址。虚拟二层网络可包括服务 网络610和多个二层网络620,其中所述多个二层网络620可经由例如边缘路由器等多个边 缘节点612连接到服务网络610。每个二层网络620可包括连接到相应边缘节点612的多个 L2GW 622,以及可连接到L2GW 622的多个中间交换机624。中间交换机624也可连接到主机 626,例如VM。虚拟二层网络的组件可如图6所示般布置,且可类似于虚拟二层网络200的相 应组件。
[0084]当第一主机626(主机A)从先前位置(位置1)移动到新位置(位置3)时,主机A仍可 使用第二主机626 (主机B)的相同的所获知MAC地址。根据数据帧转发方案600,位置3的L2GW 622(GW3)可使用以太类型字段表示内部帧需要MAC地址转换,来支持802. lah MAC-in-MAC。 GW3可实施类似于数据帧转发方案400的数据帧转发方案,以使用外部MAC帧头中的GW2的 MAC地址来将数据发送到位置2的第二L2GW 622(GW2)。因此,GW2可解封装外部MAC帧头,并 执行MAC地址转换,如上文所述(关于数据帧转发方案400)。
[0085]例如,GW3可从移动到位置3后的主机A接收帧640,例如以太网帧。帧640可预期发 送到位置2上的主机B。帧640可包括位置1的先前L2GW 622(GW1)的MAC-DA 642(L2GW-位置 1)、主机A的MAC-SA 644(A的MAC)、主机B的IP-DA 646(B)、主机A的IP-SA 648(A),以及净 荷。然后,GW3可将外部MAC帧头添加到帧640,以获得内部帧660。外部MAC帧头可包括GW2的 MAC-DA 662(L2GW-位置2)、GW1的MAC-SA 664(L2GW-位置1),以及表示内部帧660需要MAC地 址转换的以太类型666。内部帧660也可包括主机B的MAC-DA 668(B的MAC),以及主机A的 MAC-SA 670(A的MAC)。然后,内部帧660可在服务网络610中被转发到GW2,其可处理外部MAC 帧头以转换帧的MAC地址。因此,GW2可获得第二帧680,其可包括主机B的MAC-DA 682(B的 MAC)、主机A的MAC-SA 684(A的MAC),以及净荷。然后,第二帧680可被转发到位置2上的主机 B〇
[0086] 此外,主机B可从位置2移动到另一个位置,例如位置4(未图示)。如果GW2已获知主 机B已从位置2移动到位置4,则GW2可将位置4上另一个L2GW 622(GW4)的MAC地址用作外部 MAC帧头中的MAC-DA,如上文所述。如果GW2还未获知主机B已从位置2移动到位置4,则帧可 在没有外部MAC帧头的情况下由GW2转发。这样,帧可能例如在服务网络610中丢失。帧可能 暂时丢失,直到主机B将其新位置通报给GW2或位置2之后,GW2重新发送帧为止。
[0087] 图7所示为可实施与上述虚拟二层网络类似的边界控制机制的互联二层站点(或 区域)700的一项实施例。互联二层站点700可包括通过多个边界或边缘节点712连接的多个 L2GW 722。例如边缘路由器等边缘节点可属于服务网络,例如三层网络。互联二层站点700 也可包括连接到L2GW 722的多个中间交换机724,以及连接到中间交换机724的多个VM 72612GW 722、中间交换机724和VM 726可支持对应于多个二层(L2)地址域的多个子集。互 联二层站点700的组件可如图7所示般布置,且可类似于虚拟二层网络200的相应组件。
[0088] 每个二层地址域可使用边界控制机制,例如边界控制机制300,在所述边界控制机 制中,每个二层域内的中间交换机724和VM 726可知道本地MAC地址,但不知道其他二层地 址域中主机、服务器和/或VM 726的MAC地址和VLAN。但是,主机、服务器和/或VM 726可在不 知道不同二层域的情况下与彼此通信,如在单个平面二层网络中一样。二层域可经由边界 或边缘节点712彼此互联,所述边缘或边界节点可在核心网络或服务提供商网络(未图示) 上互联。二层地址域可位于一个DC站点或多个地理站点上。本文中,跨过多个站点(位置)的 互联二层站点700的结构也可指通过服务网络(三层、2.5层、二层或其他网络)互联的多个 站点上的二层扩展、通过服务网络互联的站点上的伪二层网络、虚拟二层或伪二层网络。 [0089]图8所示为通过服务网络互联的多个站点上的二层扩展800的一项实施例。二层扩 展800可包括连接到多个边界或边缘节点812的多个L2GW 822,所述多个边界或边缘节点可 属于服务提供商或核心网络(未图示)。二层扩展800也可包括连接到L2GW 822的多个中间 交换机824,以及连接到中间交换机824的多个主机/服务器/VM 826。中间交换机824和主 机/服务器/VM 826可分开或布置在多个二层地址域中。例如,其中一个二层站点如图8中的 虚线圆圈所述。L2GW 822、中间交换机824和主机/服务器/VM 826可对应于一个或多个DC位 置上的二层网络。二层扩展800的组件可如图8所示般布置,且可类似于虚拟二层网络200的 相应组件。
[0090] 图9是跨过多个位置的伪二层网络900的一项实施例的示意图。伪二层网络900可 为这样一种机制,其用于跨过例如地理位置或DC等多个位置来连接二层,以建立一个平面 二层网络。伪二层网络900可包括服务提供商或核心网络910和多个二层网络域920,其中所 述多个二层网络域920可经由例如边缘路由器等多个边缘节点912连接到服务提供商或核 心网络910。每个二层站点920可位于不同DC站点(或楼层,或地区)或位置,且可包括连接到 相应边缘节点912的多个L2GW 922,以及连接到相应L2GW 922的多个中间交换机924。中间 交换机924也可连接到多个主机/服务器/VM(未图示)。伪二层网络900的组件可如图9所示 般布置,且可类似于虚拟二层网络200的相应组件。
[0091] 图10所示为域地址限制机制1000的一项实施例。域地址限制机制1000可用于多个 站点上的伪二层网络中,以处理不同二层站点之间的地址解析。多个站点上的伪二层网络 可包括服务网络1010和多个二层网络站点1020,其中所述多个二层网络站点1020可经由多 个边缘节点1012连接到服务网络1010。二层站点1020可位于相同或不同DC站点上,且可包 括连接到相应边缘节点1012的多个L2GW 1022,以及连接到相应L2GW 1022的多个中间交换 机1024。中间交换机1024也可连接到多个主机/服务器/VM 1026。伪二层网络的组件可如图 10所示般布置,且可类似于虚拟二层网络200的相应组件。
[0092]具体来说,一个二层站点1020中L2GW 1022的MAC地址可用作此本地站点之外的所 有或多个主机的代理。在第一选择(选择1)中,二层站点1020中本地L2GW 1022的MAC地址可 用作其他二层网络站点1020中主机的代理。在此情形中,相同本地二层站点1020中的中间 交换机1024和主机/服务器/VM 1026只获知本地主机的地址。其他二层站点1020中外部 L2GW 1022的MAC地址可不为本地二层站点1020所获知。
[0093] 或者,在第二选择(选择2)中,远程二层站点1020中L2GW 1022的MAC地址可用作位 于相应站点中所有主机的代理。在此选择的情况下,其他二层站点1020的外部L2GW 1022的 MAC地址可在每个二层站点1020中获知。在此选择的情况下,例如当主机要与远程二层站点 1020中的主机通信且请求外部主机的地址时,可响应于本地主机的ARP/ND请求,返回对应 于含有目标主机的二层站点1020的远程L2GW 1022的MAC地址。在一些情形中,相比选择1, 选择2可具有一些优势。
[0094]根据域地址限制机制1000,每个L2GW 1022可例如使用反向ARP方案或其他方法, 从而知道L2GW 1022的相同本地二层站点1020中的所有主机地址。每个L2GW 1022也可将主 机IP地址和相应VLAN(或VID)通知给其他二层站点1020中的其他L2GW 1022。
[0095] 要解析跨过不同站点的一个二层内的地址,ARP/ND请求可从第一主机1026(主机 八)发送到第一站点(站点1)中的相应本地1261 1022。主机4可发送六1^/冊请求,以获得第二 站点(站点2)中第二主机1026 (主机B)的MAC地址。如果本地L2GW 1022具有VLAN的主机B的 条目,例如相同VLAN下的主机B的IP地址,则本地L2GW 1022可通过将自己的MAC地址(选择 1)或与站点2中的主机B关联的第二L2GW 1022的MAC地址(选择2)发送到主机A,来响应ARP 请求。从例如站点1等一个站点发送的ARP/ND请求可由本地L2GW 1022拦截,且可不被(本地 L2GW 1022)转发到另一站点。如果本地L2GW 1022不包括相同VLAN下主机B的条目,则本地 L2GW 1022可假设主机B不存在,且可不向主机A发送响应。每个站点的L2GW 1022可定期或 按周期将其本地主机IP地址以及相应VLAN的更新发送到相应的对等体L2GW 1022。可能的 情况是,一些L2GW 1022可能没有接收到其他位置上新配置主机的IP地址。通常,如果没有 接收到响应,则主机A可重复发送ARP/ND请求。
[0096]图11所示为可用于在多个站点上的一个伪二层网络内转发消息或帧的数据帧转 发方案1100的一项实施例。多个站点上的伪二层网络可包括服务提供商或核心网络1110和 多个二层网络域1120,其中所述多个二层网络域1120可经由多个边缘节点1112通过服务提 供商或核心网络1110连接。二层网络域1120可位于一个或多个DC站点或位置上,且可包括 连接到相应边缘节点1112的多个L2GW 1122,以及连接到相应L2GW 1122的多个中间交换机 1124。中间交换机1124也可连接到多个主机/服务器/VM 1126。伪二层网络的组件可如图11 所示般布置,且可类似于虚拟二层网络200的相应组件。
[0097] 基于数据帧转发方案1100,第一 L2GW 1022(GW1)可从第一地址域1120(域1)中的 第一主机1126(主机A)接收第一帧1140,例如以太网帧。第一帧1140可预期发送到第二地址 域1120(域2)中的第二主机1126(主机B)。第一帧1140可包括L2GW 1122(GW)的MAC-DA 1142。主机A可在ARP响应中获得GW的MAC地址,所述ARP响应是GW1对主机B的ARP请求作出的 响应。GW可对应于域1中的GW1 (根据选择1),或者对应于域2中的第二L2GW 1122(GW2)(根据 选择2)。第一帧1140也可包括主机A的MAC-SA 1144(A的MAC)、主机B的IP-DA 1146(B)、主机 A的IP-SA 1148(A),以及净荷。
[0098] 基于选择1,GW1可接收第一帧1140,查找主机B的VID/目的IP地址(例如,如主机B 的IP-DA 1146所示),并将第一帧1140中GW的MAC-DA 1142替换为内部帧1160中GW2的MAC-DA 1162AW1也可将第一帧1140中主机A的MAC-SA 1144(A的MAC)替换为内部帧1160中GW1 的MAC-SA 1164。内部帧1160也可包括主机B的IP-DA 1166(B)、主机A的IP-SA 1168(A),以 及净荷。GW1可经由服务提供商或核心网络1110将内部帧1160发送到域2。根据选择2,GW1可 例如基于访问列表,滤出预期发送到GW2或任何其他外部L2GW 1122的所有数据帧,将数据 帧的源地址(主机A的MAC-SA 1144或A的MAC)替换为GW1自己的MAC地址,然后基于目的MAC 转发数据帧。
[0099] GW2可接收内部帧1160,并处理内部帧1160,以转换帧的MAC地址。基于选择1,GW2 可接收内部帧1160,查找主机B的VID/目的IP地址(例如,如主机B的IP-DA 1166所示),并将 内部帧1160中GW2的MAC-DA 1162替换为第二帧1180中主机B的MAC-DA 1182(B的MACKGW2 也可将内部帧1160中GW1的MAC-SA 1164替换为第二帧1180中GW2的MAC-SA 1184。第二帧 1180也可包括主机B的IP-DA 1186(B)、主机A的IP-SA 1188(A),以及净荷。然后,GW2可将第 二帧1180发送到目的主机B。根据选择2,GW2只可查找主机B的VID/目的IP地址(例如,如主 机B的IP-DA 1166所示),并将GW2的MAC-DA 1162替换为第二帧1180中主机B的MAC-DA 1182 (B 的 MAC)。但是,GW2 可保存 MAC-SA 1164。
[0100] 如上文所述,GW2可执行MAC地址转换,方法是,使用内部帧1160中主机B的IP-DA 1166查找第二帧1180中主机B的相应MAC-DA 1182(B的MAC)。此MAC转换步骤可需要约与NAT 方案等量的工作,例如用于将公共IP地址转换成专用IP地址。数据帧转发方案1100中的MAC 地址转换可基于使用主机IP地址查找相应MAC地址,而NAT方案基于TCP会话。
[0101] 图12所示为可用于在多个地址域上的伪二层网络之间转发消息或帧的另一个数 据帧转发方案1200的一项实施例。具体来说,伪二层网络可经由IP/MPLS网络互联。地址域 上的伪二层网络可包括IP/MPLS网络1210和多个二层网络域1220,其中所述多个二层网络 域12 20可经由多个边缘节点1212连接到IP/MPLS网络1210。IP/MPLS网络210可提供IP服务, 以支持例如二层网络域1220等地址域之间的中间域(inter domain)。二层网络域1220可位 于一个或多个DC站点或位置上,且可包括连接到相应边缘节点1212的多个L2GW 1222,以及 连接到相应L2GW 1222的多个中间交换机1224。中间交换机1224也可连接到多个主机/服务 器/VM 1226。伪二层网络的组件可如图12所示般布置,且可类似于虚拟二层网络200的相应 组件。
[0102]基于数据帧转发方案1200,第一 L2GW 1022(GW1)可从第一地址域(域1)中的第一 主机1226(主机A)接收第一帧1240,例如以太网帧。第一帧1240可预期发送到第二地址域 (域2)中的第二主机1226(主机B)。第一帧1240可包括L2GW 1222(GW)的MAC-DA 1242。主机A 可在ARP响应中获得GW的MAC地址,所述ARP响应是GW1对主机B的ARP请求作出的响应。GW可 对应于域1中的GW1 (根据选择1),或者对应于域2中的第二L2GW 1222(或GW2)(根据选择2)。 第一帧1240也可包括主机A的MAC-SA 1244(A的MAC)、主机B的IP-DA 1246(B)、主机A的IP-SA 1248(A),以及净荷。
[0103] GW1可接收第一帧1240,并基于两个选择中的一个选择来处理帧。在第一选择中, GW1可接收第一帧1240,并添加 IP帧头,以获得内部帧1250。IP帧头可包括GW2的IP-DA 1251,以及GW1的IP-SA 1252XW1也可类似于数据帧转发方案1100般处理第一帧1240,以在 内部帧 1250中获得GW2的MAC-DA 1253、GW1 的MAC-SA 1254、主机B的IP-DA 1256(B),以及主 机的IP-SA 1257(A) AW1可经由IP/MPLS网络1210将内部帧1250发送到GW2XW2可接收内部 帧1250,并类似于数据帧转发方案1100般处理内部帧1250,以获得第二帧1280,所述第二帧 1280包括主机B的MAC-DA 1282(B的MAC)、GW1 (根据选择1)或GW2(根据选择2)的MAC-SA 1284、主机B的IP-DA 1286(B)、主机A的IP-SA 1288(A),以及净荷。然后,GW2可将第二帧 1250转发到主机B。
[0104] 在第二选择中,GW1可接收第一帧1240,并将第一帧1240中GW的MAC-DA 1242替换 为内部帧1260中GW2的IP-DA 1262XW1也可将第一帧1240中主机A的MAC-SA 1244(A的MAC) 替换为内部帧1260中GW1的IP-SA 1264。内部帧1260也可包括主机B的IP-DA 1266(B)、主机 A的IP-SA 1268(A),以及净荷。GW1可经由IP/MPLS网络1210将内部帧1260发送到GW2DGW2可 接收内部帧1260,并将内部帧1260中GW2的IP-DA 1162替换为第二帧1280中主机B的MAC-DA 1282(B的MAC) XW2也可将内部帧1260中GW1的IP-SA 1264替换为第二帧1280中GW2(根据选 择1)或GW1 (根据选择2)的MAC-SA 1284。第二帧1280也可包括主机B的IP-DA 1286(B)、主机 A的IP-SA 1288(A),以及净荷。然后,GW2可将第二帧1250转发到主机B。
[0105] 在上述跨过多个域的伪二层扩展或网络中,每个L2GW可用于L2GW的相应地址域中 每个VLAN中所有主机的IP-MAC映射。每个L2GW也可定期或按周期将相应地址域中每个VLAN 中所有主机的IP地址发送到其他地址域中的其他L2GW。因此,地址域中的L2GW可获得用于 伪二层网络的所有地址域的每个VLAN下的主机的IP地址。每个地址域中主机的MAC地址可 不由本地L2GW发送到其他地址域的L2GW,这样可实质缩小L2GW之间交换的数据的大小。但 是,例如,如果非IP应用程序的数量相对较少,则不同地址域的L2GW之间可交换对应于非IP 应用程序的MAC地址。BGP或类似方法可用于在跨过地址域的L2GW之间交换地址信息,包含 更新。
[0106] 表2所示为在伪二层网络中将主机地址映射到相应L2GW的MAC地址的一个实例。多 个L2GW MAC地址(例如GW-A MAC和GW-B MAC)可映射到多个相应主机地址。每个L2GW MAC地 址可映射到多个VLAN(例如,VID-l、VID-2、VID-n等)中的多个主机IP(或MAC)地址,所述 VLAN可位于相同地址域中。
[0107] 表2:IP_MAC 映射
[0110] 上述伪二层扩展或网络方案可限制地址域中的任何交换机/服务器/VM对另一地 址域的MAC地址的获知。所述方案也可提供可扩展机制,以连接多个位置上实质大型的二层 网络。在跨过多个地址域的相对大型的二层网络中,所述方案可限制可被伪二层网络中任 何交换机获知的MAC地址的数量,在伪二层网络中,每个交换机只可获知交换机的本地地址 域的MAC地址。所述方案也可使用跨过地址域的可扩展地址解析来提供跨过多个地址域的 可达性发现。此外,所述方案可促进地址域之间的转发以及对未知地址的广播,且可支持组 播组。
[0111] 图13所示为可用于在多个地址域和位置上的伪二层网络之间转发消息或帧的另 一个数据帧转发方案1300的一项实施例。数据帧转发方案1300可基于上述选择1,且可用于 从在伪二层网络中从先前位置移动到新位置的主机转发帧,且保存第二主机的相同的所获 知MAC地址。伪二层网络可包括服务提供商或核心网络1310和多个二层网络域1320,其中所 述多个二层网络域1320可经由多个边缘节点1112连接到服务提供商或核心网络1310。二层 网络域1320可位于多个DC站点或位置上,且可包括连接到相应边缘节点1312的多个L2GW 1322,以及连接到相应L2GW 1322的多个中间交换机1324。中间交换机1324也可连接到多个 主机/服务器/VM 1326。伪二层网络的组件可如图13所示般布置,且可类似于虚拟二层网络 200的相应组件。
[0112] 基于数据帧转发方案1300,GW3可从由位置1移动到位置3后的第一主机1326(主机 A)接收第一帧1340,例如以太网帧。帧1340可预期发送到位置2上的第二主机1326(主机B)。 第一帧1340可包括位置1上GW1的MAC-DA 1342、主机A的MAC-SA 1344(A的MAC)、主机B的IP-DA 1346(B)、主机A的IP-SA 1348(A),以及净荷。GW3可处理第一帧1340,并将第一帧1340中 主机A的MAC-SA 1344(A的MAC)替换为第一内部帧1350中GW3的MAC-SA 1354,例如类似于数 据帧转发方案1100。第一内部帧1350也可包括GW1的MAC-DA 1352、主机B的IP-DA 1356(B)、 主机A的IP-SA 1358(A),以及净荷。GW3可经由服务提供商或核心网络1310将第一内部帧 1350发送到位置1。
[0113] GW1可接收第一内部帧1350,查找主机B的VID/目的IP地址(例如,如主机B的IP-DA 1356所示),并将第一帧1340中GW1的MAC-DA 1352替换为第二内部帧1360中GW2的MAC-DA 1362。第二内部帧1360也可包括GW3的MAC-SA 1364、主机B的IP-DA 1366(B)、主机A的IP-SA 1368(A),以及净荷。GW1可经由服务提供商或核心网络1310将第二内部帧1360发送到位置 2〇
[0114] GW2可接收第二内部帧1360,并处理第二内部帧1360,以转换帧的MAC地址。GW2可 接收第二内部帧1360,查找主机B的VID/目的IP地址(例如,如主机B的IP-DA 1366所示),并 将内部帧1360中GW2的MAC-DA 1362替换为第二帧1380中主机B的MAC-DA 1382(B的MAC)。 GW2也可将第二内部帧1360中GW3的MAC-SA 1364替换为GW2的MAC-SA 1384。然后,GW2可将 第二帧1380发送到目的主机B。
[0115] 此外,主机B可从位置2移动到另一个位置,例如位置4(未图示)。如果GW2已获知主 机B已从位置2移动到位置4,则GW2可将更新发送到其对等体(其他位置上的其他L2GW 1322)。当位置4上的L2GW 1322(GW4)知道已将主机B添加到所在域时,GW4也可更新其对等 体。因此,每个L2GW 1322可已更新有关主机B的地址信息。如果L2GW 1322还不知道主机BE 从位置2移动到位置4,则L2GW 1322仍可将预期发送到主机B的帧从本地主机发送到位置2。 依次,GW2可接收并转发位置2上的帧,在位置2上所述帧丢失,因为主机B已离开位置2。帧可 能暂时丢失,直到主机B将其新位置通报给L2GW 1322之后,L2GW 1322重新发送帧为止。
[0116] 图14所示为可用于在多个站点或域上的伪二层网络之间转发消息或帧的另一个 数据帧转发方案1400的一项实施例。数据帧转发方案1400可基于上述选择2,且可用于从在 伪二层网络中从先前位置移动到新位置的主机转发帧,且保存第二主机的相同的所获知 MAC地址。伪二层网络可包括服务网络1410和多个二层网络域1420,其中所述多个二层网络 域1420可经由多个边缘节点1412通过服务网络1410连接。二层网络域1420可位于多个DC站 点或位置上,且可包括连接到相应边缘节点1412的多个L2GW 1422,以及(直接或间接)连接 到相应L2GW 1422的多个中间交换机1424。中间交换机1424也可(直接或间接)连接到多个 主机/服务器/VM 1426。伪二层网络的组件可如图14所示般布置,且可类似于虚拟二层网络 200的相应组件。
[0117] 基于数据帧转发方案1400,GW3可从由位置1移动到位置3后的第一主机1426(主机 A)接收第一帧1440,例如以太网帧。帧1440可预期发送到位置2上的第二主机1426 (主机B)。 第一帧1340可包括位置2上GW2的MAC-DA 1442、主机A的MAC-SA 1444(A的MAC)、主机B的IP-DA 1446(B)、主机A的IP-SA 1448(A),以及净荷。GW3可处理第一帧1440,并将第一帧1440中 主机A的MAC-SA 1444(A的MAC)替换为内部帧1460中GW3的MAC-SA 1464,例如类似于数据帧 转发方案1100。内部帧1460也可包括GW2的MAC-DA 1462、主机B的IP-DA 1466(B)、主机A的 IP-SA 1468(A),以及净荷。GW3可经由服务提供商或核心网络1410将内部帧1460发送到位 置2。
[0118] GW2可接收内部帧1460,并处理内部帧1460,以转换帧的MAC地址。GW2可接收内部 帧1460,查找主机B的VID/目标IP地址(例如,如主机B的IP-DA 1466表示),并将内部帧1460 中GW2的MAC-DA 1462替换为第二帧1480中主机B的MAC-DA 1482(B的MAC)。内部帧1460也可 GW3的MAC-SA 1484。然后,GW2可将第二帧1480发送到目的主机B。
[0119] 此外,主机B可从位置2移动到另一个位置,例如位置4(未图示)。如果GW2已获知主 机B已从位置2移动到位置4,则GW2可将更新发送到其对等体(其他位置上的其他L2GW 1322)。当位置4上的L2GW 1322(GW4)知道已将主机B添加到所在域时,GW4也可更新其对等 体。因此,每个L2GW 1322可已更新有关主机B的地址信息。如果L2GW 13222还不知道主机B 已从位置2移动到位置4,则L2GW 1322仍可将预期发送到主机B的帧从本地主机发送到位置 2。依次,GW2可接收并转发位置2上的帧,在位置2上所述帧丢失,因为主机B已离开位置2。帧 可能暂时丢失,直到主机B将其新位置通报给L2GW 1322之后,L2GW 1322重新发送帧为止。
[0120] 上述伪二层扩展或网络可支持每个地址域中的地址解析,且可使用一种机制以使 L2GW当前以所在域/位置中的所有主机的IP地址来更新。地址解析和IP地址更新可实施于 两种情形中的一种情形中。第一种情形对应于主机或VM在被添加时或移动到网络后用于发 送无偿ARP消息的情形。第二种情形对应于添加到或移动到网络的主机或VM不发送ARP通知 的情形。这两种情形可如以上虚拟二层网络中所述那样处理。
[0121] 上述虚拟二层网络和类似的伪二层网络可支持每个位置/域中的地址解析,且可 支持一种机制以使每个L2GW当前以所在位置/域中其本地主机的IP地址来更新。在一种情 形中,当主机或VM被添加到网络时,主机或VM可向其二层网络或局域发送ARP通知,例如无 偿ARP消息。在另一种情形中,添加到网络的主机或VM可不发送ARP通知。
[0122] 在第一种情形中,二层网络或位置/域中的新VM可将无偿ARP消息发送到L2GW。当 L2GW接收无偿ARP消息时,L2GW可更新其本地IPAddrTable,但可不将无偿ARP消息转发到其 他位置/域或二层网络。此外,L2GW可针对IPAddrTable中的每个条目使用定时器,以处理关 闭情况或从位置/域中删除主机的情况。如果条目的定时器即将到期,则L2GW可(例如经由 单播)将ARP发送到条目的主机。将ARP作为单播消息发送而不广播ARP可避免使主机和L2GW 的本地二层域泛洪。当主机从第一位置移动到第二位置时,L2GW可从第一位置和/或第二位 置接收更新消息。如果L2GW检测到主机存在于第一位置和第二位置中,则L2GW可发送第一 位置上的本地ARP消息,以检验主机不再存在于第一位置上。当确定主机不再存在于第一位 置中时,例如如果没有检测到对ARP消息作出的响应,则L2GW可相应地更新自己的本地 IPAddrTable。如果L2GW接收到对其位置的ARP消息作出的响应,则可使用BGP的MAC多归属 机制。
[0123] 在第二种情形中,一个位置上的新主机可不发送ARP通知。在这种情况下,当(例如 主机上的)应用程序需要解析IP主机的MAC地址时,应用程序可发出可在所述位置上广播的 ARP请求。ARP请求可例如通过实施代理ARP功能,由L2GW(或架顶式(ToR)交换机)拦截。在相 对大型的DC中,L2GW可能无法处理所有ARP请求。相反,多个L2GW代表(例如ToR交换机)可拦 截ARP通知。L2GW可将从其他位置获知的IP地址(例如IP地址的汇总)下推到相应代表(ToR 交换机)。然后,代表可拦截来自主机或本地服务器的ARP请求。如果来自主机或服务器的 ARP请求中的IP地址存在于L2GW的IPAddrTable中,则L2GW可将具有L2GW的MAC地址的ARP响 应返回到主机或服务器,而不再转发所广播的ARP请求。对于非IP应用程序,例如不使用IP 直接在以太网上运行的应用程序,所述应用程序可在发送数据时将MAC地址用作DA。非IP应 用程序在发送数据帧之前不可发送ARP消息。可使用未知泛洪或多MAC注册协议(MMRP)来转 发数据帧。
[0124] 在一种情形中,(例如主机上的)应用程序可在加入一个位置上的互联二层网络中 的一个网络时发送无偿ARP消息,以获得目标IP地址的MAC地址。当L2GW或其代表(例如ToR 交换机)可接收ARP请求并检查其IP主机表时。如果表中发现IP地址,则L2GW可将ARP回复发 送到应用程序。如果目标IP地址对应于另一个位置上的IP主机,则L2GW可在回复中发送其 MAC地址。如果没有发现IP地址,则L2GW可不发送回复,从而可保存所有位置上的主机的当 前或最新更新的IP地址。在相对大型的DC中,例如在相同位置上,可使用多个L2GW,在所述 位置上,每个L2GW可处理VLAN的子集。因此,每个L2GW可需要保存IP地址的子集,其包括相 应VLAN中主机的IP地址。
[0125] 在例如包括数以万计VM的实质大型的DC的情况下,单个节点可能难以处理所有 ARP请求和/或无偿ARP消息。在这种情况下,可考虑几种方案。例如,可使用多个节点或L2GW 来处理DC内不同VLAN子集,如上所述。或者或此外,多个代表可被指配给每个位置上的 L2GW。例如,可使用多个ToR交换机或接入交换机。每个L2GW的代表可负责拦截其相应下行 链路上或采用端口绑定协议形式的无偿ARP消息。代表可将整合地址列表(AddressList)发 送到其L2GW12GW也可将其获知的IP地址列表从其他位置下推到其代表。如果一个位置上 有多个L2GW负责不同的VLAN子集,则代表可能需要发送多条整合消息,所述多条整合消息 包括与相应L2GW关联的VLAN中的每个AddressList。
[0126] 与思科的0TV方案相比,使用上述虚拟二层网络可实质缩小每个位置上的中间交 换机上的转发表的大小。例如,假设大多数主机运行IP应用程序,则一个位置上的交换机可 能不需要获知其他位置上的IP主机的MAC地址。此方案也可实质缩小在L2GW之间交换的地 址信息的大小。例如,可包括成千上万个VM的子网可映射到L2GW MAC地址。虚拟二层网络的 分层二层方案可使用可受商用以太网芯片组支持的802. lah标准,而思科的方案则使用专 有IP封装。这两个方案都可将对等体位置网关装置(L2GW)地址用作外部目的地址。分层二 层方案也可使用地址转换,其可由当前IP网关支持。但是,分层二层方案可使用MAC地址转 换,而不使用IP地址转换。MAC地址转换可能需要电信级NAT实施方案,其可针对数以万计的 地址执行地址转换。
[0127] 在一项实施例中,VLAN可跨过多个位置。因此,组播组也可跨过多个位置。具体来 说,组播组可跨过虚拟二层网络中的位置子集。例如,如果虚拟二层网络中有约十个位置, 则组播组只可跨过这十个位置中的三个位置。一个服务实例内的组播组可通过网络管理员 系统⑴MS)进行配置,或者可使用MMRP在二层中自动建立。因为L2GW支持802.1ah,所以L2GW 可具有内置组件,以将客户组播组映射到核心网络中的合适组播组。在最糟糕的情形中, L2GW可将组播数据帧复制到服务实例的所有位置。例如,根据微软研究数据,约四分之一的 业务可流向不同位置。因此,L2GW进行的复制可比在提供商核心中实施复杂机制简单。
[0128] 虚拟二层网络可支持广播业务,例如用于ARP请求和/或动态主机配置协议(DHCP) 请求。可通过在每个位置上创建例如ToR交换机等多个ARP代表来支持广播业务。也可通过 将新组件添加到代表的端口绑定协议以保存来自服务器的所有IP主机的当前更新,来支持 广播业务。此外,L2GW可定期或按周期从其他位置下推所有所获知主机IP地址。
[0129] 在一些情况下,L2GW可接收未知DA12GW可保存所在位置上的所有主机(或应用程 序)的当前更新,并定期或按周期将其地址信息推到所有对等体(其他位置上的其他L2GW)。 如果L2GW接收包括未知DA的帧,则L2GW可将帧广播到其他位置。为避免网络上的攻击,可对 L2GW可转发或广播所接收的未知DA的最大次数进行限制。L2GW可用于获知另一个位置上的 中间交换机的地址,以避免在将地址发送到其他位置之前,弄错未知地址的中间交换机地 址。虽然每个DC位置上可能有数以万计的VM,但可限制每个DC上的交换机的数量,例如ToR 或接入交换机、行末或聚合交换机和/或核心交换机的数量。L2GW可例如经由桥接协议数据 单元(BTOU),从每个交换机提前获知一个位置上的所有中间交换机的MAC地址。消息可不直 接发送到中间交换机,管理系统或操作、管理和维护(0AM)消息除外。通过针对匪S或MMRP通 知发送自主消息,预期接收匪S/0AM消息或用于接收匪S/0AM消息的中间交换机可让所述位 置上的其他交换机获知所述中间交换机的MAC地址。
[0130] 在一些实施例中,L2GW可例如不使用IS-IS而使用BGP来交换地址信息。多个选择 可用于控制二层(L2)通信。例如,转发选择可包含只使用MAC和MAC的二层转发、MPLS上的二 层转发,以及三层网络中的二层转发。二层控制面的选择可包含二层IS-IS网状控制、2.5层 MPLS静态控制、标签分发协议(LDP )、使用基于内部网关协议(IGP)约束的最短路径优先 (CSFP)的资源预留协议(RSVP)-流量工程(TE),以及BGP发现。也可考虑一些VLAN映射问题, 例如唯一性所需的VLAN-MAC映射,以及网络桥接VLAN(例如VLAN-4K)对于DC来说是否可能 太小。表3所示为可用于二层控制面的多个控制面选择。选择可基于IEEE 802. lah、IEEE 802. lq和IEEE 802. laq,所有这些内容均以引用的方式并入本文中。表4所示为表2中的控 制面选择的一些优势和劣势(优点和缺点)。
[0131] 表3:二层控制面选择
[0136] 思科的0TV和可在虚拟二层网络中受到支持的BGP之间可能存在多个差异。例如, 0TV基本方面可包含0TV组播组、可能需要MT-IS-IS的OTV IS-IS使用,以及0TV转发。此外, BGP可支持例如用于DC组播组的BGP-MAC映射和IP重叠。BGP-MAC映射也可使用MT-BGP。此 外,IBGP可由MT-IS-IS支持,并通过使用对等体拓扑的IS-IS(例如标签交换路径验证 (LSVP))来获得支持。
[0137] 在上述虚拟二层网络中,一个二层网络(或DC)内应用程序的数量可例如随时间的 推移而实质增加。因此,可能需要一种机制来避免与实质大型的二层网络关联的问题。这些 问题可包括服务器/主机及其应用程序的意外行为。例如,服务器/主机可对应于不同供应 商,其中一些服务器/主机可用于发送ARP消息,而另一些可用于广播消息。此外,成本较低 的典型二层交换机可能不会具有用以阻碍数据帧广播,或实施策略以限制泛洪和广播的复 杂功能。主机或应用程序也可频繁使MAC地址到目标IP的映射无效,例如约几分钟一次。例 如当主机执行(从主用到备用的)倒换时,或者当主机的软件发生故障时,主机也可频繁发 出无偿ARP消息。在一些情况下,将二层网络组件分成较小的子群,以将广播限制在较少量 的节点中。
[0138] 图15所示为可用于例如VLAN等二层网络/域中的典型广播方案1500的一项实施 例,所述二层网络/域可为上述虚拟二层网络或伪二层网络的一部分。二层网络/域或VLAN 可包括多个接入交换机(AS) 1522,其位于区1530中,例如DC中。VLAN也可包括连接到AS 1522的多个闭合用户组(CUG) 1535。每个CUG 1535可包括连接到AS 1522的多个行末(EoR) 交换机1524、连接到EoR交换机1524的多个ToR交换机1537,以及连接到ToR交换机1537的多 个服务器/VM 1539 AS 1522可连接到其他DC上的多个区(未图示),所述其他DC可对应于虚 拟二层网络或伪二层网络的其他二层网络/域。二层网络/域或区1530的组件可如图15所示 般布置。
[0139] 典型广播方案1500可能会经历广播可扩展性问题。例如,具有未知DA的帧可在区 1530内泛洪到VLAN中的所有终端系统。例如,具有未知DA的帧可泛洪到CUG 1535中AS 1522 中的所有或多个服务器/VM 1539,如图15中的虚线箭头所示。具有未知地址的帧也可经由 AS 1522以相反的方向泛洪到核心中的(其他DC中的)多个其他区,这样可关联与区1530相 同的服务。帧可进一步泛洪到其他区中的多个VM,从而可到达成千上万个VM。用于未知DA的 此广播方案在例如包括许多DC的相对大型的网络中的效率可能较低。
[0140] 图16所示为可用于例如VLAN等二层网络/域中的另一个广播方案1600的一项实施 例,所述二层网络/域可为上述虚拟二层网络或伪二层网络的一部分。与广播方案1500相 比,广播方案1600的可控制性更强,且因此可扩展性更强且效率更高。二层网络/域或VLAN 可包括多个AS 1622,其位于区1630中,例如DC中。VLAN也可包括连接到AS 1622的多个CUG 1635。每个CUG 1635可包括连接到AS 1622的多个EoR交换机1624、连接到EoR交换机1624的 多个ToR交换机1637,以及连接到ToR交换机1637的多个服务器/VM 1639 AS 1622可连接到 其他DC上的多个区(未图示),所述其他DC可对应于虚拟二层网络或伪二层网络的其他二层 网络/域。二层网络/域或区1630的组件可如图16所示般布置。
[0141] 为了控制或限制广播方案1600的广播范围,具有未知DA的帧仅可在区1530内泛洪 到单个根,例如泛洪到可指定为广播服务器的一个服务器/VM 1639,或者泛洪到AS 1622。 帧可使用以广播服务器为根的根到多点(RMP) VLAN配置,例如RMP VLAN的推VLAN标签而泛 洪到根。但是,泛洪的帧可不被转发到所有其他服务器,例如非广播服务器的其他服务器, 从而可节省链路资源并省去对无关帧的服务器处理。此外,转发的帧可不被转发到核心,例 如转发到其他区或DC。
[0142] 在一些实施例中,广播服务器可托管代理ARP服务器、DHCP服务器和/或其他特定 功能服务器,例如用于提高效率、可扩展性和/或安全性。例如,广播服务器可用于在只允许 所选广播服务的DC中提供安全性。如果没有选择任何已知服务,则具有未知DA的数据帧可 从第一或初始VLAN上的广播服务器泛洪。广播方案1600可用于处理客户应用程序可使用二 层广播的情况。数据速率限制器也可用于防止出现广播风暴,例如避免广播业务过多。
[0143] 如上所述,当在DC中引入服务器虚拟化时,DC中的主机的数量可例如随时间的推 移而实质增加。通过使用服务器虚拟化,最初可托管一个终端站的每个物理服务器可变得 能够托管几百个终端站或VM。可在服务器之间灵活地添加、删除和/或移动VM,这样可提高 服务器的性能和利用率。此能力可用作云计算服务的构建块,例如以提供由客户控制的虚 拟子网和虚拟主机。云计算服务提供的客户控制虚拟子网可允许客户定义自己具有相应IP 地址和策略的子网。
[0144] 虚拟主机的快速增长可对网络和服务器造成实质影响。例如,导致的一个问题可 能是,处理主机发送的频繁ARP请求,例如ARP第4版IP(IPv4)请求;或者邻居发现(ND)请求, 例如ND第6版IP(IPv6)请求。DC中的主机可因缓存或条目可能在约几分钟内无效而频繁发 出此类请求。在DC中有数以万计可具有不同MAC地址的主机的情况下,每秒发出的ARP或ND 消息或请求的数量可达到每秒约1,〇〇〇至10,〇〇〇条请求以上。此请求速率或频率可对主机 造成大量计算负担。与DC中存在实质大量的虚拟主机关联的另一个问题可能是,一个VLAN 内存在重复IP地址,其可导致ARP或ND方案无法正常运行。一些负载平衡技术也可能需要多 个主机,其服务于使用相同IP地址但使用不同MAC地址的相同应用程序。一些云计算服务可 允许用户使用自己的子网,所述子网在子网之间具有IP地址和自定义策略。因此,可能无法 为每个客户指定VLAN,因为一些系统中的最大可用VLAN数量可为约4095,而可能有几十万 个客户子网。在此情形中,在一个VLAN中不同客户子网中可能存在重复IP地址。
[0145] 在一项实施例中,可用于实质大型的二层网络中的可扩展地址解析机制可包括单 个VLAN,其包含大量主机,例如VM和/或终端站。此外,描述了一种用于在具有重复IP地址的 VLAN中正确解析地址的机制。所述机制可用于ARP IPv4地址和ND IPv6地址。
[0146] 图17所示为在例如以太网等桥接二层网络中的互联网络区域1700的一项实施例。 所述桥接二层网络可包括核心区域1710中的多个核心网桥1712,其可连接到多个区域 1720。二层桥接网络也可包括多个DBB 1722,其可以是核心区域1710和区域1720的一部分, 因此可将核心区域1710和区域1720互联。每个区域1720也可包括多个中间交换机1724,其 连接到相应DBB 1722;以及多个终端站1726,例如服务器/VM,其连接到相应中间交换机 1724。互联网络区域1700的组件可如图17所示般布置。
[0147] 图18所示为互联网络区域1800的另一项实施例,其中所述互联网络区域1800的配 置可类似于互联网络区域1700。互联网络区域1800可包括核心区域1810中的多个核心网桥 1812和多个DBB 1822(例如,ToR交换机)或区域边界交换机。互联网络区域1800也可包括多 个区域1820中的多个中间交换机1824和多个终端站1826,例如服务器/VM。区域1820也可包 括DBB 1822,其将区域1820连接到核心区域1810。互联网络区域1800的组件可如图18所示 般布置。可在互联网络区域1800中建立VLAN,如图18中的粗实线所示。VLAN可与VID关联,且 可在核心区域1810中的一个核心网桥1812、区域1820中的DBB 1822子集、与区域1820中的 中间交换机1824和服务器/VM 1826子集之间建立。
[0148] 区域1820中的DBB 1822可知道并保存区域1820中每个终端站1826的〈MAC, VID> 对。此地址信息可由终端站1826经由边缘虚拟桥接(EVB)虚拟站接口(VSI)发现和配置协议 (VDP)传达给相应区域1820中的相应DBB 1822ABB 1822也可向其他DBB 1822注册此信息, 例如经由MMRP。或者,所述地址信息可由终端站1826通过使用无偿ARP消息或通过从匪S发 送配置消息而传达给相应的DBB 1822。
[0149] 在一项实施例中,可实施可扩展地址解析机制,以支持互联网络区域1800中包括 相对大量主机的VLAN。具体来说,可将一个区域1820中的DBB 1822的MAC地址和VLAN的VID 用作对其他区域1820对所述区域的主机地址的ARP请求的响应。在一些情况下,DS可用于在 DS无法处理各个终端站1826或主机的相对大量消息时,获得区域1820中终端站1826的汇总 地址信息。在此类情况下,区域1820中的DBB 1822可终止所述区域的主机的所有无偿ARP消 息,或者侦听从所在区域1920发送的所有无偿ARP消息,并作为替代而发出无偿组通知,例 如,以汇总DS的主机地址信息。DBB可发送自己的无偿ARP通知,以将所在区域1820中的所有 主机IP地址通报给其他区域1820。
[0150] 此外,区域1820中的DBB 1822可用作ARP代理,方法是例如经由核心区域1810中的 核心网桥1812将自己的MAC地址发送到其他区域1820。核心网桥1812可仅知道区域1820中 的DBB 1822的MAC地址,但不知道中间交换机1824和终端站1826或主机的MAC地址,从而使 得此方案更具可扩展性。例如,当第一区域1820中的第一终端站1826发送对第二区域1820 中的第二终端站1826的地址的ARP请求时,可响应于第一终端站1826,返回第二区域1820的 DBB 1822 的 MAC 地址。
[0151] 图19所示为可用于二层桥接网络,例如互联网络区域1800中的ARP代理方案1900 的一项实施例。二层桥接网络可包括核心区域1910、连接到核心区域1910的多个DBB 1922 或区域边界交换机,以及连接到所在区域中的相应DBB 1922的多个终端站1926 (例如VM)。二 层桥接网络也可包括DS 1940,其可例如经由核心区域1910连接到DBB 1922ABB 1922和终 端站1926可属于建立于二层桥接网络中并与VID关联的VLAN。二层桥接网络的组件可如图 19所示般布置。
[0152] 基于ARP代理方案1900,第一DBB 1922(DBB X)可拦截来自所在本地区域中的第一 终端站1926的ARP请求。ARP请求可针对另一区域中的第二终端站1926的MAC地址。ARP请求 可包括第二终端站1926的IP DA( 10.1.0.2),以及第一终端站1926的IP源地址(SA) (10.1.0.1)和MAC SA(A)。第一终端站1926可将其他终端站1922的IP地址保存在VM ARP表 1960中。DBB X可发送DS查询,以从DS 1940获得第二终端站1926的MAC地址。DS查询可包括 第二终端站1926的IP地址(10.1.0.2),以及第一终端站1926的IP SA(10.1.0.1)和MAC SA (AhDS 1940可将IP地址、MAC地址和关于关联DBB1922或终端站1926(主机)的位置的信息 保存在DS地址表1950中。
[0153] 随后,DS 1940可向DBB X返回DS响应,所述响应中包括第二终端站1926的IP地址 (10.1.0.2)和与另一区域中的第二终端站1926关联的第二0881926(088¥)的獻(:地址(¥), 如DS地址表1950所示。依次,DBB X可向第一终端站1926发送ARP响应,所述响应中包括第一 终端站 1926的IP DA(lO.l.O.l)和MAC DA(A)、第二终端站 1926的IP SA(10.1.0.2),以及 DBB Y的MAC地址(Y)。随后,第一终端站1926可将DBB Y的MAC地址(Y)与VM ARP表1960中第 二终端站1926的IP地址(10.1.0.2)关联。第一终端站1926可将DBB Y的MAC地址用作DA,以 转发预期发送到第二终端站1926的帧。
[0154] 在ARP代理方案1900中,DBB 1922可能只需要保存区域中的其他DBB 1922的MAC地 址,而无需保存区域中的主机的MAC和IP地址。由于如上所述,发送到DBB 1922的数据帧中 的DA仅对应于DBB MAC地址,因此DBB 1922可能无需知道其他地址,从而使得此方案更具可 扩展性。
[0155] 图20所示为可用于二层桥接网络,例如互联网络区域1800中的数据帧转发方案 2000的一项实施例。二层桥接网络可包括核心区域2010、多个区域2020中连接到核心区域 2010的多个DBB 2022或区域边界交换机,以及在所在区域2020中连接到相应DBB 2022的多 个中间交换机2024和终端站2026(例如VM)。区域2020中的某些DBB 2022、中间交换机2024 和终端站2026可属于建立于二层桥接网络中并与VID关联的VLAN。二层桥接网络的组件可 如图20所示般布置。
[0156] 数据帧转发方案2000可基于DBB 2022上的MAT,其可能与IP NAT类似。MAT可包括 使用内部IP DA和ARP表来查找相应MAC DA。例如,第一DBB 2022(DBB1)可从第一区域(区域 1)中的第一终端站2026(主机A)接收帧2040,例如以太网帧。帧2040可预期发送到第二区域 (区域2)中的第二终端站2026(主机B)。帧2040可包括区域2中的第二DBB(DBB2)的MAC-DA 2042、主机 A 的 MAC-SA 2044(A 的 MAC)、主机 B 的 IP-DA 2046(B)、主机 A 的 IP-SA 2048(A),以 及净荷。DBB1可经由核心区域2010将帧2040转发到区域2。区域2中的第二DBB 2022(DBB2) 可接收帧2040,并将帧2040中DBB2的MAC-DA 2042(DBB2)替换为第二帧2080中主机B的MAC-DA 2082(B的MACKDBB2可基于主机B的IP-DA 2046(B)和相应ARP表中的相应条目,确定B的 MAC。第二帧也可包括主机A的MAC-SA 2084(A的MAC)、主机B的IP-DA 2086(B)、主机A的IP-SA 2088(A),及净荷。DBB2可将第二帧2080发送到区域2中的主机B。由于区域2接收的帧中 的SA未改变,因此数据帧转发方案2000可能不会影响网络中所实施的DHCP。
[0157] 在上述网络中,核心区域的核心网桥或交换机,例如核心区域1810中的核心网桥 1812可能只需保存区域中的DBB的MAC地址,而无需保存区域中的主机的MAC和IP地址。由于 如上所述,经由核心区域转发的数据帧中的DA可能仅对应于DBB MAC地址,因此核心网桥可 能无需知道其他地址。DBB的MAC地址可保存在核心网桥的转发数据库(FDB)中。核心网桥或 交换机可经由基于链路状态的协议来获知所有DBB的拓扑。例如,DBB可例如使用IEEE 802. laq、多链路透明互联(TRILL)或基于IP的核心来发出链路状态公告(LSA)。如果核心网 桥之间使用了生成树协议(STP ),则将停用核心网桥中的MAC地址获知。在这种情况下,DBB 可将自己注册到核心网桥。
[0158] 在一项实施例中,如果不使用DS,则DBB可作为ARP代理,如上所述。终端站可发送 无偿ARP消息,以通报自己的MAC地址。DBB也可发送无偿组通知,以针对所在本地区域内所 有主机通报自己的MAC地址和IP地址。可使用无偿组通知来将MAC和IP地址通报给其他区域 中其他DBB。所通报的MAC地址和IP地址可用于其他DBB中,以根据主机IP DA来转换所接收 的帧中的DBB MAC DA ABB可发送无偿组ARP,以针对与所述DBB关联的每个VLAN通报主机IP 地址的子集。无偿组ARP可包括从主机IP地址子集到DBB的多个VLAN的映射。
[0159] 表5所示为从主机IP地址到互联区域中的相应DBB MAC地址的映射实例。所述映射 可由DBB在无偿组ARP中发送,以针对与所述DBB关联的每个VLAN通报自己的主机IP地址。 DBB MAC地址(DBB-MAC)可映射到多个相应主机IP地址。每个DBB MAC地址可映射到多个 VLAN(例如,VID-l、VID-2、VID-n等)中的多个主机IP地址,所述VLAN可位于相同或不同区域 中。
[0160] 表5:由无偿组ARP携载的信息
[0161]
[0162] 在一些情形中,互联区域中的多个主机可具有相同的IP地址,且可与相同VLAN(或 VID)关联。例如,云计算服务的虚拟子网可允许客户指定自己的专用IP地址。云计算服务所 提供的虚拟子网的数量可明显超出所允许的VLAN的总数(例如,约4095个VLAN)。因此,多个 虚拟主机(例如VM或虚拟终端站)能够具有相同的IP地址,但所具有的MAC地址不同。在其他 情况下,多个终端站可使用相同的IP地址但不同的MAC地址来服务于相同应用程序。
[0163] 在一项实施例中,DBB可指配有多个MAC地址,其在本文中称为代表MAC地址,例如, 以区分使用相同(重复)IP地址的不同主机。DBB也可与多个VLAN关联。此外,DBB上的每个 VLAN可与多个子网或虚拟子网关联,例如,所述子网包括VLAN内的不同主机子集。虚拟子网 可与多个子网标识符(ID)关联。如果主机的重复IP地址数明显小于VLAN的虚拟子网数,则 DBB的代表MAC地址数也可能明显较少。
[0164] 图21所示为可用于二层桥接网络中的互联网络区域的ARP代理方案2100的一项实 施例。二层桥接网络可包括核心区域2110、连接到核心区域2110的多个DBB 2122或区域边 界交换机,以及在所在区域中连接到相应DBB 2122的多个终端站2126(例如VM)。二层桥接 网络也可包括DS 2140,其可例如经由核心区域2110连接到DBB 2122ABB 2122和终端站 2126可属于建立于二层桥接网络中的VLAN。二层桥接网络的组件可如图21所示般布置。
[0165] 基于ARP代理方案2100,第一DBB 2122(DBB X)可拦截来自所在本地区域中的第一 终端站2226的ARP请求。ARP请求可针对另一区域中的第二终端站2126的MAC地址。ARP请求 可包括第二终端站2126的IP DA(10.1.0.2),以及第一终端站2126的IP SA(10.1.0.1)和 MAC SA(A)。第一终端站2126可将其他终端站2122的IP地址保存在VM ARP表2160中。随后, DBB X可转发DS查询,以从DS 2140获得第二终端站2126的MAC地址。DS查询可包括第二终端 站2126的IP地址(10 • 1 • 0 • 2),以及第一终端站2126的IP SA( 10 • 1 • 0 • 1)和MAC SA(A) dDS 2140可将IP地址、MAC地址、VLAN ID或VID、客户(虚拟子网)ID和关于关联DBB 2122或终端 站2126的位置的信息保存在DS地址表2150中。
[0166] DS 2140可使用DS查询中的MAC SA(A)来确定哪个客户(虚拟子网)ID属于请求的 VM(第一终端站2126)。例如,根据DS地址表2150,客户ID"Joe"对应于MAC SA(A)。随后,DS 2140可向DBB X返回DS响应,所述响应中包括第二终端站2126的IP地址(10.1.0.2)和与第 一终端站2126的客户ID(Joe)关联的第二DBB 2126(DBB Y)的代表MAC地址(Y1)。依次,DBB X可向第一终端站2126发送ARP响应,所述响应中包括第一终端站2126的IP DA(10.1.0.1) 和MAC DA(A)、第二终端站2126的IP SA(10.1.0.2),以及DBB Y的代表MAC地址(Y1)。随后, 第一终端站2126可将DBB Y的代表MAC地址(Y1)与VM ARP表2160中第二终端站2126的IP地 址(10.1.0.2)关联。第一终端站2126可将DBB Y的代表MAC地址用作DA,以转发预期发送到 第二终端站2126的帧。
[0167] 另一区域中的第三终端站2126也可向第三终端站区域中的相应本地DBB 2122 (DBB Z)发送针对第二终端站2126的ARP请求。随后,DBB Z可与DS 2140通信,如上所述,并 相应地向第三终端站2 126返回ARP响应,所述响应中包括第三终端站2126的IP DA (10.1.0.3)和MAC DA、第二终端站2126的IP SA( 10.1.0.2),以及与DS地址表2150中第三终 端站2126的客户ID "Bob"关联的DBB Y的代表MAC地址(Y2)。随后,第三终端站2126可将DBB Y的代表MAC地址(Y2)与第三终端站2126的VM ARP表2170中第二终端站2126的IP地址 (10.1.0.2)关联。第三终端站2126可将DBB Y的此代表MAC地址用作DA,以转发预期发送到 第二终端站2126的帧。
[0168] 表6所示为从重复主机IP地址到互联区域中的VLAN中的相应代表DBB MAC地址的 映射实例。重复主机地址可由多个主机用于一个目标应用程序或主机。代表MAC DBB地址可 指配给使用相同应用程序(或与相同主机通信)的不同主机。对于每个VLAN,主机IP地址可 映射到多个主机的多个代表DBB MAC地址(MAC-12、MAC-13、MAC-14等),例如,所述主机与 VLAN的不同子网关联。代表DBB MAC地址也可与基本(初始)DBB MAC地址(MAC-11)关联。相 同IP的基本和代表DBB MAC地址可基于VLAN的不同而不同。当VLAN不具有代表地址时,可将 DBB基本地址用于所述VLAN。如果一个VLAN内具有约10个重复IP地址,则可使用表6中的约 10列(10个MAC地址)。
[0169] 表6:重复IP地址的MAT
[0171] 表7所示为从主机IP地址到多个代表MAC地址的映射实例,例如,所述多个代表MAC 地址用于多个子网。所述映射可由DBB在无偿组ARP中发送,以针对与所述DBB关联的每个 VLAN通报自己的主机IP地址。每个代表MAC地址(DBB-MAC1、DBB-MAC2等)可映射到子网中的 多个相应主机IP地址。每个代表DBB MAC地址可与主机IP地址的客户或虚拟子网ID关联。每 个代表DBB MAC地址的主机IP地址也可对应于多个VLAN(VID-l、VID-2、VID-n等)。每个子网 中的主机IP地址可以不同。重复主机IP地址可与相同VLAN关联,但与不同客户ID关联,可映 射到不同代表DBB MAC地址。
[0172]表7:由无偿组ARP携载的信息
[0173]
[0174] 图22所示为可用于二层桥接网络中的互联网络区域的故障接管方案2200的一项 实施例。故障接管方案2100可在互联区域中的任意DBB(例如ToR交换机)发生故障时使用。 二层桥接网络可包括核心区域1810中的多个核心网桥2212和多个DBB 2222或区域边界交 换机,以及多个区域2220。区域2220可包括DBB 2222、多个中间交换机2224,以及多个终端 站2226,例如服务器/VM。二层桥接网络也可包括DS(未图示),其可例如经由核心区域2210 连接到DBB 2222。某些DBB 2222、中间交换机2224和终端站2226可属于建立于二层桥接网 络中的VLAN。二层桥接网络的组件可如图22所示般布置。
[0175] 当VLAN中的主用DBB 2222发生故障时,VLAN可使用一个或多个备用DBB 2222来建 立。备用DBB 2222可与属于所述VLAN的至少一些中间交换机2224建立活动连接,且可能与 新核心网桥2212建立活动连接。这如图22中的虚线所示。因此,到VLAN的终端站2226的路径 可能不会丢失,从而允许终端站2226经由VLAN通信。当VLAN中的DBB 2222发生故障时,可将 所述故障通知给DS,例如,通过向DS发送显式消息或使用保活方法。因此,DBB可将DS地址表 的条目中VLAN中故障DBB和可能的其他初始DBB 2222的地址信息替换为新DBB 2222的信 息,所述新DBB 2222是备用的且随后用于替换故障和其他初始DBB 2222。所替换的故障和 初始DBB如图22中的圆圈所示。在检测到故障DBB 2222时,替换DBB可向DS或核心区域2010 发送LSA,以表明所述替换DBB 2222可获得故障DBB的地址,包括所有代表地址。
[0176] 基于以太网的大型二层网络可用在DC中,以改进网络捷变以便更好地支持服务器 虚拟化以及在相对大的服务器池间资源的动态分配。对于此类潜在具有大量虚拟主机的大 型二层网络来说,具有STP的传统以太网因以下限制而可能不再是适合的:(1)因生成树造 成的低链路带宽利用率,(2)因平面MAC地址空间造成的MAC转发表可扩展性问题,以及(3) 由ARP和/或其他广播业务,例如DHCP,造成的广播风暴。提出了几种解决方案来构建大型二 层网络,包含:[1]艾伯特•格林伯格(A.Greenberg)等人在PRESTO 08中公开的"迈向下一 代数据中心结构:可扩展性和商品化(Towards a Next Generation Data Center Architecture : Scalability and Commoditization)" 中提出的虚拟二层(VL2),[2]雷迪 尔•泊尔曼(R.Perlman)等人在IETF draft-ietf-trill-rb;ridge-p;rotocol-12.txt中公 开的"路由网桥:基本协议规范(Rbridges :Base Protocol Specif ication)"中提出的多链 路透明互联(TRILL),[3]2010年1月6日在IEEE P802.1aq/D2.5中公开的短路径桥接(Sro), [4]拉狄卡•迈索尔(R.Myscore)等人在SIGC0MM'09中公开的"PortLand:可扩展的容错二 层数据中心网络构造(P〇rtLand:A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric)"中提出的PortLand,以及[5]马尔科姆•斯科特(M. Scott)等人在ITC'21 DC-CAVES Workshop,2009中公开的"用MOOSE解决以太网的可扩展性(Addressing the Scalability of Ethernet with MOOSE)"中提出的多级发端组织可扩展以太网(MOOSE), 所有这些内容以引用方式并入本文中。
[0177]上述解决方案可能具有以下共同点:(1)使用最短路径转发替换STP以及(2)使网 络中的核心交换机独立于主机MAC地址。网络中任两个交换机之间的最短路径可以用分布 式方式(例如,基于经由路由协议获得的网络拓扑)来计算,例如在上述参考文献[1]和[2] 中,或者可以用集中方式来计算,例如在参考文献[4]中。在大型二层网络中,主机IP地址可 能会丢失其位置信息,而主机所连接到的边缘交换机可变成所述主机的位置。因此,主机位 置信息可由边缘交换机ID指定,边缘交换机ID通常可采用IP地址或MAC地址的形式。边缘交 换机也可称为DC中的架顶式(TOR)交换机或接入交换机。现有的大型二层解决方案在帧从 入边缘交换机转发到出边缘交换机过程中主机位置信息的使用方式上可能不同。
[0178]将主机位置信息封装在初始以太网帧顶部上的做法在上述参考文献[1]、[2]和 [3]中用到。所述封装可以由本地主机执行,如在参考文献[1]中,或者可以由边缘交换机执 行,如在参考文献[2]和[3]中。参考文献[1]中的VL2实质上可扩展,但需要改变主机操作系 统(0SKTRILU2]和SPB[3]解决方案可能不需要改变主机0S但可能具有潜在的MAC转发表 可扩展性问题,因为每个边缘交换机都可能需要至少知道本地MAC地址和与本地MAC地址通 信过程中所涉及到的远程MAC地址,即使启用了选择性MAC获知仍如此。对于PortLand[4]和 MOOSE [ 5 ]解决方案,边缘交换机可将本地主机MAC地址映射到伪MAC地址,所述伪MAC地址可 能具有经编码的主机位置信息。在这两种解决方案中,主机ARP缓存表可存储伪MAC地址而 非实际MAC地址,且伪MAC地址可用以在网络上转发帧,这类似于TRILL[2]和SPB[3]解决方 案。PortLand [ 4 ]和MOOSE [ 5 ]解决方案可能不需要对主机0S作出任何改变。与TRILL和SPB不 同,PortLand和MOOSE实质上可扩展,因为边缘交换机中转发表大小可与本地MAC地址的数 量和网络中交换机的数量成比例。此外,在参考文献[1]、[4]和[5]中可能需要逻辑上集中 的DC。但大体上,DS也可用在其他解决方案中以显著减少或消除ARP和DHCP广播业务。
[0179] 在下文描述了新的大型二层解决方案,在所述解决方案中,使用MAC地址代表方 案。因此,每个交换机可被指配一个或多个MAC地址,所述MAC地址可用作连接到所述交换机 的主机的MAC地址的代表。代表MAC地址可指明主机的位置,而且可由网络用以将帧从入交 换机转发到出交换机,例如边缘交换机。与PortLand[4]和MOOSE [ 5 ]中描述的MAC映射方案 相比,新方案中的主机ARP缓存表存储代表MAC地址而非伪MAC地址。下文所描述的所提议解 决方案实质上可扩展且具有优于[4]和[5]中的解决方案的一些优势,例如:(1)简化边缘交 换机处的MAC地址管理;(2)简化对边缘交换机故障的处理;(3)以及如果只使用一个交换机 MAC地址,则不需要为了在入边缘交换机处进行源MAC地址重写而进行任何表查找。此外,参 考文献[4]和[5 ]中描述的MAC映射方案可对应于此处提议的MAC代表方案的特殊情况。
[0180] 所提议的MAC地址代表方案可支持实质上可扩展的具有重复主机IP地址和重复 VLAN ID的以太网络。具体来说,每个交换机可被指配一组MAC地址,所述一组MAC地址可用 作连接到所述交换机的主机的MAC地址的代表和位置信息。每个交换机一组MAC地址可允许 解析连接到同一交换机的主机的重复IP地址。所述方案也可使用ARP代理和位置服务器来 注册VM以及散布VM位置信息。下文也描述了用于MAC地址代表方案的链路和节点故障恢复 方法。
[0181] 在一项实施例中,所考虑的大型二层网络可包括多个核心交换机、连接到核心交 换机的边缘交换机,以及连接到边缘交换机的服务器(或主机)。边缘交换机可对应于DC中 的TOR交换机或接入交换机。凭借服务器虚拟化,物理服务器可包括一个物理服务器内的一 个或多个虚拟服务器(例如,虚拟主机或VM)。一个物理服务器可包括连接到一个或多个边 缘交换机的多个VM,同时也可包括多个虚拟交换机,例如,如[6] 20 10年4月23日 IEEE802 . IQbg工作组的第0版修订版0.1"边缘虚拟网桥建议(Edge Virtual Bridge Proposal)"中所描述,所述参考文献的内容以引用方式并入本文中。在刀片服务器的情况 下,一个刀片交换机可位于一个物理服务器与多个边缘交换机之间。大体上,一个或多个交 换机可位于VM与边缘交换机之间。通常,STP在虚拟交换机和刀片交换机上并不能启用,且 每个VM可仅经由一个边缘交换机接入网络。因此,在不丢失一般性的情况下,VM可在任何给 定时间在逻辑上连接到一个边缘交换机,以便经由在虚拟以太网端口聚合(VEPA)模式下配 置的虚拟交换机与位于不同物理服务器中的其他VM进行通信和/或与位于同一物理服务器 中的VM进行通信,如上述参考文献[6 ]中所描述。
[0182] 每个VM也可包括具有MAC地址的一个虚拟网络接口卡(vNIC),所述MAC地址在所考 虑的网络范围内可能是唯一的。每个VM可被指配一个IP地址,所述IP地址在网络内可能是 也可能不是唯一的。为了处理具有非唯一或重复IP地址的VM的情况,网络中的每个边缘交 换机可被指配一组MAC地址。例如,交换机X可被指配一组n个MAC地址{x〇,xi,…,x n-i},其中n 是整数。所述n个交换机MAC地址可基于地址前缀以紧凑方式来指配。例如,MAC地址开头约4 个八位字节可用作交换机MAC地址前缀,且最后约2个八位字节(称为MAC地址后缀)可用以 表示所述一组内的每个个别交换机MAC地址。例如,交换机X的MAC地址前缀可能是02-11-11-11。当11 = 8时,叉。=02-11-11-11-00-00、叉1 = 02-11-11-11-00-01、……、以及 X7 = 02_ll_ 11-11-00-07可被指配给交换机X。在此情形中,x〇称为交换机X的基本MAC地址,且xgljxH称 为交换机X的扩展MAC地址。
[0183] 此外,交换机Y可以是与交换机X形成保护/冗余对的第二交换机,且可被指配一组 m个MAC地址{yo,yi,…,},其前缀是02-22-22-22(m是整数)。交换机Y的MAC地址的后缀可 不同于交换机X的MAC地址的后缀。例如,如果{ao,ai,…,a n-1}和{bo,bi,…,bm-1}分别是交换 机X和Y的一组地址后缀,贝lj{a(),ai,…,an-i} fl {bo,bi,…,bm-1} = 0。在上述实例中,当m= 16 时,yo = 02-22-22-22-l〇-〇0、yi = 02-22-22-22-10_01、……、以及yi5 = 02-22-22-22_l〇-〇F 可被指配给交换机Y。大体上,交换机MAC地址前缀可不必是固定的,只要前缀可容纳足够交 换机自身和其保护交换机所用的MAC地址便可。
[0184] 对于交换机X的给定MAC地址,例如xk,其中k = 0,l,…,n-1,网络中的每一交换机 都能够将具有xk的目的MAC(DMAC)的以太网帧沿着最短路径转发给交换机X。交换机的MAC 地址信息可使用例如IS-IS等链路状态路由协议来散布。可定义新的IS-IS类型长度值 (TLV),其指明交换机MAC地址前缀。这个新的TLV可经由IS-IS链路状态协议数据单元(LSP) 随其他TLV-起通告。或者,可为整个网络使用集中式路径计算引擎,其可实施在一个物理 服务器或一组WM上。所述计算引擎可具有网络拓扑信息以及所有交换机的MAC地址。所述计 算引擎可计算交换机对之间的最短路径,且可将所得MAC转发表下载到各个交换机。在上述 方法中的任一种中,网络中的帧转发可基于帧的DMAC。此外,具有未知DMAC的帧的泛洪在网 络中可能停用。数据路径MAC获知在网络中也可能停用。因而,具有未知DMAC的帧可完全被 丢弃。
[0185] 在一些情形中,每个交换机可只具有一个MAC地址(即,不允许有重复IP地址)。因 此,MAC地址代表方案可包括使用边缘交换机的MAC地址作为连接到所述边缘交换机的VM的 MAC地址的代表和位置信息。具体来说,VM的ARP缓存表的每个条目可存储(连接到边缘交换 机的)远程VM的交换机(边缘交换机)MAC地址而非远程VM的实际MAC地址。因此,当VM将以太 网帧发送到远程VM时,所述帧的DMAC可包括远程VM所连接到的边缘交换机的MAC地址。随 后,此DMAC可由网络用以转发帧。因此,边缘交换机的转发表大小可能与本地MAC地址的数 量和网络中交换机的数量成比例,这减少了所存储/交换的信息量且使得方案实质上可扩 展。MAC地址代表方案可在边缘交换机和位置服务器(LS)处使用ARP代理。下文针对重复IP 地址情况描述了关于ARP处理和LS的更多细节。下文也描述了使用MAC地址代表方案的数据 帧转发方案。
[0186] 在一项实施例中,LS可提供DS,所述DS可在逻辑上集中的服务器(例如,一组物理 服务器或一组VM)上实施。对于每个VM,LS中所存储的信息可包括以下各项:客户ID、IP地 址、MAC地址、VLAN ID、交换机MAC地址(即,VM位置信息),以及任选地包括其他信息。客户ID 可用在重复IP地址情形中,在重复IP地址情形中,同一IP地址可被来自不同客户的多个VM 使用。客户ID可以是n个八位字节的无符号数。客户ID在被指配给VM之前可能先与MAC地址 关联。
[0187] 图23所示为VM注册方案2300的一项实施例,VM注册方案2300可用在MAC地址代表 方案中。在VM注册方案2300中,网络中的每个边缘交换机2360可充当连接到边缘交换机 2360的VM的ARP代理。当边缘交换机2360从VM接收到ARP请求帧时,所述帧可被转发到边缘 交换机2360中的ARP代理模块23664RP代理模块2366可进行检查,以查明在边缘交换机 2360的ARP表2368中是否找到帧中的〈源MAC(SMAC),源IP>地址对。如果在ARP表2368中找到 了所述地址对的匹配,则ARP代理模块2366可对帧执行常规的ARP处理。否则,ARP代理模块 2366可先注册VM,随后再执行常规ARP处理VM注册过程可实施如下。VM注册(VMR)或位置注 册(LR)模块2364可将交换机MAC地址指配给VM,随后将注册消息发送到LS 2340,LS 2340是 连接到网络中的边缘交换机23601R模块2364可指配来自边缘交换机2362的交换机MAC地 址DB 2362的交换机MAC地址。注册消息可包括以下信息:IP地址、MAC地址、VLAN ID,以及交 换机MAC地址。
[0188] 在接收到注册消息之后,LS 2340即可使用消息中的MAC地址来查找耦合到LS 2340的客户MAC数据库(DB)2342中的相应客户ID。随后,LS 2340可对耦合到LS 2340的LS数 据库(LSDB)2344进行更新,且可将确认消息发送回边缘交换机2360。客户MAC DB 2342可由 LS 2340以外的另一实体来管理,所述另一实体可位于网络中的其他位置。
[0189] 在从LS 2340接收到注册确认消息之后,VMR或LR模块2364可向ARP代理模块2366 请求更新ARP表2368。!^模块2364也可向边缘交换机2360的管理器2370通知,要将新条 目添加到相应FDB 2372中且在数据路径上更新FDB 2372JRP表2368的内容可包括LSDB 2344内容的子集。下文进一步描述边缘交换机2360中每个2372条目中所存储的信息。 网络对接FDB也可使用链路状态路由协议来填充,其中每个条目可包括交换机MAC地址前缀 以及获得所述前缀的一个或多个传出端口 ID。
[0190] 指配交换机MAC地址给VM的程序可实施如下。VMR或LR模块2362可尝试将交换机基 本MAC地址(例如,上述实例中在交换机X的情况下的xo)指配给VM。如果具有相同IP地址的 另一个VM已经被指配了基本MAC地址,则VMR或LR模块2362可尝试下一个交换机MAC地址(例 如,扩展交换机MAC地址X1)等等,直到找到一个交换机MAC地址为止。如果连接到边缘交换 机2360的VM不具有重复IP地址,则只可使用交换机基本MAC地址。否则,如下文所述,可以使 用一个以上的交换机MAC地址。
[0191] 在一项实施例中,边缘交换机2360也可充当连接到边缘交换机2360的VM的DHCP代 理。在DHCP过程成功完成之后,可触发VM注册。VM注册也可在接收到具有未知SMAC的帧之后 被触发。LS 2340也可拒绝VM注册,例如未能通过安全检查。在这种情况下,边缘交换机2360 可选择丢弃从所述〈MAC地址,IP地址〉对接收到的帧。
[0192] 表8所示为LSDB 2344的实例。如表所示,每个LSDB 2344条目可包括客户ID、IP地 址、MAC地址、VLAN ID,以及交换机MAC地址(例如,位置信息)。如果多个LSDB 2344条目包括 重复(相同的)IP地址,则LSDB 2344条目可包括不同的客户ID。
[0193] 表8:LSDB
[0196] 表9所示为ARP表2368的实例。如表所示,每个ARP表2368条目可包括主机IP地址、 主机MAC地址、客户ID、VLAN ID,以及交换机MAC地址(例如,位置信息)。如果多个ARP表2368 条目包括重复(相同的)IP地址,则ARP表2368条目可包括不同的客户ID。
[0197] 表9:ARP表
[0199]表10所示为具有交换机MAC地址前缀02-11-11-11的边缘交换机所连接到的本地 主机(例如,VM)的roB 2372的实例。如表所示,每个roB 2372条目可包括交换机MAC地址后 缀(例如,位置信息)、IP地址、MAC地址、VLAN ID,以及输出端口。如果多个H)B 2372条目包 括重复(相同的)IP地址,则FDB 2372条目可包括不同的交换机MAC后缀。表11所示为连接到 其他边缘交换机的远程主机(或VM)的FDB 2372的实例。
[0200] 表1〇:用于本地主机的roB
[0201]
[0202] 表11:用于远程主机的H)B
[0203]交前缀 VLAN ID 输出端口 「02041 02-33-33-33-00-00/32 100 5 J 02-44-44-44-00-00/32 100 10
[0205]图24所示为LS注册消息净荷2400和LS确认消息净荷2420的实施例,所述两种净荷 可用在VM注册方案2300中。LS注册消息净荷2400和LS确认消息净荷2420可在具有特定UDP 端口号的用户数据报协议(UDP)包中发送。LS注册消息净荷2400可包括类型2402、长度 2404、序列号2406、主机IP地址2408、主机MAC地址2410、VLAN ID 2412,以及交换机MAC地址 24141S确认消息净荷2420可包括类型2422、长度2424、序列号2426、主机IP地址2428、主机 MAC地址2430、VLAN ID 2432、交换机MAC地址2434,以及客户 ID 2436。
[0206] 类型2402可设置为约零以表示LS注册消息。序列号2406和序列号2426可用以将LS 确认消息与LS注册消息进行匹配。LS确认消息净荷2420可包括LS注册消息净荷2400中相同 的注册信息外加客户ID 2436。但是,与类型2402不同,类型2422可设置为约一以表示LS确 认消息。此外,LS注册消息可包括对应于交换机(边缘交换机)IP地址的源IP地址以及对应 于LS IP地址的目的IP地址。
[0207] 图25所示为ARP处理方案2500的一项实施例,ARP处理方案2500可用在MAC地址代 表方案中。在ARP处理方案2500中,在从第一VM(VM1)2526接收到ARP请求之后,边缘交换机 (边缘交换机X)2522中的ARP代理(ARP代理模块)即可使用发送者的IP地址和MAC地址(在 ARP请求中)来查找(边缘交换机2522的)ARP表中的客户ID。随后,ARP代理可使用目标IP地 址(在ARP请求中)和客户ID来查找另一个表中的目标MAC地址,所述另一个表可包括与ARP 表相同的信息。如果找到目标MAC地址,则ARP代理可将ARP回复发送回VM1。如果目标MAC地 址不在ARP表中,则ARP代理可将LS或DS查询消息发送到LS 2540,LS 2540可包括DS。
[0208]在接收到LS或DS查询消息之后,LS 2540可使用DS查询消息的净荷中的目标IP地 址和客户ID来获得LS 2540的LSDB中的目标MAC地址。如果找到目标MAC地址,则LS 2540可 将LS或DS响应消息发送回边缘交换机2522。如果找不到目标MAC地址,则LS 2540可将广播 消息发送到网络中的所有(边缘)交换机,以查找目标MAC地址。广播消息可以采用常规ARP 请求格式或采用其他类型的包格式。接收广播消息的每个边缘交换机2522可在其服务器对 接端口上发出常规ARP请求。接收ARP回复的边缘交换机2522可将相应VM注册到LS 2540。在 接收到LS或DS响应消息之后,边缘交换机X的ARP代理模块可将ARP回复发送到ARP请求的发 送者,例如VM1。
[0209] 在ARP回复中,目标MAC地址可能不是目标VM的实际MAC地址(例如,B)而是目标VM 的位置(例如,z〇),所述位置可对应于目标VM所连接到的(边缘)交换机的MAC地址中的一 者。因此,边缘交换机X的主机ARP表可存储交换机MAC地址而非目标MAC地址。此外,为了减 少对LS 2540的不必要查询,每个边缘交换机2522可将目标VM信息缓存在其ARP表中。边缘 交换机2522可负责通过定期发出ARP请求来刷新其ARP表中关于本地VM的条目。远程VM的 ARP表条目可在预定时间间隔之后到期。在ARP处理方案2500中,发送者和目标VM可能不在 同一VLAN中。如果发送者和目标VM需要在同一VLAN中,则在ARP处理期间可能要检查VLAN ID。如果两个VM是在不同的VLAN中,则可能没有任何ARP回复发送到ARP请求的发送者。 [0 210]在一项实施例中,在将ARP回复发送到VM1之后,边缘交换机X也可将ARP回复发送 到另一个VM 2526(VM2),从而允许VM2获知VM1的MAC地址。具体来说,边缘交换机X可将单播 ARP回复发送到DMAC = zO的第二边缘交换机2522(边缘交换机Z),第二边缘交换机2522连接 到VM2ARP回复可经由网络核心2510从边缘交换机X转发到边缘交换机Z。随后,边缘交换机 Z可使用ARP回复净荷中的目标硬件地址(THA)和目标协议地址(TPA)将ARP回复转发到VM2。
[0211] 图26所示为LS查询消息净荷2600和LS响应消息净荷2620的实施例,所述两种净荷 可用在ARP处理方案2500中。与VM注册方案2300中的LS注册和确认消息类似,ARP处理方案 2500中的LS查询和响应消息可作为UDP包来发送。LS查询消息净荷2600可包括类型2602、长 度2604、序列号2606、ARP净荷2608,以及发送者客户ID 26HLLS响应消息净荷2620可包括 类型2622、长度2624、序列号2626、ARP净荷2628、实际发送者硬件地址(SHA)2630、VLAN ID 2632,以及目标客户ID 2634。
[0212] 类型2602可设置为约二以表示LS查询消息。序列号2606和序列号2426可用以将LS 查询消息与LS响应消息进行匹配。类型2622可设置为约三以表示LS回复消息。ARP净荷2608 和2628可包括与常规或标准ARP净荷相同的信息。例如,在ARP处理方案2500中,ARP净荷 2608 可包括 SHA = A、发送者协议地址(SPA) = 10 • 1 • 0 • 1、THA = 0、TPA = 10 • 1 • 0 • 2JRP 净荷 2628可包括5骱=20、5?4=10.1.0.2、1'骱=4,以及了?八=10.1.0.1。1^响应净荷2620可包括 实际SHA2630 = B以及相应目标客户ID。
[0213] 在VM注册方案2300和ARP处理方案2500中,每个VM可包括一个vNIC。但是,在一些 网络中,一个VM可具有一个IP地址但具有两个或更多个具有不同MAC地址的vNIC。这些MAC 地址通常可处于不同VLAN中和/或可属于不同的用户组。不同的用户组可属于相同客户。如 果一个用户组的VM只使用一个VLAN,则通过另外检查VLAN ID使上述ARP处理方案仍可为有 效的。如果一个用户组的VM可使用不同的VLAN,则可在客户ID之下引入组ID以进一步标识 VM,且上述ARP处理方案仍可为有效的。
[0214] 在MAC地址代表方案中,可将一组MAC地址以例如MAC地址前缀的形式指配给边缘 交换机。对于可在核心交换机中实施的网关来说,也可为了不同的目的而被指配一组MAC地 址。网关MAC地址可被指配给客户的IP子网。当接收到发往网关的帧时,可使用帧DMAC的后 缀来查找IP转发表,且在表查找过程中可使用帧的目的IP地址。如果找到了匹配,则可将包 转发。否则,可在默认的IP转发表中执行表查找。如果找到了匹配,则可将包转发。否则,可 将包丢弃。
[0215]图27所示为数据帧转发方案2700的一项实施例,数据帧转发方案2700可用在MAC 地址代表方案中。在数据帧转发方案2700中,第二VM(VM2)2726的IP地址10.1.0.2在第一VM (VM1)2726处的ARP表条目可为连接到VM2的边缘交换机2722(边缘交换机Z)的MAC地址z〇。 当VM1将帧发送到VM2时,VM1可使用DMAC z〇。连接到VM1的入边缘交换机2722(边缘交换机 X)可使用DMAC经由网络核心2710中的多个核心交换机2712将帧转发到出边缘交换机Z。所 述转发也可基于沿路的中间(边缘)交换机处的DMAC。当边缘交换机Z接收到帧时,边缘交换 机Z可使用DMAC中的交换机MAC地址后缀和目的IP地址(在帧中)来在边缘交换机Z的转发表 (例如,与2372类似)中执行查找,以获得VM2的DMAC和VLAN ID且因此将帧转发到VM2。 在此情形中,帧的SMAC可端到端保持不变(在VM1到VM2的路径上)。但是,帧VLAN ID可能会 或可能不会在边缘交换机Z中改变,例如,这取决于VM1和VM2是在不同VLAN中还是在相同 VLAN 中。
[0216] 图28所示为另一个数据帧转发方案2800的一项实施例,数据帧转发方案2800可用 在MAC地址代表方案中。在数据帧转发方案2800中,第二VM(VM2) 2826的IP地址10.1.0.2在 第一 VM(VM1)2826处的ARP表条目可为连接到VM2的边缘交换机2822(边缘交换机Z)的MAC地 址z〇。当VM1将帧发送到VM2时,VM1可使用DMAC z〇,如在数据帧转发方案2700中。所述帧可经 由连接到VM1的边缘交换机2822(边缘交换机X)、网络核心2810中的多个核心交换机2812以 及边缘交换机Z从VM1发送到VM2。但是,在数据帧转发方案2800中,入边缘交换机X可将SMAC 从MAC A改变为MAC x〇,MAC xo可用在一些可预期VM2知道SMAC xo而非真实的SMAC A的网络 情形中。在这种情况下,在入边缘交换机X处可能需要进行一次额外查找以使用帧SMAC来查 找交换机MAC地址xo或更具体来说查找xo的后缀。随后,边缘交换机X可在将帧发出之前将帧 的SMAC改变为xo。随后,SMAC在其到VM2的路径上可保持不变。如果边缘交换机X只使用一个 交换机MAC地址,则可以省去额外查找,这可能是在此情形中优于上述参考文献[4]和[5]中 的MAC地址映射方法的优势。大体上,如果VM2不关心SMAC,则通过将帧SMAC替换为出边缘交 换机Z自己的MAC地址,出边缘交换机Z可起到正常网关的作用。
[0217] 数据帧转发方案2700或数据帧转发方案2800也可用在VM1和VM2连接到相同边缘 交换机,例如边缘交换机X的情况下。在这种情况下,当交换机X从VM1接收到帧时,由于帧 DMAC是边缘交换机X的MAC地址而不是目的IP地址,因此边缘交换机X可使用DMAC中的交换 机MAC地址后缀和目的IP地址来在边缘交换机X的转发表(例如,与FDB 2372类似)中执行查 找,以获得VM2的DMAC和VLAN ID且因此将帧转发到VM2。
[0218] 在上述MAC代表方案中,主机MAC地址可能是唯一的,但主机IP地址可能不是唯一 的。在主机IP地址也可能是唯一的网络环境中,可以实质上简化上述MAC代表方案。在此类 情形中,每个边缘交换机可能只需要一个MAC地址,且在ARP处理方案中可能不需要客户ID, 因为IP地址可唯一地标识VM。因此,在出交换机处的帧转发中可能只使用目标IP地址,且交 换机MAC地址后缀可能不需要用于此目的。在数据帧转发方案2800中,在边缘交换机可能只 具有一个MAC地址时,可能不需要为了获得交换机MAC地址xo而进行额外的表查找。通过为 每个VM MAC地址指配一个交换机MAC地址,上述参考文献[4]和[5]中所描述的MAC地址映射 方法可以是MAC地址代表方案的特殊情况。
[0219] 在上述方案中,网络范围IP地址唯一性可以放松到边缘交换机范围IP地址唯一性 (或放松到边缘交换机对,如果需要冗余的话)。因而,如果连接到相同边缘交换机(或边缘 交换机对)的多个VM各自具有唯一的IP地址,则可为所述边缘交换机使用单个MAC地址。在 数据帧转发方案2700和2800中,可在出交换机Z处使用DMAC中的交换机MAC地址后缀和目的 IP地址来对转发表进行查找,以获得VM2的DMAC和VLAN ID。当连接到边缘交换机Z的一些VM 可具有重复IP地址且也可使用相同VLAN ID(例如,两个不同物理服务器上的两个VM可具有 相同IP地址且使用相同VLAN ID)时,上述情况适用。在具有重复IP地址且连接到相同边缘 交换机的多个VM使用不同VLAN ID且属于相同客户的VM使用相同VLAN的情况下,一个边缘 交换机可使用一个MAC地址。在这种情况下,可使用帧中携载的VLAN ID和目的IP地址来对 转发表进行查找,以获得VM2的DMAC和VLAN ID。
[0220]图29所示为节点故障处理方案2900的一项实施例,节点故障处理方案2900可用在 MAC地址代表方案中。在节点故障处理方案2900中,第一边缘交换机2922(边缘交换机X)和 第二边缘交换机2922 (边缘交换机Y)可以是保护对,其中如果一个边缘交换机发生故障,则 可以使用另一个边缘交换机来代替。例如,在正常操作期间连接到边缘交换机X的任何VM 2926(VM1)在边缘交换机X发生故障时可以倒换到边缘交换机Y。所述倒换可以由虚拟边缘 交换机而非VM来执行。此外,LS 2940可具有关于作为保护对的边缘交换机X和Y的信息,所 述信息可以使用普通服务器机架布线实践来获得。
[0221] 当网络向LS 2940通知边缘交换机X已发生故障时,LS 2940可将受影响的VM(其可 连接到边缘交换机X)的信息发送到边缘交换机Y。关于每个受影响的VM的信息可包含:IP地 址、MAC地址、VLAN ID、客户ID,以及交换机MAC地址(例如,x〇)(图29中的步骤lhLS 2940也 可向网络中的所有边缘交换机2922(例如,包含边缘交换机Z)通知要将去往边缘交换机X的 帧改为转发到边缘交换机Y(图29中的步骤2)。随后,每个边缘交换机2922(例如,边缘交换 机Z)可在其转发过程中将边缘交换机X的MAC前缀替换为边缘交换机Y的MAC前缀。
[0222] 例如,对于从VM2发送到VM1的帧,DMAC可以是xo = 02-l 1-11-11-00-00。因而,边缘 交换机Z可以在其转发表查找过程中使用02-22-22-22,02-22-22-22可能是边缘交换机Y的 MAC前缀,而且边缘交换机Z在将帧转发到下一跳之前将帧DMAC改变为02-22-22-22-00-00。 在接收到受影响VM(连接到边缘交换机X,包含VM1)的通知之后,边缘交换机Y即可执行以下 操作(使用VM1作为实例):
[0223] a)如果边缘交换机Y知道到达VM1的交换机端口,则去往c);否则
[0224] b)边缘交换机Y可将ARP请求发送到VM1 (图29中的步骤3)。当边缘交换机Y从VM1接 收回ARP回复时,边缘交换机Y可对照从LS 2940接收到的MAC地址来检查VM1的MAC地址。如 果这两个地址不匹配,则边缘交换机Y可将出错消息发送到LS 2940并停止操作;否则
[0225] c)边缘交换机Y可针对VM1更新其ARP表、其,以及交换机转发表。具体来说,边 缘交换机Y可在其roB和转发表中(在下游方向上)添加关于VM1的新条目,所述新条目的后 缀为xo,可能是00-00。
[0226] d)如果使用数据帧转发方案2800,则边缘交换机Y可将关于VM1的新条目添加到具 有xo的SMAC映射表。因此,来自VM1的帧的SMAC在帧被发送出之前由边缘交换机Y改变成xo。 随后,边缘交换机Y可继续扮演边缘交换机X的角色,而且从VM(连接到边缘交换机对X和Y) 的观点来看,关于帧转发,可能没有发生任何改变。
[0227] e)边缘交换机Y可向LS 2940通知受影响VM的倒换完成(图29中的步骤4)。
[0228] 在上述过程期间,边缘交换机Y可接收去往VM1和/或来自VM1的帧。如果边缘交换 机Y接收去往VM1的帧,则边缘交换机Y可使用DMAC的后缀和目的IP地址来获得VM1的MAC地 址和传出端口 ID。如果找不到条目,则可将帧丢弃。如果边缘交换机Y尚未将ARP请求发送到 VM1,则边缘交换机Y可将ARP请求发送到VM1。如果边缘交换机Y从VM1接收到帧,则边缘交换 机Y可使用DMAC的前缀来转发所述帧,这可适用于数据帧转发方案2700。对于数据帧转发方 案2800,SMAC可需要改变成边缘交换机Y的MAC地址。如果此地址不存在,则可将帧丢弃。在 数据帧转发方案2700中,可以不中断从VM1到VM2的业务。
[0229]随后,当边缘交换机X可再次变成可操作时,受影响VM(例如,VM1)可回落或从边缘 交换机Y倒换到边缘交换机X。在这种情况下,边缘交换机X可首先从LS 2940获得受影响VM 的信息。LS 2940还可通知所有边缘交换机2922再继续进行正常操作(关于将帧发送到与边 缘交换机X连接的VM)。具体来说,去往边缘交换机X的帧可再次被转发到边缘交换机X。如果 边缘交换机X的VM信息也存储在边缘交换机Y中(例如,从边缘交换机X或LS 2940发送到边 缘交换机Y)且所有边缘交换机2922都知道边缘交换机X和Y是冗余对,则上述故障倒换和回 落也可以按照分布式方式实现。此外,如果每个边缘交换机只使用一个MAC地址,则上述对 MAC地址后缀执行的操作可省去。
[0230]图30所示为链路故障处理方案3000的一项实施例,链路故障处理方案3000可用在 MAC地址代表方案中。如在节点故障处理方案2900中,在链路故障处理方案3000中,第一边 缘交换机3022(边缘交换机X)和第二边缘交换机3022(边缘交换机Y)可以是保护对。因而, 当例如因为VM1的虚拟交换机上行链路端口与边缘交换机X之间的路径发生故障而使边缘 交换机X变成不可达时,在正常操作期间连接到边缘交换机X的任何VM 3026(VM1)可倒换到 边缘交换机Y。所述倒换可由虚拟边缘交换机而非VM执行。此外,LS 3040可具有关于作为保 护对的边缘交换机X和Y的信息,所述信息可以使用普通服务器机架布线实践来获得。
[0231] 当链路发生故障时,边缘交换机X可向LS 3040通知受链路故障影响的VM的集合。 随后,LS 3040将受影响VM的信息发送到边缘交换机Y。在接收到信息之后,边缘交换机Y即 可执行以下操作(使用VM1作为实例):
[0232] a)如果边缘交换机Y知道到达VM1的交换机端口,则去往c);否则
[0233] b)边缘交换机Y可将ARP请求发送到VM1 (图30中的步骤3)。当边缘交换机Y从VM1接 收回ARP回复时,边缘交换机Y可对照从LS 3040接收到的MAC地址来检查VM1的MAC地址。如 果这两个地址不匹配,则边缘交换机Y可将出错消息发送到LS 3040并停止操作;否则
[0234] c)边缘交换机Y可将新的交换机MAC地址(例如,yo)指配给VM1且针对VM1更新其 ARP表、其FDB,以及交换机转发表。边缘交换机Y还可使用新的位置信息来向LS 3040注册 VM1 (图30中的步骤4)。
[0235] 在链路故障处理方案30中,可存在几种方式来向网络中的其他VM通知受影响VM的 新位置。在第一种方案中,边缘交换机Y可代表VM1经由预先建立的分发树向网络中的所有 (边缘)交换机发出无偿ARP消息。接收到无偿ARP的边缘交换机3022可依次将无偿ARP消息 发送到其附接的VM。如果IP地址在网络中是唯一的或者如果客户的所有VM只使用一个 VLAN,则此种方法可运行良好。在第二种方案中,LS 3040可将关于VM1的新位置的广播消息 发送到网络中的所有(边缘)交换机。信息可包含:IP地址、MAC地址、客户ID,以及新的交换 机MAC地址(例如,y〇)。随后,每个边缘交换机3022可基于本地消息(例如,ARP表)和LS消息 中的信息来决定是否将无偿ARP消息发送到其所附接的VM。例如,边缘交换机可决定将无偿 ARP消息发送到具有与VM1相同的客户ID的VM。在第三种实施方案中,LS 3040可通知边缘交 换机X将去往VM1的帧重定向到边缘交换机Y的MAC地址,例如,y0。因此,经重定向的帧的 DMAC可以是y〇。如果使用数据帧转发方案2800,则边缘交换机X还可代表边缘交换机Y将ARP 回复发送到经重定向的帧的发送者,以将VM1的新位置通知给发送者。否则,经重定向的帧 的发送者在其ARP表到期后且在从LS 3040获得VM1的新位置之后可将帧直接发送到边缘交 换机Y。
[0236] 与节点故障处理方案2900类似,在链路故障处理方案3000中,在上述过程中,边缘 交换机Y可从VM1接收帧。如果边缘交换机Y发现帧中的帧SMAC是未知的,则边缘交换机Y可 将帧丢弃且开始VM注册方案2300。因此,当边缘交换机Y从LS 3040接收到关于VM1的通知 时,边缘交换机Y可继续上述过程的剩余操作(例如,向其他VM通知VM的新位置)。链路故障 处理方案3000中的一些上述步骤也可用于VM迀移的情况。例如,当VM从边缘交换机X或任何 其他边缘交换机迀移到边缘交换机Y时,VM可首先发送无偿ARP消息。在接收到无偿ARP消息 之后,边缘交换机Y即可检测VM是新的VM,且因此开始VM注册方案2300过程且如上所述向网 络中的其他VM通知VM的新位置。
[0237] 上述MAC地址代表方案和相关过程是针对DC环境来进行描述的,所述DC环境包括 VM、边缘交换机或T0R,以及核心交换机。但是,在其他基于以太网的大型二层网络环境中可 以使用相同的方案来处理重复IP地址并指配一个或多个MAC地址,所述MAC地址可用作连接 到交换机或网关的主机的MAC地址的代表。例如,MAC地址代表方案可用在桥接二层网络中, 例如用在互联网络区域1700或1800中以将多个MAC地址委托给DBB,且因此处理连接到所述 DBB的多个终端站、服务器或VM的重复IP地址。上述针对DC的VM注册、ARP处理、数据帧转发 和/或节点/链路故障处理方案也可用在桥接二层网络环境中。
[0238] 凭借服务器虚拟化,物理服务器可托管更多VM,例如数十到数百虚拟终端站或VM。 这可显著提高DC中虚拟主机的数量。例如,对于具有约50,000个服务器的相对大的DC,其中 每个服务器最多可支持约128个VM;DC中VM的总数可等于约50,000\128个¥]\1,即约6,400, 000个VM。为了在此类大型服务器池间实现资源的动态分配,可在DC中使用基于以太网的二 层网络。此类潜在具有大量虚拟主机的大型二层网络对基础以太网技术提出了新的挑战。 例如,一个问题可能是MAC转发表基于平面MAC地址空间的可扩展性。另一个问题可能是对 由ARP和其他广播业务引起的广播风暴的处理。
[0239] 缩小网络核心中的MAC转发表大小的一种方法可能是,例如,根据IEEE802. lah和 TRILL使用网络地址封装,本文中还将MAC转发表称为roBdC^.lah和TRILL的网络地址封装 分别在IEEE P802 • lah/D4 • 2标准和IETF草案draft-ietf-trill-rb;ridge-p;rotol-12-txt 中描述,这些内容均以引用方式并入本文中。凭借网络地址封装,可将核心交换机中的roB 条目数减少到网络中的交换机(包含边缘和核心交换机)总数,与VM数无关。例如,如果每个 边缘交换机具有约20个服务器,则具有约50,000个服务器的网络中的边缘交换机数可等于 约50,000/20,即约2,500。但是,在进行数据路径MAC地址获知的情况下,边缘交换机(例如 DC中的ToR交换机)的FDB大小大致与未使用网络地址封装时相同,这可能是十分大的。 [0240]即使ToR交换机进行选择性MAC获知,FDB大小可能仍然十分大。例如,如果一个ToR 交换机具有约40个下游端口,则一对ToR交换机最多可具有连接到ToR交换机的约40个双归 属服务器。如果一个服务器最多支持约128个VM,则ToR交换机可具有连接到ToR交换机且处 于正常操作中的约128 X 40/2个VM,即约2,560个VM,例如,当T0R交换机处理大致相同数量 的VM时。如果一个ToR交换机发生故障,则VM数可能增加到约5,120。如果每个VM同时平均与 约10个远程VM通信,则ToR交换机大小(例如条目数)可至少与约2,560(本地VM)+2,560 X 10 (远程VM) +2,500 (ToR交换机)个条目,即约30,660个条目成比例,这在故障情形中可能 进一步翻倍。
[0241] 802. lah和TRILL中的网络地址封装可以是对称的。具体来说,相同交换机,例如边 缘交换机可执行地址封装。802. lah和TRIL中的对称网络地址封装的问题在于,边缘交换机 需要追踪与本地VM通信的远程VM。远程VM数可能显著变化。在上述参考文献[1]中提出的一 个解决方案是将网络地址封装过程移到VM内,从而将交换机大小降至最小,可等于本地 VM数加上网络中边缘交换机数的和(例如等于上述实例中的约2,560+2,500个条目,即约5, 060个条目)。此方法的缺点在于,需要改变来宾操作系统(0S)协议栈。
[0242]作为替代,将网络地址封装移到物理服务器的虚拟交换机(例如,管理程序内)可 缩小边缘交换机roB大小,并避免改变来宾os协议栈,如下文进一步描述。此类网络地址封 装在本文中称为不对称网络地址封装,因为地址解封装仍然在边缘交换机的其他区域进 行。这种不对称网络地址封装机制可减少保存在中间/边缘交换机或路由器的FDB中的地址 数。
[0243 ]不对称网络地址封装方案可在包括边缘和核心交换机的二层网络中实施,例如在 上述不同网络实施例中实施。例如,边缘交换机可对应于DC中的ToR交换机。每个边缘交换 机可被指配唯一ID,其可以是MAC地址(如在802. lah中)、约16位的昵称(如在TRILL中),或 IP地址。网络可用于基于从入边缘交换机到出边缘交换机的帧的帧头中所携载的目的边缘 交换机ID来转发所述帧。所述帧可使用任何传输技术在网络内进行转发。所述不对称网络 地址封装方案可类似于802. lah中的地址封装方案,也称为MAC-in-MAGMAC获知可在网络 中停用,但在边缘交换机服务器对接端口上启用。本文中的术语"服务器"、"终端站"和"主 机"可互换。本文中的术语"虚拟服务器"、"VM"、"虚拟终端站"和"虚拟主机"也可互换。
[0244] 在MAC-in-MAC中,有两种类型的MAC地址:指配给边缘交换机的MAC地址,也称为网 络地址或骨干MAC(B-MAC)地址;以及VM所用的MAC地址,也称为客户MAC(C-MAC)地址。图31 所示为典型物理服务器3100的一项实施例,物理服务器3100可为DC中的双归属服务器。物 理服务器3100可包括虚拟交换机3110、多个VM 3140,以及多个物理网络接口卡(pNIC) 3150。虚拟交换机3110可包括ARP代理3130和3120,所述3120可包括本地3122 和远程roB 3124。虚拟交换机3110可位于物理服务器3100的管理程序中。虚拟交换机3110 可经由VM 3140的多个相应vNIC 3142和虚拟交换机3110的多个相应虚拟交换机端口3112 连接到VM。虚拟交换机3110也可经由虚拟交换机3110的多个相应虚拟交换机中继端口 3114 连接到pNIC 31504NIC 3150可充当虚拟交换机3110的上行链路或主干。物理服务器3100 可经由物理服务器3100的相应pNIC 3150连接到多个边缘交换机3160。因此,边缘交换机 3160可经由物理服务器3100的组件(pNIC 3150和虚拟交换机3110)连接到VM 3140。物理服 务器3100的组件可如图31所示般布置。
[0245] 为了使负载平衡,可基于业务的虚拟端口 ID或VM源C-MAC地址,将业务分配给主干 (pNIC 3150)。每个VM 3140可具有指配有唯一C-MAC地址的vNIC 3142 3140可在正常操 作中将业务发送到边缘交换机3160。例如,第一VM 3140(VM1)可经由相应的第一边缘交换 机3150(边缘交换机X),发送预期发送到网络中的其他物理服务器中的外部VM(未图示)的 多个帧。第二边缘交换机3160(边缘交换机R)可以是边缘交换机X的备用设备。当因发生故 障(例如相应PNIC 3150发生故障;pNIC 3150与边缘交换机X之间的链路发生故障;或边缘 交换机X发生故障)而导致边缘交换机X不可达时,虚拟交换机3110可随后将帧发送到边缘 交换机R。
[0246] 在3120中,本地3122可对应于本地VM(VM 3140),且可包括多个C-MAC目 的地址(C-MAC DA)、多个VLAN ID,以及多个关联的虚拟交换机端口 IDX-MAC DA和VLAN ID 可用于查找本地3122,以获得相应虚拟交换机端口 ID。远程3124可对应于外部VM (其他物理服务器中),且可包括多个B-MAC目的地址(B-MAC DA),以及与B-MAC DA关联的多 个C-MAC DAX-MAC DA可用于通过本地VM来查找远程3124,以获得相应B-MAC DA。远程 FDB 3124可由ARP代理3130填充,如下所述。
[0247] 基于对称地址封装,来自VM 3140的以太网帧可无标签或有标签。如果所述帧无标 签,则可使用指配给相应虚拟交换机端口3112的VLAN ID。在从VM 3140到边缘交换机3160 的上游方向上,虚拟交换机3110可在从VM 3140接收以太网帧后,执行以下步骤:
[0248] 步骤1:在本地FDB 3122的表查找中使用C-MAC DA和VLAN ID。如果发现匹配,则将 帧转发到匹配条目中指出的虚拟交换机端口 3112(通过虚拟交换机端口 ID)。否则,转到 步骤2。
[0249] 步骤2:在远程FDB 3124的表查找中使用C-MAC DA。如果发现匹配,则执行基于 MAC-in-MAC封装的不对称网络地址封装(下述),并将帧转发到与帧中的C-MAC SA关联的虚 拟交换机中继端口 3114。否则,转到步骤3。
[0250] 步骤3:丢弃所述帧,并将增强型ARP请求发送到网络中的ARP服务器(未图示)。
[0251] 图32所示为可用于物理服务器中的不对称网络地址封装方案3200的一项实施例。 基于不对称网络地址封装方案3200,在上游方向上,VM 3202可发送预期发送到网络中的另 一个物理服务器(未图示)中的另一个外部或远程VM的帧。所述帧可包括远程VM的C-MAC DA (B)3210、VM 3202的C-MAC SA(A)3212、VM 3202的VLAN的C-VLAN ID 3214、数据或净荷 3216,以及帧校验序列(FCSWSISJM 3202可将帧发送到虚拟交换机3204。
[0252] 虚拟交换机3204(相同物理服务器中)可从VM 3202接收帧。虚拟交换机3204可处 理所述帧,并向所述帧添加帧头,以获得MAC-in-MAC帧。帧头可包括8-1^0 0六以)3220、8-MAC SA(0)3222、B-VLAN ID 3224以及实例服务 10(1-510)3226。8-]\^(:地址(Y)可与边缘交 换机3206中的C-MAC DA(B)3210关联。B-MAC地址(Y)可表示具有C-MAC地址(B)的远程VM的 位置。B-MAC SA 3222可通过虚拟交换机3204设置成零。B-VLAN ID 3224可设置成C-VLAN ID 3214J-SID 3226可以是可选的,且如果以太网帧仅发送到C-MAC DA(B),则可不用于帧 头中。随后,虚拟交换机3204可向边缘交换机3206发送MAC-in-MAC帧。
[0253] 边缘交换机3206(连接到物理服务器)可从虚拟交换机3204接收MAC-in-MAC帧。边 缘交换机3206可处理所述MAC-in-MAC帧中的帧头,以获得MAC-in-MAC帧中的新帧头。新帧 头可包括B-MAC DA(Y)3240、B-MAC SA(X)3242、B-VLAN ID 3244和I-SID 3246DB-MAC SA (X) 3242可设置成边缘交换机3206的B-MAC地址(XhB-VLAN ID 3244可在必要时进行改变, 以与网络中的VLAN匹配。帧头的剩余字段可不变。随后,边缘交换机3206可基于B-MAC DA (Y) 3242且可能基于B-VAN ID 3244,经由网络核心3208,例如核心网络或网络核心区域,转 发新 MAC-in-MAC 帧。
[0254] 在下游方向上,边缘交换机3206可从网络核心3208接收MAC-in-MAC帧,并进行帧 解封装。MAC-in-MAC帧可包括从远程VM发送到VM 3202的帧头和初始帧。所述帧头可包括边 缘交换机3206的B-MAC DA(X)3260、对应于远程VM和边缘交换机3206的B-MAC SA(Y)3262、 远程VM的VLAN的B-VLAN ID 3264,以及I-SID 3266。远程VM的初始帧可包括VM 3202的C-MAC DA(A)3270、远程VM的C-MAC SA(B)3272、与VM 3202关联的C-VLAN ID 3274、数据或净 荷3276,以及FCS 3278。边缘交换机3206可将帧头从MAC-in-MAC帧中删除,并将剩余的初始 帧转发到虚拟交换机3204。边缘交换机3206可使用C-MAC DA(A)3270和C-VLAN ID 3274来 查找自己的转发表,以获得传出交换机端口 ID,并在与相应交换机端口对接或连接到相应 交换机端口的物理服务器上向外转发初始帧。依次,虚拟交换机3204可将初始帧转发到VM 3202。虚拟交换机3204可基于C-MAC DA(A)3270和C-VLAN ID 3274,将初始帧转发到VM 3202〇
[0255] 边缘交换机3206中的转发表可包含本地和远程H)B。本地可用于为本地VM 转发帧,且可经由MAC获知进行填充,并通过所接收的帧中的C-MAC DA和C-VLAN ID进行索 引编制。远程FDB可用于将帧转发到远程VM,且可通过路由协议或集中控制/管理平面进行 填充,并通过所接收的帧中的B-MAC DA,且可能通过其中的B-VLAN ID进行索引编制。
[0256] 在不对称地址封装方案3200中,MAC-in-MAC封装可在虚拟交换机3204中进行,而 MAC-in-MAC解封装可在边缘交换机3206中进行。因此,边缘交换机中的大小明显缩小且 更加易于管理,即使对于实质大型的二层网络,例如巨大DC也是如此。虚拟交换机3204中的 远程大小可取决于与本地VM,例如VM 3202通信的远程VM数。例如,如果虚拟交换机支持 约128个本地VM,且每个本地VM平均同时与约10个远程VM通信,则远程FDB可包括约128 X 10 个条目,即约1,289个条目。
[0257] 图33所示为可用于物理服务器3100中的ARP处理方案3300的一项实施例。基于ARP 处理方案3300,VM 3302可广播针对远程VM的ARP请求。ARP请求可包括表示广播消息的0 MAC DA(BC)3310、VM 3302的C-MAC SA(A)3312、VM 3302的VLAN的C-VLAN ID 3314、ARP净荷 3316,以及FCS 3318。
[0258]虚拟交换机3304(相同物理服务器中)可用于拦截来自本地VM的所有ARP消息,所 述虚拟交换机3304可拦截针对远程VM的ARP请求。虚拟交换机3304中的ARP代理可处理ARP 请求,并向帧中添加帧头,以获得单播扩展ARP(ERAP)消息。所述帧可使用MAC-in-MAC进行 封装,例如类似于不对称网络地址封装方案3200。帧头可包括B-MAC DA 3320、B-MAC SA(0) 3322、B-VLAN ID 3324和I-SID 33263-MAC DA 3320可与网络中的ARP服务器3308关联。B-VLAN ID 3324可设置成C-VLAN ID 3314<J-SID 3326可以可选,且可不使用。EARP消息也可 包括C-MAC DA(Z)3328、C-MAC SA(A)3330、C-VLAN ID 3332、EARP净荷3334,以及FCS 3336。 ARP代理可将所接收的帧中的C-MAC DA(BC)3310和ARP净荷3316分别替换为EARP消息中的 远程VM的C-MAC DA(Z)3328和EARP净荷3334。随后,虚拟交换机3304可向边缘交换机3306发 送EARP消息。
[0259] 边缘交换机3306可处理EARP消息中的帧头,以获得新帧头。新帧头可包括B-MAC DA(Y)3340、B-MAC SA(X)3342、B-VLAN ID 3344和I-SID 3346DB-MAC SA(X)3342可设置成 边缘交换机3306的B-MAC地址(XhB-VLAN ID 3344可在必要时进行改变,以与网络中的 VLAN匹配。帧头的剩余字段可不变。随后,边缘交换机3306可将新EARP消息转发到网络中的 ARP服务器3308。
[0260] ARP服务器3308可处理所接收的EARP消息,且可向边缘交换机3306返回EARP回复。 EARP回复可包括帧头和ARP帧。帧头可包括边缘交换机3306的B-MC DA(X)3360、ARP服务器 3308的8-]\^3 3八 3362、8-¥1^^10 3364,以及1-510 3366<^1^帧可包括¥]\1 3302的(:-]\^〇 DA(A)3368、所请求的远程VM的C-MAC SA(Z)3370、C-VLAN ID 3372、EARP净荷3374,以及FCS 3376。边缘交换机3306可通过删除帧头来解封装EARP消息,然后将ARP帧转发到虚拟交换机 3304。虚拟交换机3304可处理ARP帧,并相应地向VM 3302发送ARP回复。ARP回复可包括VM 3302的C-MAC DA(A)3390、与远程VM的位置关联的C-MAC SA(B)3392、C-VLAN ID 3394、ARP 净荷3396,以及FCS 3398。
[0261] 虚拟交换机3304中的ARP代理也可使用EARP消息来填充边缘交换机2506中的远程 FDBJRP代理可用可存在于EARP净荷3374中的远程C-MAC和远程交换机B-MAC对来填充H)B 表中的条目。C-MAC和远程交换机B-MAC可分别存在于EARP净荷3374中的SHA字段和发送者 位置地址(SLA)字段中。
[0262] 包括虚拟交换机3304的物理服务器中的管理程序也可以按照类似于ARP处理方案 3300的方式,将VM,例如本地VM 3302或远程VM注册到ARP服务器3308。在这种情况下,虚拟 交换机3304可基于所有发送者字段等于所有目标字段,将单播EARP帧发送到ARP服务器 3308。注册VM的另一种方法如熊瑜(Y.Xiong)等人递交的发明名称为"用于具有重复主机IP 地址的可扩展以太网络的MAC地址代表方案(A MAC Address Delegation Scheme for Scalable Ethernet Networks with Duplicated Host IP Addresses)"的第61/389,747 号美国临时专利申请案所述,所述申请案全文以引用方式并入本文中。此方案可处理重复 IP地址的情形。
[0263] 图34所示为可用于ARP处理方案3300的EARP净荷3400的一项实施例,例如EARP净 荷3374<^41^净荷3400可包括硬件类型(1^^?£)3410、协议类型(?了¥?£)3412、硬件地址长度 (HLEN)3414、协议地址长度(PLEN)3416、操作字段(0PER)3418、SHA 3420、SPA 3422、目标硬 件地址(THA) 3424,以及目标协议地址(TPA) 3426,这些可以是典型ARP消息的元素。此外, EARP净荷3400可包括SLA 3428和目标位置地址(TLA) 3430。图6还图示了EARP净荷3400中的 每个字段的位偏移,所述位偏移也以位为单位表示每个字段的大小。
[0264] 在网络中使用ARP服务器(例如,ARP服务器3308)并停用MAC获知的一个问题在于, VM将因相应边缘交换机或将ARP服务器连接到边缘交换机的链路发生故障而不可达。在这 种情况下,虚拟交换机可能需要一段时间才能知道此VM的新边缘交换机或替代边缘交换机 的新位置。例如,如果物理服务器3100中的边缘交换机X不可达,则虚拟交换机3110可将帧 从VM1转发到边缘交换机R,其可成为VM1的新位置。
[0265] 为了缩短虚拟交换机3110就VM的新位置而更新远程H)B的时间,可使用无偿EARP 消息。虚拟交换机3110可首先经由MAC-in-MAC封装帧向边缘交换机R发送无偿EARP消息,其 中包含设置成广播地址(BC)的B-MAC DA。在无偿EARP消息中,SHA(例如SHA 3420)可设置成 等于1'骱(例如1'拟3424);3?4(例如3?4 3422)可设置成等于了?4(例如了?4 3426);且31^(例 如SLA 3428)可设置成等于TLA(例如TLA 3430)。随后,例如,边缘交换机R可经由分发树,将 无偿EARP消息发送到网络中的多个或所有其他边缘交换机。当边缘交换机接收到无偿EARP 消息时,边缘交换机可解封装此消息,并在边缘交换机的服务器对接端口上发出此消息。当 虚拟交换机随后接收到无偿EARP消息时,如果SHA已存在于相应远程中,则虚拟交换机 可更新此远程FDB。网络中的ARP服务器可以按照相同方式更新受影响VM的新位置。
[0266] 在一项实施例中,上述不对称网络地址封装方案可使用MAC-in-MAC封装。或者,此 方案可扩展到其他封装方法。如果网络中支持并使用TRILL,其中边缘交换机用约16位的昵 称标识;则不对称网络地址封装方案中可使用TRILL封装。或者,如果边缘交换机用IP地址 标识,则可使用IP-in-IP封装。此外,网络地址封装可在虚拟交换机层级进行,且网络地址 解封装可在边缘交换机层级进行。通常情况下,网络地址封装方案可应用于任何层级或任 何网络组件,只要封装和解封装始终在不同层级或组件中进行即可。
[0267] 在分成多个区域的桥接网络中,例如在互联网络区域1800中,DBB可以是加入多个 区域的网桥。DBB的地址在本文中可称为网络地址,以将DBB的地址与每个区域中的VM的C-MAC地址区分开来。通过使用上述不对称地址封装方案,网络地址的封装可在更加接近主机 的交换机或更加接近虚拟主机的虚拟交换机中进行。例如,中间交换机1824,例如ToR交换 机可进行网络地址封装。中间交换机1824可封装源自主机子集且包括目标DBB地址的数据 帧。但是,中间交换机1824无法改变源自网络侧,例如核心区域1810中的DBB 1822的数据 帧。目标DBB 1822位于中间交换机1824的上一级,可解封装来自网络侧(核心区域1810)的 数据帧,并将所解封装的数据帧转发到所在区域内的主机。
[0268] 在一项实施例中,物理服务器(例如终端站1826)内的虚拟交换机可进行网络地址 封装,而目标DBB 1822可进行网络地址解封装。在这种情况下,进行解封装的DBB 1822可在 进行封装的虚拟交换机(终端站1826中)之上两级。
[0269] 连接到DBB 18 2 2 (例如核心区域1810)的桥接网络可以基于IP。将DBB互联的核心 网络(或区域)可以是三层虚拟专用网(VPN)、二层VPN,或标准IP网络。在此类情形中,DBB可 用合适的目标DBB地址,其可以是IP或MPLS帧头,来封装来自所在本地区域的MAC数据帧。 [0270]图35所示为可用于二层桥接网络,例如互联网络区域1800中的数据帧转发方案 3500的一项实施例。数据帧转发方案3500也可实施上述不对称网络地址封装方案。二层桥 接网络可包括核心区域3510、连接到核心区域3510的多个区域3520中的多个DBB 3522或区 域边界交换机,以及在所在区域3520中连接到相应DBB 2022的多个中间或边缘交换机3524 和物理服务器3526。物理服务器3526可包括多个VM和虚拟交换机(未图示)。区域3520中的 某些DBB 3522、中间/边缘交换机3524和物理服务器3526可属于建立于二层桥接网络中并 与VLAN ID关联的VLAN。二层桥接网络的组件可如图35所示般布置。
[0271]根据不对称网络地址封装方案,中间/边缘交换机3524可从第一区域(区域1)中的 物理服务器3526中的第一 VM(主机A)接收帧3540,例如以太网帧。帧2040可预期发送到第二 区域(区域2)中的第二物理服务器3526中的第二VM(主机B)。帧2040可包括区域2中的第二 DBB(DBB2)的B-MAC DA 3542、主机A的B-MAC SA 3544(ToR A)、主机B的C-MAC DA 3546(B)、 主机4的〇嫩〇34 3548以)、主机4的1?-3八3550以)、主机8的1?-0六3552(8),以及净荷。中 间/边缘交换机3524可将帧2040转发到区域1中的第一DBB 3522(0881)。0881可接收并处理 帧3540,以获得内部帧3560。内部帧3560可包括DBB2的B-MAC DA 3562、DBB1的B-MAC SA 3564、主机B的C-MAC DA 3566(B)、主机A的C-MAC SA 3568(A)、主机A的IP-SA 3570(A)、主 机B的IP-DA 3552(B),以及净荷。随后,DBB1可经由核心区域3510将内部帧3560转发到区域 2.
[0272] 区域2中的DBB2可接收并解封装内部帧3540,以获得第二帧3580 ABB2可从内部帧 3560中删除DBB2的B-MAC DA 3562和B-MAC SA 3564,以获得第二帧3580。因此,第二帧3580 可包括主机B的C-MAC DA 3582(B)、主机A的C-MAC SA 3584(A)、主机A的IP-SA 3586(A)、主 机B的IP-DA 3588(B),以及净荷。DBB2可将第二帧3580发送到区域2中的主机B。
[0273] 在数据帧转发方案3500中,中间/边缘交换机3524可不对从连接到中间/边缘交换 机3524的本地物理服务器3524接收的帧执行MAC-in-MAC功能。在另一项实施例中,第一帧 3540的封装过程可由物理服务器3526中的虚拟交换机,而不是中间/边缘交换机3524执行, 所述虚拟交换机可转发第一帧3540,而不进行从物理服务器3526到相应DBB 3522的处理。
[0274] 图36所示为可用于二层桥接网络,例如互联网络区域1800中的增强型ARP处理方 法3600的一项实施例。增强型ARP处理方法3600可从步骤3601开始,在此步骤中,本地主机 3610可经由第一网桥3620,例如本地DBB将ARP请求发送到本地位置3630。本地位置3630可 对应于与本地主机3610相同的位置或区域。可发送ARP请求,以获得与远程主机3660关联的 MAC地址。本地主机3610可指配有IP地址IPA和MAC地址A。远程主机3660可指配有IP地址IPB 和MAC地址KARP请求可包括本地主机3610的SA MAC地址A和SA IP地址IPAARP请求也可包 括远程主机3660的设置成零的DA MAC地址,以及DA IP地址IPB。本地位置3630可将ARP请求 转发到网络中的ARP服务器3640。
[0275] 在步骤3602中,ARP服务器3640可向第一网桥3620发送EARP响应。EARP响应可包括 本地主机3610的SA MAC地址A和SA IP地址IPA、远程主机3660的DA MAC地址B和DA IP地址 IPB,以及远程主机3660的远程位置3650中的第二网桥的MAC地址。在步骤3603中,第一网桥 3620可处理/解封装EARP响应,并向本地主机3610发送ARP响应。ARP响应可包括本地主机 3610的MAC地址A和IP地址IPA,以及远程主机3660的MAC地址B和IP地址IPB。因此,本地主机 3610可知道远程主机3660的MAC地址B。第一网桥3620也可(在本地表中)将远程位置3650中 的远程网桥的MAC地址Y与远程主机3660的IP地址关联。第一网桥3620无需存储远程主 机3660的MAC地址B。
[0276] 在步骤3604中,本地主机3610可向第一网桥3620发送预期发送到远程主机3660的 数据帧。所述数据帧可包括本地主机3610的SA MAC地址和SA IP地址,以及远程主机3660的 DA MAC地址和DA IP地址。在步骤3605中,第一网桥3620可接收和处理/封装数据帧,以获得 内部帧。所述内部帧可包括第一网桥3620的SA MAC地址X、远程网桥的DA MAC地址Y、远程主 机3660的DA MAC地址B和DA IP地址IPB,以及本地主机3610的SA MAC地址A和SA IP地址 IPA。在步骤3606中,远程位置3650中的远程网桥可接收内部帧,并通过删除第一网桥3620 的SA MAC地址X和远程网桥的DA MAC地址Y来处理/解封装所述内部帧,从而获得第二帧。因 此,第二帧可类似于从本地主机3610发送的初始帧。随后,远程网桥可将第二帧发送到远程 主机3660。之后,方法3600可结束。
[0277] 在增强型ARP处理方法3600中,核心网络可使用802. laq或TRILL来进行拓扑发现。 如果核心网络使用802. laq来进行拓扑发现,则第一网桥3620无法封装从本地主机3610发 送的帧,且可在不进行处理的情况下将帧转发到远程位置3650。此外,通过核心网络转发的 帧可仅在第二位置3650中,且仅在帧中所表示的出端口未被获知时进行泛洪。
[0278] 在一项实施例中,扩展地址解析方案可由区域网关或网关节点实施,所述网关节 点可以是TRILL边缘节点、MAC-in-MAC边缘节点,或任何其他类型的重叠网络边缘节点。扩 展地址解析方案可基于由二层桥接网络中的多个区域中的DBB实施的ARP代理方案,例如 ARP代理方案1900。例如,可连接到多个物理服务器和/或VM的中间/边缘节点3524可实施类 似于上述ARP代理方案的扩展地址解析方案。网关节点可使用ARP代理方案中的DS服务器来 解析目标目的地(例如主机)与出边缘节点之间的映射。出边缘节点可以是目标区域网关、 TRILL出节点、MAC-in-MAC边缘节点,或任何其他类型的重叠网络边缘节点。来自DS的回复 也可以是上述的EARP回复。
[0279] 可使用扩展地址解析方案来扩展具有大量主机的DC网络。重叠网络(例如桥接网 络)可以是MAC-in-MAC、TRILL,或其他类型的三层或二层以太网络。重叠网络边缘可以是网 络交换机,例如接入交换机(或ToR交换机)或聚合交换机(或EoR交换机)。重叠网络边缘也 可对应于服务器中的虚拟交换机。重叠网络对扩展地址解析方案的使用可能有两种情形。 第一种情形对应于对称方案,例如TRILL或MAC-in-MAC网络。在这种情形中,重叠边缘节点 可既执行封装部分,又执行解封装部分。第二种情形对应于不对称方案,其中重叠网络可实 施上述不对称网络地址封装方案。
[0280] 图37所示为可在重叠网络中实施的扩展地址解析方法3700的一项实施例。扩展地 址解析方法3700可从步骤3701开始,在此步骤中,第一VM 3710(VM A)可向第一管理程序 (HV)3720(HV A)发送以第二VM 3780(VM B)为目的地的帧或包。VM A和VM B可以是不同区 域中的终端主机。VM A可连接到第一区域中的HV A,且VM B可连接到第二区域中的第二HV 3770(HV BhHV可以是重叠网络节点,用于封装数据帧或包,或在数据帧或包上添加重叠网 络地址帧头。在此对称方案情形中,HV可以是DBB、TRILL边缘节点,或MAC-in-MAC边缘节点。 在不对称方案情形中,HV可以是管理程序内的虚拟交换机,或接入交换机。
[0281] 在步骤3702中,HV A可向ARP服务器3730发送地址解析(AR)请求,以对于对称方 案,检索从VM B IP地址到VM B MAC地址和HV B MAC地址对的映射。ARP服务器可包括或对 应于DS服务器,例如DS 1940。在不对称方案中,映射可从VM B IP地址到VM B MAC地址和第 二DBB 3760(DBB B)MAC地址对。DBB B可以是VM B相同区域中的远程DBB。
[0282] HV A也可用于拦截来自本地VM的(广播的)ARP请求,并将ARP请求转发到DS服务 器。随后,HV A可检索来自DS服务器的EARP回复,并缓存目标地址与目标网关地址(EARP回 复中表示)之间的映射。目标网关地址在本文中也可称为目标位置地址。在另一项实施例 中,作为对通过HV A拦截ARP请求的替代,DS服务器可定期或按周期,或在VM在区域之间移 动或迀移时,向HV A发送整合映射信息。所述整合映射信息可包括与上述虚拟二层网络中 的L2GW交换的相同信息。例如,整合映射信息可以格式化为无偿组通知,如上所述。
[0283] 在步骤3703中,对于对称方案,HV A可创建包括(SA:VM AMAC,DA:VM B MAC)的内 部地址帧头和包括(SA:HV AMAC,DA:HV B MAC)的外部帧头。在不对称方案中,外部帧头可 包括(SA:HV AMAC,DA:DBB B MAChHV A可向从VM A接收的帧添加内部帧头和外部帧头,并 将所得到的帧发送到连接到相同区域中的HV A的网桥3740。在此区域中,外部帧头的DA可 能未知,所述外部帧头可以是HV B MAC或DBB B MAC。
[0284] 在步骤3704中,可将帧从网桥3740转发到区域中的第一DBB 3750(DBB A)。在DBB A中,可已知DA HV B MAC或DBB B MAC,因为核心可能正在进行路由转发(例如802. laq SPBM或TRILL)且获知可在核心中停用。在步骤3705中,DBB A可将帧转发到DBB B。
[0285] 在步骤3706中,对于对称方案,由于DBB可知道来自路由子系统的所有HV地址,因 此DBB B可将帧转发到HV B。在不对称方案中,由于区域中可能已注册且已知此区域的本地 地址,因此D B B可删除包括(D A: D B B M A C)的外部帧头,并将帧转发到剩余帧头中的V M B MAC〇
[0286] 在步骤3707中,对于对称方案,由于HV B已知服务器的本地地址,因此HV B可接收 帧,删除包括(DA:HV B MAC)的外部帧头,并将所得到的帧转发到剩余帧头中的VM B MAC。 此外,HV B可获知从VM A MAC(剩余帧头中的SA)到HV A MAC(所删除的帧头中的SA)的映 射,其随后可用于从VM B到VM A的回复帧中。在不对称方案中,除了将帧转发到VM B之外, HV B可向ARP(或DS)服务器3730发送ARP消息,以检索从VM A MAC(剩余帧头中的SA)到DBB A MAC的映射,其随后可用于从VM B到VM A的回复帧中。
[0287] 随后,VM B可发送以VM A(IP目的地址)为目的地的帧。在步骤3708中,对于对称方 案,HV B可向帧创建包括(SA:VM B MAC,DA:VM A MAC)的内部地址帧头和包括(SA:HV B MAC,DA:HV A MAC)的外部帧头。HV B可保存之前接收到的消息或AR响应中的VM A IP到VM A MAC映射,以及VM A MAC到HV A MAC映射。在不对称方案中,外部帧头可包括(SA:HV B MAC,DA:DBB A MAChHV B可保存之前接收到的AR响应中的VM A MAC到DBB A MAC映射。或 者,HV B可向ARP(或DS)服务器发送ARP消息,以根据需要对映射进行检索。随后,可以按照 上述步骤中所述的相同方式将帧从VM B转发到VM A(例如以相反方向)。方法3700随后可结 束。
[0288] 图38所示为网络组件单元3800的一项实施例,所述网络组件单元3800可为通过网 络发送/接收包的任何装置。例如,网络组件单元3800可位于虚拟/伪二层网络中的不同位 置/域中的L2GW上。网络组件单元3800可包括:一个或多个入端口或单元3810,用于从其他 网络组件接收包、对象或TLV;逻辑电路3820,用于确定将包发送到哪个网络组件;以及一个 或多个出端口或单元3830,用于将帧传发射到其他网络组件。
[0289] 上述网络组件可在任何通用网络组件上实施,例如特定计算机系统或网络组件, 其具有足够的处理能力、存储资源和网络吞吐能力来处理其上的必要工作量。图39所示为 一种典型的通用计算机系统3900,其适用于实施本文所揭示的组件的一项或多项实施例。 通用计算机系统3900包含:处理器3902(可称为CPU),其与包含辅助存储装置3904、只读存 储器(R0M)3906、随机存取存储器(RAM)3908在内的存储装置通信;输入/输出(I/O)装置 3910;以及网络连接装置3912。处理器3902可作为一个或多个CPU芯片实施,或者可为一个 或多个专用集成电路(ASIC)的一部分。
[0290] 辅助存储装置3904通常包括一个或多个磁盘驱动器或磁带驱动器,且用于数据的 非易失性存储,且用作溢流数据存储装置,前提是RAM 3908的大小不足以保存所有工作数 据。辅助存储装置3904可用于存储在选择执行时加载到RAM 3908中的程序。ROM 3906用于 存储在程序执行期间读取的指令以及可能的数据。ROM 3906为非易失性存储装置,其存储 容量相对于辅助存储装置3904的较大存储容量来说通常较小。RAM 3908用于存储易失性数 据,还可能用于存储指令。存取ROM 3906和RAM 3908两者通常比存取辅助存储装置3904要 快。
[0291]揭示至少一项实施例,且所属领域的技术人员对所述实施例和/或所述实施例的 特征的变化、组合和/或修改在本发明的范围内。因组合、集成和/或省略所述实施例的特征 而产生的替代实施例也在本发明的范围内。在明确陈述数值范围或限制的情况下,应将此 些表达范围或限制理解为包含落入明确陈述的范围或限制内的类似量值的重复范围或限 制(例如,从约1到约10包含2、3、4等;大于0.10包含0.11、0.12、0.13等)。例如,每当揭示具 有下限办和上限R u的数值范围时,具体是揭示落入所述范围内的任何数字。明确来说,所述 范围之内的以下数字得到特别揭示:R=Ri+k*(R u-Ri),其中k为从1 %到100 %范围内以1 % 递增的变量,即,k为1%、2%、3%、4%、7%、……,70%,71%,72%,……,97% ,96% ,97% , 98 %、99 %或100 %。此外,还特定揭示由如上文所定义的两个R数字限定的任何数值范围。 相对于权利要求的任一元素使用术语"任选地"意味着所述元素是需要的,或者所述元素是 不需要的,两种替代方案均在所述权利要求的范围内。使用例如包括、包含和具有等较广术 语应被理解为提供对例如由……组成、基本上由……组成以及大体上由……组成等较窄术 语的支持。因此,保护范围不受上文所陈述的描述限制,而是由所附权利要求书界定,所述 范围包含所附权利要求书的标的物的所有均等物。每个和每一权利要求作为进一步揭示内 容并入说明书中,且所附权利要求是本发明的实施例。本发明中的参考文献的论述并不是 承认其为现有技术,尤其是公开日期在本申请案的在先申请优先权日期之后的任何参考。 本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文 中,其提供补充本发明的示范性、程序性或其他细节。
[0292]虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情 况下,所揭示的系统和方法可以用许多其他特定形式来体现。本发明的实例应被视为说明 性的而非限制性的,且本发明不限于本文所给出的细节。例如,各种元件或组件可在另一个 系统中组合或集成,或某些特征可省略或不实施。
[0293]另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独 的技术、系统、子系统和方法可与其他系统、模块、技术或方法组合或集成。展示或论述为彼 此耦合或直接耦合或通信的其他项目也可以用电方式、机械方式或其他方式通过某一接 口、装置或中间组件间接地耦合或通信。改变、替代和更改的其他实例可由所属领域的技术 人员确定,且可在不脱离本文所揭示的精神和范围的情况下作出。
Claims (7)
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35973610P true | 2010-06-29 | 2010-06-29 | |
US61/359,736 | 2010-06-29 | ||
US37451410P true | 2010-08-17 | 2010-08-17 | |
US61/374,514 | 2010-08-17 | ||
US38974710P true | 2010-10-05 | 2010-10-05 | |
US61/389,747 | 2010-10-05 | ||
US41132410P true | 2010-11-08 | 2010-11-08 | |
US61/411,324 | 2010-11-08 | ||
US201161449918P true | 2011-03-07 | 2011-03-07 | |
US61/449,918 | 2011-03-07 | ||
PCT/US2011/042453 WO2012006190A1 (en) | 2010-06-29 | 2011-06-29 | Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103270736A CN103270736A (zh) | 2013-08-28 |
CN103270736B true CN103270736B (zh) | 2016-08-10 |
Family
ID=45441530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180031894.5A CN103270736B (zh) | 2010-06-29 | 2011-06-29 | 一种网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8897303B2 (zh) |
EP (1) | EP2589208A1 (zh) |
CN (1) | CN103270736B (zh) |
WO (1) | WO2012006190A1 (zh) |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8948046B2 (en) | 2007-04-27 | 2015-02-03 | Aerohive Networks, Inc. | Routing method and system for a wireless network |
US8218502B1 (en) | 2008-05-14 | 2012-07-10 | Aerohive Networks | Predictive and nomadic roaming of wireless clients across different network subnets |
US9674892B1 (en) | 2008-11-04 | 2017-06-06 | Aerohive Networks, Inc. | Exclusive preshared key authentication |
US20100131284A1 (en) * | 2008-11-26 | 2010-05-27 | Michael Day Duffy | Methods and apparatus for analysis of healthcare markets |
US8483194B1 (en) | 2009-01-21 | 2013-07-09 | Aerohive Networks, Inc. | Airtime-based scheduling |
US9900251B1 (en) | 2009-07-10 | 2018-02-20 | Aerohive Networks, Inc. | Bandwidth sentinel |
CN102025589B (zh) * | 2009-09-18 | 2015-04-01 | 中兴通讯股份有限公司 | 虚拟专用网络的实现方法及系统 |
US8619779B2 (en) * | 2009-09-30 | 2013-12-31 | Alcatel Lucent | Scalable architecture for enterprise extension in a cloud topology |
EP2489172A1 (en) | 2010-05-28 | 2012-08-22 | Huawei Technologies Co., Ltd. | Virtual layer 2 and mechanism to make it scalable |
US9014054B2 (en) | 2010-06-29 | 2015-04-21 | Futurewei Technologies, Inc. | Layer two over multiple sites |
CN103270736B (zh) * | 2010-06-29 | 2016-08-10 | 华为技术有限公司 | 一种网络设备 |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
US8817620B2 (en) | 2010-07-06 | 2014-08-26 | Nicira, Inc. | Network virtualization apparatus and method |
US8964528B2 (en) | 2010-07-06 | 2015-02-24 | Nicira, Inc. | Method and apparatus for robust packet distribution among hierarchical managed switching elements |
US10103939B2 (en) | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
US8671187B1 (en) | 2010-07-27 | 2014-03-11 | Aerohive Networks, Inc. | Client-independent network supervision application |
US9002277B2 (en) | 2010-09-07 | 2015-04-07 | Aerohive Networks, Inc. | Distributed channel selection for wireless networks |
US8462666B2 (en) * | 2011-02-05 | 2013-06-11 | Force10 Networks, Inc. | Method and apparatus for provisioning a network switch port |
EP2677705A4 (en) | 2011-02-17 | 2016-06-01 | Nec Corp | Network system and network flow tracking method |
CN102859973B (zh) * | 2011-04-19 | 2015-04-15 | 华为技术有限公司 | 一种地址解析的方法,装置和系统 |
US9043452B2 (en) | 2011-05-04 | 2015-05-26 | Nicira, Inc. | Network control apparatus and method for port isolation |
CN107071088A (zh) | 2011-08-17 | 2017-08-18 | Nicira股份有限公司 | 逻辑l3路由 |
EP3407547A1 (en) | 2011-08-17 | 2018-11-28 | Nicira, Inc. | Hierarchical controller clusters for interconnecting different logical domains |
US9203701B2 (en) | 2011-10-25 | 2015-12-01 | Nicira, Inc. | Network virtualization apparatus and method with scheduling capabilities |
US9288104B2 (en) | 2011-10-25 | 2016-03-15 | Nicira, Inc. | Chassis controllers for converting universal flows |
US9154433B2 (en) | 2011-10-25 | 2015-10-06 | Nicira, Inc. | Physical controller |
US9137107B2 (en) | 2011-10-25 | 2015-09-15 | Nicira, Inc. | Physical controllers for converting universal flows |
US10091065B1 (en) * | 2011-10-31 | 2018-10-02 | Aerohive Networks, Inc. | Zero configuration networking on a subnetted network |
US9497786B2 (en) * | 2011-11-04 | 2016-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for establishing and using PDN connections |
EP2748716B1 (en) | 2011-11-15 | 2018-05-16 | Nicira Inc. | Network control system for configuring middleboxes |
FR2983669B1 (fr) * | 2011-12-05 | 2014-06-13 | Sagemcom Broadband Sas | Passerelle adaptee pour la vod |
US9071927B2 (en) * | 2011-12-05 | 2015-06-30 | Verizon Patent And Licensing Inc. | Collapsed mobile architecture |
US9363225B2 (en) * | 2012-01-12 | 2016-06-07 | Cisco Technology, Inc. | Connecting layer-2 domains over layer-3 networks |
WO2013126837A1 (en) * | 2012-02-24 | 2013-08-29 | Huawei Technologies Co., Ltd. | Balancing of forwarding and address resolution in overlay networks |
US9853891B2 (en) * | 2012-03-02 | 2017-12-26 | Cisco Technology, Inc. | System and method for facilitating communication |
US9674079B1 (en) * | 2012-03-14 | 2017-06-06 | Cisco Technology, Inc. | Distribution layer redundancy scheme for coupling geographically dispersed sites |
US8693478B2 (en) * | 2012-03-16 | 2014-04-08 | Cisco Technology, Inc. | Multiple shortest-path tree protocol |
US9548959B2 (en) * | 2012-03-23 | 2017-01-17 | Cisco Technology, Inc. | Address resolution suppression for data center interconnect |
WO2013158918A1 (en) | 2012-04-18 | 2013-10-24 | Nicira, Inc. | Using transactions to minimize churn in a distributed network control system |
CN103379010B (zh) * | 2012-04-20 | 2018-09-21 | 中兴通讯股份有限公司 | 一种虚拟网络实现方法及系统 |
US8787375B2 (en) | 2012-06-14 | 2014-07-22 | Aerohive Networks, Inc. | Multicast to unicast conversion technique |
US9036646B2 (en) * | 2012-06-20 | 2015-05-19 | International Business Machines Corporation | Distributed routing mechanisms for a virtual switch enabled by a trill-based fabric |
US8942237B2 (en) | 2012-06-20 | 2015-01-27 | International Business Machines Corporation | Hypervisor independent network virtualization |
CN103546374B (zh) * | 2012-07-10 | 2016-08-03 | 杭州华三通信技术有限公司 | 一种边缘二层网络中转发报文的方法和装置 |
US9106706B2 (en) * | 2012-07-18 | 2015-08-11 | Accedian Networks Inc. | Systems and methods of using beacon messages to discover devices across subnets |
CN103227843B (zh) | 2012-08-31 | 2016-05-04 | 杭州华三通信技术有限公司 | 一种物理链路地址管理方法及装置 |
CN103716245B (zh) * | 2012-09-29 | 2017-02-08 | 上海贝尔股份有限公司 | 基于虚拟专用局域网服务的边缘路由器 |
US9008095B2 (en) | 2012-10-02 | 2015-04-14 | Cisco Technology, Inc. | System and method for hardware-based learning of internet protocol addresses in a network environment |
CN102882781B (zh) * | 2012-10-11 | 2015-03-18 | 华为技术有限公司 | 一种报文发送的方法、路由器桥及系统 |
US8948181B2 (en) | 2012-10-23 | 2015-02-03 | Cisco Technology, Inc. | System and method for optimizing next-hop table space in a dual-homed network environment |
CN103795631B (zh) * | 2012-10-30 | 2017-03-15 | 杭州华三通信技术有限公司 | 部署了以太网虚拟连接的网络中的流量转发方法及设备 |
CN103795603B (zh) * | 2012-11-01 | 2017-08-11 | 新华三技术有限公司 | 一种基于多网卡的边缘虚拟桥接的实现方法和设备 |
JP5949491B2 (ja) * | 2012-11-20 | 2016-07-06 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US9253140B2 (en) * | 2012-11-20 | 2016-02-02 | Cisco Technology, Inc. | System and method for optimizing within subnet communication in a network environment |
US9503276B2 (en) * | 2012-12-12 | 2016-11-22 | Pismo Labs Technology Limited | Method and system to reduce wireless network packets for centralised layer two network |
US9116727B2 (en) | 2013-01-15 | 2015-08-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Scalable network overlay virtualization using conventional virtual switches |
KR20150115881A (ko) | 2013-02-06 | 2015-10-14 | 브리스톨-마이어스 스큅 컴퍼니 | Hiv 성숙 억제 활성을 갖는 c-19 변형된 트리테르페노이드 |
US9477506B2 (en) * | 2013-02-12 | 2016-10-25 | Futurewei Technologies, Inc. | Dynamic virtual machines migration over information centric networks |
US9413772B2 (en) * | 2013-03-15 | 2016-08-09 | Aerohive Networks, Inc. | Managing rogue devices through a network backhaul |
US10389650B2 (en) | 2013-03-15 | 2019-08-20 | Aerohive Networks, Inc. | Building and maintaining a network |
CN104079486A (zh) | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 一种网关及其传送数据的方法 |
CN104168184B (zh) * | 2013-05-17 | 2017-07-14 | 新华三技术有限公司 | 报文转发方法及设备 |
US9785356B2 (en) * | 2013-06-26 | 2017-10-10 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over ethernet-type networks |
US9785355B2 (en) | 2013-06-26 | 2017-10-10 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over ethernet-type networks |
US10063638B2 (en) | 2013-06-26 | 2018-08-28 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over ethernet-type networks |
US9060027B2 (en) * | 2013-07-05 | 2015-06-16 | Cisco Technology, Inc. | Assigning location identifiers to nodes in a distributed computer cluster network environment |
US9215147B2 (en) * | 2013-07-15 | 2015-12-15 | Cisco Technology, Inc. | Flexible and scalable monitoring in a TRILL network |
US9952885B2 (en) | 2013-08-14 | 2018-04-24 | Nicira, Inc. | Generation of configuration files for a DHCP module executing within a virtualized container |
US9887960B2 (en) | 2013-08-14 | 2018-02-06 | Nicira, Inc. | Providing services for logical networks |
SG11201601206YA (en) * | 2013-09-03 | 2016-03-30 | Univ Nanyang Tech | A method for managing a data center network |
US9503371B2 (en) | 2013-09-04 | 2016-11-22 | Nicira, Inc. | High availability L3 gateways for logical networks |
US9577845B2 (en) | 2013-09-04 | 2017-02-21 | Nicira, Inc. | Multiple active L3 gateways for logical networks |
US10298416B2 (en) | 2013-09-05 | 2019-05-21 | Pismo Labs Technology Limited | Method and system for converting a broadcast packet to a unicast packet at an access point |
CN104468306B (zh) * | 2013-09-25 | 2018-04-06 | 新华三技术有限公司 | 一种vxlan网络中的报文传输方法和设备 |
US9258273B2 (en) * | 2013-10-03 | 2016-02-09 | Mcafee, Inc. | Duplicating packets efficiently within a network security appliance |
US10063458B2 (en) | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
US9977685B2 (en) | 2013-10-13 | 2018-05-22 | Nicira, Inc. | Configuration of logical router |
CN104601427B (zh) * | 2013-10-31 | 2018-03-06 | 新华三技术有限公司 | 数据中心网络中的报文转发方法及装置 |
US9300528B2 (en) * | 2013-12-13 | 2016-03-29 | International Business Machines Corporation | Trill network with multipath redundancy |
US9654392B2 (en) * | 2013-12-26 | 2017-05-16 | Red Hat, Inc. | MAC address prefixes used on virtual machine hosts |
US10135729B2 (en) * | 2014-01-31 | 2018-11-20 | Hewlett Packard Enterprise Development Lp | Distributed gateway for local subnet |
JP6260310B2 (ja) * | 2014-02-03 | 2018-01-17 | 富士通株式会社 | ネットワークスイッチ、ネットワークシステム及びネットワークシステムの制御方法 |
US8780811B1 (en) * | 2014-02-04 | 2014-07-15 | Fatpipe, Inc. | Flatnet failover control |
US9313129B2 (en) | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
US9419855B2 (en) | 2014-03-14 | 2016-08-16 | Nicira, Inc. | Static routes for logical routers |
US9225597B2 (en) | 2014-03-14 | 2015-12-29 | Nicira, Inc. | Managed gateways peering with external router to attract ingress packets |
US9590901B2 (en) | 2014-03-14 | 2017-03-07 | Nicira, Inc. | Route advertisement by managed gateways |
US9647883B2 (en) | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US9503321B2 (en) | 2014-03-21 | 2016-11-22 | Nicira, Inc. | Dynamic routing for logical routers |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US9413644B2 (en) | 2014-03-27 | 2016-08-09 | Nicira, Inc. | Ingress ECMP in virtual distributed routing environment |
US9124507B1 (en) | 2014-04-10 | 2015-09-01 | Level 3 Communications, Llc | Proxy of routing protocols to redundant controllers |
WO2015197136A1 (en) * | 2014-06-27 | 2015-12-30 | Nokia Solutions And Networks Oy | Ultra high-speed mobile network based on layer-2 switching |
US9762489B2 (en) * | 2014-09-24 | 2017-09-12 | Cisco Technology, Inc. | Local packet switching at a satellite device |
CN104243318B (zh) * | 2014-09-29 | 2018-10-09 | 新华三技术有限公司 | Vxlan网络中的mac地址学习方法及装置 |
US10020960B2 (en) | 2014-09-30 | 2018-07-10 | Nicira, Inc. | Virtual distributed bridging |
US10320679B2 (en) | 2014-09-30 | 2019-06-11 | Nicira, Inc. | Inline load balancing |
US10250443B2 (en) | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US9755898B2 (en) | 2014-09-30 | 2017-09-05 | Nicira, Inc. | Elastically managing a service node group |
US9768980B2 (en) | 2014-09-30 | 2017-09-19 | Nicira, Inc. | Virtual distributed bridging |
US20160094457A1 (en) | 2014-09-30 | 2016-03-31 | Nicira, Inc. | Tunnel-Enabled Elastic Service Model |
US10250399B1 (en) * | 2014-10-03 | 2019-04-02 | Cisco Technology, Inc. | Multicast routing |
US10079779B2 (en) | 2015-01-30 | 2018-09-18 | Nicira, Inc. | Implementing logical router uplinks |
US9535803B2 (en) | 2015-02-23 | 2017-01-03 | Red Hat Israel, Ltd. | Managing network failure using back-up networks |
US10038628B2 (en) | 2015-04-04 | 2018-07-31 | Nicira, Inc. | Route server mode for dynamic routing between logical and physical networks |
US9967134B2 (en) | 2015-04-06 | 2018-05-08 | Nicira, Inc. | Reduction of network churn based on differences in input state |
US9559910B2 (en) * | 2015-05-29 | 2017-01-31 | International Business Machines Corporation | Locating virtual machine(s) within virtual networks |
US10361952B2 (en) | 2015-06-30 | 2019-07-23 | Nicira, Inc. | Intermediate logical interfaces in a virtual distributed router environment |
US9838315B2 (en) * | 2015-07-29 | 2017-12-05 | Cisco Technology, Inc. | Stretched subnet routing |
US10129142B2 (en) | 2015-08-11 | 2018-11-13 | Nicira, Inc. | Route configuration for logical router |
US10057157B2 (en) | 2015-08-31 | 2018-08-21 | Nicira, Inc. | Automatically advertising NAT routes between logical routers |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US10095535B2 (en) | 2015-10-31 | 2018-10-09 | Nicira, Inc. | Static route types for logical routers |
US10333849B2 (en) | 2016-04-28 | 2019-06-25 | Nicira, Inc. | Automatic configuration of logical routers on edge nodes |
US10484515B2 (en) | 2016-04-29 | 2019-11-19 | Nicira, Inc. | Implementing logical metadata proxy servers in logical networks |
US10091161B2 (en) | 2016-04-30 | 2018-10-02 | Nicira, Inc. | Assignment of router ID for logical routers |
US10027576B2 (en) * | 2016-05-23 | 2018-07-17 | Juniper Networks, Inc. | Method, system, and apparatus for proxying intra-subnet traffic across multiple interfaces within networks |
US10153973B2 (en) | 2016-06-29 | 2018-12-11 | Nicira, Inc. | Installation of routing tables for logical router in route server mode |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10341236B2 (en) | 2016-09-30 | 2019-07-02 | Nicira, Inc. | Anycast edge service gateways |
US10212071B2 (en) | 2016-12-21 | 2019-02-19 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10237123B2 (en) | 2016-12-21 | 2019-03-19 | Nicira, Inc. | Dynamic recovery from a split-brain failure in edge nodes |
US10193812B2 (en) * | 2017-03-31 | 2019-01-29 | Juniper Networks, Inc. | Multicast load balancing in multihoming EVPN networks |
US10382332B2 (en) * | 2017-05-12 | 2019-08-13 | Juniper Networks, Inc. | Route signaling and convergence in EVPN of port extenders |
US10374827B2 (en) | 2017-11-14 | 2019-08-06 | Nicira, Inc. | Identifier that maps to different networks at different datacenters |
US10404489B2 (en) * | 2018-01-12 | 2019-09-03 | Extreme Networks, Inc. | Systems and methods for bootstrapping multicast state without using a nick-name |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465889A (zh) * | 2008-12-03 | 2009-06-24 | 北京星网锐捷网络技术有限公司 | 网络地址转换设备及其响应地址解析协议请求的方法 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0626339B2 (ja) | 1987-11-13 | 1994-04-06 | 日本電気株式会社 | ルーティング表学習方式 |
JP2980172B2 (ja) | 1997-06-11 | 1999-11-22 | 日本電気株式会社 | コネクションレス通信装置 |
US6839348B2 (en) * | 1999-04-30 | 2005-01-04 | Cisco Technology, Inc. | System and method for distributing multicasts in virtual local area networks |
US7752024B2 (en) | 2000-05-05 | 2010-07-06 | Computer Associates Think, Inc. | Systems and methods for constructing multi-layer topological models of computer networks |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
US7260648B2 (en) * | 2001-01-25 | 2007-08-21 | Ericsson, Inc. | Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks |
US7039005B2 (en) | 2001-10-02 | 2006-05-02 | Fujitsu Limited | Protection switching in a communications network employing label switching |
US7072337B1 (en) | 2002-01-25 | 2006-07-04 | 3Com Corporation | System and method for resolving network addresses for network devices on distributed network subnets |
US7529243B2 (en) | 2002-07-16 | 2009-05-05 | Enterasys Networks, Inc. | Apparatus and method for a virtual hierarchical local area network |
US7386605B2 (en) | 2002-11-05 | 2008-06-10 | Enterasys Networks, Inc. | Methods and apparatus for automated edge device configuration in a heterogeneous network |
JP4148949B2 (ja) | 2003-02-12 | 2008-09-10 | 富士通株式会社 | Rpr装置 |
US7619966B2 (en) | 2003-02-21 | 2009-11-17 | Alcatel Lucent | Hybrid virtual private LAN extensions |
US20040202199A1 (en) | 2003-04-11 | 2004-10-14 | Alcatel | Address resolution in IP interworking layer 2 point-to-point connections |
US7006499B2 (en) * | 2003-04-28 | 2006-02-28 | Alcatel Ip Networks, Inc. | Source identifier for MAC address learning |
US7509673B2 (en) | 2003-06-06 | 2009-03-24 | Microsoft Corporation | Multi-layered firewall architecture |
US8923292B2 (en) | 2004-04-06 | 2014-12-30 | Rockstar Consortium Us Lp | Differential forwarding in address-based carrier networks |
JP2005323316A (ja) | 2004-05-11 | 2005-11-17 | Nippon Telegr & Teleph Corp <Ntt> | ゲートウェイ装置 |
KR100694296B1 (ko) * | 2005-11-08 | 2007-03-06 | 한국전자통신연구원 | 가상 인터페이스 기반의 2 계층 멀티캐스트 스위칭 및 3계층 멀티캐스트 라우팅 동시 제공 시스템 및 그 방법 |
US20080019385A1 (en) * | 2005-12-30 | 2008-01-24 | Huawei Technologies Co., Inc. (Usa) | System and method of mapping between local and global service instance identifiers in provider networks |
CN100596094C (zh) * | 2005-12-31 | 2010-03-24 | 华为技术有限公司 | 多点到多点的业务实现方法及交换设备 |
CN101102264B (zh) * | 2006-07-04 | 2011-07-20 | 华为技术有限公司 | 一种以太网转发数据的方法和一种以太网系统 |
KR100754649B1 (ko) * | 2006-07-24 | 2007-09-05 | 삼성전자주식회사 | 브리지 기반 무선 기지국 기간망 시스템 및 그 신호 처리방법 |
US7876765B2 (en) | 2006-09-29 | 2011-01-25 | Intel Corporation | Method for supporting IP network interconnectivity between partitions in a virtualized environment |
US8531991B2 (en) | 2006-10-16 | 2013-09-10 | Cisco Technology, Inc. | Multi-chassis emulated switch |
US7684352B2 (en) | 2006-11-02 | 2010-03-23 | Nortel Networks Ltd | Distributed storage of routing information in a link state protocol controlled network |
US8223668B2 (en) * | 2006-12-14 | 2012-07-17 | Rockstar Bidco Lp | Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas |
US20080159277A1 (en) * | 2006-12-15 | 2008-07-03 | Brocade Communications Systems, Inc. | Ethernet over fibre channel |
US8259720B2 (en) | 2007-02-02 | 2012-09-04 | Cisco Technology, Inc. | Triple-tier anycast addressing |
US8363657B2 (en) | 2007-05-23 | 2013-01-29 | Apple Inc. | SIP-enabled framework for multi-domain roaming control plane in a WiMAX access network |
CN101828366A (zh) * | 2007-10-18 | 2010-09-08 | Ip输入公司 | 运营商网络连接装置以及运营商网络 |
EP2274897B1 (en) | 2007-11-26 | 2012-01-11 | Telefonaktiebolaget LM Ericsson (publ) | Technique for address resolution in a data transmission network |
US20090141727A1 (en) | 2007-11-30 | 2009-06-04 | Brown Aaron C | Method and System for Infiniband Over Ethernet by Mapping an Ethernet Media Access Control (MAC) Address to an Infiniband Local Identifier (LID) |
US8194674B1 (en) * | 2007-12-20 | 2012-06-05 | Quest Software, Inc. | System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses |
US7894450B2 (en) * | 2007-12-31 | 2011-02-22 | Nortel Network, Ltd. | Implementation of VPNs over a link state protocol controlled ethernet network |
US8160063B2 (en) * | 2008-06-09 | 2012-04-17 | Microsoft Corporation | Data center interconnect and traffic engineering |
US20100111086A1 (en) | 2008-11-05 | 2010-05-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Multicast and bidirectional unicast signaling in single root multipoint services using rsvp-te |
US8532108B2 (en) * | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
US8625616B2 (en) | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
US8705542B2 (en) | 2010-06-17 | 2014-04-22 | Telfonaktiebolaget Lm Ericsson (Publ) | L2 method for partial VLAN service migration |
CN103270736B (zh) * | 2010-06-29 | 2016-08-10 | 华为技术有限公司 | 一种网络设备 |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US8473557B2 (en) | 2010-08-24 | 2013-06-25 | At&T Intellectual Property I, L.P. | Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network |
US8681606B2 (en) | 2011-08-30 | 2014-03-25 | International Business Machines Corporation | Implementing redundancy on infiniband (IB) networks |
-
2011
- 2011-06-29 CN CN201180031894.5A patent/CN103270736B/zh active IP Right Grant
- 2011-06-29 US US13/172,614 patent/US8897303B2/en active Active
- 2011-06-29 EP EP11730839.5A patent/EP2589208A1/en active Pending
- 2011-06-29 WO PCT/US2011/042453 patent/WO2012006190A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465889A (zh) * | 2008-12-03 | 2009-06-24 | 北京星网锐捷网络技术有限公司 | 网络地址转换设备及其响应地址解析协议请求的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120014386A1 (en) | 2012-01-19 |
EP2589208A1 (en) | 2013-05-08 |
US8897303B2 (en) | 2014-11-25 |
WO2012006190A1 (en) | 2012-01-12 |
CN103270736A (zh) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9794116B2 (en) | Managing use of intermediate destination computing nodes for provided computer networks | |
US7787480B1 (en) | Routing frames in a trill network using service VLAN identifiers | |
EP2174214B1 (en) | Overlay transport virtualization | |
CN104272668B (zh) | 层3覆盖网关 | |
US9432213B2 (en) | IP forwarding across a link state protocol controlled ethernet network | |
JP6080313B2 (ja) | 仮想ネットワークを実装及び管理するシステム及び方法 | |
CN105706400B (zh) | 在网络上转发分组的方法和装置 | |
CN102804693B (zh) | 用于在ip网络上实现l2 vpn的方法和设备 | |
JP5600189B2 (ja) | リンク状態プロトコル制御型イーサネット・ネットワーク上でのvpnの実装 | |
CN104471899B (zh) | 通过ietf evpn的802.1aq支持 | |
CN104412551B (zh) | 具有虚拟机移动性的分组转发最优化 | |
US9749230B2 (en) | Method of sending address correspondence in a second layer protocol of applying link state routing | |
US9749231B2 (en) | Method and system for overlay routing with VXLAN on bare metal servers | |
US8683023B1 (en) | Managing communications involving external nodes of provided computer networks | |
JP2016040925A (ja) | アジャイルデータセンタネットワークアーキテクチャ | |
US8705528B2 (en) | Subnet scoped multicast/broadcast packet distribution mechanism over a routed network | |
EP2856706B1 (en) | Routing vlan tagged packets to far end addresses of virtual forwarding instances using separate administrations | |
US20080159277A1 (en) | Ethernet over fibre channel | |
JP6009553B2 (ja) | インターネットプロトコルネットワーク上でイーサネットパケットをルーティングするための集中型システム | |
US9756682B2 (en) | Method and system for partitioning wireless local area network | |
CN102546351B (zh) | openflow网络和现有IP网络互联的系统和方法 | |
US9667541B2 (en) | Virtual MAC address, mask-based, packet forwarding | |
CN104871495B (zh) | 用于叠加网络的虚拟叠加网关 | |
US9448821B2 (en) | Method and system for realizing virtual machine mobility | |
US9374323B2 (en) | Communication between endpoints in different VXLAN networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |