CN102726021B - 灵活的数据中心网络体系结构 - Google Patents

灵活的数据中心网络体系结构 Download PDF

Info

Publication number
CN102726021B
CN102726021B CN201080024662.2A CN201080024662A CN102726021B CN 102726021 B CN102726021 B CN 102726021B CN 201080024662 A CN201080024662 A CN 201080024662A CN 102726021 B CN102726021 B CN 102726021B
Authority
CN
China
Prior art keywords
server
layer
network
packet
switch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080024662.2A
Other languages
English (en)
Other versions
CN102726021A (zh
Inventor
A·格林伯格
P·拉希里
D·A·马尔茨
P·帕特尔
S·森古普塔
N·贾殷
C·金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/578,608 external-priority patent/US9497039B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102726021A publication Critical patent/CN102726021A/zh
Application granted granted Critical
Publication of CN102726021B publication Critical patent/CN102726021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本专利申请涉及可在数据中心中利用的灵活网络体系结构等等。一种实现提供连接第三层基础结构的机器的虚拟第二层网络。

Description

灵活的数据中心网络体系结构
背景技术
传统数据中心网络体系结构具有一些设计不足,这些设计不足会降低其灵活性(即它们将数据中心网络的任何服务器分配给任何服务的能力)。首先,传统网络的配置通常本质上是树形的,并包括相对昂贵的设备。这可能导致拥塞和计算热点的发展——即便在网络的其他地方有空余能力可用。其次,传统数据中心网络在防止一个服务中的流量泛滥影响它周围的其他服务方面做得不多。当一个服务经历流量泛滥时,共享相同网络子树的所有那些服务经受波及损害是常见的。再次,传统数据中心网络中的路由设计通常通过为服务器分配在拓扑结构上显著的网际协议(IP)地址并将服务器在各虚拟局域网间划分来实现缩放。然而,当在各服务间重新分配服务器并且从而进一步分割数据中心的资源时,这可能带来巨大的配置负担。而且,在这些重新配置中通常需要人类的参与,从而限制了这一过程的速度。最后,诸如配置传统数据中心网络的难度和在这些网络中使用的设备的成本等其他考量也会对这些网络的灵活性带来负面影响。
概述
本专利申请尤其涉及可在数据中心中利用的灵活的网络体系结构。一种实现提供连接诸如第三层(layer-3)基础结构的服务器等机器的虚拟第二层(layer-2)网络。
另一种实现包括经由多个交换机来通信耦合的多个计算设备。各单独的计算设备可与应用地址相关联。一单独的计算设备可被配置以担当源而另一单独的计算设备可被配置以担当目的地。源计算设备可被配置成向目的地计算设备的应用地址发送分组。该实现还可包括灵活代理,该灵活代理被配置成截取该分组并标识与目的地计算设备相关联的位置地址并选择通过其向该位置地址发送分组的单独的交换机。
上面所列的实现是为介绍的目的提供的,并且不包括和/或限制所要求保护的主题的全部。
附图说明
附图示出了本申请中传达的概念的实现。所示实现的特征可通过参考以下结合附图的描述来更容易地理解。只要可行,各附图中相同的附图标记用来指代相同的元素。此外,每一个如图标记的最左边的数字传达其中首次引入该附图标记的附图及相关联的讨论。
图1-6示出根据本发明概念的一些实现的灵活网络体系结构的示例。
图7-9示出根据本发明概念的一些实现的灵活网络数据中心布局的示例。
图10是可根据本发明概念的一些实现来实现的灵活网络方法的流程图。
具体实施方式
概览
本专利申请尤其涉及可在数据中心中利用的灵活的网络体系结构。云服务驱动着可能保持数十万服务器的大型数据中心的创建。这些数据中心可同时支持很大数量且数量变化的不同服务(web应用、电子邮件、映射化简(map-reduce)集群等)。云服务数据中心的实现可依赖于横向扩展(scale-out)设计:通过可根据需要在各服务间快速重新分配的大的资源(例如,服务器)池来实现可靠性和性能。将数据中心网络的任何服务器分配到任何服务的能力可被认为是数据中心网络的灵活性。为了有效利用数据中心的优势(其与巨大的成本相关联),网络灵活性可能是有价值的。没有了网络灵活性,数据中心服务器资源会搁浅,因此钱被浪费。
第一示例灵活网络体系结构
为了介绍目的,考虑图1-2,图1-2示出了灵活网络体系结构100的示例。灵活数据网络体系结构100可包括多个服务器侧计算设备,诸如服务器102(1)、102(2)、102(3)和102(N)。
术语“服务器”和“机器”应当被理解为是指可发送或接收数据的任何设备。例如,这些术语应当被理解为是指以下任何一种:物理服务器、在服务器上运行的虚拟机(例如,使用虚拟化技术)、运行单个操作系统的计算设备、运行多于一个操作系统的计算设备、运行不同操作系统(例如,MicrosoftWindows,Linux,FreeBSD)的计算设备、除了服务器以外的计算设备(例如,膝上型计算机、可寻址电源)、或计算设备的一部分(例如,网络附连磁盘、网络附连存储器、存储子系统、存储区域网络(SAN)、图形处理单元、数字加速度计、量子计算设备)。
相对于服务器的数量,灵活网络体系结构100可提升可缩放性。一种可实现可缩放性的方式是通过利用应用地址为服务器102(1)-102(N)创建类似以太网的平面地址(flataddressing)。以太网第二层语义可与实现支持平面地址的网络状态相关联,其中任何网际协议(IP)地址可被分配给连接到任何网络端口的任何服务器——就像这些服务器在局域网(LAN)上一样。
在此情况下,应用地址(AA)104(1)、104(2)、104(3)、104(N)可分别被分配给每个服务器102(1)、102(2)、102(3)、102(N)。从服务器的角度,任何服务器可经由相关联的应用地址104(1)、104(2)、104(3)、104(N)与任何其他服务器对话。这可以被看作是第二层功能,因为应用地址可以按任何方式来安排,包括会对包含服务器102(1)、102(2)、102(3)、102(N)的局域网(LAN)有效的所有方式。然而,如同下面将会解释的,在一些实现中,灵活网络体系结构的底层基础结构可以是如在106处指示的第三层。因此,这些实现可在第三层基础结构106上或利用第三层基础结构106创建虚拟第二层网络108。可存在多于一个在同一第三层基础结构106上创建的虚拟第二层网络108,并且每个服务器可属于这些虚拟第二层网络108中的一个或多个。
图2介绍了经由网络204连接到灵活网络体系结构100的外部客户机202。灵活网络体系结构100可允许外部客户机与被分配给服务器中102(1)-102(N)的一个或多个服务器的全局或位置地址206进行通信,而外部客户机无需知晓应用地址104(1)-104(N)。这些发明概念在下面参考对图3-5的讨论更详细地解释。
第二示例灵活网络体系结构
图3示出了可在其实现上述概念的示例灵活网络体系结构300。在此情况下,外部客户机302可经由因特网306和/或其他网络与灵活系统304通信。在此实现中,灵活系统304包括:在308概括指示并且在308(1)到308(N)具体指示的一组路由器;在310概括指示并且在310(1)、310(2)和310(N)具体指示的多个中间路由器;在312概括指示并且在312(1)、312(2)和312(N)具体指示的多个聚集交换机;在314概括指示并且在314(1)、314(2)和314(N)具体指示的多个架顶式(TOR或ToR)交换机;以及在316概括指示并且在316(1)、316(2)、316(3)、316(4)、316(5)和316(N)具体指示的多个服务器。由于绘图页的空间约束,只示出了六个服务器316(1)-316(N),但是灵活系统304可轻易容纳数千、数万、数十万或更多服务器。注意,为了简明,并且由于绘图页的空间约束,图3-8中没有示出各组件之间的全部连接(即,通信路径)。
服务器316(1)和316(2)与TOR交换机314(1)相关联来作为服务器机架318(1)。类似地,服务器316(3)和316(4)与TOR交换机314(2)相关联来作为服务器机架318(2),而服务器316(5)和316(N)与TOR交换机314(N)相关联来作为服务器机架318(N)。再说一次,这是由于绘图页的空间约束,服务器机架通常包括十个或更多服务器。此外,各单独的服务器可与灵活代理相关联。例如,服务器316(1)与灵活代理320(1)相关联。在服务器316(2)-316(N)和灵活代理320(2)-320(N)之间分别示出了类似的关系。
下面更详细地描述灵活代理320(1)-320(N)的功能。简言之,灵活代理可便于各单独的服务器之间的通信。在此特定实例中,灵活代理可被看作作为计算机可读指令存储在服务器上的逻辑模块。其他实现可涉及其中服务一组服务器的灵活代理320位于交换机(例如,TOR交换机314或中间交换机310)上的配置。当位于交换机上时,灵活代理可在分组在网络上从服务器316流向中间交换机310时处理这些分组。在这样的配置中,灵活代理320可使用分组转发路径上的定制硬件和在该转发路径中或交换机的控制处理器中执行的软件指令的组合来实现。
灵活系统304还包括三个目录服务模块322(1)-322(N)。所示数量的目录服务模块对于灵活系统不是关键的,而其他实现可采用更少或更多的目录服务模块(和/或其他所示组件)。下面更加详细地讨论目录服务器的功能。简言之,除其他信息之外,目录服务模块还可包含应用地址到位置地址的映射(前向或反向映射之一或两者),该映射可被灵活代理320(1)-320(N)(和/或其他组件)用来帮助在灵活系统304上的通信。在此情况下,目录服务模块322(1)-322(N)与特定服务器316(1)、316(3)和316(5)相关联。在其他配置中,目录服务模块可与诸如数据中心控制服务器、交换机等其他组件一起出现,和/或在专用计算设备上出现。
灵活系统304可被看作是包含两个逻辑编组。第一逻辑编组是如在326指示的承载位置地址或全局地址的链路状态网络。第二逻辑编组是如在328指示的拥有应用地址的可互换服务器池。简言之,链路状态网络326的组件不需要交换信息以跟踪服务器池328中的哪个服务器当前正在使用哪个应用地址。而且,从服务器的角度,服务器可经由任何其他服务器的应用地址与服务器池328中的该其他服务器进行通信。这个过程由灵活代理、目录服务和/或其他组件以对服务器透明的方式来促进。换言之,该过程可对服务器上运行的应用是透明的,尽管该服务器上的其他组件可以知道该过程。
路由器308、中间交换机310、聚集交换机312、TOR交换机314和服务器316(1)-316(N)可以通信耦合,诸如使用第三层技术。从各单独的服务器的角度,与其他服务器的通信表现为第二层通信(即,虚拟第二层)。然而,诸如从服务器机架318(1)的源服务器316(1)到服务器机架318(2)的目的地服务器316(3)等机架间通信实际上可通过第三层基础结构进行。例如,灵活代理320(1)可截取该通信(即,定址到服务器316(3)的应用地址的分组)并帮助其传输。
灵活代理320(1)可访问目录服务模块322(1)-322(N)中的一个或多个以获得应用地址到与服务器316(3)相关联的位置地址的映射。例如,所映射的位置地址可以是到TOR交换机314(2)的。灵活代理可使用位置地址来封装分组。然后灵活代理可选择一单独的(或一组)通过其发送或弹出所封装的分组的聚集和/或中间交换机。下面更详细地描述此选择过程的特征。在TOR交换机314(2)处接收到所封装的分组后,该TOR交换机就可将该分组解封装(de-capsulate)并向服务器316(3)发送该分组。在替代实施例中,该位置地址可与服务器316(3)或服务器316(3)上运行的虚拟机相关联,而该分组可在目的地服务器自身上被解封装。在这些实施例中,被分配给该服务器或虚拟机的位置地址可对在该服务器上操作的其他应用隐藏,以对这些应用保持它们是由LAN相连接的假象,其中该应用地址是在该LNA上其他主机用于与这些应用进行通信的地址。
在替代实施例中,在跨越第三层/第二层边界后,该分组可被其他组件解封装。例如,可执行该解封装的组件的示例可包括虚拟机监视器的系统管理程序和/或根分区。
该配置可允许将大量服务器添加到服务器池328,而从服务器的角度其他服务器可表现为就像它们在同一子网上一样。替代地或附加地,链路状态网络326的组件不需要知道服务器应用地址。此外,每当地址信息改变时,诸如当服务器被添加或移除时,目录服务均能简单地被更新,而不是必须更新多个不同类型的组件。
总之,第二层语义可与实现支持平面地址的网络状态相关联,其中任何IP地址可被分配给连接到任何网络端口的任何服务器——就像这些服务器在LAN上一样。而且,链路状态网络326中的组件(即,交换机)可知道该链路状态网络内的其他组件而不需要知道服务器池328的组件。此外,TOR交换机可知晓它们各自的机架中的服务器,而不需要知晓其他机架的服务器。此外,灵活代理可截取服务器应用地址(AA)分组并标识与该AA的目的地计算设备相关联的位置地址(LA)。然后该灵活代理可选择用于通过其向该LA发送分组的单独的交换机(或交换机组)。在此情况下,该单独的交换机可包括可用交换机中的任何一个或多个。
该配置还帮助与服务有关的其他服务器特征。例如,诸如目录服务模块322(1)-322(N)中可包含的数据中心管理软件可向任何服务分配任何服务器316(1)-316(N)并用该服务所期望的任何IP地址配置该服务器。每个服务器的网络配置可等同于经由LAN连接时的网络配置,并且可支持诸如链路-本地广播等特征。各服务间的通信隔离的目标可与提供用于定义服务和通信组的简单而一致的应用程序接口(API)相关联。就此,目录服务可定义与服务(例如,顾客)相关联的服务器组。可允许一组中的各服务器之间的完全连接,并且可指定诸如访问控制列表(ACL)等策略以用于管控不同组中的哪些服务器应被允许通信。
上面的配置还适用于流量管理。出于解释的目的,假定第一顾客为由灵活系统304的服务器执行的服务支付了相对高的费率并相应地获得了相对高质量的服务协定。此外,假定第二顾客支付了相对较低的费率并相应地收到了相对较低质量的服务协定。在这种情况下,相对高百分比的或全部的中间交换机310(1)-310(N)可被分配为处理第一顾客的流量,而较小数量的交换机可被分配给第二顾客。换言之,交换机的第一子组可被分配给第一顾客而交换机的第二子组可被分配给第二顾客。所述第一和第二组可相互排斥或重叠。例如,在一些实现中,各单独的交换机可专用于特定顾客或分配给多个顾客。例如,中间交换机310(1)可被分配给这两个顾客,而中间交换机310(2)和310(N)可被排他地分配给第一顾客。
总之,并且如下面将更详细地解释的,灵活网络体系结构300可与以下目标中的一个或多个相关联:服务器间均匀的高容量、服务间的性能隔离、以太网第二层语义、和/或服务间的通信隔离。服务器间的均匀的高容量的目标可与实现以下网络状态相关联:其中网络中的流量流的速率除了被发送和接收服务器的网络接口卡的可用能力限制外主要是不受限的。如此,从开发者的角度,通过实现此目标,网络拓扑结构可以不再是向服务添加服务器时的主要顾虑。服务间的性能隔离的目标可与实现以下网络状态相关联:其中一个服务的流量不受任何其他服务所处理的流量的影响——就像每个服务被分开的物理交换机连接一样。以太网第二层语义的目标可与实现支持平面地址的网络状态相关联,其中几乎任何IP地址可被分配给连接到任何网络端口的任何服务器——就像这些服务器在LAN上一样。如此,数据中心管理软件可将任何服务器分配给任何服务并用该服务所期望的任何IP地址来配置该服务器。
每个服务器的网络配置可等同于经由LAN连接时的网络配置,并且可支持诸如链路-本地广播等特征。服务间的通信隔离的目标可与提供用于定义服务和通信组的简单而一致的API相关联。就此,可提供定义服务器组的目录系统(即,经由例如目录服务模块322(1)-322(N))。可允许一组中的各服务器之间的完全连接,并且可指定策略以用于管控不同组中的哪些服务器应被允许通信。
通过利用所描述的灵活网络体系结构,可提供与以下网络特征中的一个或多个相关联的数据中心网络:(1)允许将服务实例置于该网络中任何地方的平面地址,(2)使用随机化来将流量均匀分散在各网络路径上的负载平衡(例如,Valiant负载平衡(VLB)),以及(3)用于实现第二层以太网语义同时缩放到大型服务器池的新的基于终端系统的地址解析服务。
为实现上述目标,在至少一些实施例中,在各实现中可采用以下灵活网络体系结构设计原理中的一个或多个:
利用具有扩展路径多样性的拓扑结构
通过利用“网状”拓扑结构,可在各单独的服务器组之间提供多个路径。例如,服务器机架318(1)的服务器和服务器机架318(N)的服务器之间的通信可从TOR交换机314(1)通过聚集交换机312(1)-312(2)中的任何一个到达中间交换机中310(1)-310(N)的任何一个。该通信可从该中间交换机通过聚集交换机312(2)-312(N)中的任何一个到达TOR交换机314(N)。
该配置可带来若干好处。例如,多个路径的存在可以允许减少和/或消除网络的拥塞而不需要显式流量工程或对参数的调节。此外,多个路径允许“横向扩展”网络设计。换言之,通过添加更多低成本交换机可以添加更多容量。相反,传统的分层网络设计将流量集中在该分层的较高层次的一个或非常少的链路上。作为结果,传统网络可需要购买昂贵的“大型(bigiron)”交换机以处理高流量密度。
而且,通过利用“网状”拓扑结构,多个路径可允许在链路或交换机失效时的优雅降级。例如,根据在给定层处具有“n”个交换机的所述灵活数据中心网络体系结构实现的灵活网络在一交换机失效时只损失1/n的能力,而与之相比传统网络可丢失其能力的50%。根据所述灵活数据网络体系结构实现的灵活网络可潜在地利用整个二分拓扑结构。
用于处理易失性的随机化
数据中心可在其工作负载、其流量及其失效模式中具有大量的易失性。相应地,可创建大型资源池。然后工作可在其上随机扩散;可损失最佳情况上的一些性能以将最差情况改善为平均情况。在至少一些实现中,可利用与扩展路径多样性相关联的拓扑结构(例如,如在图3中证明的)。可使用诸如Valiant负载平衡(VLB)技术等负载平衡技术来跨该拓扑结构对工作流进行路由。简言之,VLB技术可涉及随机选择用于承载数据传输的一条或多条路径,其中路径是由一系列链路和/或交换机构成的。随后,可重新选择该路径,其中重新选择需要改变构成原始路径的所述交换机或链路中的一个或多个。所述重新选择可周期性地进行,诸如在发送/接收指定数量的字节/分组之后,和/或响应于与所选路径、交换机或链路相关联的传输问题指示。例如,如果检测到分组延迟或其他通信减损,则可重复该选择过程。通过应用本原理,可以满足均匀的容量和性能隔离的目标。
更具体而言,为了处理数据中心流量矩阵中的易失性和不确定性,可利用负载平衡技术(例如,VLB)来跨各网络路径随机地对流进行散列。此方案的一个目标可以是为经受如软管流量模型中的网络进入-外出约束的任意流量变化提供带宽保证。简言之,软管模型指定:在给定路径上的数据传输速率不能超过该路径的最慢的或最受约束的部分。
以流为粒度来使用像VLB等负载平衡技术(意味着除在重新选择路径以外流的大多数分组沿着相同路径通过该网络)可以是有利的,因为它能减少流的分组被重新排序或者在目的地处经历快速改变的等待时间、和/或由于流内的最大传输单元(MTU)的差异而中断路径MTU发现协议的操作的机率。一些类型的流量(例如,未被分组重排序损害的那些)和一些环境(例如,沿所有路径具有非常均匀的延迟的那些)可优选以分组为粒度来使用像VLB等负载平衡(意味着对于分组序列中的每个分组使用可能不同的路径)。可以使用流的任何一种共同接受的定义,例如:IP5元组流、IP2元组流、或两个子网或地址范围之间的分组集合。
在提供灵活数据中心网络的上下文中,进入-外出约束可对应于服务器线卡速度。结合高二等分带宽拓扑结构(例如,折叠Clos拓扑结构),可利用该负载平衡技术来创建非干扰分组交换网络(非阻塞电路交换网络的对应者)并为不具有超出服务器进入-外出端口速度的持续负载的流量模式提供无热点性能。就此,在一些实现中,可使用传输控制协议(TCP)的端到端拥塞控制机制来实施软管模型并避免使服务器端口速度超限运转。这一原理可以带来图3中示出的逻辑拓扑结构,其可包括三个不同的交换机层:TOR314、聚集312和中间310。从一个服务器到另一个服务器的流可采用经过随机中间交换机、跨越TOR和聚集交换机的随机路径。因此诸如VLB等负载平衡技术可在数据中心的交换机间结构的上下文中使用以使利用率平滑化,同时消除持久流量拥塞。
将名字与位置分离
将名字与位置分离可创建可用于实现新特征的自由度。可利用此原理来允许数据中心网络中的灵活性并通过减少地址和位置间的绑定可能导致的分割而提高利用率。通过应用此原理和下面描述的涵盖终端系统的原理,可满足第二层语义目标。如此,可允许开发者分配IP地址而与网络拓扑结构无关并且不需要重新配置他们的应用或网络交换机。
为了提升网络灵活性(在任何服务器上支持任何服务、动态增长和收缩服务器池、以及工作负载迁移),可使用将名字(称为AA)和定位符(称为LA)分离的IP寻址方案。诸如可表现为目录服务模块322(1)-322(N)的灵活目录服务可被限定为以可缩放并且可靠的方式管理AA和LA之间的映射。该灵活目录服务可被各单独的服务器上的网络栈中运行的垫片(shim)层调用。在图3中示出的实现中,该垫片层可表现为灵活代理320(1)-320(N)。
涵盖终端系统
数据中心服务器上的包括操作系统在内的软件通常被扩展地修改以供在数据中心内使用。例如,新的或经修改的软件可为虚拟化或团块(blob)文件系统创建系统管理程序以跨各服务器来存储数据。可利用该软件的可编程性,而不是更改交换机上的软件。此外,可避免或限制对交换机或服务器的硬件的改变并且传统应用可以保持不变。通过在各服务器上使用软件以在当前可用的低成本交换机专用集成电路(ASIC)的限制内工作,可以创建当今可构建并部署的设计。例如,通过截取服务器上的ARP请求并将其转换为对目录系统的查找请求,而不是试图经由交换机上的软件或硬件改变来控制ARP,可以减少和/或消除由广播地址解析协议(ARP)分组带来的可伸缩性问题。
图4更详细地示出了示例灵活代理320(1)。在此情况下,灵活代理320(1)在包括用户模式406和内核模式408的服务器机器402上操作。该服务器机器包括该用户模式中的用户模式代理410。该内核模式包括TCP组件412、IP组件414、封装器416、NIC418和路由信息高速缓存420。服务器机器可包括目录服务322(1)和/或与其通信。该目录服务可包括服务器角色组件422、服务器健康组件424、以及网络健康组件426。灵活代理320(1)可包括用户模式代理410、封装器416、以及路由信息高速缓存420。封装器416可截取ARP并将其发送给用户模式代理410。用户模式代理可查询目录服务322(1)。应当理解,这些框的其他安排也是可能的,诸如将该用户模式代理包括在内核模式组件中或除经由ARP以外的机制来调用目录查找,诸如在路由表查找过程中或经由诸如IP表或IP链等机制。
在图3的灵活网络体系结构中,终端系统控制可提供快速注入新功能的机制。如此,该灵活代理可通过控制在负载平衡中使用的随机化来提供细粒度的路径控制。此外,为了实现名字和位置的分离,该灵活代理可用对该灵活目录服务的查询来代替以太网的ARP功能。该灵活目录服务本身可实现在服务器上而不是交换机上。该灵活目录服务允许对服务器可达性、编组、访问控制、资源分配(例如,中间交换机的容量)、隔离(例如,非重叠的中间交换机)、以及动态增长和缩小进行细粒度的控制。
利用网络技术
在网络交换机中利用具有稳健实现的一个或多个网络技术可简化灵活网络的设计并增加运营商部署这样的网络的意愿。例如,在至少一些实现中,可在网络交换机上实现链路状态路由协议以对服务器隐藏某些失效并且还可将其用于帮助减少该灵活目录服务上的负载。这些协议可用于维护该灵活网络的拓扑结构和路由,这能减少该灵活目录服务和该网络控制平面之间的耦合。通过在交换机上定义任播(anycast)地址的路由设计,所述灵活体系结构可利用等价多径(ECMP)来对服务器隐藏交换机的失效。这可进一步减少目录系统上的负载。支持使用多个路径的其他路由协议也是适合的。
关于虚拟第二层联网示例的实现细节
横向扩展拓扑结构
传统网络通常将流量集中在网络的最高层级处的几个交换机中。这既会将二等分带宽约束于这些设备的容量,又会在它们失效时严重影响网络。然而,为了避免这些问题,可利用由使用随机化来处理流量易失性的原理所驱动的灵活网络拓扑结构。就此,可采用横向扩展网络设备的方法。这可带来专用于快速转发的低复杂度交换机的相对宽泛的网络,如图3中所示。这是折叠Clos网络的示例,在折叠Clos网络中,中间交换机310(1)-310(N)和聚集交换机312(1)-312(N)之间的链路可形成完整二分图。如在传统拓扑结构中,TOR可连接到两个聚集交换机。然而,任何两个聚集交换机之间的大量路径意味着如果存在n个中间交换机,则这些交换机中的任何一个的失效会将二等分带宽减少仅1/n——一种可被称为优雅带宽降级的期望特性。此外,诸如Clos网络等网络可被设计为使得超额认购(oversubscription)不存在。例如,在图3中,可使用具有D个接口端口计数的聚集和中间交换机。这些交换机可如此连接以使得每层交换机之间的容量是链路能力的D*D/2倍。
诸如Clos网络等网络可特别好地适用于负载平衡(例如,VLB),因为通过在网络的顶层或“脊(spine)”处的中间交换机弹回,该网络可为经受服务器线卡处的进入-外出限制的潜在的所有可能流量矩阵提供带宽保证。路由可以是简单而有弹性的(例如,可采取上至随机中间节点的随机路径并采取向下随机路径)。
所述灵活体系结构可提供比用传统网络体系结构所实现的更大的路径控制。更具体而言,中间节点可被分区,而流量类别专用于不同分区以将更高的总带宽分配给一些流量类别。拥塞指示可通过显式拥塞通知(ECN)或类似机制(诸如电气和电子工程师协会(IEEE)802.1Qau拥塞控制中的)被发送回发送者。如此,累积ECN信号的发送者可通过改变用于选择通过网络的替代路径(上面称为重新选择路径)的源分组中的字段来进行响应。
灵活路由
为了实现将名字与定位符分离的原理,灵活网络可使用两个IP地址族。图3示出这样的分离。该网络基础结构可按照LA工作。可向交换机和接口(310(1)-310(N)、312(1)-312(N)和314(1)-314(N)分配LA。这些交换机可运行承载这些LA的链路状态IP路由协议。
诸如在服务器上运行的应用316(1)-316(N)等应用可以不知晓LA但是知晓AA。该分离可与若干好处相关。首先,分组可被隧道传输至适当的LA而不是被直接发送给AA(各交换机不需要对每个主机维护一路由项以传递它们)。这意味着将AA转换为LA的灵活目录服务能够实现关于哪些服务应被允许通信的策略。其次,低成本交换机经常具有能够保持所有LA路由但是会被AA的数量淹没的小路由表(例如,12K个项)。这种概念可以是特别有价值的,因为它可允许构建比交换机能保持的路由项的数量更大的网络。第三,该分离允许灵活性,因为任何AA可被分配给任何服务器而与拓扑结构无关。第四,与AA分开地分配LA的自由意味着LA能以如此方式分配以使它们可以被以拓扑结构上显著的方式概括,从而进一步限制了交换机必须承载的路由状态的量,同时不妨碍以数据中心内的服务或数据中心的运营商所需的任何方式分配应用地址的能力。
本发明的替代实施例可使用其他类型的数据作为LA和AA地址。例如,LA地址可以是IPv4而AA地址可以是IPV6,或反之亦然,或可对AA和LA地址两者均使用IPV6地址,或可使用IEEE802.1MAC地址作为AA地址而使用IP地址(v4或v6)作为LA地址,或反之亦然,等等。地址还可通过将不同类型的地址组合起来而创建,诸如具有IP地址的VLAN标签或VRF标识符。
下面的讨论解释了该拓扑结构、路由设计、灵活代理和灵活目录服务可被如何组合以虚拟化底层网络结构并对该灵活网络的服务器316(1)-316(N)创建它们连接至第二层LAN(及其上的任何事物)中的它们组的其他服务器316(1)-316(N)以及该主机是相对大的数据中心范围的第二层LAN的一部分的假象。
地址解析和分组转发
在至少一些实现中,为了使服务器316(1)-316(N)能够相信它们与相同服务中的其他服务器共享单个大VLAN,同时消除可能困扰大型以太网的广播ARP缩放瓶颈,提供了下面提到的解决方案。最初,应当注意到,下面的解决方案是向后兼容并且对现有数据中心应用透明的。
分组转发
AA通常不被宣告到网络的路由协议中。相应地,为了使服务器接收到分组,该分组的源可首先封装该分组,将外部首部的目的地设定至主机的LA。一旦到达持有该LA地址的设备,该分组被解封装并传递到目的地服务器。在一个实施例中,目的地服务器的LA被分配给该目的地服务器位于其下的TOR。一旦该分组到达其目的地TOR,该TOR交换机可解封装该分组并根据标准第二层传递规则基于内部首部中的目的地AA来传递它。或者,LA可与物理目的地服务器或该服务器上运行的虚拟机相关联。
地址解析
服务器可被配置成相信AA地址与其处于相同的LAN中,所以当应用首次向AA发送分组时,该主机上的内核网络栈可生成对目的地AA的广播ARP请求。源主机的联网栈中运行的灵活代理能截取该ARP请求并将其转换成对灵活目录服务的单播查询。当该灵活目录服务应答该查询时,它可提供分组应当被隧道传输到的LA。它还可提供可用于弹回该分组的中间交换机或中间交换机组。
目录服务的服务间访问控制
如果服务器不能获得它们必须将AA的分组信道传输到的TOR的LA,它们可能不能够向该AA发送分组。相应地,灵活目录服务322(1)-322(N)可实施通信策略。当处理查找请求时,该灵活目录服务知晓哪个服务器在做出该请求、源和目的地两者所属的服务、以及这些服务之间的隔离策略。如果策略是“拒绝”,则该灵活目录服务可简单地拒绝提供LA。所述灵活网络体系结构的一个优点在于:当允许服务器间通信时,分组能从发送服务器直接流向接收服务器,而不绕道IP网关。这与传统体系结构中两个VLAN的连接不类似。
与因特网的交互
经常,数据中心处理的流量的大约20%可以是去往或来自因特网的。因此,对于数据中心网络来说能够处理这些大的量是有利的。尽管所述移动网络体系结构利用第三层结构来实现虚拟第二层网络一开始看起来很奇怪,然而这样的一个优势是,外部流量能直接跨越构成具有这种体系结构的灵活数据中心网络的交换机的高速硅流动而不被强迫穿过网关服务器以使其首部被重写,如一些传统的和所提出的网络环境中所需的。
需要从因特网直接可达的服务器(例如,前端web服务器)可被分配两个地址:LA和AA。LA可用于互连网络通信。AA可用于与后端服务器的数据中心内通信。LA可从经由边界网关协议(BGP)宣告的且外部可达的池提取。然后来自因特网的流量可直接达到该服务器。从该服务器到外部目的地的分组可被路由向核心路由器,同时通过ECMP分散在各可用链路和各核心路由器之间。
处理广播
所述灵活网络体系结构可向应用提供第二层语义以向后兼容。这可包括支持广播和多播。该灵活网络体系结构的方案是完全消除最常见的广播源,诸如ARP和动态主机配置协议(DHCP)。可通过如上所述在灵活代理320中截取ARP分组并在从该灵活目录服务咨询信息之后提供响应来处理ARP,而DHCP分组可在TOR处使用传统DHCP中继代理来截取并被单播转发到DHCP服务器。为了处理其他广播分组,应当能够接收由该组中的其他主机所发送的广播分组的每组主机可被分配一IP广播地址。这一地址可由该目录系统分配而灵活代理可通过查询该目录系统来获知它。
被发送到该广播地址的分组可被修改以改为去往该服务的广播地址。该灵活网络体系结构的灵活代理可对广播流量进行速率限制以防止风暴。该灵活代理可维护最近时间间隔内(例如,过去的1秒和过去的60秒)该服务器已发送的广播分组的速率的估计,并防止该服务器在每个时间间隔期间发送超过配置数量的广播分组。所发送的超过所允许的分组可要么被丢弃,要么被延迟直到下一间隔。还可支持本机IP多播。
交换机作为第三层路由器来操作的实施例的一个潜在优点是:实现定址到多播组的分组到属于该多播组的所有主机或机器的传递特别容易。现有IP多播路由协议中的任何一个,诸如PIM-BIDIR,可被配置到该交换机上。这将使得它们计算端点在属于多播组的每个主机或机器处的多播分发树。通常通过向其默认网关发送IGMP加入消息,该主机、机器或服务器上的灵活代理将该主机、机器或服务器注册为适当的多播组的一部分。然后所述多播路由协议会负责将该主机、机器或服务器添加到该多播组的分发树。在第二层操作的交换机可使用各种机制,诸如每个多播组一VLAN,或通过该网络对填充分组进行泛滥,其中每个主机、机器或服务器上的灵活代理过滤掉该代理的主机、机器或服务器不应当接收的分组。
用多路径路由进行随机化
所述灵活网络体系结构可采用/利用使用随机化的原理来至少在一些实施例中使用两个相关的机制来处理易失性:VLB和等价多径(ECMP)。这两者的目标类似——VLB跨各中间节点随机分发流量而ECMP跨各等价路径来发送流量以减少或避免持久拥塞。如下面更详细解释的,VLB和ECMP可以互补,因为各自可用于克服另一个的限制。这两个机制可提供分组发送者可用于影响跨网络的路径的选择的控制。该灵活代理允许利用这些控制来避免拥塞。
图5示出图3中介绍的灵活网络体系结构300的子集。图5提供服务器到服务器通信的更多细节。本示例涉及服务器316(1)与服务器316(5)通信。发送服务器316(1)和目的地服务器316(5)可在服务器池328中工作,该服务器池担当VLAN并具有10.128/9的应用地址。中间交换机310(1)-310(N)驻留在链路状态网络326上。
通过强迫分组从随机选择的中间节点弹回掉,灵活网络体系结构300可允许实现VLB的益处。在此情况下,发送者的灵活代理320(1)可通过将每一分组封装到中间交换机310(1)-310(N)来实现这一点。该中间交换机将该分组隧道传输到目的地的TOR(在此情况下是314(N))。然后该分组可首先被传递到各中间交换机之一(诸如310(2))、被该交换机解封装、被传递到TOR314(N)的LA、被再次解封装并最终被发送到目的地服务器316(5)。
如果灵活代理320(1)知道活动中间交换机310(1)-310(N)的地址,则它在发送分组时可在其中随机选择。然而,这会需要在中间交换机失效时更新可能数十万个灵活代理。相反,相同的LA地址可被分配给多个中间交换机(在此情况下是LA地址10.0.0.5)。该灵活目录服务(图3中示出)可将此任播(anycast)地址作为一个或多个查找结果的一部分返回给灵活代理320(1)。ECMP可负责将封装到该任播地址的分组传递到活动中间交换机310(1)-310(N)中的一个。如果交换机失效,则ECMP可以作出反应,从而消除了通知灵活代理的需要。
然而ECMP可具有缩放限制。当今的传统交换机可支持16路ECMP,而256路ECMP交换机也可得到或者很快就可得到。如果恰巧有比ECMP可使用的路径更多的路径可用,则VLB封装可进行补偿。一种解决方案是限定若干任播地址,各单独的任播地址与ECMP能容纳的尽量多的中间交换机310(1)-310(N)相关联。发送者可跨各任播地址进行散列以分发负载,并且当交换机失效时,所述任播地址可被目录系统重新分配给其他交换机以使得不需要通知各单独的服务器。为解释之目的,本方面可被认为是由目录系统提供的网络控制功能。
所述基于VLB的健忘路由可在折叠-clos网络拓扑结构上使用纯OSPF/ECMP机制实现。这种配置不需要中间交换机处的解封装支持。例如,如果N是每个TOR上的上行链路的数量,则聚集交换机可被编组为各个集合。在一些情况下,这些集合中的每一个可包含恰好N个交换机。每个TOR可具有到一集合中所有N个交换机的上行链路,或者不到一集合中的交换机中的任何一个的上行链路。通过TOR的这种连线,可以示出即便使用像OSPF和/或ECMP等协议来在各TOR间进行路由,经受服务器进入/外出约束的任意流量的带宽保证继续得以成立。
使用OSPF或ECMP来在各TOR间进行路由可使得一个或一些分组(诸如同一聚集交换机集合中的两个TOR之间的分组)采用不通过中间交换机的路径。因此,这些路径可被称为“早期周转路径”,因为它们沿着源和目的地之间的最短路径并允许相同TOR下或连接到相同聚集交换机的各TOR下的服务器间的流量的早期周转。这些流量流不需要进入核心聚集/中间网络。
使用早期周转路径的潜在好处可包括解放内核中的容量以供其他类别的流量(例如,外部流量)使用。当现有应用已被编写为例如使跨TOR流量最小化时,“平均”情况下所解放的容量是巨大的。换种方式看,这可允许内核有几分供应不足(under-provisioned)并仍然能够对服务器到服务器流量工作得很好。使用早期周转路径可允许使用更宽范围的设备作为中间交换机,从而使得这些交换机的成本更低。
处理拥塞
有了ECMP和VLB两者,可存在如下可能:大的流将分别被散列到相同的链路和中间交换机,这可能导致拥塞。如果这种情况发生,则发送灵活代理可通过更改ECMP用于选择下一跳(即,该分组应通过的下一交换机)的字段的值来改变它的流所采用的通过灵活网络的路径。就此,灵活代理可用简单的机制来检测并处理这种情况,诸如周期性地、或者TCP检测到严重拥塞事件(例如,全窗口丢失)或显式拥塞通知时、或者在发送/接收阈值数量的字节/分组之后,重新散列所述大的流。
维护主机信息
根据所述灵活网络体系结构实现的网络系统可使用为数据中心工作负载而设计的可伸缩的、可靠的和/或高效的存储或目录系统。根据所述灵活网络体系结构实现的网络可拥有以下四个特性中的一个或多个:均匀高容量、性能隔离、第二层语义和服务间的通信隔离。该网络还可展现优雅降级,其中网络可在失效之后使用留下的任何容量。如此,该网络在面对失效的时候能够是可靠/弹性的。就此,这种网络中的目录系统可提供两个潜在的关键功能:(1)对AA到LA映射的查找和更新,以及(2)可支持等待时间敏感的操作(诸如,如实况虚拟机迁移)的反应式高速缓存更新机制。
表征要求
目录系统的查找工作负载可能是频繁而突发的。服务器可在短时间段内与多达数十万个其他服务器进行通信,其中每个流都生成对AA到LA映射的查找。对于更新,工作负载可由失效和服务器启动事件驱动。许多失效大小通常很小,而大的互相关失效可能很少。
性能要求
工作负载的突发性意味着查找可需要高吞吐量和低响应时间以快速建立大量连接。因为查找增加了第一次与服务器通信所需的时间,所以应保持响应时间尽可能小。例如,几十毫秒是合理值。然而,对于更新,潜在的关键要求是可靠性,而响应时间较不关键。此外,因为更新通常是提前调度的,所以通过批量更新可实现高吞吐量。
一致性考虑
在传统第二层网络中,由于ARP超时,ARP可提供最终一致性。此外,主机可通过发出无偿ARP来宣告其到达。作为极端示例,考虑根据所述灵活网络体系结构实现的网络中的实况虚拟机(VM)迁移。VM迁移可利用陈旧映射(AA到LA)的快速更新。VM迁移的潜在目标可以是跨各位置改变来保持正在进行的通信。这些考虑意味着:只要可以提供可靠的更新机制,AA到LA映射的弱一致性或最终一致性是可接受的。
灵活目录系统或服务设计
查找的性能参数和工作负载模式可能明显与更新的性能参数和工作负载模式不同。如此,考虑图6中示出的双层灵活目录服务体系结构600。在此情况下,灵活目录服务体系结构600包括灵活代理602(1)-602(N)、目录服务模块604(1)-604(N)、以及复制状态机(RSM)服务器606(1)-606(N)。在此特定实例中,各单独的目录服务模块分别被实现在专用计算机608(1)-608(N)上。在其他实现中,各目录服务模块可表现在执行其他系统功能的计算机上。在本实现中,目录服务模块的数量相对于总系统大小而言一般是适度的。例如,对于100K个服务器(即,图3的服务器316(1)-316(N)),一种实现可利用大致50-100个目录模块。提供此范围是为了解释之目的而不是关键的。
目录服务模块604(1)-604(N)可被看作是能高速缓存AA到LA映射的经读取优化的、复制的目录服务器。目录服务模块604(1)-604(N)可与灵活代理602(1)-602(N)、以及能够提供AA到LA映射的强一致性的、可靠的存储的小数量的(例如,大致5-10个服务器)经写入优化的、复制的状态机(RSM)服务器606(1)-606(N)进行通信。
目录服务模块604(1)-604(N)可为高查找速率确保低等待时间、高吞吐量和高可用性。同时,RSM服务器606(1)-606(N)可至少在一些实施例中对适度的更新速率使用Paxos一致性算法等来确保强一致性和耐久性。
各单独的目录服务模块604(1)-604(N)可高速缓存存储在RSM服务器606(1)-606(N)中的AA到LA映射并可使用所缓存的状态来回复来自灵活代理602(1)-602(N)的查找。因为强一致性可以不是要求,所以目录服务模块可定期(例如,每30秒)将其本地映射与RSM服务器进行懒惰式同步。为了同时实现高可用性和低等待时间,灵活代理可向数量k个(例如,2个)随机选择的目录服务模块604(1)-604(N)发送查找。如果接收到多个回复,该灵活代理可简单地选择最快的回复并将其存储在它的缓存中。
目录服务模块604(1)-604(N)还可处理来自网络供应系统的更新。为了一致性和耐久性,更新可被发送至单个随机选择的目录服务模块并可被写到RSM服务器606(1)-606(N)。具体而言,在更新时,目录服务模块可首先将该更新转发给该RSM。该RSM可以可靠地将该更新复制到各单独的RSM服务器并且随后用确认(acknowledgement)来回复该目录服务模块,该目录服务模块可继而将该确认转发回原始的客户机。
作为用于增强一致性的潜在优化,目录服务模块604(1)-604(N)可以可选地将经确认的更新分发到少量其他目录服务模块。如果始发客户机在超时(例如,2秒)内没有接收到确认,则该客户机可向另一目录服务模块发送同一更新,从而用响应时间来换取可靠性和/或可用性。
该目录系统的其他实施例也是可能的。例如,可使用目录服务器构造分布式散列表(DHT),而将AA/LA映射作为该DHT中的项来存储。也可使用诸如活动目录或轻量目录系统等其他现有目录系统,然而性能可能不像前面描述的实施例那样好,或者一致性不像前面描述的实施例那样强。
确保最终一致性
因为可在目录服务模块处或在灵活代理的高速缓存处高速缓存AA到LA映射,所以更新可导致不一致性。为了解决不一致性而不浪费服务器和网络资源,可利用反应式高速缓存-更新机制来同时确保可伸缩性和性能两者。高速缓存-更新协议可利用关键观察:只有当陈旧主机映射被用于传递流量时才纠正该映射。具体而言,当使用陈旧映射时,一些分组可能到达陈旧LA——不再主存目的地服务器的TOR或服务器。该TOR或服务器可将这样的不可传递的分组转发到目录服务模块,从而触发该目录服务模块来选择性地纠正该源服务器的高速缓存中的陈旧映射,例如经由单播。在更新的另一实施例中,该目录服务可将该更新多播到被允许与受影响的服务器通信的所有服务器组。进一步的实现
负载平衡的最优性
如上所述,诸如VLB等负载平衡技术可使用随机化来处理易失性——通过将流量模式(包括最佳情况和最差情况)转为平均情况可能牺牲最佳情况流量模式的一些性能。此性能损失可自我表现为某些链路的利用率比它们在更优化的流量工程系统下的利用率更高。然而,对实际数据中心工作负载的评估显示:与更复杂的流量工程方案相比,诸如VLB等负载平衡技术的简单性和通用性可与相对小的能力损失相关联。
布局配置
图7-9示出根据所述灵活网络体系结构实现的数据中心网络的三种可能的布局配置。在图7-9中,由于绘图页的空间约束,相关服务器没有与TOR一起示出。
图7示出开放式平面图(openfloorplan)数据中心布局700。数据中心布局700包括TOR702(1)-702(N)、聚集交换机704(1)-704(N)和中间交换机706(1)-706(N)。在图7中,TOR702(1)-702(N)被示出为围绕中央的“网络笼”708并可被连接(例如,使用铜线缆和/或光纤线缆等)。聚集和中间交换机704(1)-704(N),706(1)-706(N)可分别在网络笼708内紧邻地布局,从而允许使用铜线缆将其互连(与光纤相比,铜线缆成本更低、更厚而且具有低距离延伸)。通过使用诸如例如四小型可插入(QSFP)标准等适当标准将一定数量的(例如,4根)10G链路捆绑为单个线缆,可降低网络笼内的线缆的数量(例如,减小为四分之一)及其成本(例如,减小为约二分之一)。
在开放式平面图数据中心布局700中,中间交换机706(1)-706(N)被集中式地安排在网络笼708中,而聚集交换机704(1)-704(N)介于中间交换机706(1)-706(N)和TOR交换机702(1)-702(N)(及相关联的服务器)之间。
开放式平面图数据中心布局700可按需缩放。例如,通过将计算设备以服务器的形式与TOR702(1)-702(N)相关联来创建服务器机架,可添加额外的服务器机架。然后该服务器机架可被连接到网络笼708的聚集交换机704(1)-704(N)。可移除其他服务器机架和/或各单独的服务器而不中断由开放式平面图数据中心布局提供的服务。
图8示出基于模块化容器的布局800。布局800包括TOR802(1)-802(N)、聚集交换机804(1)-804(N)和中间交换机806(1)-806(N)。在此情况下,中间交换机806(1)-806(N)被包括在布局的数据中心基础结构808中。聚集交换机和TOR交换机可被关联为连接到该数据中心基础结构的可插入容器。例如,聚集交换机804(1)和804(2)与TOR交换机802(1)和802(2)在可连接到数据中心基础结构808的可插入容器810(1)中相关联。类似地,聚集交换机804(3)和804(4)与TOR交换机802(3)和802(4)在可插入容器810(2)中相关联而聚集交换机804(5)和804(N)与TOR交换机802(5)和802(N)在可插入容器810(N)中相关联。
与图7相同,在图8中,由于绘图页的空间约束,没有示出与TOR相关联以构成服务器机架的服务器。此外,由于空间约束,每个可插入容器只示出了两个聚集交换机和两个TOR交换机。当然,其他实现可采用更多或更少的这些组件中的两者或之一。而且,其他实现可采用比此处所示的三个更多或更少的可插入容器。一个感兴趣的特征是:布局800可适用于将一个线缆束812从每个可插入容器810(1)-810(N)带到数据中心脊(即,数据中心基础结构808)。总之,通过添加或移除各单独的可插入容器810(1)-810(N),数据中心基础结构808可允许布局800在大小上扩展或收缩。
图9示出“无基础结构的”和“容器化的”的数据中心布局900。该布局包括安排成多个容器908(1)-908(N)的TOR902(1)-902(N)、聚集交换机904(1)-904(N)和中间交换机906(1)-906(N)。例如,TOR902(1)-902(2)、聚集交换机904(1)-904(2)和中间交换机906(1)被安排成容器908(1)。
容器908(1)-908(N)可允许实现“无基础结构的”和“容器化的”数据中心布局900。此布局900可与在各单独的容器对908(1)和908(3)之间运行线缆束910(1)相关联。另一线缆束910(2)可在各单独的容器对908(2)和908(N)之间运行。各单独的线缆束910(1)、910(2)可承载将容器908(1)中的聚集交换机904(1)、904(2)连接到容器908(3)中的中间交换机906(3)且反之亦然的链路。
总之,各单独的容器908(1)-908(N)可包括多个交换机。这些交换机可包括安排成互补可插入容器的TOR902(1)-902(N)、聚集交换机904(1)-904(N)和中间交换机906(1)-906(N)。互补可插入容器对可通过经由线缆束将第一可插入容器的聚集交换机连接到第二可插入容器的中间交换机且反之亦然而被耦合。例如,容器908(1)可经由线缆束910(1)连接到容器908(3)。具体而言,所述束可将容器908(1)的聚集交换机904(1)和904(2)连接到容器908(3)的中间交换机906(3)。类似地,束910(1)可将容器908(3)的聚集交换机904(5)和904(6)连接到容器908(1)的中间交换机906(1)。
在至少一些实现中,该灵活网络体系结构可包括下述组件:(1)共同连接入拓扑结构的一组交换机;(2)一组服务器,每个服务器连接到所述交换机中的一个或多个;(3)目录系统,当服务器希望向另一服务器发送分组时向该目录系统做出请求,且该目录系统用该服务器(或该服务器的代表性灵活代理)用于定址或封装它希望发送的分组以使它们能够横越该交换机拓扑结构的信息进行响应;(4)用于控制网络中的拥塞的机制,该机制减少/防止任何链路上的利用率增长得太高以至于分组被向该链路内发送的交换机丢弃;以及(5)服务器上的的模块,该模块与该目录服务通信;按照需要封装、定址或解封装分组;并按照需要参与拥塞控制。
在至少一个实施例中,在每个服务器上存在提供诸如以下功能的灵活代理:(1)与灵活目录服务通信以检索用于将分组转发到目的地的封装信息,将该服务器注册到该系统等;(2)按照需要在各组替代间(例如,在各中间交换机间)做出随机选择并高速缓存这些选择;(3)封装/解封装分组;以及(4)检测来自网络的拥塞指示并对其进行响应。替代地,在至少一些实施例中,这些功能可在该网络中的服务器和交换机间分布。例如,默认路由可用于将分组定向到一组交换机(诸如中间交换机),且对于每个分组在该分组所横穿的中间交换机上实现上面所列的功能。
在至少一些实施例中,实现此处所述的灵活网络体系结构可包括在数据中心中的一组交换机间创建网络以使得该网络中的每个交换机能够向该网络中的任何其他交换机发送分组。对这些交换机或这个网络而言,使用与各服务器用于和其他服务器通信的地址相同类型的地址来在它们自己间定向分组不是必须的。例如,MAC地址、IPv4地址和/或IPv6地址都可是合适的。
在灵活网络的至少一个实施例中,在数据中心中的一组交换机之间的一个考虑是将它们中的每一个配置成具有IP地址(IPv4或IPv6),并将它们配置成运行一个或多个标准第三层路由协议,其典型示例是开放-最短路径优先(OSPF)、中间系统-中间系统(IS-IS)或边界网关协议(BGP)。这样的实施例的好处在于:减少了该网络和该目录系统之间的耦合,而它的路由协议所创建的网络的控制平面维护该网络在各交换机间转发分组的能力,以使得该目录系统不需要对拓扑结构的大多数改变做出反应以及不需要将其通知给服务器。
替代地或附加地,该目录系统可监视该网络的拓扑结构(例如,监视交换机和链路的健康度)并在拓扑结构改变时改变它提供给服务器的封装信息。该目录系统还可向它以前向其发送过响应的服务器通知那些响应不再有效。第一实施例相对替代实施例的潜在好处在于:减少了该网络和该目录系统之间的耦合,而它的路由协议所创建的网络的控制平面维护该网络在各交换机间转发分组的能力,以使得该目录系统不需要对拓扑结构的大多数改变做出反应以及不需要将其通知给服务器。总之,通过监视与网络性能有关的一个或多个参数,可以减少或避免分组传递延迟。这些参数可以是网络事件(诸如特定路径上的通信减损)的指示。
在一个实施例中,该网络的交换机被配置成具有从LA地址的子网提取的IPv4地址。这些交换机被配置成运行OSPF路由协议。这些交换机的地址通过OSPF协议在各交换机间分布。对OSPF的无限接口扩展可用于减少由OSPF协议所分发的信息量。每个架顶式(TOR)交换机的朝向服务器的端口被在该交换机上配置成虚拟局域网(VLAN)的一部分。构成AA空间的(诸)子网被在该交换机上配置为分配到朝向服务器的VLAN。该VLAN的地址不被分发到OSPF中,而该VLAN通常不被干线化(trunked)。目的地为一服务器的分组被封装到该服务器所连接的TOR。该TOR将在它接收到这些分组时解封装这些分组,并随后基于该服务器的目的地地址将它们转发到朝向服务器的VLAN。然后该服务器将像在正常LAN中一样接收这些分组。
在另一实施例中,代替将AA子网配置到TOR交换机的朝向服务器的VLAN上,对每个TOR唯一的LA子网被分配给该朝向服务器的VLAN。通过OSPF分发该LA子网。连接到该TOR的服务器被配置成具有至少两个地址。从该LA子网提取的LA地址被分配给它作为其一部分的朝向服务器的VLAN,以及AA地址。目的地是一服务器的分组被封装到已被配置到该服务器上的LA。该服务器上的模块可在它接收到这些分组时将这些分组解封装,并基于该分组中包含的AA地址将它们本地传递到作为它们的目的地的服务器上的虚拟机或过程。
在另一实施例中,TOR交换机可作为第二层交换机操作而聚集层交换机可作为第三层交换机操作。此设计可允许使用可能更便宜的第二层交换机作为TOR交换机(并且有许多TOR交换机),而第三层功能可在相对较少数量的聚集层交换机中实现。在此设计中,解封装功能可在第二层交换机、第三层交换机、目的地服务器或目的地虚拟机处执行。
在任一实施例中,附加的地址可被配置到交换机上或经由诸如OSPF等路由协议来分发。这些地址通常将是拓扑结构上显著的(即,LA)。这些地址通常将用于将分组定向到基础结构服务——即,服务器、交换机或提供所谓附加服务的网络设备。这些服务的示例包括负载平衡器(这些可以是基于硬件的(像来自F5的BigIP)或基于软件的负载平衡器)、源网络地址转换器(S-NAT)、作为目录系统的一部分的服务器、提供DHCP服务的服务器、或到其他网络(诸如因特网或其他数据中心)的网关。
在一个实施例中,每个交换机可被配置为使用BGP协议的路由反射器客户机。通过将附加地址配置到路由反射器上或者允许BGP将它们分发到各交换机,可将所述附加地址分发到各交换机。本实施例具有以下好处:添加或移除附加地址不导致会使这些交换机的路由处理器超载的OSPF重新计算。
在另一实施例中,用于控制网络中的拥塞的机制在服务器自身上实现。适当的机制是类似传输控制协议(TCP)的机制,其中由服务器发送到目的地的流量被该服务器限制为看上去网络能够承载的速率。下面描述对像TCP等协议的使用的改进。在替代实施例中,交换机上的服务质量机制可用于拥塞控制。这样的机制的示例包括加权公平排队(WFQ)及其派生、随机早期检测(RED)、RSVP、显式控制协议(XCP)和速率控制协议(RCP)。
在至少一个实施例中,服务器上的模块观察正从灵活网络接收的分组并基于它从所接收的分组获得或推断的信息来更改分组的发送或分组的封装。灵活代理可以通过以下方式减少网络中的拥塞:(1)更改分组的发送以减少它们的发送速率,或(2)更改分组的封装以使得它们采用不同的路径通过网络,这可以通过在它首次选择分组的封装和定址时做出的可能替代间重新做出任一或全部随机选择来实现。
灵活代理可进行的观察的示例及其反应包括:(1)如果该灵活代理检测到TCP分组的全窗口的丢失,则该灵活代理将该分组将采用的通过该网络的路径重新随机化。这是特别有好处的,因为在据信以前在该流上发送的所有分组已从该网络退出的同时它将该流放到不同(希望是非拥塞的)的路径上,以使得改变该分组所采用的路径将不会导致重新排列的分组被目的地接收。(2)该灵活代理可周期性地将分组所采用的路径重新随机化。(3)该灵活代理可计算流所达到的有效速率,并且如果该速率低于期望阈值则重新随机化。(4)该灵活代理可监视所接收的分组中的显式拥塞通知(ECN)标记并降低速率或将到该目的地的任何分组的路径重新随机化。(5)交换机可执行逻辑以检测已进入或将要进入拥塞状态的链路(例如,如在IEEEQCN和802.1au中)并向上游交换机和/或服务器发送通知。接收这些指示的灵活代理可降低它们的分组的速率或将所述分组的路径重新随机化。
所描述的实施例的一个优点在于:它们允许虚拟机(VM)的实况迁移,因为VM可被从一个服务器重新定位到另一个服务器,同时保留对相同的IP地址的使用。该目录系统可简单地被更新以将目的地是该VM的IP地址的分组定向到在此移动期间该VM被重新定位到的服务器。位置的物理改变不需要干扰进行中的通信。
在至少一个实施例中,通过分割比的非均匀计算,可将网络的容量的一小部分保留或优先分配给在该网络上操作的一组服务,以使得优选服务使其分组分散在更大或更小数量的路径上、或分散在与另一组服务所使用的路径不相交的一组路径上。可使用该相同技术创建多类偏好或QoS。
方法示例
图10示出了根据本发明的概念的至少一些实现的灵活联网技术或方法1000的流程图。描述方法1000的次序并不旨在解释为限制,并且任何数量的所述框都可以按任何次序组合以实现本方法或实现替代方法。此外,该方法还可以用任何合适的硬件、软件、固件或其任何组合来实现,以使得计算设备可实现该方法。在一种情况下,该方法作为指令集被存储在计算机可读存储介质上,以使得计算设备的处理器的执行使得该计算设备执行该方法。在另一情况下,该方法被存储在ASIC的计算机可读存储介质上以供该ASIC执行。
在1002,该方法获得用于将分组转发到目的地的封装信息。
在框1004,该方法选择通过诸如交换机等可用硬件的路径。
在框1006,该方法封装该分组以在该路径上传递。
在框1008,该方法监视拥塞的指示。例如,该方法可监视与网络性能有关的参数。例如,TCP可提供与可担当与拥塞有关的网络参数的分组传输速率和/或网络组件上的负载有关的更新。该方法可在检测到拥塞时重新选择路径和/或采取其他动作。

Claims (12)

1.一种提供网络的方法,包括:
通过向第一和第二机器分配应用地址(104)并向第三层基础结构(106)的组件分配位置地址(206)来提供连接所述第一和第二机器的虚拟第二层网络(108),所述提供包括:
根据目录服务,确定目的地服务器是否在与服务相关联的服务器组中;
如果所述目的地服务器在所述服务器组中,则在所述第一机器处将虚拟第二层分组封装在第三层分组中,其中向所述第三层分组指定所述第三层基础结构的单独组件的单独位置地址,以及将所述第三层分组传送到所述第三层基础结构的所述单独组件,其中所述单独组件解封装经封装的虚拟第二层分组并将经解封装的虚拟第二层分组传送到所述第二机器;以及
如果所述目的地服务器不在所述服务器组中,则拒绝提供单独位置地址。
2.如权利要求1所述的方法,其特征在于,还包括在各单独的机器之间使用早期周转路径。
3.如权利要求1所述的方法,其特征在于,所述机器包括服务器或虚拟机。
4.如权利要求1所述的方法,其特征在于,所述提供虚拟第二层网络包括提供多个虚拟第二层网络。
5.如权利要求1所述的方法,其特征在于,还包括用第三层组件的位置地址沿所述机器中的第一机器和第二机器之间的所述第三层基础结构的一单独路径来封装所述第一机器和第二机器之间的分组。
6.如权利要求1所述的方法,其特征在于,还包括随机选择所述第一和第二机器之间的所述第三层基础结构的一单独路径。
7.如权利要求6所述的方法,其特征在于,还包括利用valiant负载平衡来选择所述单独路径。
8.如权利要求6所述的方法,其特征在于,还包括周期性地或响应于网络事件而重新选择所述单独路径。
9.一种服务器(316(1)),包括:
用于执行计算机可读指令的至少一个处理器;以及
灵活代理(320),所述灵活代理能够被所述至少一个处理器执行并被配置成:
接收虚拟第二层分组以传递到另一服务器(316(N));
根据目录服务,确定所述另一服务器是否在与服务相关联的服务器组中;
如果所述另一服务器在所述服务器组中,则将所述虚拟第二层分组封装在第三层分组中,其中向所述第三层分组指定第三层基础结构的单独组件的单独位置地址,以及将所述第三层分组传送到所述第三层基础结构的所述单独组件,其中所述单独组件解封装经封装的虚拟第二层分组并将经解封装的虚拟第二层分组传送到第二机器;以及
如果所述另一服务器不在所述服务器组中,则拒绝提供单独位置地址。
10.如权利要求9所述的服务器,其特征在于,所述传递经由中间交换机进行,且所述灵活代理被配置成从多个中间交换机中随机选择所述中间交换机。
11.如权利要求10所述的服务器,其特征在于,所述灵活代理被配置成选择用于所述传递的路径以及在接收到通信减损的指示后重新选择包括选自多个中间交换机的新中间交换机的新路径。
12.如权利要求10所述的服务器,其特征在于,所述服务器被配置成支持多个虚拟机并且其中所述灵活代理被配置成选择用于在两个虚拟机之间传递分组的路径。
CN201080024662.2A 2009-05-28 2010-05-28 灵活的数据中心网络体系结构 Active CN102726021B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18205709P 2009-05-28 2009-05-28
US61/182,057 2009-05-28
US12/578,608 2009-10-14
US12/578,608 US9497039B2 (en) 2009-05-28 2009-10-14 Agile data center network architecture
PCT/US2010/036758 WO2010138937A2 (en) 2009-05-28 2010-05-28 Agile data center network architecture

Publications (2)

Publication Number Publication Date
CN102726021A CN102726021A (zh) 2012-10-10
CN102726021B true CN102726021B (zh) 2016-07-06

Family

ID=43220098

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201080023822.1A Active CN102449963B (zh) 2009-05-28 2010-05-28 跨层2域的负载平衡
CN201080024662.2A Active CN102726021B (zh) 2009-05-28 2010-05-28 灵活的数据中心网络体系结构

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201080023822.1A Active CN102449963B (zh) 2009-05-28 2010-05-28 跨层2域的负载平衡

Country Status (9)

Country Link
US (1) US8416692B2 (zh)
EP (2) EP2436157B1 (zh)
JP (1) JP5960050B2 (zh)
KR (1) KR101678711B1 (zh)
CN (2) CN102449963B (zh)
CA (2) CA2763032A1 (zh)
ES (1) ES2614614T3 (zh)
HK (1) HK1175321A1 (zh)
WO (2) WO2010138936A2 (zh)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497039B2 (en) * 2009-05-28 2016-11-15 Microsoft Technology Licensing, Llc Agile data center network architecture
US9391716B2 (en) 2010-04-05 2016-07-12 Microsoft Technology Licensing, Llc Data center using wireless communication
US8499093B2 (en) * 2010-05-14 2013-07-30 Extreme Networks, Inc. Methods, systems, and computer readable media for stateless load balancing of network traffic flows
US8225131B2 (en) * 2010-06-17 2012-07-17 Microsoft Corporation Monitoring service endpoints
CN102143041B (zh) * 2010-07-02 2014-03-26 华为技术有限公司 一种网络流量分担的方法、装置及系统
US8391174B2 (en) * 2010-07-13 2013-03-05 Hewlett-Packard Development Company, L.P. Data packet routing
US8755283B2 (en) * 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
US8934483B2 (en) 2011-01-20 2015-01-13 Broadcom Corporation Data center switch
US8612550B2 (en) 2011-02-07 2013-12-17 Microsoft Corporation Proxy-based cache content distribution and affinity
US8776207B2 (en) 2011-02-16 2014-07-08 Fortinet, Inc. Load balancing in a network with session information
EP2692095B1 (en) 2011-03-28 2019-06-05 Telefonaktiebolaget LM Ericsson (publ) Method, apparatus and computer program product for updating load balancer configuration data
US9210048B1 (en) 2011-03-31 2015-12-08 Amazon Technologies, Inc. Clustered dispersion of resource use in shared computing environments
WO2012155351A1 (zh) 2011-05-19 2012-11-22 华为技术有限公司 一种生成隧道转发表项的方法和网络设备
WO2012177769A1 (en) 2011-06-20 2012-12-27 Plexxi Inc. Optical architecture and channel plan employing multi-fiber configurations for data center network switching
US8812727B1 (en) * 2011-06-23 2014-08-19 Amazon Technologies, Inc. System and method for distributed load balancing with distributed direct server return
US9274825B2 (en) 2011-08-16 2016-03-01 Microsoft Technology Licensing, Llc Virtualization gateway between virtualized and non-virtualized networks
US9288555B2 (en) 2011-11-01 2016-03-15 Plexxi Inc. Data center network architecture
US9301026B2 (en) 2011-11-01 2016-03-29 Plexxi Inc. Affinity modeling in a data center network
WO2013066603A1 (en) * 2011-11-01 2013-05-10 Plexxi Inc. Affinity modeling in a data center network
US9204207B2 (en) 2011-11-01 2015-12-01 Plexxi Inc. Hierarchy of control in a data center network
US9337931B2 (en) 2011-11-01 2016-05-10 Plexxi Inc. Control and provisioning in a data center network with at least one central controller
US20130159487A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
US8954575B2 (en) * 2012-05-23 2015-02-10 Vmware, Inc. Fabric distributed resource scheduling
US9229800B2 (en) 2012-06-28 2016-01-05 Microsoft Technology Licensing, Llc Problem inference from support tickets
US9262253B2 (en) 2012-06-28 2016-02-16 Microsoft Technology Licensing, Llc Middlebox reliability
US8805990B2 (en) 2012-07-12 2014-08-12 Microsoft Corporation Load balancing for single-address tenants
US8831000B2 (en) * 2012-10-10 2014-09-09 Telefonaktiebolaget L M Ericsson (Publ) IP multicast service join process for MPLS-based virtual private cloud networking
US9246998B2 (en) 2012-10-16 2016-01-26 Microsoft Technology Licensing, Llc Load balancer bypass
CN103780502A (zh) * 2012-10-17 2014-05-07 阿里巴巴集团控股有限公司 一种负载均衡下的数据交互系统、方法及装置
US9325748B2 (en) 2012-11-15 2016-04-26 Microsoft Technology Licensing, Llc Characterizing service levels on an electronic network
US9565080B2 (en) 2012-11-15 2017-02-07 Microsoft Technology Licensing, Llc Evaluating electronic network devices in view of cost and service level considerations
CN102983995B (zh) * 2012-11-19 2017-05-03 浪潮电子信息产业股份有限公司 一种基于数据中心的组网设计方法
US10938917B2 (en) * 2012-12-19 2021-03-02 Micro Focus Llc Triggering a high availability feature in response to detecting impairment of client experience
CN103905473B (zh) * 2012-12-25 2017-12-15 华为技术有限公司 云计算系统、负载均衡系统、负载均衡方法及装置
US9450874B2 (en) 2013-01-04 2016-09-20 Futurewei Technologies, Inc. Method for internet traffic management using a central traffic controller
US9832136B1 (en) 2013-01-23 2017-11-28 Liberty Mutual Insurance Company Streaming software to multiple virtual machines in different subnets
CN103971687B (zh) * 2013-02-01 2016-06-29 腾讯科技(深圳)有限公司 一种语音识别系统中的负载均衡实现方法和装置
US9917780B2 (en) 2013-03-15 2018-03-13 Hewlett Packard Enterprise Development Lp Traffic control across a layer 2 layer 3 boundary in a software defined network
US9112801B2 (en) 2013-03-15 2015-08-18 International Business Machines Corporation Quantized congestion notification in a virtual networking system
JP6264737B2 (ja) * 2013-03-25 2018-01-24 日本電気株式会社 負荷分散システム
US9553809B2 (en) 2013-04-16 2017-01-24 Amazon Technologies, Inc. Asymmetric packet flow in a distributed load balancer
US10038626B2 (en) 2013-04-16 2018-07-31 Amazon Technologies, Inc. Multipath routing in a distributed load balancer
US10135914B2 (en) 2013-04-16 2018-11-20 Amazon Technologies, Inc. Connection publishing in a distributed load balancer
US10069903B2 (en) 2013-04-16 2018-09-04 Amazon Technologies, Inc. Distributed load balancer
US9871712B1 (en) 2013-04-16 2018-01-16 Amazon Technologies, Inc. Health checking in a distributed load balancer
US9559961B1 (en) 2013-04-16 2017-01-31 Amazon Technologies, Inc. Message bus for testing distributed load balancers
US9354928B1 (en) * 2013-04-24 2016-05-31 Brian K. Buchheit User facing load balancing via virtual machine synchronization
JP6131710B2 (ja) * 2013-05-16 2017-05-24 富士通株式会社 通信システム、負荷分散装置、および、負荷分散プログラム
US9350601B2 (en) 2013-06-21 2016-05-24 Microsoft Technology Licensing, Llc Network event processing and prioritization
WO2015006568A1 (en) 2013-07-11 2015-01-15 Plexxi Inc. Network node connection configuration
US9742636B2 (en) * 2013-09-11 2017-08-22 Microsoft Technology Licensing, Llc Reliable address discovery cache
US9888405B2 (en) 2013-11-05 2018-02-06 Cisco Technology, Inc. Networking apparatuses and packet statistic determination methods employing atomic counters
US9876715B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Network fabric overlay
US10412159B1 (en) 2014-02-07 2019-09-10 Amazon Technologies, Inc. Direct load balancing using a multipath protocol
US20150271075A1 (en) * 2014-03-20 2015-09-24 Microsoft Corporation Switch-based Load Balancer
US9660914B1 (en) 2014-05-08 2017-05-23 Google Inc. System and method for providing congestion notification in layer 3 networks
US9560124B2 (en) * 2014-05-13 2017-01-31 Google Inc. Method and system for load balancing anycast data traffic
US10440123B2 (en) * 2014-06-13 2019-10-08 Abb Schweiz Ag Method and system for secure bidirection communication for industrial devices
US9882814B2 (en) * 2014-09-25 2018-01-30 Intel Corporation Technologies for bridging between coarse-grained and fine-grained load balancing
US9866473B2 (en) 2014-11-14 2018-01-09 Nicira, Inc. Stateful services on stateless clustered edge
US9876714B2 (en) 2014-11-14 2018-01-23 Nicira, Inc. Stateful services on stateless clustered edge
US10044617B2 (en) 2014-11-14 2018-08-07 Nicira, Inc. Stateful services on stateless clustered edge
US11533255B2 (en) * 2014-11-14 2022-12-20 Nicira, Inc. Stateful services on stateless clustered edge
CN105704180B (zh) * 2014-11-27 2019-02-26 英业达科技有限公司 数据中心网络的配置方法及其系统
US9979640B2 (en) * 2014-12-23 2018-05-22 Intel Corporation Reorder resilient transport
US9800653B2 (en) * 2015-03-06 2017-10-24 Microsoft Technology Licensing, Llc Measuring responsiveness of a load balancing system
US9954751B2 (en) 2015-05-29 2018-04-24 Microsoft Technology Licensing, Llc Measuring performance of a network using mirrored probe packets
US10191757B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing Llc Seamless address reassignment via multi-tenant linkage
CN105024860A (zh) * 2015-07-23 2015-11-04 上海斐讯数据通信技术有限公司 一种远程通信控制方法及系统
JP6505172B2 (ja) * 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム
JP6505171B2 (ja) * 2016-08-25 2019-04-24 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム
US10320895B2 (en) 2016-11-15 2019-06-11 Microsoft Technology Licensing, Llc Live migration of load balanced virtual machines via traffic bypass
US10305973B2 (en) 2017-01-09 2019-05-28 International Business Machines Corporation Distributed load-balancing for software defined networks
US11570092B2 (en) * 2017-07-31 2023-01-31 Nicira, Inc. Methods for active-active stateful network service cluster
US10951584B2 (en) 2017-07-31 2021-03-16 Nicira, Inc. Methods for active-active stateful network service cluster
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
US11153122B2 (en) 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network
US10880206B2 (en) * 2018-06-13 2020-12-29 Futurewei Technologies, Inc. Multipath selection system and method for datacenter-centric metro networks
US11102114B2 (en) 2018-12-28 2021-08-24 Alibaba Group Holding Limited Method, apparatus, and computer-readable storage medium for network optimization for accessing cloud service from on-premises network
CN111343093B (zh) * 2020-02-28 2021-07-09 腾讯科技(深圳)有限公司 业务数据的传输方法及装置
US11636059B2 (en) 2020-03-31 2023-04-25 Samsung Electronics Co., Ltd. Scaling performance in a storage server with storage devices
US11689455B2 (en) 2020-05-28 2023-06-27 Oracle International Corporation Loop prevention in virtual layer 2 networks
EP4183119A1 (en) * 2020-07-14 2023-05-24 Oracle International Corporation Virtual layer-2 network
US12015552B2 (en) 2020-12-30 2024-06-18 Oracle International Corporation Layer-2 networking information in a virtualized cloud environment
US11671355B2 (en) 2021-02-05 2023-06-06 Oracle International Corporation Packet flow control in a header of a packet
US11777897B2 (en) 2021-02-13 2023-10-03 Oracle International Corporation Cloud infrastructure resources for connecting a service provider private network to a customer private network
CN113254205B (zh) * 2021-05-24 2023-08-15 北京百度网讯科技有限公司 负载均衡系统、方法、装置、电子设备及存储介质
CN113422735B (zh) * 2021-06-22 2022-08-05 恒安嘉新(北京)科技股份公司 负载均衡配置方法、汇聚分流器及介质
CN115941455A (zh) * 2021-08-13 2023-04-07 华为技术有限公司 数据中心的云网络和运营商网络互通的方法和通信装置
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US11962564B2 (en) 2022-02-15 2024-04-16 VMware LLC Anycast address for network address translation at edge

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875603A (zh) * 2003-10-30 2006-12-06 惠普开发有限公司 用于负载平衡的方法和装置
US20090063706A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718387B1 (en) 1997-12-10 2004-04-06 Sun Microsystems, Inc. Reallocating address spaces of a plurality of servers using a load balancing policy and a multicast channel
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
WO2002035359A2 (en) * 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
US7333482B2 (en) * 2000-12-22 2008-02-19 Interactive People Unplugged Ab Route optimization technique for mobile IP
US20020184368A1 (en) * 2001-04-06 2002-12-05 Yunsen Wang Network system, method and protocols for hierarchical service and content distribution via directory enabled network
US6999462B1 (en) * 2001-06-18 2006-02-14 Advanced Micro Devices, Inc. Mapping layer 2 LAN priorities to a virtual lane in an Infiniband™ network
US20030009559A1 (en) * 2001-07-09 2003-01-09 Naoya Ikeda Network system and method of distributing accesses to a plurality of server apparatus in the network system
WO2003009539A1 (fr) * 2001-07-10 2003-01-30 Fujitsu Limited Systeme de communication a terminal mobile et procede de communication
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US20030154236A1 (en) * 2002-01-22 2003-08-14 Shaul Dar Database Switch enabling a database area network
US7512702B1 (en) * 2002-03-19 2009-03-31 Cisco Technology, Inc. Method and apparatus providing highly scalable server load balancing
JP2003281109A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 負荷分散方法
US7007103B2 (en) 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7289334B2 (en) 2003-08-27 2007-10-30 Epicenter, Inc. Rack architecture and management system
KR100962647B1 (ko) * 2003-10-27 2010-06-11 삼성전자주식회사 모바일 단말기의 이동성 지원 방법 및 그 시스템
US7860095B2 (en) * 2003-10-30 2010-12-28 Hewlett-Packard Development Company, L.P. Method and apparatus for load-balancing
JP2005260594A (ja) * 2004-03-11 2005-09-22 Oki Techno Creation:Kk ネットワークシステム及び通信装置
US8255422B2 (en) * 2004-05-28 2012-08-28 Microsoft Corporation Highly reliable and scalable architecture for data centers
US8422500B2 (en) * 2004-07-02 2013-04-16 Rockstar Consortium Us Lp VLAN support of differentiated services
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US20070002770A1 (en) * 2005-06-30 2007-01-04 Lucent Technologies Inc. Mechanism to load balance traffic in an ethernet network
JP4619943B2 (ja) * 2005-12-28 2011-01-26 富士通株式会社 パケット通信方法、パケット通信システム
US7660296B2 (en) * 2005-12-30 2010-02-09 Akamai Technologies, Inc. Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
US8875135B2 (en) * 2006-04-17 2014-10-28 Cisco Systems, Inc. Assigning component operations of a task to multiple servers using orchestrated web service proxy
US8014308B2 (en) * 2006-09-28 2011-09-06 Microsoft Corporation Hardware architecture for cloud services
JP2008199348A (ja) * 2007-02-14 2008-08-28 Fujitsu Ltd 中継装置、中継プログラム及び通信システム
US8054840B2 (en) * 2007-06-12 2011-11-08 International Business Machines Corporation Data center virtual local area network system and method
JP4729549B2 (ja) * 2007-09-26 2011-07-20 日本電信電話株式会社 負荷制御方法及び装置及びプログラム
US8285789B2 (en) 2007-10-05 2012-10-09 Intel Corporation Flattened butterfly processor interconnect network
US9497039B2 (en) 2009-05-28 2016-11-15 Microsoft Technology Licensing, Llc Agile data center network architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875603A (zh) * 2003-10-30 2006-12-06 惠普开发有限公司 用于负载平衡的方法和装置
US20090063706A1 (en) * 2007-08-30 2009-03-05 International Business Machines Corporation Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
draft-ietf-lisp-00.txt.《Internet Engineering Task Force(IETF),Standard working draft, internet society(ISOC)4》.2009,正文第5页标题1,第8页标题3第3-4段,第12页第2段、第1-10行,第14页标题4.1,第15页标题6,第38-39页标题6.5.1第2段和标题6.5.2,. *
Farinacci V Fuller D Meyer D Lewis CISCO Systems D.Locator/ID Separation Protocol(LISP) *
Towards a next generation data center architecture: scalability and commoditization;Greenberg A, Lahiri P, Maltz D A, et al;《Proceedings of the ACM workshop on Programmable routers for extensible services of tomorrow. ACM》;20080817;正文第60页第2栏第12-18行 *

Also Published As

Publication number Publication date
CA2759957C (en) 2017-02-28
KR101678711B1 (ko) 2016-11-22
US20100302940A1 (en) 2010-12-02
EP2436157A4 (en) 2012-04-04
JP2012528551A (ja) 2012-11-12
CA2759957A1 (en) 2010-12-02
CA2763032A1 (en) 2010-12-02
WO2010138936A2 (en) 2010-12-02
CN102449963A (zh) 2012-05-09
EP2436156A4 (en) 2013-09-11
EP2436157B1 (en) 2016-03-30
HK1175321A1 (zh) 2013-06-28
EP2436156B1 (en) 2016-11-09
EP2436157A2 (en) 2012-04-04
CN102449963B (zh) 2014-11-05
WO2010138936A3 (en) 2011-03-03
WO2010138937A3 (en) 2011-03-03
CN102726021A (zh) 2012-10-10
JP5960050B2 (ja) 2016-08-02
US8416692B2 (en) 2013-04-09
KR20120019462A (ko) 2012-03-06
EP2436156A2 (en) 2012-04-04
WO2010138937A2 (en) 2010-12-02
ES2614614T3 (es) 2017-06-01

Similar Documents

Publication Publication Date Title
CN102726021B (zh) 灵活的数据中心网络体系结构
KR101669700B1 (ko) 민첩한 데이터 센터 네트워크 아키텍처
JP7417825B2 (ja) スライスベースルーティング
CN104272708B (zh) 带有到服务器群组的无状态第一级分组分布和到群组内某个服务器的有状态第二级分组分布的二级分组分布
CN105706398B (zh) 重叠网络中的虚拟端口信道弹回的方法和系统
KR101546734B1 (ko) 데이터 센터 상호접속 및 트래픽 엔지니어링
US9590903B2 (en) Systems and methods for optimizing layer three routing in an information handling system
Greenberg et al. VL2: a scalable and flexible data center network
JP5661929B2 (ja) マルチシャーシリンクアグリゲーションのためのシステムおよび方法
US8676980B2 (en) Distributed load balancer in a virtual machine environment
US9426068B2 (en) Balancing of forwarding and address resolution in overlay networks
US10079694B2 (en) Scalable virtual networks in SDN-based ethernet networks using VLANs
JP6434821B2 (ja) 通信装置及び通信方法
JP5381998B2 (ja) クラスタ制御システム、クラスタ制御方法、及びプログラム
CN107995123A (zh) 一种基于交换机的负载均衡系统及方法
CN102113274A (zh) 没有结构化瓶颈的数据中心
CN110061915B (zh) 跨多个架构交换机的虚拟链路聚合的方法和系统
CN107846358A (zh) 一种数据传输方法、装置及网络系统
TWI759571B (zh) 基於流表的資料傳送方法
CN104618243A (zh) 路由方法、装置及系统、网关调度方法及装置
WO2015077878A1 (en) Switched path aggregation for data centers
US20220166715A1 (en) Communication system and communication method
Duque et al. OpenDaylight vs. floodlight: Comparative analysis of a load balancing algorithm for software defined networking
Habib et al. Routing techniques in data center networks
CN108259205B (zh) 一种路由发布方法及网络设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1175321

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150720

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150720

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1175321

Country of ref document: HK