首页 / 专利库 / 电子零件及设备 / 电气互连 / 在接入节点组内多路复用分组喷射的无阻塞的任意到任意数据中心网络

在接入节点组内多路复用分组喷射的无阻塞的任意到任意数据中心网络

阅读:382发布:2020-05-12

专利汇可以提供在接入节点组内多路复用分组喷射的无阻塞的任意到任意数据中心网络专利检索,专利查询,专利分析的服务。并且描述了一种用于 数据中心 的网络系统,其中,交换结构提供全网状互连,使得任何 服务器 都可以使用多个并行数据路径中的任何一个将分组数据传送到任何其他服务器。此外,根据本文描述的技术,交换结构的边缘 定位 的接入 节点 、置换装置和核心交换机可以被配置和设置为使得并行数据路径在接入节点的任何成对组合之间提供单个L2/L3跳、全网状互连,即使在具有数万个服务器的大规模数据中心中也是如此。接入节点可以被设置在接入节点组内,并且置换装置可以在接入节点组内使用,以在注入到交换结构内之前,将分组喷射在接入节点组上,从而增加网络系统的扇出和可扩展性。,下面是在接入节点组内多路复用分组喷射的无阻塞的任意到任意数据中心网络专利的具体信息内容。

1.一种网络系统,包括:
多个服务器,被设置为包含所述服务器的一个或多个机架组;
交换结构,包括多个核心交换机,所述核心交换机将包含所述服务器的所述机架组互连;
多个接入节点,每个所述接入节点耦接到所述服务器的子集,以在所述服务器之间传送数据包,
一个或多个电气置换装置,耦接在所述机架组中的公共机架组的所述接入节点之间,每个所述电气置换装置被配置为在所述机架组中的所述公共机架组内的所述接入节点的至少子集之间传送所述数据包,
其中,每个所述电气置换装置包括一组输入端口和一组输出端口,以在所述接入节点之间传送所述数据包,
其中,每个所述输入端口接收多个分组流的数据包,每个分组流具有唯一的源地址,并且
其中,每个所述电气置换装置被配置为在所述电气置换装置的所述输出端口上置换在每个所述输入端口上接收的多个唯一分组流,以在所述输入端口和所述输出端口之间提供全网状连接,其中,每个输出端口接收用于接收所述分组流的所述电气置换装置的输入端口和所述分组流的相应源地址的组合的一个不同的唯一置换。
2.根据权利要求1所述的网络系统,其中,所述接入节点、所述核心交换机和所述电气置换装置被配置为在所述服务器的任何成对组合之间提供全网状连接。
3.根据权利要求1所述的网络系统,其中,所述接入节点、所述核心交换机和所述电气置换装置被配置为最多通过单个第三层(L3)跳来连接所述接入节点的任何成对组合。
4.根据权利要求1所述的网络系统,其中,所述接入节点、所述核心交换机和所述电气置换装置被配置为在所述接入节点之间提供多个并行数据路径。
5.根据权利要求4所述的网络系统,
其中,所述接入节点被设置为一个或多个接入节点组,每个所述接入节点组具有耦接到多个机架组的多个接入节点,
其中,当在源服务器和目的服务器之间传送分组的分组流时,耦接到所述源服务器的第一接入节点将所述分组流的分组喷射在与第一接入节点组相同的接入节点组的所有接入节点,以经由多个数据路径到达耦接到所述目的服务器的第二接入节点,并且其中,所述第二接入节点将所述分组重新排序成所述分组流的原始序列,并将重新排序的分组传送到所述目的服务器。
6.根据权利要求5所述的网络系统,其中,耦接到所述源服务器的所述第一接入节点通过将每个分组引导到同一接入节点组的随机或循环选择的一个接入节点,在所述多个并行数据路径上喷射所述分组流的分组。
7.根据权利要求5所述的网络系统,其中,耦接到所述源服务器的所述第一接入节点通过将每个分组引导到基于一个所述并行数据路径的可用带宽选择的同一接入节点组的一个接入节点,在所述多个并行数据路径上喷射所述分组流的分组。
8.根据权利要求1所述的网络系统,
其中,所述核心交换机被设置为交换机组,所述接入节点被设置为接入节点组,其中,每个所述电气置换装置耦接到每个所述接入节点组中的一个或多个接入节点。
9.根据权利要求1所述的网络系统,其中,每个所述电气置换装置包括:
共享分组缓冲器,被配置为缓冲在所述输入端口上接收的分组流的数据包;
一组出口队列,被配置为将所述数据包的描述符存储在所述共享分组缓冲器中,以便在所述输出端口上传输;以及
分组写入器,被配置为将所述分组流的不同的唯一置换引导到所述输出端口,使得每个输出端口接收所述分组流的相应源地址和接收所述分组流的输入端口的组合的一个不同的唯一置换。
10.根据权利要求9所述的网络系统,
其中,每个所述分组包括以太网分组,
其中,所述源地址包括相应分组的源媒体接入控制(MAC)地址,并且
其中,所述分组写入器被配置为基于输入端口和相应分组流的每个MAC地址的一组低位比特的置换组合,将所述分组的唯一置换引导到所述输出端口。
11.根据权利要求1所述的网络系统,其中,每个所述接入节点包括:
源组件,能操作以从服务器接收流量;
源交换组件,能操作以经由所述电气置换装置将源流量切换到不同接入节点的其他源交换组件或核心交换机,
目的交换组件,能操作以经由所述电气置换装置切换从其他源交换组件或从核心交换机接收的入站流量;以及
目的组件,能操作以重新排序经由所述目的交换组件接收的分组流,并将所述分组流提供给耦接到所述接入节点的目的服务器。
12.根据权利要求1所述的网络系统,
其中,所述接入节点、所述核心交换机和所述电气置换装置被配置为在所述服务器的任何成对组合之间提供全网状连接,并且
其中,所述服务器之间的交换结构的全网状互连是无阻塞的和无下降的。
13.根据权利要求1所述的网络系统,其中,一个或多个所述接入节点包括存储装置,所述存储装置被配置为提供网络可接入存储,以供在所述服务器上执行的应用程序使用。
14.根据权利要求1所述的网络系统,还包括多个光置换装置,通过光链路将所述接入节点光耦接到所述核心交换机,以传送所述接入节点和所述核心交换机之间的数据包,作为光信号
其中,每个所述光置换装置包括一组输入光端口和一组输出光端口,以在所述接入节点和所述核心交换机之间引导光信号,来传送所述数据包,并且
其中,每个所述光置换装置被配置为使得从所述输入光端口接收的光通信基于波长在所述输出光端口上置换,从而在没有光干扰的情况下,在所述输入光端口和所述输出光端口之间提供全网状光连接。
15.一种方法,包括:
通过中间网络互连数据中心的多个服务器,所述中间网络包括:
交换结构,包括多个核心交换机;
多个接入节点,每个所述接入节点耦接到所述服务器的子集,以在所述服务器之间传送数据包,
多个电气置换装置,耦接在所述接入节点之间,每个所述电气置换装置被配置为在所述接入节点的子集之间传送所述数据包,
其中,每个所述电气置换装置包括一组输入端口和一组输出端口,以在所述接入节点之间传送所述数据包,
其中,每个所述电气置换装置的每个所述输入端口接收多个分组流,每个分组流具有唯一的源地址,并且
其中,每个所述电气置换装置被配置为在所述电气置换装置的所述输出端口上置换在每个所述输入端口上接收的多个唯一分组流,以便在所述输入端口和所述输出端口之间提供全网状连接,并且其中,每个输出端口接收基于所述电气置换装置的所述输入端口和所述分组流的源地址的组合的一个不同的唯一置换;并且
在所述服务器之间传送分组流,包括利用所述接入节点在所述接入节点之间的多个并行数据路径上喷射所述分组流的分组,并且利用所述接入节点将所述分组重新排序至所述分组流中并传送经重新排序的所述分组。
16.根据权利要求15所述的方法,其中,所述接入节点、所述核心交换机和所述电气置换装置被配置为在所述服务器的任何成对组合之间提供全网状连接。
17.根据权利要求15所述的方法,其中,所述接入节点、所述核心交换机和所述电气置换装置被配置为最多通过单个第三层(L3)跳来连接所述接入节点的任何成对组合。
18.一种网络系统,包括:
多个服务器,被设置为包含所述服务器的一个或多个机架组;
交换结构,包括多个核心交换机,所述核心交换机将包含所述服务器的所述机架组互连;
多个接入节点,每个所述接入节点耦接到所述服务器的子集,以在所述服务器之间传送数据包,
电气置换装置,耦接在第一机架组的接入节点之间,
其中,所述电气置换装置包括一组输入端口和一组输出端口,以在所述第一机架组内的接入节点之间传送所述数据包,
其中,每个所述输入端口接收多个分组流,每个所述分组流具有唯一的源地址,并且其中,所述电气置换装置被配置为在所述电气置换装置的输出端口上置换每个所述输入端口上接收的多个唯一分组流,以在所述输入端口和所述输出端口之间提供全网状连接,并且其中,每个所述输出端口接收基于所述电气置换装置的输入端口和所述分组流的源地址的组合的一个不同的唯一置换;以及
光置换装置,通过光链路将所述接入节点光耦接到所述核心交换机,以传送所述接入节点和所述核心交换机之间的数据包,作为光信号,
其中,所述光置换装置包括一组输入光端口和一组输出光端口,以引导所述接入节点和所述核心交换机之间的光通信来传送所述数据包,并且
其中,所述光置换装置被配置为基于波长在输出光端口上置换从所述输入光端口接收的所述光通信,以在所述输入光端口和所述输出光端口之间提供全网状光连接,而没有光干扰。
19.一种网络系统,包括:
多个服务器,被设置为包含服务器的一个或多个机架组;
交换结构,包括多个核心交换机,所述核心交换机将包含所述服务器的所述机架组互连;
多个接入节点,每个接入节点耦接到所述服务器的子集,以在所述服务器之间传送数据包,
第一级置换装置,耦接在第一机架组的接入节点之间,
其中,所述第一级置换装置包括一组输入端口和一组输出端口,以在第一机架组内的接入节点之间传送所述数据包,
其中,每个输入端口接收多个分组流,每个分组流具有唯一的源地址,并且其中,所述第一级置换装置被配置为在所述第一级置换装置的输出端口上置换每个所述输入端口上接收的多个唯一分组流,以在所述输入端口和所述输出端口之间提供全网状连接,并且其中,每个所述输出端口接收基于所述第一级置换装置的输入端口和所述分组流的源地址的组合的一个不同的唯一置换;以及
第二级置换装置,将所述接入节点耦接到所述核心交换机,以在所述接入节点和所述核心交换机之间传送所述数据包,
其中,所述第二级置换装置包括一组输入光端口和一组输出光端口,以引导所述接入节点和所述核心交换机之间的通信来传送所述数据包,并且
其中,所述第二级置换装置被配置为在所述输出端口上置换从所述输入端口接收的通信,以在所述输入端口和所述输出端口之间提供全网状连接。
20.一种用于在基于分组的网络内转发通信的方法,所述方法包括:
在电气置换装置的多个输入端口的每一者上接收多个分组流的分组,其中,所述多个输入端口将所述电气置换装置耦接到位于所述基于分组的网络内的所述电气置换装置和一组服务器之间的一组接入节点;
在所述电气置换装置的一组输出端口上置换所述分组流,以在所述电气置换装置的输入端口和输出端口之间提供全网状连接,其中,对于给定的输入端口,每个所述分组流具有唯一的源地址,其中,每个所述输入端口接收具有所述源地址的相同的多个分组流的分组,并且其中,置换所述分组流,包括置换所述分组流,使得每个所述输出端口接收所述分组流的相应源地址和接收所述分组流的输入端口的组合的不同的唯一置换;并且利用所述电气置换装置并且通过所述一组输出端口,朝着所述基于分组的网络内的一组一个或多个交换机转发经置换的分组流。
21.根据权利要求20所述的方法,还包括:
为接入节点组的每个接入节点分配一组公共源网络地址;
利用接入节点组的第一接入节点,从耦接到所述第一接入节点的多个不同服务器接收多个分组流;
利用所述第一接入节点并针对所述分组流的每个分组,选择接入节点组中要被喷射所述分组的另一接入节点;
通过利用所述第一接入节点,基于接入节点组中要被喷射所述分组的另一接入节点,为每个分组选择一个源网络地址,来利用所述第一接入节点,形成具有分配给接入节点组的源网络地址的隧道分组;并且
将隧道分组转发到所述电气置换装置,用于在所述输出端口上置换,以到达所述接入节点组的其他接入节点。

说明书全文

在接入节点组内多路复用分组喷射的无阻塞的任意到任意数

据中心网络

[0001] 本申请要求2017年9月13日提交的美国临时申请第62/557,988号、2017年6月2日提交的美国临时申请第62/514,583号和2017年3月29日提交的美国临时申请第62/478,414号的权益,每个申请的全部内容通过引用结合于此。

技术领域

[0002] 本发明涉及计算机网络,更具体地,涉及数据中心网络。

背景技术

[0003] 在典型的基于的数据中心中,大量互连服务器为各种应用程序的执行提供计算和/或存储能。例如,数据中心可以包括为订户(即,数据中心的客户)托管应用程序和服务的设施。例如,数据中心可以托管所有基础设施设备,例如,计算节点、网络和存储系统、电力系统和环境控制系统。
[0004] 在大多数数据中心,存储系统和应用服务器的集群经由一层或多层物理网络交换机和路由器提供的高速交换结构互连。数据中心的规模差异很大,一些公共数据中心包含数十万个服务器,通常分布在多个地理区域以实现冗余。典型的数据中心交换结构包括多层互连的交换机和路由器。在当前实现中,源服务器和目的服务器或存储系统之间用于给定分组流的分组总是通过包括交换结构的路由器和交换机沿着单个路径从源转发到目的地。

发明内容

[0005] 本公开描述了新颖的数据中心网络系统。在网络系统中描述的各种实现可以使用存在于数据中心的两个服务器之间的交换结构中的多个路径中的任何一个来承载用于两个服务器之间的单个流的分组。描述了用于数据中心的网络系统的实例实现,其中,交换结构提供全网状互连,使得任何服务器可以使用数据中心交换结构内的许多并行数据路径中的任何一个将给定分组流的分组数据传送到任何其他服务器。例如,描述了网络架构和技术,在实例实现中,这些网络架构和技术有助于在数据中心交换结构中在多个并行数据路径中的一些或所有路径上喷射给定分组流的单独分组,并对分组进行重新排序,以传送到目的地。在实例实现中,这些技术可以在数据中心的服务器之间提供全网状互连,并且仍然可以是无阻塞和无下降的,并且与现有方法相比,提供明显更好(例如,3倍或更多)的交换结构利用率。
[0006] 描述了各种数据中心网络架构和配置。在某些实例中,根据本文描述的技术,交换结构的耦接到服务器的接入节点、中间置换(例如,电气和/或光)装置和核心交换机可以被配置和设置为使得交换结构中的并行数据路径在接入节点的任何成对组合之间提供全网状(任意到任意)互连,即使在具有数万十个服务器的大规模数据中心中也是如此。置换装置通过光链路将接入节点耦接到核心交换机,以在接入节点和核心交换机之间传送数据
包,作为光信号。每个置换装置包括一组输入端口和一组输出端口,以在接入节点和核心交换机之间引导信号,来传送数据包。每个置换装置被配置为使得从输入端口接收的通信基于波长在输出端口上置换,以便在没有光干扰的情况下在面向边缘的端口和面向核心的端口之间提供全网状连接。在其他实例中,置换装置可以由电子交换机或路由器代替。在其他实现中,置换装置可以与电子交换机和路由器结合使用,以互连甚至更多数量的服务器。
[0007] 在一些实例实现中,本公开涉及一种光置换器,其作为光互连来操作,用于在网络装置(例如,数据中心内的装置)之间传输光通信。如本文所述,光置换器提供接收相应光输入信号的多个输入端口,每个光输入信号潜在地承载多个不同波长的光通信。光置换器的内部光元件被配置为使得从输入端口接收的光通信基于波长在输出光端口上“置换”,从而在端口之间并且以保证不会由于波长冲突而产生光干扰的方式提供全网状连接。即,光置换器被配置为确保从任何一个光输入端口接收的光通信可以引导到任何一个光输出端口,而不会对任何其他输入端口上的任何同时通信产生光干扰。此外,光置换器可以是双向的。以这种方式,光置换器可以提供双向、全网状点对点连接,用于传输光通信。
[0008] 在其他实例实现中,一种网络系统包括:多个服务器,其被设置为包含服务器的一组或多组机架;交换结构,包括将包含服务器的机架组互连的多个核心交换机;以及多个接入节点,每个接入节点耦接到服务器的子集,以在服务器之间传送数据包。一个或多个电气置换装置可以耦接在公共机架组的接入节点之间,每个电气置换装置被配置为在公共机架组内的接入节点的至少一个子集之间传送数据包。每个电气置换装置包括一组输入端口和一组输出端口,以在接入节点之间传送数据包。每个输入端口接收多个分组流,每个分组流具有唯一的源地址,并且每个电气置换装置被配置为在电气置换装置的输出端口上置换在每个输入端口上接收的多个唯一分组流,以在输入端口和输出端口之间提供全网状连接,其中,每个输出端口基于电气置换装置的输入端口和分组流的源地址接收组合的一个不同唯一置换。
[0009] 在另一实例中,一种用于在基于分组的网络内转发通信的方法,所述方法包括在电气置换装置的多个输入端口的每一个上接收多个分组流的分组,其中,所述多个输入端口将电气置换装置耦接到位于电气置换装置和基于分组的网络内的一组服务器之间的一组接入节点。所述方法还包括在电气置换器的一组输出端口上置换分组流,以在电气置换器的输入端口和输出端口之间提供全网状连接,其中,对于给定的输入端口,每个分组流具有唯一的源地址,其中,每个输入端口接收具有唯一源地址的相同多个分组流;并且置换分组流,包括置换分组流,使得每个输出端口接收在其上接收分组流的输入端口和分组流的相应源地址的组合的不同唯一置换。所述方法还包括利用电气置换器并且通过该组输出端口,朝着网络内的一组一个或多个交换机转发经置换的分组流。
[0010] 在附图和以下描述中阐述一个或多个实例的细节。从说明书和附图以及权利要求书中,本发明的其他特征、目的和优点将变得显而易见。

附图说明

[0011] 图1是示出具有数据中心的实例网络的框图,在该数据中心中可以实现本文描述的技术的实例。
[0012] 图2是进一步详细示出由数据中心内的接入节点和交换结构提供的逻辑互连的框图。
[0013] 图3是示出包括接入节点组及其支持服务器的网络存储计算单元(NSCU)40的一个实例的框图。
[0014] 图4是示出包括来自图3的两个NSCU的实例逻辑机架设置的框图。
[0015] 图5是示出逻辑机架内的两个接入节点组之间的全网状连接的实例的框图。
[0016] 图6是示出包括来自图4的两个逻辑机架的完全物理机架的实例设置的框图。
[0017] 图7A是示出接入节点内的网络数据路径和操作的逻辑视图的框图。
[0018] 图7B是示出在逻辑机架内的一组接入节点之间实现的实例一级网络扇出的框图。
[0019] 图8是示出接入节点之间的数据中心交换结构上的实例多级网络扇出的框图。
[0020] 图9是更详细地示出图1的网络的一个实例的框图。
[0021] 图10是示出网络的更详细的实例实现的框图,其中,利用一组接入节点和光置换器来互连全网状网络中的端点,其中,每个接入节点逻辑连接到M组核心交换机中的每一组。
[0022] 图11是示出实例网络集群架构的概念图,其中,八个物理机架经由四个光置换器和四个交换机组互连。
[0023] 图12是示出来自图11的实例网络集群架构的框图。
[0024] 图13是示出另一实例网络集群架构的框图,其中,八个物理机架经由八个光置换装置和八个交换机组互连。
[0025] 图14是示出两个网络集群之间的实例互连的框图。
[0026] 图15是示出实例光置换器的框图,该光置换器可以是本文描述的任何光置换器,例如,图9、11和12中所示的。
[0027] 图16是进一步详细示出图15的光多路复用器切片的实例的框图;
[0028] 图17是示出实例光置换器的框图,该光置换器可以是本文描述的任何光置换器,例如,图9、11和12中所示的。
[0029] 图18是图17的光置换器的另一实例实现的框图。
[0030] 图19是示出具有多个逻辑置换平面的光置换器的框图。
[0031] 图20例如是示出实例电气置换器的框图,该电气置换器可用于以减少的线缆实现尺寸增加的接入节点组,从而实现提供全网状连接的甚至更大的网络互连。
[0032] 图21是示出实例网络架构的概念图,其中,八个物理机架通过电气置换器(EP)互连,以形成机架组。
[0033] 图22是提供更详细实例的概念图,其中,多个机架组(RG)(例如,图21的机架组)通过第一层核心交换机互连。
[0034] 图23是示出电气置换器的实例实现的框图,该电气置换器可以是本文(例如,在图20至22中)描述的任何电气置换器。
[0035] 图24是示出根据本文描述的技术的网络系统的实例操作的流程图

具体实施方式

[0036] 图1是示出具有数据中心10的实例网络8的框图,在数据中心10中可以实现本文描述的技术的实例。通常,数据中心10为通过内容/服务提供商网络7和网关装置20耦接到数据中心的客户11提供应用程序和服务操作环境。在其他实例中,内容/服务提供商网络7可以是数据中心广域网(DC WAN)、专用网络或其他类型的网络。例如,数据中心10可以托管基础设施设备,例如,计算节点、网络和存储系统、冗余电源和环境控制。内容/服务提供商网络7可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。
[0037] 在一些实例中,数据中心10可以表示许多地理上分布的网络数据中心中的一个。在图1的实例中,数据中心10是为客户11提供信息服务的设施。客户11可以是集体实体,例如,企业和政府或个人。例如,网络数据中心可以为几个企业和最终用户托管网络服务。其他实例服务可以包括数据存储、虚拟专用网络、文件存储服务、数据挖掘服务、科学或超级计算服务等。
[0038] 在该实例中,数据中心10包括经由高速交换结构14互连的一组存储系统和应用服务器12。在一些实例中,服务器12被设置为多个不同的服务器组,每个服务器组包括任意数量的服务器,例如,多达n个服务器121至12n。服务器12为与客户11相关联的应用程序和数据提供计算和存储设施,并且可以是物理(裸金属)服务器、在物理服务器上运行的虚拟机、在物理服务器上运行的虚拟化容器或其组合。
[0039] 在图1的实例中,软件定义网络(SDN)控制器21提供了用于配置和管理数据中心10的路由和交换基础设施的高级控制器。根据本公开的一个或多个实施方式,SDN控制器21提供逻辑上并且在某些情况下物理上集中的控制器,用于促进数据中心10内的一个或多个虚拟网络的操作。在一些实例中,SDN控制器21可以响应于从网络管理员接收的配置输入而操作。在一些实例中,根据本文描述的技术,SDN控制器21进行操作以配置接入节点17,以逻辑上建立一个或多个虚拟结构,作为在由交换结构14提供的物理底层网络之上动态配置的覆盖网络。例如,SDN控制器21可以学习和维护接入节点21的知识,并与每个接入节点建立通信控制信道。SDN控制器21使用其对接入节点17的知识来定义多于两个的接入节点17的多个集合(组),以在交换结构14上建立不同的虚拟结构。更具体地,SDN控制器21可以使用通信控制信道来通知给定组中的每个接入节点17哪些其他接入节点包括在同一组中。作为响应,接入节点17通过分组交换网络410与包括在同一组中的其他接入节点动态建立FCP隧道,作为虚拟结构。以这种方式,SDN控制器21为每个虚拟结构定义接入节点17组,并且接入节点负责建立虚拟结构。这样,交换结构14的底层组件可能不知道虚拟结构。在这些实例中,接入节点17与交换结构14对接并利用交换结构14,以便在任何给定虚拟结构的接入节点之间提供全网状(任意到任意)互连。以这种方式,连接到形成给定一个虚拟结构的任何接入节点的服务器可以使用交换结构14内互连该虚拟结构的接入节点的多个并行数据路
径中的任何一个,将给定分组流的分组数据传送到耦接到该虚拟结构的接入节点的任何其他服务器。在题为“NETWORK ACCESS NODE VIRTUAL FABRICS CONFIGURED DYNAMICALLY OVER AN UNDERLAY NETWORK”的2018年3月5日提交的美国临时专利申请第62/638,788中,提供了用于在虚拟覆盖网络内和虚拟覆盖网络上喷射分组的接入节点的更多细节,其全部内容通过引用结合于此。
[0040] 虽然未示出,但是数据中心10还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、安全装置(例如,防火墙、入侵检测和/或入侵防御装置)、服务器、计算机终端、膝上型计算机、打印机数据库、无线移动装置(例如,蜂窝电话或个人数字助理)、无线接入点、网桥、线缆调制解调器、应用加速器或其他网络装置。
[0041] 在图1的实例中,每个服务器12通过接入节点17耦接到交换结构14。如本文进一步描述的,在一个实例中,每个接入节点17是高度可编程的I/O处理器,其专设计用于从服务器12卸载某些功能。在一个实例中,每个接入节点17包括由多个内部处理器集群组成的一个或多个处理核心,例如,MIPS核心,该核心配备有卸载加密功能、压缩和正则表达式(RegEx)处理、数据存储功能和网络操作的硬件引擎。以这种方式,每个接入节点17包括用于代表一个或多个服务器12完全实现和处理网络和存储栈的组件。此外,接入节点18可以被编程地配置为充当其相应服务器12的安全网关,释放服务器的处理器,以将资源专用于应用工作负载。在一些实例实现中,每个接入节点17可以被视为网络接口子系统,该子系统实现对所附服务器系统的数据包处理(服务器存储器中零拷贝)和存储加速的完全卸载。在一个实例中,每个接入节点17可以被实现为一个或多个专用集成电路(ASIC)或其他硬件和软件组件,每个组件支持服务器的子集。接入节点17也可以称为数据处理单元(DPU)或者包括DPU的装置。换言之,术语接入节点在本文可以与术语DPU互换使用。在2017年9月15日提交的题为“Access Node for Data Centers”的美国临时专利申请第62/559,021和2017年7月10日提交的题为“Data Processing Unit for Computing Devices”的美国临时专利申请第62/530,691中描述了各种实例接入节点的额外实例细节,这两个申请的全部内容通过引用结合于此。
[0042] 在实例实现中,接入节点17可以被配置为在具有一个或多个接入节点的独立网络设备中操作。例如,接入节点17可以被设置为多个不同的接入节点组19,每个接入节点组包括任意数量的接入节点,例如,多达x个接入节点171至17x。这样,多个接入节点17可以分组(例如,在单个电子装置或网络设备内),本文称为接入节点组19,用于向装置内部的一组接入节点支持的一组服务器提供服务。在一个实例中,接入节点组19可以包括四个接入节点17,每个接入节点支持四个服务器,以便支持一组十六个服务器。
[0043] 在图1的实例中,每个接入节点17为一不同组的服务器12提供到交换结构14的连接,并且可以分配相应的IP地址,并且为与其耦接的服务器12提供路由操作。如本文所述,接入节点17为来自/指向各个服务器12的通信提供路由和/或交换功能。例如,如图1所示,每个接入节点17包括用于与相应的一组服务器12通信的一组面向边缘的电本地总线接口
或光本地总线接口以及用于与交换结构14内的核心交换机通信的一个或多个面向核心的
电接口或光接口。此外,本文描述的接入节点17可以提供额外服务,例如,存储(例如,固态存储装置的集成)、安全性(例如,加密)、加速(例如,压缩)、I/O卸载等。在一些实例中,一个或多个接入节点17可以包括存储装置,例如,高速固态驱动器或旋转硬盘驱动器,其被配置为提供网络可接入存储,以供在服务器上执行的应用程序使用。虽然图1中未示出,但是接入节点17可以直接彼此耦接,例如,公共接入节点组19中的接入节点之间的直接耦接,以提供同一组接入节点之间的直接互连。例如,多个接入节点17(例如,4个接入节点)可以位于公共接入节点组19内,用于服务一组服务器(例如,16个服务器)。
[0044] 作为一个实例,多个接入节点17的每个接入节点组19可以被配置为独立的网络装置,并且可以被实现为占用装置机架的两个机架单元(例如,插槽)的两个机架单元(2RUs)装置。在另一实例中,接入节点17可以集成在服务器中,例如,单个1RU服务器,其中,四个CPU耦接到部署在公共计算装置内的母板上的本文描述的转发ASIC。在又一实例中,接入节点17和服务器12中的一个或多个可以集成在合适大小(例如,10RU)的框中,在该实例中,该框可以成为数据中心10的网络存储计算单元(NSCU)。例如,接入节点17可以集成在服务器12的母板内,或者以其他方式与服务器共同位于单个机箱中。
[0045] 根据本文的技术,描述了实例实现,其中,接入节点17对接并利用交换结构14,以便提供全网状(任意到任意)互连,使得任何服务器12可以使用数据中心10内的任何多个并行数据路径将给定分组流的分组数据传送到任何其他服务器。例如,描述了示例网络架构和技术,其中,在实例实现中,接入节点在接入节点之间以及数据中心交换结构14中的多个并行数据路径中的一些或所有路径上喷射分组流的各个分组,并且重新排序分组,以传送到目的地,从而提供全网状连接。
[0046] 以这种方式,根据本文的技术,描述了实例实现,其中,接入节点17对接并利用交换结构14,以便提供全网状(任意到任意)互连,使得任何服务器12可以使用数据中心10内的任何多个并行数据路径将给定分组流的分组数据传送到任何其他服务器。例如,描述了示例网络架构和技术,其中,在实例实现中,接入节点在接入节点之间以及数据中心交换结构14中的多个并行数据路径中的一些或所有路径上喷射分组流的各个分组,并且重新排序分组,以传送到目的地,从而提供全网状连接。
[0047] 如本文所述,本公开的技术引入了称为结构控制协议(FCP)的新数据传输协议,任何接入节点17的不同操作网络组件可以使用该协议,以促进在交换结构14上传送数据。如进一步描述的,FCP是端到端准入控制协议,其中,在一个实例中,发送方明确请求接收器,意图传输特定字节的有效载荷数据。作为响应,接收器基于其缓冲资源、QoS和/或结构拥塞的度量来发布授权。通常,FCP能够将流的分组喷射到源节点和目的节点之间的所有路径,并且可以提供本文描述的任何优点和技术,包括抗请求/授权丢包的弹性、自适应和低等待时间结构实现、故障恢复、降低或最小的协议开销成本、支持未经请求的分组传输、支持有/无FCP能力节点共存、流感知公平带宽分配、通过自适应请求窗口缩放来传输缓冲器管理、接收基于缓冲器占用的授权管理、改进的端到端QoS、通过加密和端到端认证的安全性和/或改进的ECN标记支持。可在题为“Fabric ControlProtocol for Data Center Networks with Packet Spraying Over MultipleAlternate Data Paths”的2017年9月29日提交的美国临时专利申请第62/566,060中获得关于FCP的更多细节,其全部内容通过引用结合于此。
[0048] 这些技术可以提供某些优势。例如,这些技术可以显著提高底层交换结构14的带宽利用率。此外,在实例实现中,这些技术可以在数据中心的服务器之间提供全网状互连,并且仍然可以是无阻塞的和无下降的。
[0049] 尽管在图1中针对数据中心10的交换结构14描述了接入节点17,但是在其他实例中,接入节点可以在任何分组交换网络上提供全网状互连。例如,分组交换网络可以包括局域网(LAN)、广域网(WAN)或一个或多个网络的集合。分组交换网络可以具有任何拓扑,例如,平面或多层,只要在接入节点之间存在完全连接。分组交换网络可以使用任何技术,包括提供以太网的IP以及其他技术。不管分组交换网络的类型如何,根据本公开中描述的技术,接入节点可以在接入节点之间以及分组交换网络中的多个并行数据路径上喷射分组流的各个分组,并且重新排序分组,以传送到目的地,从而提供全网状连接。
[0050] 图2是进一步详细示出由数据中心内的接入节点17和交换结构14提供的逻辑互连的框图。如该实例中所示,接入节点17和交换结构14可以被配置为提供全网状互连,使得接入节点17可以使用到任何核心交换机22A至22M(统称为“核心交换机22”)的多个M并行数据路径中的任何一个将任何服务器12的分组数据传送到任何其他服务器12。此外,根据本文描述的技术,接入节点17和交换结构14可以被配置和设置为使得交换结构14中的M个并行数据路径在服务器12之间提供减少的L2/L3跳和全网状互连(例如,二分图),即使在具有数万个服务器的大规模数据中心中也是如此。注意,在该实例中,交换机22彼此不连接,这使得一个或多个交换机的任何故障更有可能彼此独立。在其他实例中,交换结构本身可以使用多层互连交换机来实现,如在CLOS网络中一样。
[0051] 因此,在一些实例实现中,每个接入节点17可以具有多个并行数据路径,用于到达任何给定的其他接入节点17和通过这些接入节点可到达的服务器12。在一些实例中,交换结构14可以被配置为使得对于服务器12之间的任何给定分组流,接入节点17可以在交换结构14的M个并行数据路径的全部或子集上喷射分组流的分组,通过该路径可以到达目的服务器12的给定目的接入节点17,而不是局限于沿着交换结构中的单个路径发送给定流的所有分组。
[0052] 根据所公开的技术,接入节点17可以在M个路径上喷射各个分组流的分组,端到端地形成源接入节点和目的接入节点之间的虚拟隧道。以这种方式,交换结构14中包括的层数或沿着M个并行数据路径的跳数对于本公开中描述的分组喷射技术的实现可能无关紧要。
[0053] 然而,在交换结构14的M个并行数据路径的全部或子集上喷射各个分组流的分组的技术使得交换结构14内的网络装置的层数能够减少,例如,减少到最少一层。此外,支持交换机不相互连接的结构架构,降低了两个交换机之间故障相关性的可能性,从而提高了交换结构的可靠性。平坦化交换结构14可以通过消除需要电力的网络装置层来降低成本,并且通过消除执行分组交换的网络装置层来降低延迟。在一个实例中,交换结构14的平坦拓扑可以导致核心层仅包括一级主干交换机,例如,核心交换机22,所述交换机可以不直接相互通信,而是沿着M个并行数据路径形成单跳。在该实例中,通过一个核心交换机22的单跳L3查找,将业务提供到交换结构14的任何接入节点17可以到达任何其他接入节点17。
[0054] 为源服务器12提供分组流的接入节点17可以使用任何用于在可用并行数据路径上喷射分组的技术,例如,可用带宽、随机、循环、基于散列或其他机制,该机制可以被设计为最大化例如带宽的利用或以其他方式避免拥塞。在一些实例实现中,不一定需要利用基于流的负载平衡,并且可以通过允许由服务器12提供的给定分组流(五元组)的分组在耦接到源和目的服务器的接入节点17之间穿过遍历交换结构14的不同路径来使用更有效的带
宽利用。与目的服务器12相关联的相应目的接入节点17可以被配置为对分组流的可变长度的IP分组重新排序,并且以其原先发送的顺序将分组传送到目的服务器。
[0055] 在一些实例实现中,每个接入节点17实现至少四个不同的操作网络组件或功能:(1)源组件,其可操作用于从服务器12接收流量,(2)源交换组件,其可操作用于将源流量切换到不同接入节点17(可能是不同接入节点组)的其他源交换组件或核心交换机22,(3)目的交换组件,其可操作用于切换从其他源交换组件或核心交换机22接收的入站流量,以及(4)目的组件,其可操作用于重新排序分组流并将分组流提供给目的服务器12。
[0056] 在该实例中,服务器12连接到接入节点17的源组件,以将流量注入交换结构14,并且服务器12类似地耦接到接入节点17内的目的组件,以从其接收流量。由于交换结构14提供的全网状并行数据路径,给定接入节点17内的每个源交换组件和目的交换组件不需要执行L2/L3交换。相反,接入节点17可以应用喷射算法来喷射分组流的分组,例如,可用带宽、随机地、循环地、基于QoS/调度,或者以其他方式高效地转发分组,而在一些实例中,不需要分组分析和查找操作。
[0057] 接入节点17的目的交换组件可以提供有限的查找,该查找仅是选择用于将分组转发到本地服务器12的适当输出端口所必需的。这样,关于数据中心的完整路由表,可能只有核心交换机22需要执行完整查找操作。因此,交换结构14提供了高度可扩展、平坦、高速的互连,其中,在一些实施例中,服务器12实际上是来自数据中心内的任何其他服务器12的一个L2/L3跳。
[0058] 接入节点17可能需要连接到相当数量的核心交换机22,以便将分组数据传送到任何其他接入节点17和通过这些接入节点可接入的服务器12。在一些情况下,为了提供链路乘子效应,接入节点17可以经由机架顶部(TOR)以太网交换机、电气置换装置或光置换(OP)装置(图2中未示出)连接到核心交换机22。为了提供额外的链路乘子效应,接入节点17的源组件可以被配置为在包括在一个或多个接入节点组19中的一组其他接入节点17上喷射从服务器12接收的流量的各个分组流的分组。在一个实例中,接入节点17可以实现来自接入节点间喷射的8倍乘数效应以及来自OP装置的额外8倍乘乘数效应,以连接到多达64个核心交换机22。
[0059] 通过网络在等成本多路径(ECMP)路径上的基于流的路由和切换可能容易受到高度可变的负载相关延迟的影响。例如,网络可能包括许多小带宽流和一些大带宽流。在通过ECMP路径进行路由和交换的情况下,源接入节点可以为两个大带宽流选择同一路径,从而导致该路径上的大延迟。例如,为了避免该问题并保持网络的低延迟,管理员可能会被迫将网络利用率保持在25-30%以下。在本公开中描述的将接入节点17配置为在所有可用路径上喷射单独分组流的分组的技术能够实现更高的网络利用率,例如,85-90%,同时保持有界或有限的延迟。分组喷射技术使得源接入节点17能够在考虑链路故障的同时,在所有可用路径上公平地分配给定流的分组。以这种方式,不管给定流的带宽大小如何,负载都可以通过网络公平地分布在可用路径上,以避免特定路径的过度利用。所公开的技术使得相同数量的网络装置能够通过网络传输三倍的数据流量,同时保持低延迟特性并减少消耗能量的网络装置的层数。
[0060] 如图2的实例所示,在一些实例实现中,接入节点17可以被设置为多个不同的接入节点组191至19Y(图2中的ANG),每个接入节点组包括任意数量的接入节点17,例如,多达x个接入节点171至17x。这样,多个接入节点17可以分组和设置(例如,在单个电子装置或网络装置内),本文称为接入节点组(ANG)19,用于向装置内部的该组接入节点所支持的一组服务器提供服务。
[0061] 如上所述,每个接入节点组19可以被配置为独立的网络装置,并且可以被实现为被配置为安装在计算机架、存储机架或融合机架中的装置。通常,每个接入节点组19可以被配置为作为高性能I/O集线器来操作,该高性能I/O集线器被设计为聚合和处理多个服务器12的网络和/或存储I/O。如上所述,每个接入节点组19内的一组接入节点17提供高度可编程的专用I/O处理电路,用于代表服务器12处理联网和通信操作。此外,在一些实例中,每个接入节点组19可以包括存储装置27,例如,高速固态硬盘驱动器,其被配置为提供网络可接入存储,以供在服务器上执行的应用程序使用。每个接入节点组19(包括其一组接入节点
17、存储装置27)和由该接入节点组的接入节点17支持的一组服务器12在本文可以称为网络存储计算单元(NSCU)40。
[0062] 图3是示出包括接入节点组19及其支持的服务器52的网络存储计算单元(NSCU)40的一个实例的框图。接入节点组19可以被配置为作为高性能I/O集线器来操作,该高性能I/O集线器被设计为聚合和处理到多个服务器52的网络和存储I/O。在图3的特定实例中,接入节点组19包括连接到本地固态存储器池41的四个接入节点171至174(统称为“接入节点
17”)。在图示的实例中,接入节点组19支持总共十六个服务器节点121至1216(统称为“服务器节点12”),接入节点组19内的四个接入节点17中的每一个支持四个服务器节点12。在一些实例中,由每个接入节点17支持的四个服务器节点12中的每一个可以被设置为服务器
52。在一些实例中,贯穿本申请描述的“服务器12”可以是双插槽或双处理器“服务器节点”,其在独立的服务器装置(例如,服务器52)内以两个或更多个为一组排列。
[0063] 尽管接入节点组19在图3中示出为包括都连接到固态存储器41的单个池的四个接入节点17,但是接入节点组可以以其他方式设置。在一个实例中,四个接入节点17中的每一个可以包括在单独的接入节点滑板上,该滑板还包括固态存储器和/或用于接入节点的其他类型的存储器。在该实例中,接入节点组可以包括四个接入节点滑板,每个滑板具有一个接入节点和一组本地存储装置。
[0064] 在一个实例实现中,接入节点组19内的接入节点17使用外围组件互连快速(PCIe)链路48、50连接到服务器52和固态存储器41,并且使用以太网链路42、44、46连接到其他接入节点和数据中心交换结构14。例如,每个接入节点17可以支持六个高速以太网连接,包括用于与交换结构通信的两个外部可用以太网连接42、用于与其他接入节点组中的其他接入节点通信的一个外部可用以太网连接44、以及用于与同一接入节点组19中的其他接入节点17通信的三个内部以太网连接46。在一个实例中,每个外部可用连接42可以是100千兆以太网连接。在该实例中,接入节点组19具有8×100GE外部可用端口,以连接到交换结构14。
[0065] 在接入节点组19内,连接42可以是链路,即,电气链路,该链路被设置为接入节点组19的每个接入节点17和光端口之间的8x25 GE链路。在接入节点组19和交换结构之间,连接42可以是耦接到接入节点组19的光端口的光以太网连接。光以太网连接可以连接到交换结构内的一个或多个光装置,例如,下面更详细描述的光置换装置。光以太网连接可能比电气连接支持更多带宽,而不会增加交换结构中的线缆数量。例如,耦接到接入节点组19的每个光缆可以承载4x100 GE光纤,每个光纤承载四种不同波长或λ的光信号。在其他实例中,外部可用连接42可以保持作为到交换结构的电以太网连接。
[0066] 每个接入节点17支持的其余四个以太网连接包括用于与其他接入节点组内的其他接入节点通信的一个以太网连接44,以及用于与同一接入节点组19内的其他三个接入节点通信的三个以太网连接46。在一些实例中,连接44可以称为“接入节点组间链路”,连接46可以称为“接入节点组内链路”。
[0067] 以太网连接44、46在给定结构单元内的接入节点之间提供全网状连接。在一个实例中,这种结构单元在本文可以称为逻辑机架(例如,半机架或半物理机架),其包括具有两个AGN 19的两个NSCU 40,并且支持用于这些AGN的八个接入节点17的8向网格。在该特定实例中,连接46将在同一接入节点组19内的四个接入节点17之间提供全网状连接,并且连接44将在每个接入节点17与逻辑机架(即,结构单元)的另一接入节点组的四个其他接入节点之间提供全网状连接。此外,接入节点组19可以具有足够的(例如,16个)外部可用以太网端口,以连接到另一接入节点组中的4个接入节点。
[0068] 在接入节点的8向网格的情况下(即,两个NSCU 40的逻辑机架),每个接入节点17可以通过50GE连接而连接到其他七个接入节点中的每一个。例如,同一接入节点组19内的四个接入节点17之间的每个连接46可以是设置为2×25GE链路的50GE连接。四个接入节点17和另一接入节点组中的四个接入节点之间的每个连接44可以包括四个50GE链路。在一些实例中,四个50GE链路中的每一个可以被设置为2×25GE链路,使得每个连接44包括到另一接入节点组中的其他接入节点的8×25GE链路。下面将参考图5更详细地描述该实例。
[0069] 在另一实例中,以太网连接44、46在给定结构单元内的接入节点之间提供全网状连接,该给定结构单元是全机架或全物理机架,包括具有四个AGN 19的四个NSCU 40,并支持这些AGN的接入节点17的16向网格。在该实例中,连接46在同一接入节点组19内的四个接入节点17之间提供全网状连接,并且连接44在每个接入节点17和三个其他接入节点组内的十二个其他接入节点之间提供全网状连接。此外,接入节点组19可以具有足够的(例如,48个)外部可用以太网端口,以连接到另一接入节点组中的四个接入节点。
[0070] 在接入节点的16向网格的情况下,例如,每个接入节点17可以通过25GE连接而连接到其他15个接入节点中的每一个。换言之,在该实例中,同一接入节点组19内的四个接入节点17之间的每个连接46可以是单个25GE链路。四个接入节点17和三个其他接入节点组中的十二个其他接入节点之间的每个连接44可以包括12×25GE链路。
[0071] 如图3所示,接入节点组19内的每个接入节点17还可以支持一组高速PCIe连接48、50,例如,PCIe Gen 3.0或PCIe Gen 4.0连接,用于与接入节点组19内的固态存储器41通信以及与NSCU 40内的服务器52通信。每个服务器52包括由接入节点组19内的一个接入节点
17支持的四个服务器节点12。固态存储器41可以是每个接入节点17可经由连接48接入的基于非易失性存储器快速(NVMe)的固态驱动器(SSD)存储装置的池。
[0072] 在一个实例中,固态存储器41可以包括二十四个SSD装置,每个接入节点17具有六个SSD装置。二十四个SSD装置可以排列成四行六个SSD装置,每行SSD装置连接到一个接入节点17。每个SSD装置最多可提供16兆兆字节(TB)的存储,每个接入节点组19总共可提供384TB的存储。如下文更详细描述的,在一些情况下,物理机架可以包括四个接入节点组19及其支持的服务器52。在这种情况下,典型的物理机架可能支持大约1.5千兆字节(PB)的本地固态存储。在另一实例中,固态存储器41可以包括多达32U.2×4SSD装置。在其他实例中,NSCU 40可以支持其他SSD装置,例如,2.5英寸串行ATA(SATA)SSD、微型SATA(mSATA)SSD、M.2SSD等。
[0073] 在上面描述的实例中,其中,每个接入节点17包括在具有用于接入节点的本地存储的单个接入节点滑板上,每个接入节点滑板可以包括四个SSD装置和一些可以是硬盘驱动器或固态驱动器装置的额外存储。在该实例中,四个SSD装置和额外存储可以为每个接入节点提供与前一实例中描述的六个SSD装置大致相同的存储量。
[0074] 在一个实例中,每个接入节点17支持总共96个PCIe通道。在该实例中,每个连接48可以是8×4通道PCI Gen 3.0连接,经由该连接,每个接入节点17可以与固态存储器41内多达八个SSD装置通信。此外,给定接入节点17和由接入节点17支持的服务器52内的四个服务器节点12之间的每个连接50可以是4×16通道PCIe Gen 3.0连接。在该实例中,接入节点组19总共具有256个面向外部的PCIe链路,这些链路与服务器52接合。在一些情况下,接入节点17可以支持冗余服务器连接,使得每个接入节点17使用8×8通道PCIe Gen 3.0连接而连接到两个不同服务器52内的八个服务器节点12。
[0075] 在另一实例中,每个接入节点17支持总共64个PCIe通道。在该实例中,每个连接48可以是8×4通道PCIe Gen 3.0连接,经由该连接,每个接入节点17可以与固态存储器41内多达八个SSD装置通信。此外,给定接入节点17和由接入节点17支持的服务器52内的四个服务器节点12之间的每个连接50可以是4×8通道PCIe Gen 4.0连接。在该实例中,接入节点组19总共具有128个面向外部的PCIe链路,这些链路与服务器52接合。
[0076] 图4是示出包括来自图3的两个NSCU 401和402的实例逻辑机架设置60的框图。在一些实例中,基于接入节点组19“夹在”顶部的两个服务器52和底部的两个服务器52之间的结构设置,每个NSCU 40可以称为“计算夹层”。例如,服务器52A可以称为顶部第二服务器,服务器52B可以称为顶部服务器,服务器52C可以称为底部服务器,服务器52D可以称为底部第二服务器。每个服务器52可以包括四个服务器节点,并且每个服务器节点可以是双插槽或双处理器服务器滑板。
[0077] 每个接入节点组19使用PCIe链路50连接到服务器52,并使用以太网链路42连接到交换结构14。接入节点组191和192可以均包括使用以太网链路相互连接的四个接入节点以及使用PCIe链路连接到接入节点的本地固态存储器,如以上参考图3所述。接入节点组191和192内的接入节点在全网格64中相互连接,这将参考图5进行更详细的描述。
[0078] 此外,每个接入节点组19支持到服务器52的PCIe连接50。在一个实例中,每个连接50可以是4×16通道PCIe Gen 3.0连接,使得接入节点组19总共具有256个外部可用的PCIe链路,这些链路与服务器52接合。在另一实例中,每个连接50可以是用于在接入节点组19内的接入节点和服务器52内的服务器节点之间通信的4×8通道PCIe Gen 4.0连接。在任一实例中,连接50可以提供每个接入节点19的512千兆比特或者每个服务器节点大约128千兆比特的带宽的原始吞吐量,而不考虑任何开销带宽成本。
[0079] 如以上参考图3所讨论的,每个NSCU 40支持从接入节点组19到交换结构14的8×100GE链路42。因此,每个NSCU 40支持四个服务器52中多达十六个服务器节点、本地固态存储器和800Gbps的全双工(即,双向)网络带宽。因此,每个接入节点组19可以提供服务器52的计算、存储、联网和安全性的真正超级融合。因此,包括两个NSCU 40的逻辑机架60为八个服务器52中的多达三十二个服务器节点、接入节点组19处的本地固态存储以及到交换结构
14的16×100GE链路42提供支持,这导致全双工网络带宽为每秒1.6兆兆位(Tbps)。
[0080] 图5是示出逻辑机架60内的两个接入节点组191、192之间的全网状连接的实例的框图。如图5所示,接入节点组191包括四个接入节点171至174,接入节点组192也包括四个接入节点175至178。每个接入节点17以网状结构拓扑连接到逻辑机架内的其他接入节点。网状拓扑中包括的八个接入节点17可以称为接入节点“集群”。以这种方式,每个接入节点17能够将分组喷射到集群中的每个其他接入节点。
[0081] 在互连两个接入节点组19的8向网格的图示配置中,每个接入节点17经由全网状连接而连接到集群中的其他七个接入节点中的每一个。接入节点17之间的网状拓扑包括同一接入节点组19中包括的四个接入节点之间的接入节点组内链路46,以及接入节点组191中的接入节点171至174和接入节点组192中的接入节点175至178之间的接入节点组间链路
44。尽管图示为每个接入节点17之间的单个连接,但是每个连接44、46是双向的,使得每个接入节点经由单独的链路连接到集群中的每个其他接入节点。
[0082] 第一接入节点组191内的每个接入节点171至174具有到第一接入节点组191中其他接入节点的三个接入节点组内连接46。如第一接入节点组191所示,接入节点171支持到接入节点174的连接46A、到接入节点173的连接46B以及到接入节点172的连接46C。接入节点172支持到接入节点171的连接46A、到接入节点174的连接46D、以及到接入节点173的连接46E。接入节点173支持到接入节点171的连接46B、到接入节点172的连接46E、以及到接入节点174的连接46F。接入节点174支持到接入节点171的连接46A、到接入节点172的连接46D、以及到接入节点173的连接46F。接入节点175至178类似地连接在第二接入节点组192内。
[0083] 第一接入节点组191中的每个接入节点171至174也具有到第二接入节点组192中的接入节点175至178的四个接入节点组间连接44。如图5所示,第一接入节点组191和第二接入节点组192均具有16个外部可用端口66,以相互连接。例如,接入节点171支持通过第一接入节点组191的四个面向外部的端口66到第二接入节点组192的四个外部可用端口66的连接44A、44B、44C和44D,以到达接入节点175至178。具体地,接入节点171支持到第二接入节点组
192内的接入节点175的连接44A、到第二接入节点组192内的接入节点176的连接44B、到第二接入节点组192内的接入节点177的连接44C、以及到第二接入节点组192内的接入节点178的连接44D。第一接入节点组191内的其余接入节点172至174类似地连接到第二接入节点组192内的接入节点175至178。另外,在相反的方向上,接入节点175至178类似地连接到第一接入节点组191内的接入节点171至174。
[0084] 每个接入节点17可以被配置为支持高达400千兆比特的带宽,以连接到集群中的其他接入节点。在图示的实例中,每个接入节点17可以支持到其他接入节点的多达八个
50GE以太网链路。在该实例中,由于每个接入节点17仅连接到七个其他接入节点,因此可能剩余50千兆比特的带宽并用于管理接入节点。在一些实例中,连接44、46中的每一个可以是单个50GE连接。在其他实例中,每个连接44、46可以是2×25GE连接。在其他实例中,每个接入节点组内连接46可以是2×25GE连接,并且每个接入节点组间连接44可以是单个50GE连
接,以减少盒间线缆的数量。例如,从第一接入节点组191内的每个接入节点171至174,4×
50GE链路断开盒,以连接到第二接入节点组192中的接入节点175至178。在一些实例中,可以使用DAC线缆从每个接入节点17取出4×50GE链路。
[0085] 图6是示出包括来自图4的两个逻辑机架60的完全物理机架70的实例设置的框图。在图6所示的实例中,机架70在垂直高度上具有42个机架单元或插槽,包括2机架单元(2RU)机架顶部(TOR)装置72,用于提供到交换结构14内装置的连接。在一个实例中,TOR装置72包括机架顶部以太网交换机。在其他实例中,TOR装置72包括将在下面进一步详细描述的光置换器。在一些实例中,机架70可以不包括额外的TOR装置72,而是具有典型的40个机架单元。
[0086] 在图示的实例中,机架70包括四个接入节点组191至194,每个接入节点组在高度上都是独立的网络设备2RU。每个接入节点组19包括四个接入节点,并且可以如图3的实例所示进行配置。例如,接入节点组191包括接入节点AN1至AN4,接入节点组192包括接入节点AN5至AN8,接入节点组193包括接入节点AN9至AN12,接入节点组194包括接入节点AN13至AN16。接入节点AN1至AN16可以基本上类似于上述接入节点17。
[0087] 在该实例中,每个接入节点组19支持16个服务器节点。例如,接入节点组191支持服务器节点A1至A16,接入节点组192支持服务器节点B1至B16,接入节点组193支持服务器节点C1至C16,接入节点组194支持服务器节点D1至D16。服务器节点可以是宽为1/2机架、高为1RU的双插槽或双处理器服务器滑板。如参考图3所述,四个服务器节点可以设置在高度为
2RU的服务器52中。例如,服务器52A包括服务器节点A1至A4,服务器52B包括服务器节点A5至A8,服务器52C包括服务器节点A9至A12,服务器52D包括服务器节点A13至A16。服务器节点B1至B16、C1至C16和D1至D16可以类似地设置在服务器52中。
[0088] 从图3至4中,接入节点组19和服务器52设置在NSCU 40中。NSCU40高度为10RU,每个NSCU包括一个2RU接入节点组19和四个2RU服务器52。如图6所示,接入节点组19和服务器52可以被结构化为计算夹层,其中,每个接入节点组19“夹在”顶部的两个服务器52和底部的两个服务器52之间。例如,关于接入节点组191,服务器52A可以称为顶部第二服务器,服务器52B可以称为顶部服务器,服务器52C可以称为底部服务器,并且服务器52D可以称为底部第二服务器。在所示的结构设置中,接入节点组19由八个机架单元分开,以容纳由一个接入节点组支持的底部两个2RU服务器52和由另一接入节点组支持的顶部两个2RU服务器52。
[0089] NSCU 40可以从图5设置在逻辑机架60中,即,半物理机架中。逻辑机架60的高度为20RU,每个机架包括具有全网状连接的两个NSCU40。在图6所示的实例中,接入节点组191和接入节点组192与其各自支持的服务器节点A1至A16和B1至B16一起包括在同一逻辑机架60中。如以上参考图5更详细描述的,包括在同一逻辑机架60中的接入节点AN1至AN8以8向网格相互连接。接入节点AN9至AN16可以类似地连接在另一逻辑机架60内的8向网格中,该逻辑机架60包括接入节点组193和194及其各自的服务器节点C1至C16和D1至D16。
[0090] 机架70内的逻辑机架60可以直接或通过中间机架顶部装置72连接到交换结构。如上所述,在一个实例中,TOR装置72包括机架顶部以太网交换机。在其他实例中,TOR装置72包括光置换器,该光置换器在接入节点17和核心交换机22之间传输光信号,并且被配置为基于波长“置换”光通信,从而在没有任何光干扰的情况下在上游和下游端口之间提供全网状连接。
[0091] 在图示的实例中,每个接入节点组19可以经由接入节点组支持的8×100GE链路中的一个或多个连接到TOR装置72,以到达交换结构。在一种情况下,机架70内的两个逻辑机架60可以均连接到TOR装置72的一个或多个端口,TOR装置72也可以从相邻物理机架内的一个或多个逻辑机架接收信号。在其他实例中,机架70本身可以不包括TOR装置72,而是逻辑机架60可以连接到包括在一个或多个相邻物理机架中的一个或多个TOR装置。
[0092] 对于40RU的标准机架尺寸,可能希望保持在典型的功率极限内,例如,15千瓦(kW)的功率极限。在机架70的实例中,不考虑额外的2RUTOR装置72,即使有64个服务器节点和4个接入节点组,也可以容易地保持在15kW功率极限内或附近。例如,每个接入节点组19可以使用大约1kW的功率,导致接入节点组大约4kW的功率。此外,每个服务器节点可以使用大约200W的功率,导致服务器52的功率大约为12.8kW。因此,在该实例中,接入节点组19和服务器52的40RU设置使用大约16.8kW的功率。
[0093] 图7A是示出接入节点17内的网络数据路径和操作的逻辑视图的框图。如图7A的实例所示,在一些实例实现中,每个接入节点17实现至少四个不同的操作网络组件或功能:(1)源(SF)组件30,其可操作,用于从接入节点支持的一组服务器12接收流量,(2)源交换(SX)组件32,其可操作,用于将源流量切换到不同接入节点17(可能是不同接入节点组)的其他源交换组件或核心交换机22,(3)目的交换(DX)组件34,其可操作,用于切换从其他源交换组件或从核心交换机22接收的入站流量,以及(4)目的(DF)组件36,其可操作,用于重新排序分组流并将分组流提供给目的服务器12。
[0094] 在一些实例中,接入节点17的不同操作网络组件可以对传输控制协议(TCP)分组流执行基于流的交换和基于ECMP的负载平衡。然而,通常,ECMP负载平衡很差,因为它将流随机散列到路径,使得几个大的流可能分配到同一路径,并且严重不平衡结构。此外,ECMP依赖于本地路径决策,对于任何选择的路径,不使用任何关于下游可能拥塞或链路故障的反馈。
[0095] 本公开中描述的技术引入了称为结构控制协议(FCP)的新数据传输协议,接入节点17的不同操作网络组件可以使用该协议。FCP是端到端准入控制协议,其中,发送方明确请求接收器,意图传输特定字节数量的有效载荷数据。作为响应,接收器基于其缓冲资源、QoS和/或结构拥塞的度量来发布授权。
[0096] 例如,FCP包括准入控制机制,通过该机制,源节点在将结构上的分组传输到目的节点之前请求许可。例如,源节点向目的节点发送请求消息,请求传输一定数量的字节,目的节点在预留出口带宽之后向源节点发送授权消息。此外,FCP使单独的分组流的分组能够喷射到源节点和目的节点之间的所有可用链路,而不是基于流的交换和ECMP转发用于在同一路径上发送TCP流的所有分组,来避免分组重新排序。源节点为流的每个分组分配分组序列号,目的节点使用分组序列号将同一流中的输入分组按顺序排列。
[0097] 接入节点17的SF组件30被认为是结构的源节点。根据所公开的技术,对于FCP流量,SF组件30被配置为通过到逻辑机架内接入节点的多个SX组件的链路喷射其输入带宽
(例如,200Gbps)。例如,如参考图7B更详细描述的,SF组件30可以在八个链路上将相同流的分组喷射到SX组件32和逻辑机架内其他接入节点的七个其他SX组件。对于非FCP流量,SF组件30被配置为选择将相同流的分组发送到的一个连接的SX组件。
[0098] 接入节点17的SX组件32可以从逻辑机架内的接入节点的多个SF组件(例如,逻辑机架内的SF组件30和其他接入节点的七个其他SF组件)接收输入分组。对于FCP流量,SX组件32还被配置为在到结构中的多个核心交换机链路上将其输入带宽喷射。例如,如参考图8更详细描述的,SX组件32可以在到八个核心交换机的八个链路上将其带宽喷射。在一些情况下,SX组件32可以在到四个或八个中间装置(例如,TOR以太网交换机、电气置换装置或光置换装置)的八个链路上将其带宽喷射,这些装置又将流量转发到核心交换机。对于非FCP流量,SX组件32被配置为选择将相同分组流的分组发送到的一个核心交换机。由于到SX组件32的输入带宽和从SX组件32的输出带宽相同(例如,200Gbps),即使对于大量分组流,也不应该在SX级发生拥塞。
[0099] 接入节点17的DX组件34可以直接或经由一个或多个中间装置(例如,TOR以太网交换机、电气置换装置或光置换装置)从多个核心交换机接收输入分组。例如,DX组件34可以从八个核心交换机或者四个或八个中间装置接收输入分组。DX组件34被配置为选择将接收到的分组发送到其的DF组件。例如,DX组件34可以连接到DF组件36和逻辑机架内其他接入节点的七个其他DF组件。在一些情况下,DX组件34可能成为拥塞点,因为DX组件34可能接收大量带宽(例如,200Gbps),这些带宽都将发送到同一DF组件。在FCP流量的情况下,DX组件34可以使用FCP的准入控制机制来避免长期拥塞。
[0100] 接入节点17的DF组件36可以接收来自逻辑机架内接入节点的多个DX组件(例如,DX组件34和逻辑机架内其他接入节点的七个其他DX组件)的输入分组。DF组件36被认为是结构的目的节点。对于FCP流量,DF组件36被配置为在将流发送到目的服务器12之前记录该同一流的分组。
[0101] 在一些实例中,接入节点17的SX组件32和DX组件34可以使用相同的转发表来执行分组交换。在该实例中,接入节点17的个性和由转发表为同一目的IP地址识别的下一跳可以取决于接收到的数据包的源端口类型。例如,如果从SF组件接收到源分组,则接入节点17作为SX组件32操作,并确定下一跳通过结构将源分组转发到目的节点。如果从面向结构的端口接收到分组,则接入节点17作为DX组件34操作,并确定最后下一跳将输入分组直接转发到目的节点。在一些实例中,接收到的分组可以包括指定其源端口类型的输入标签。
[0102] 图7B是示出在逻辑机架60内的一组接入节点171至178之间实现的实例一级网络扇出的框图。在图7B所示的实例中,逻辑机架60包括两个接入节点组191和192(其包含八个接入节点171至178)和每个接入节点支持的服务器节点12。
[0103] 如图7B所示,逻辑机架60内的接入节点17的SF组件30A至30H和SX组件32A至32H具有全网状连接,因为每个SF组件30连接到逻辑机架60内八个接入节点17的所有SX组件32。如上所述,逻辑机架60内的八个接入节点17可以通过电以太网连接的8向网格相互连接。在FCP流量的情况下,逻辑机架60内的接入节点17的SF组件30应用喷射算法来在到SX组件32的所有可用链路上喷射任何给定分组流的分组。以这种方式,SF组件30不必对源自服务器
12的分组流的出站分组的L2/L3交换执行完全查找操作。换言之,给定分组流的分组可以由SF组件30(例如,SF组件30A)接收,并在到逻辑机架60的SX组件32的一些或所有链路上喷射。以这种方式,逻辑机架的接入节点17实现了第一级扇出,在该示例中为1∶8,并且在一些实例中可以这样做,而不会引起与分组报头中的密钥信息相关的任何L2/L3转发查找。这样,当由给定的SF组件30喷射时,单个分组流的分组不需要沿着相同的路径。
[0104] 因此,根据所公开的技术,当从一个服务器12接收到源流量时,例如,由接入节点171实现的SF组件30A执行在到由包括在逻辑机架60中的接入节点17实现的SX组件32的所
有可用链路上的相同流的分组的8向喷射。更具体地,SF组件30A在逻辑机架60内的同一接入节点171的一个内部SX组件32A和其他接入节点172至178的七个外部SX组件32B至32H上喷射。在一些实现中,逻辑机架60内的SF 30和SX 32之间的这种8向喷射可以称为第一级喷射。如本公开的其他部分所述,可以在接入节点17和核心交换机22之间的交换结构内的第二级网络扇出上执行第二级喷射。例如,第二级喷射可以通过中间装置(例如,TOR以太网交换机、电气置换装置或光置换装置)来执行,这将在下面参考图9至19更详细地描述。
[0105] 在一些实例中,如以上更详细描述的,前四个接入节点171至174可以包括在第一接入节点组191中,后四个接入节点174至178可以包括在第二接入节点组192中。第一和第二接入节点组19内的接入节点17可以经由全网状网彼此连接,以便允许逻辑机架60内的SF 30和SX 32之间的8向喷射。在一些实例中,包括两个接入节点组及其支持的服务器12的逻辑机架60可以称为半机架或半物理机架。在其他实例中,可以使用全网状连接将更多或更少的接入节点连接在一起。在一个实例中,16个接入节点17可以连接在全网格中,以实现全物理机架内的第一级16向喷射。
[0106] 图8是示出接入节点17之间的数据中心交换结构上的实例多级网络扇出的框图。在图8所示的实例中,每个逻辑机架60包括八个接入节点171至178和由每个接入节点支持的服务器节点12。第一逻辑机架601通过交换结构内的核心交换机22连接到第二逻辑机架602。
在一些实例中,第一逻辑机架601和第二逻辑机架602可以是相同的逻辑机架。
[0107] 根据所公开的技术,交换结构包括FCP结构。FCP结构可以被可视化为包括多个信道,例如,请求信道、授权信道、FCP数据信道和非FCP数据信道。如图8所示,FCP数据信道经由逻辑隧道100承载数据包,该逻辑隧道100包括第一逻辑机架601中的源节点(例如,接入节点171的SF组件30A)和第二逻辑机架602中的目的节点(例如,接入节点172的DF组件36B)之间的所有路径。FCP数据信道使用FCP协议承载数据包。FCP分组通过合适的负载平衡方案在结构上从源节点喷射到目的节点。FCP分组预计不会按顺序传送,但目的节点预计会执行分组重新排序。例如,接入节点171的SF组件30A从源服务器12接收的流量流的分组可以在逻辑隧道100内的一些或所有可能的链路上喷射到接入节点172的DF组件36B。DF组件36B被配置为在将分组流发送到目的服务器12之前,对接收到的分组重新排序,以重新创建分组流。
[0108] FCP结构内的请求信道可用于将FCP请求消息从源节点传送到目的节点。类似于FCP数据包,FCP请求消息可以在所有可用路径上喷射到目的节点,但是请求消息不需要重新排序。作为响应,FCP结构内的授权信道可以用于将FCP授权消息从目的节点传送到源节点。FCP授权消息也可以在所有可用路径上喷射到源节点,并且授权消息不需要重新排序。
FCP结构中的非FCP数据信道承载不使用FCP协议的数据包。可以使用基于ECMP的负载平衡来转发或路由非FCP数据包,并且对于由五元组识别的给定流,分组预计将按顺序传送到目的节点。
[0109] 图8的实例示出了第一逻辑机架601内的接入节点17之间的第一级网络扇出(如上参考图7B所述)以及接入节点17和核心交换机22之间的第二级网络扇出。如上参考图3至4所述,第一逻辑机架601内的八个接入节点17使用电或光以太网连接而连接到核心交换机
22。第二逻辑机架602内的八个接入节点17类似地连接到核心交换机22。在一些实例中,每个接入节点17可以连接到八个核心交换机22。在FCP流量的情况下,第一逻辑机架601内的接入节点17的SX组件32应用喷射算法来在所有可用路径上将任何给定分组流的分组喷射
到核心交换机22。以这种方式,SX组件32可以不对接收分组的L2/L3交换执行完全查找操作。
[0110] 一旦从一个服务器12接收到源FCP流量,第一逻辑机架601中的接入节点171的SF组件30A就执行在所有可用路径上的FCP流量流的分组的8向喷射,喷射到第一逻辑机架601中的接入节点17实现的SX组件32。如图8中进一步示出的,每个SX组件32然后在所有可用路径上将FCP流量流的分组喷射到核心交换机22。在图示的实例中,多级扇出是8乘8,因此支持多达64个核心交换机221至2264。在其他实例中,一级扇出在完全物理机架中为1:16,多级扇出可以为16乘16,支持多达256个核心交换机。
[0111] 尽管在图8中示出为直接发生在接入节点17和核心交换机22之间,但是可以通过一个或多个TOR装置来执行第二级扇出,例如,机架顶部以太网交换机、光置换装置或电气置换装置。下面参考图9至19更详细地描述光置换装置。多级网络扇出使得在第一逻辑机架
601内的任何接入节点17处接收的流量流的分组能够到达核心交换机22,以便进一步转发到第二逻辑机架602内的任何接入节点17。
[0112] 根据所公开的技术,在一个实例实现中,SF组件30和SX组件32中的每一个都使用FCP喷射引擎,该喷射引擎被配置为应用合适的负载平衡方案来在所有可用链路上将给定FCP分组流的分组喷射到目的节点。例如,FCP喷射引擎可以跟踪在每个链路上传输的多个字节,以便选择最少负载的链路来转发分组。此外,FCP喷射引擎可以跟踪下游链路故障,通过在每个活动链路上喷射与带宽权重成比例的分组来提供流公平性。以这种方式,分组在可用链路上向目的节点的喷射可能不均匀,但是即使在相对较短的时间段内,活动链路上的带宽也会平衡。
[0113] 在该实例中,第一逻辑机架601内的源节点(例如,接入节点171的SF组件30A)向第二逻辑机架602内的目的节点(例如,接入节点172的DF组件36B)发送请求特定权重或带宽的请求消息,并且目的节点在预留出口带宽之后向源节点发送授权消息。源节点还确定核心交换机22和包括目的节点的逻辑机架602之间是否发生了任何链路故障。源节点然后可以使用与源和目的带宽成比例的所有活动链路。例如,假设源节点和目的节点之间有N个链路,每个链路具有源带宽Sbi和目的带宽Dbi,其中,i=1..N。从源节点到目的节点的实际带宽等于基于逐个链路确定的最小值(Sb,Db),以便将故障考虑在内。更具体地,源带宽(Sb)等于 目标带宽(Db)等于 每个链路的带宽(bi)等于最小值(Sbi,Dbi)。每个链路上使用的带宽权重等于
[0114] 在FCP流量的情况下,SF组件30和SX组件32使用FCP喷射引擎,以基于每个链路上的负载来朝向目的节点分发FCP流量的分组(与其权重成比例)。喷射引擎维护信用存储器,以跟踪每个下一跳成员链路的信用(即,可用带宽),使用包括在FCP报头中的分组长度来扣除信用(即,减少可用带宽),并将给定分组与具有最多信用的一个活动链路(即,负载最少的链路)相关联。以这种方式,对于FCP分组,SF组件30和SX组件32与成员链路的带宽权重成比例地在用于目的节点的下一跳的成员链路上喷射分组。
[0115] 核心交换机22沿第一逻辑机架601中的源节点(例如,接入节点171的SF组件30A)和第二逻辑机架602中的目的节点(例如,接入节点172的DF组件36B)之间的逻辑隧道100作为单跳进行操作。核心交换机22对接收分组的L2/L3交换执行完全查找操作。以这种方式,核心交换机22可以将同一流量流的所有分组转发到支持目的服务器12的第二逻辑机架602中的目的节点,例如,接入节点172的DF组件36B。尽管在图8中示出为直接发生在核心交换机22和第二逻辑机架602的目的接入节点172之间,但是核心交换机22可以将同一流量流的所有分组转发到与目的节点具有连接性的中间TOR装置。在一些实例中,中间TOR装置可以将流量流的所有分组直接转发到由第二逻辑机架602的接入节点172实现的DX组件34B。在其他实例中,中间TOR装置可以是被配置为提供另一扇出的光或电气置换装置,分组可以通过该扇出在置换装置的输入和输出端口之间喷射。在该实例中,第二逻辑机架602的接入节点17的全部或部分DX组件34可以接收同一流量流的喷射分组。
[0116] 第二逻辑机架602内的接入节点17的DX组件34和DF组件36也具有全网状连接,因为每个DX组件34连接到第二逻辑机架602内的所有DF组件36。当任何DX组件34从核心交换机22接收到流量流的分组时,DX组件34在直接路径上将分组转发到接入节点172的DF组件
36B。DF组件36B可以执行有限的查找,这仅仅是为了选择合适的输出端口来将分组转发到目的服务器12所必需的。响应于接收到流量流的分组,第二逻辑机架602内的接入节点172的DF组件36B基于分组的序列号对流量流的分组进行重新排序。这样,关于数据中心的完整路由表,可能只有核心交换机22需要执行完整查找操作。因此,交换结构提供了高度可扩展、平坦、高速的互连,其中,服务器实际上是数据中心内任何其他服务器12的一个L2/L3跳。
[0117] 此处包括相对于图8对FCP及其操作的一个实例的简要描述。在图8的实例中,接入节点17是对于FCP结构的结构端点(FEP),该FCP结构由以叶至主干拓扑排列的交换元件(例如,核心交换机22)组成。FPC结构允许一个接入节点17通过多个路径与另一接入节点进行通信。FCP结构内的核心交换机22具有浅分组缓冲器。FCP结构的横截面带宽等于或大于所有端点带宽的总和。以这种方式,如果每个接入节点17限制到FCP结构的输入数据速率,则FCP结构内的任何路径都不应该以非常高的概率长期拥塞。
[0118] 如上所述,FCP数据包经由逻辑隧道100从第一逻辑机架601内的源节点(例如,接入节点171的SF组件30A)发送到目的节点(例如,第二逻辑机架602内的接入节点172的DF组件36B)。在使用FCP通过隧道100发送任何流量之前,必须在端点之间建立连接。由接入节点17执行的控制平面协议可以用于在两个FCP端点之间建立一对隧道,每个方向一个隧道。可选地,FCP隧道是安全的(例如,加密和认证)。隧道100被认为在从源节点到目的节点是单向的,并且可以在从目的节点到源节点的另一方向上建立FCP伙伴隧道。控制平面协议协商两个端点的能力(例如,大小、MTU大小等),并且通过建立隧道100及其伙伴隧道以及每个隧道的初始化队列状态上下文来建立端点之间的FCP连接。
[0119] 每个端点分配一个源隧道ID和一个相应的目的隧道ID。在每个端点,基于分配的隧道ID和优先级导出给定隧道队列的队列ID。例如,每个FCP端点可以从手柄池中分配一个本地隧道手柄,并将该手柄传送到其FCP连接伙伴端点。FCP伙伴隧道手柄存储在查找表中,并从本地隧道手柄中引用。对于源端点,例如,第一逻辑机架601内的接入节点171,源队列由本地隧道ID和优先级识别,并且基于本地隧道ID从查找表中识别目的隧道ID。类似地,对于目的端点,例如,第二逻辑机架602内的接入节点172,目的队列由本地隧道ID和优先级识别,并且源隧道ID基于本地隧道ID从查找表中识别。
[0120] FCP隧道队列被定义为使用FCP在FCP结构上传输有效负载的独立流量流桶。给定隧道的FCP队列由隧道ID和优先级识别,隧道ID由给定隧道的源/目的端点对识别。或者,端点可以使用映射表来基于给定隧道的内部FCP队列ID导出隧道ID和优先级。在一些实例中,FCP结构隧道(例如,逻辑隧道100)可以支持每个隧道1、2、4或8个队列。每个隧道的队列数是FCP结构属性,可以在部署时配置。FCP结构中的所有隧道可能支持每个隧道相同数量的队列。每个端点最多可以支持16000个队列。
[0121] 当源节点与目的节点通信时,源节点使用UDP封装上的FCP封装来封装分组。FCP报头承载识别隧道ID、队列ID、分组的分组序列号(PSN)以及两个端点之间的请求、授权和数据块序列号的字段。在目的节点,输入隧道ID对于来自特定源节点的所有分组都是唯一的。隧道封装承载分组转发以及目的节点使用的重新排序信息。单个隧道为源节点和目的节点之间的一个或多个队列传送分组。只有单个隧道内的分组会基于跨同一隧道的队列的序列号标签重新排序。当分组通过隧道发送到目的节点时,源节点用隧道PSN标记分组。目的节点基于隧道ID和PSN对分组进行重新排序。在重新排序结束时,目的节点剥离隧道封装,并将分组转发到相应的目的队列。
[0122] 此处描述了如何将在源端点进入FCP隧道100的IP分组传输到目的端点的实例。IP地址为A0的源服务器12向IP地址为B0的目的服务器12发送IP分组。源FCP端点(例如,第一逻辑机架601内的接入节点171)发送具有源IP地址A和目的IP地址B的FCP请求分组。FCP请求分组具有FCP报头,以承载请求块号(RBN)和其他字段。FCP请求分组通过IP上的UDP传输。目的FCP端点(例如,第一逻辑机架602内的接入节点172)将FCP授权分组发送回源FCP端点。FCP授权分组具有FCP报头,以承载授权块号(GBN)和其他字段。FCP授权分组通过IP上的UDP传输。源端点在接收到FCP授权分组之后发送FCP数据包。源端点在输入数据包上附加一个新的(IP+UDP+FCP)数据报头。目的端点在将分组传送到目的主机服务器之前,删除附加的(IP+UDP+FCP)数据报头。
[0123] 图9是更详细地示出图1的网络10的一个实例的框图。在图9的实例中,交换结构14包括一组光置换器1321至132Y(在本文中,“光置换器132”),也称为光置换装置,连接到一组基于核心分组的交换机22,这些交换机共同提供服务器12之间的全网状点对点连接。如进一步解释的,光置换器132是光互连装置,其通过利用波分复用在接入节点17和核心交换机22之间传输光信号,使得可以通过公共光纤22传送相同服务器组的服务器12的通信。例如,每个接入节点17可以利用不同的波长来传送同一服务器组的服务器12的通信。即,每个接入节点17可以被配置为向其接入节点组17中的所有其他接入节点喷射其从服务器12接收
到的分组,使得使用指定的一组波长通过给定光链路137从给定接入节点17转发到光置换器132的分组是来自接入节点组支持的所有服务器12的分组的混合。在图9的实例中,每个光置换器132包括用于与相应的一组接入节点171至17X进行光通信的一组面向边缘的光接口1361至136×,用于与核心交换机22通信的一组面向核心的光接口1381至138X。尽管在图9中示出了每个光置换器132包括相同数量X的接入节点17和面向边缘的光接口136,但是在其他实例中,每个光置换器132可以包括光接口136,每个光接口136能够耦接到多于一个光纤22。在该另一实例中,每个光置换器132可以包括一组面向边缘的光接口1361至136X,用于与X的整数倍(例如,2X、3X或4X)的接入节点17进行光通信。
[0124] 此外,如本文所述,每个光置换器132被配置为使得在数个波长136的每个波长上从下游端口接收的光通信基于波长在上游端口138上“置换”,从而在上游端口和下游端口之间提供全网状连接,而没有任何光干扰。即,每个光置换器132被配置为确保从任何一个下游服务器12接收的光通信可以引导到任何面向上游的光端口138,而不会对来自任何其他服务器12的任何同时通信产生光干扰。此外,光置换器132可以是双向的,即,类似地被配置为在下游端口136上置换来自上游端口138的通信,使得在任何下游端口上不发生光干扰。以这种方式,光置换器132提供双向、全网状点对点连接,用于通过单独波长的粒度向/从核心交换机22传输服务器12的通信。
[0125] 例如,光置换器1321被配置为将光通信从面向下游的端口1361至136×光引导到面向上游的端口1381至138X,使得每个上游端口138承载面向下游的端口136和由这些端口承载的光频率的组合的一个不同的可能唯一置换,其中,没有单个面向上游的端口138承载来自与相同波长相关联的服务器12的通信。这样,在该实例中,每个面向上游的端口138承载来自每个面向下游的端口136的非干扰波长,从而允许完全网状的通信。在图9中,每个光置换器132的每个面向下游的光端口136接收光信号,在该实例中,该光信号承载服务器组的多达N个服务器的多达N个波长。作为一个实例,光置换器1321的端口1361可以从接入节点171接收光信号,该光信号承载作为在一个或多个光纤中承载的N个不同波长的通信。每个波长承载与耦接到接入节点171的服务器组的服务器12以及连接到作为接入节点171的相同接入组节点中的其他连接节点的服务器都相关联的通信。光置换器1321将光通信从面向下游的端口136引导到面向上游的端口138,使得每个面向上游的端口138承载光频率/下游端口组合的不同唯一置换,并且其中,没有面向上游的端口138承载来自与相同波长相关联的服务器12的通信。此外,光置换器1321可以类似地以双向方式配置,以在面向下游的端口
1361至136X上置换来自面向上游的端口1381至138X的通信,并且使得没有面向下游的端口
136承载与相同波长相关联的通信,从而提供完全双向、完全网状点对点连接,用于向/从核心交换机22传输服务器12的通信。
[0126] 以这种方式,交换结构14可以提供全网状互连,使得任何服务器12可以使用多个并行数据路径中的任何一个将分组数据传送到任何其他服务器12。此外,根据本文描述的技术,交换结构14可以被配置和设置为使得交换结构14中的并行数据路径在服务器12之间提供单个L2/L3跳、全网状互连(二分图),即使在具有数十万个服务器的大规模数据中心中也是如此。在一些实例实现中,每个接入节点17可以逻辑地连接到每个核心交换机22,因此具有多个并行数据路径,用于到达任何给定的其他接入节点以及通过这些接入节点可到达的服务器12。这样,在该实例中,对于M个核心交换机22,在每个接入节点17之间存在M个可能的数据路径。每个接入节点17可以被视为有效地直接连接到每个核心交换机22(即使通过光置换器连接),因此任何将流量提供到交换结构14的接入节点都可以通过中间装置(核心交换机)的单个、单跳L3查找到达任何其他接入节点17。
[0127] 在2017年3月29日提交的题为“NON-BLOCKING,FULL-MESH DATA CENTER NETWORK HAVING OPTICAL PERMUTORS”的美国临时申请第62/478,414中描述了光置换器的进一步的实例细节,该申请的全部内容通过引用结合于此。
[0128] 图10是示出网络200的更详细的实例实现的框图,其中,利用一组接入节点206和光置换器204来互连全网状网络中的端点,其中,每个接入节点206逻辑连接到M组核心交换机209中的每一个。如该实例所示,如本文所述,每个服务器215经由一组并行数据路径向任何其他服务器传送数据。网络200可以位于数据中心内,该数据中心例如为通过内容/服务提供商网络(未示出)(例如,图1和图9的内容/服务提供商网络7)耦接到数据中心的客户提供应用程序和服务的操作环境。在一些实例中,将客户耦接到数据中心的内容/服务提供商网络可以耦接到由其他提供商管理的一个或多个网络,因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。
[0129] 在该实例中,网络200表示多层网络,该多层网络具有M组Z个物理网络核心交换机202A-1至202M-Z(统称为“交换机202”),这些交换机光互连到O个光置换器204-1至204-O(统称为“OP 204”),这些光置换器又经由Y组X个接入节点206A-1至206Y-X(统称为“AN 
206”)互连端点(例如,服务器215)。端点(例如,服务器215)可以包括存储系统、应用服务器、计算服务器以及网络设备,例如,防火墙和/或网关。
[0130] 在图10的实例中,网络200包括三层:包括交换机202的交换层210、包括OP 204的置换层212、以及包括接入节点206的接入层214A-214Y(本文称为“接入层214”)。交换层210表示一组交换机202,例如,图9的核心交换机22,并且通常包括以交换拓扑互连的一个或多个高速核心以太网交换机,以便为在光链路上从光置换器204接收的并且由交换结构在光链路上转发到光置换器204的分组提供第2层/第3层分组交换。交换层210可替代地称为核心交换层级/层或主干交换层级/层。
[0131] 来自OP 204的每个光置换器从耦接到光置换器的一组多个光纤中的每一个接收一组波长的光,并在光耦接到光置换器的另一组多个光纤中的每一个之间重新分配和输出波长。每个光置换器204可以同时从接入节点206输入波长,以输出到交换机202,并从交换机202输入波长,以输出到接入节点206。
[0132] 在图10的实例中,网络200包括Z×M个交换机202、O个光置换器204和Y×X个接入节点206。接入节点206可以表示任何主机网络加速器(HNA)或其他类似的接口装置、卡或虚拟装置(例如路由器)的实例,用于如本公开中所描述地与光置换器接合。光置换器204可以表示本公开中描述的任何光置换器的实例。
[0133] 网络200可以使用一个或多个交换架构来互连端点,例如,多层多机架链路聚合组(MC-LAG)、虚拟覆盖和IP结构架构。每个交换机202可以表示第2层/第3层(例如,以太网/IP)交换机,该交换机参与为网络200配置的一个或多个交换架构,以在接入节点对206之间提供点对点连接。在IP结构的情况下,交换机202和接入节点206均可以执行第3层路由协议(例如,BGP和/或OSPF协议),以交换每个接入节点206后面的子网的路由。
[0134] 在图10的实例中,交换机202被设置为M组209A至209M(统称为“组209”)Z个交换机。每个组209具有一组交换机202,每个交换机202经由相应的光纤光耦接到同一光置换器204。换言之,每个光置换器204光耦接到一个组209的交换机202。例如,组209A包括光耦接到光置换器204-1的相应光端口的交换机202A-1至202A-Z。作为另一实例,组209B包括光耦接到光置换器204-2的相应端口的交换机202B-1至202B-Z。
[0135] 每个接入节点206包括至少一个光接口,以耦接到一个光置换器204的端口。例如,接入节点206A-1光耦接到光置换器204-1的端口。作为另一实例,接入节点206A-2光耦接到光置换器204-2的端口。在图10的实例中,接入节点206分组到X个接入节点的Y个组211A至211Y(统称为“组211”)。每个组211具有至少一个接入节点206,该接入节点206光耦接到每个O光置换器204。例如,组211A具有光耦接到光置换器204-1的接入节点206A-1、光耦接到光置换器204-2的接入节点206A-2等,直到光耦接到光置换器204-O的接入节点206A-X。由于这种拓扑,服务器215的接入节点的每个组211都具有到每个光置换器204的至少一个光耦接,并且相关地,由于光置换器204的操作,具有到每个交换机202的至少一个光耦接。
[0136] 在图10的实例中,接入节点206的组211包括相应的全网状连接220A至220Y,以成对(点对点)连接每个组的接入节点206。例如,接入节点206A-1至206A-X的组211A包括[X×(X-1)]/2点对点连接的全网格220A,以便为服务器所连接的给定接入节点组提供服务器215和接入节点206之间的完全连接。换言之,对于全网格220A,组211A中的每个接入节点包括到组211A中的每个其他接入节点中的源交换组件和目的交换组件的至少一个点对点连
接,从而允许通过接入节点去往交换层210或从交换层210到扇出/扇入的通信,以便经由一组并行数据路径源自或传送到任何服务器215。全网格220A的连接可以表示以太网连接、光连接等。
[0137] 组211A的全网格220A使得每对接入节点206A-1至206A-X(“接入节点206A”)能够彼此直接通信。因此,每个接入节点206A可以直接(经由直接光耦接,例如,具有光置换器204-1的接入节点206A-1)或者经由另一接入节点206A间接到达每个光置换器204。例如,接入节点206A-1可以经由接入节点206A-X到达光置换器204-O(并且,相关地,由于光置换器
204-O的操作,交换机202M-1至202M-Z)。接入节点206A-1可以经由其他接入节点206A到达其他光置换器204。因此,每个接入节点206A与每个交换机组209具有点对点连接。组211B至
211Y的接入节点206具有与组211A的接入节点206A相似的拓扑。因此,由于本公开的技术,每个接入节点206与每个交换机组209具有点对点连接。
[0138] 置换层212的每个光置换器204执行的波长置换可以减少在接入节点对206之间执行分组的第2层转发或第2/第3层转发所需的电交换操作的数量。例如,接入节点206A-1可以从本地耦接的服务器215接收出站分组数据,该出站分组数据去往与接入节点206Y-1相关联的端点。接入节点206A-1可以选择特定的传输波长,在该特定的传输波长上,在耦接到光置换器204-1的光链路上传输数据,其中,所选择的传输波长由本文描述的光置换器204-
1置换,用于在耦接到交换层210的交换机的特定光链路上输出,其中,交换机进一步通过另一光链路耦接到光置换器204-O。结果,交换机可以将承载数据的所选传输波长的光信号转换成电信号,并且第2层或第2/第3层将数据转发到光置换器204-O的光接口,光置换器204-O将数据的电信号转换成传输波长的光信号,其由光置换器204-O置换到接入节点206Y-1。
以这种方式,接入节点206A-1可以通过交换层210经由网络200向任何其他接入节点(例如,接入节点206Y至1)传输数据,具有少至单个中间电交换操作。
[0139] 图11是示出实例网络集群架构218的概念图,其中,在该实例中,八个物理机架701至708经由四个光置换器1321至1324和四个交换机组2201至2204互连,每个交换机组包含16个核心交换机。如图11所示,每个物理机架70包括具有第一接入节点组191和第二接入节点组192的第一逻辑机架601,及具有第三接入节点组193和第四接入节点组194的第二逻辑机架602。为了便于说明,由接入节点组19支持的服务器52未在逻辑机架60内示出。在实例网络集群架构218中,如图6所示,四个物理机架70可以包括作为TOR装置72的光置换器132,并且其他四个物理机架70可以不包括光置换器。
[0140] 在图11的实例中,每个逻辑机架60包括八个接入节点AN1至AN8,其中,四个接入节点包括在逻辑机架的两个接入节点组19的每一个中。接入节点AN1至AN8可以基本上类似于上述接入节点17。此外,每个逻辑机架60包括四个电-光电路EO1至EO4 226,其中,两个电-光电路设置在逻辑机架的两个接入节点组19的每一个中。尽管示出了每个接入节点组19具有两个电-光电路226,但是在其他实例中,每个接入节点组19可以包括由接入节点组19中的四个接入节点17共享的单个电-光电路,或者四个电-光电路(接入节点组19中的四个接入节点17中的每一个都具有一个电-光电路)。
[0141] 在图11的实例中,每个光置换器132具有十六个面向下游的端口224,以连接到八个物理机架70中的十六个逻辑机架60。在图11的实例网络集群架构中,八个物理机架70上的每个逻辑机架60经由相应的光缆光耦接到四个光置换器132中的每一个。例如,机架701的逻辑机架601经由光缆230A光耦接到光置换器1321,并且还经由光缆230B耦接到光置换器1324。机架701的逻辑机架602经由光缆232A光耦接到光置换器1321,并且还经由光缆232B耦接到光置换器1324。机架708的逻辑机架601经由光缆240A光耦接到光置换器1321,并且还经由光缆240B耦接到光置换器1324。此外,机架708的逻辑机架602经由光缆242A光耦接到光置换器1321,并且还经由光缆242B耦接到光置换器1324。以这种方式,逻辑机架60与光置换器
132具有全网状连接。
[0142] 如图所示,光缆经由电-光电路226连接到相应的逻辑机架60。因此,每个逻辑机架60具有四个光端口,每个光电电路226具有一个光端口。电-光电路226将电信号转换成光信号,并将光信号转换成电信号。例如,在机架701的逻辑机架601中,EO1可以将来自接入节点组191的AN1和AN2的电信号转换成光信号,用于通过光缆230A传输到光置换器1321。尽管在图11中没有完全示出,但是给定逻辑机架60的四个端口中的每一个都将连接到不同的一个光置换器132。例如,在每个逻辑机架60中,与EO1相关联的端口可以连接到光置换器1321,与EO2相关联的端口可以连接到光置换器1322,与EO3相关联的端口可以连接到光置换器
1323,并且与EO4相关联的端口可以连接到光置换器1324。
[0143] 如上面详细描述的,每个接入节点支持到交换结构的2×100GE连接,使得给定的逻辑机架60支持来自八个接入节点AN1至AN8的16×100GE连接。给定逻辑机架60内的电-光电路226将16×100GE连接上承载的电信号转换成光信号,用于通过4×400GE光缆传输到四
个光置换器132。例如,在物理机架701的逻辑机架601中,AN1和AN2一起可以具有4×100GE连接,用于与交换结构通信。在接入节点组191内,4×100GE连接是到EO1的铜链路。在一些实例中,这些铜链路可以具有更精细的粒度,例如,16×25GE链路。在将铜链路上接收到的电信号转换成光信号时,EO1通过单根400GE光缆230A将转换后的光信号发送到光置换器1321的面向下游的端口224。
[0144] 每个光置换器132还具有16个面向上游的端口222,以连接到交换机组2201至2204的给定一个交换机组内的16个核心交换机CX1至CX16 22。如下面参考图15至19更详细描述的,光置换器132被配置为在面向下游的端口224和面向上游的端口222之间喷射流量。以这种方式,光置换器132可以代替交换结构内电子交换机的额外叶层。
[0145] 每个交换机组2201至2204都具有一组交换机22,每个交换机经由相应的光缆223光耦接到光置换器1321至1324中的同一个光置换器。例如,每个面向上游的端口222都可以支持光置换器1321和交换机组2201内的一个核心交换机22之间的400GE光缆223。核心交换机22可以在对接收的流量执行完全查找和交换功能之前,将在光缆223上接收的光信号转换成电信号。在经由光缆223将流量转发回一个光置换器132之前,核心交换机22可以将流量转换回光信号。
[0146] 图12是示出来自图11的实例网络集群架构218的框图。图12更全面地示出了机架组228内的给定逻辑机架60和每个光置换器132之间的全网状连接。机架组228包括八个物理机架701至708和四个光置换器1321至1324。每个物理机架70具有两个逻辑机架601至602,其以全网状连接到四个光置换器132。四个光置换器132中的每一个都连接到四个交换机组
2201至2204中同一组内的十六个核心交换机(CX)。
[0147] 在图12的实例中,物理机架701的逻辑机架601经由四个光缆230连接到四个光置换器132中的每一个。如图所示,来自机架701的逻辑机架601的一个光缆230连接到每个光置换器1321至1324的面向下游的顶部端口224。机架701的逻辑机架602也经由四个光缆232连接到四个光置换器132中的每一个。如图所示,来自机架701的逻辑机架602的一个光缆232连接到每个光置换器1321至1324的第二面向下游的端口224。以这种方式,机架组228内的每个物理机架70具有到每个光置换器132的两个连接,来自每个逻辑机架60的一个连接。
[0148] 其他机架702至708中的每一个的逻辑机架60经由光缆类似地连接到四个光置换器132中的每一个。例如,来自机架708的逻辑机架601的一个光缆240连接到每个光置换器1321至1324的倒数第二个面向下游的端口224,并且来自机架708的逻辑机架602的一个光缆242连接到每个光置换器1321至1324的最后一个面向下游的端口224。光缆230、232、240、242中的每一个可以是400GE光缆。在一些实例中,400GE光缆中的每一个可以包括四个100GE光纤,每个光纤承载具有四个不同波长或λ的多路复用光信号。
[0149] 如上所述,当在面向下游的端口224上接收到来自逻辑机架60的流量时,光置换器132将流量喷射在所有面向上游的端口222上。光置换器132然后将面向上游的端口222上的流量转发到同一交换机组220内的16个核心交换机中的每一个。例如,光置换器1321沿着光缆223将流量从每个面向上游的端口222传输到交换机组2201中的一个核心交换机CX1至
CX16。每个光缆223可以是400GE光缆。
[0150] 图13是示出另一实例网络集群架构318的框图,其中,八个物理机架701至708经由八个光置换装置3021至3028和八个交换机组3201至3208互连。机架组328包括以全8向网格连接的八个物理机架70和八个光置换器302。四个光置换器302中的每一个都连接到八个交换机组320中同一交换机组内的八个核心交换机(CX)。
[0151] 光置换器302的操作基本上类似于上述光置换器132,但是具有八个面向上游的端口322和八个面向下游的端口324。在图13的实例网络集群架构318中,每个光置换器302的面向上游的端口322连接到同一交换机组320内的八个核心交换机。例如,光置换器3021的面向上游的端口322经由光缆323连接到交换机组3201中的核心交换机CX1至CX8。此外,每个光置换器302的面向下游的端口324以全网状连接到八个物理机架70中的每一个。
[0152] 在图13的实例中,物理机架701经由八个光缆330连接到八个光置换器302中的每一个。如图所示,来自机架701的一个光缆330连接到每个光置换器3021至3028的面向下游的顶部端口324。其他机架702至708类似地经由光缆连接到八个光置换器302中的每一个。例如,来自机架702的一个光缆332连接到每个光置换器3021至3028的第二面向下游的端口
324,来自机架703的一个光缆334连接到每个光置换器3021至3028的第三面向下游的端口
324,并且来自机架708的一个光缆340连接到每个光置换器3021至3028的最后面向下游的端口324。
[0153] 光缆330、332、334、340中的每一个可以是400GE光缆。在一些实例中,400GE光缆中的每一个可以包括四个100GE光纤,每个光纤承载具有四个不同波长或λ的多路复用光信号。如上面详细描述的,每个物理机架70包括四个接入节点组,每个接入节点组包括四个接入节点。每个接入节点支持朝向交换结构的2×100GE连接,使得给定的物理机架70支持来自16个接入节点的32×100GE连接。给定物理机架70内的电-光电路将32×100GE连接上承载的电信号转换成光信号,用于通过8×400GE光缆传输到八个光置换器302。
[0154] 如上所述,在面向下游的端口324上接收到来自机架70的流量时,光置换器302将流量喷射在所有面向上游的端口322上。光置换器302然后在面向上游的端口322上将流量转发到同一交换机组320内的八个核心交换机中的每一个。例如,光置换器3021沿着光缆323将流量从每个面向上游的端口322传输到交换机组3201中的核心交换机CX1至CX8中的
一个。每个光缆323可以是400GE光缆。
[0155] 分别在图12和13中示出的实例网络集群架构218、318可以均在单个半机架(即,逻辑机架60)和2000个物理机架70之间支持。例如,交换机组220、320中包括的64个核心交换机22可以包括大量端口,并且被配置为作为多个机架组228、328的主干交换机操作。在一些情况下,同一组64个核心交换机22可以作为多达250个不同的8机架组(即2000个物理机架)的主干交换机操作。如上参考图4所述,每个半机架或逻辑机架60可以支持32个双插槽或双处理器服务器节点以及到交换结构的高达1.6Tbps的全双工网络带宽。下面的表1包括分别由图12和13所示的实例网络集群架构218、318支持的不同数量的物理机架的实例数量的接入节点、服务器节点、服务器插槽或处理器以及网络带宽。
[0156] 表1
[0157]机架 接入节点 服务器节点 插槽/处理器 网络带宽
1/2 8 32 64 1.6Tbps
1 16 64 128 3.2Tbps
8 128 512 1024 25.6Tbps
100 1600 6400 12800 320Tbps
1000 16000 64000 128000 3.2Pbps
2000 32000 128000 256000 6.4Pbps
[0158] 图14是示出两个网络集群350A和350B(统称为“集群350”)之间的实例互连的框图。互连网络集群350可以形成数据中心或数据中心的一部分,例如,图1和图9中的数据中心10。每个集群350可以基本上类似于图11、12所示的网络集群架构218或图13所示的网络集群架构318。在一个实例中,集群350A可以被设置为基本上类似于网络集群架构218,集群
350B可以被设置为基本上类似于网络集群架构318。
[0159] 每个集群350包括多个核心交换机22和多个接入节点17,每个接入节点17耦接到多个服务器121至12n。尽管图14中未示出,但是接入节点17和相应的服务器12可以被设置为一个或多个物理机架和/或一个或多个机架组。在一些情况下,如图11至13所示,物理机架和/或机架组还可以包括一个或多个TOR交换机、电气置换器或光置换器,其作为网络集群内的接入节点17和核心交换机22之间的叶层和链路乘子操作。
[0160] 如图14所示,每个集群350内的核心交换机22还连接到一组网络装置对,每对包括接入节点352和边界网关装置354。接入节点352和边界网关装置354可以被视为背靠背接入节点,其操作基本类似于接入节点17。此外,边界网关装置354可以执行几个额外功能,例如,状态防火墙、应用层负载平衡器和路由器的功能。接入节点352可以使用PCIe连接而连接到边界网关装置354。以这种方式,当接入节点352向边界网关装置354发送分组时,接入节点352就像向服务器(例如,服务器12)发送分组一样操作。在一些实例中,该组网络装置对可以包括物理机架中包括的多对接入节点352和边界网关装置354。例如,四对接入节点352和边界网关装置354可以设置在物理机架内的2RU滑板中。
[0161] 边界网关装置354使得集群350能够经由一个层次的路由器356和服务提供商网络360(例如,互联网或另一公共WAN网络)彼此连接并与外部世界连接。例如,边界网关装置
354可以基本上类似于图1中的网关装置20。如图14所示,边界网关装置354可以具有到路由器356的多个路径。在一些实例中,类似于上面详细描述的接入节点17的行为,边界网关装置354可以在链路上对各个分组流执行到路由器356的分组喷射。在其他实例中,边界网关装置354可以使用ECMP在链路上将分组流转发到路由器356。
[0162] 在图14所示的实例中,第一集群350A包括在第一建筑348A中,第二集群350B包括在第二建筑348B中。在其他实例中,两个集群350可以包括在同一建筑中。在任一实例中,为了作为单个数据中心操作,网络集群350可以相对共同靠近地定位。例如,集群350A可以在物理上位于离集群350B不超过两公里的地方。可以容纳在单个建筑或一组建筑中的集群350的数量可能主要受到功率限制的制约。例如,如上参考图6所述,每个物理机架使用大约
15kW,使得一个或多个集群内的2000个物理机架将使用大约30MW的功率,并且分布在两个或更多个集群上的3000个物理机架使用大约45MW的功率。
[0163] 在集群350A和350B之间转发分组的一个实例中,在时间T0,集群350A内的接入节点17A在结构14A上通过多个链路中的一个将分组发送到接入节点352A。在时间T1,接入节点352A从结构14A接收分组。在时间T2,接入节点352A通过PCIe连接将分组发送到边界网关装置354A。边界网关装置354A对分组的目的IP地址执行转发查找,并确定分组去往边界网关装置354A后面的集群350B。在时间T3,集群350A内的边界网关354A在服务提供商网络360上通过多个链路中的一个将分组发送到集群350B内的边界网关装置354B。例如,边界网关装置354A可以使用本公开中描述的分组喷射技术或ECMP技术,通过多个路径中的一个将分组发送到路由器356A、356B。在时间T4,集群350B内的边界网关装置354B从路由器356A、356B接收分组。边界网关装置354B对分组的目的IP地址执行转发查找,并且通过PCIe连接将分组发送到接入节点352B。在时间T5,接入节点352B在结构14B上通过多个链路中的一个将分组发送到集群350B内的接入节点17B。在时间T6,接入节点17B从结构14B接收分组。在时间T7,接入节点17B对分组的目的IP地址执行转发查找,并且将分组发送到一个服务器
12。
[0164] 图15是示出实例光置换器400的框图,光置换器40可以是图9、11以及12的任何光置换器132。在该实例中,光置换器40包括多个双向输入端口(P1至P32),每个端口发送和接收相应的光信号。在该实例中,光置换器400包括32个光端口,其中,P1至P16是面向接入节点的端口,用于光耦接到接入节点17,端口P17至P32是面向核心交换机的端口,用于与核心交换机22光耦接。在一个特定实例中,每个端口都包括双向400千兆位光接口,该接口能够耦接到四对100千兆位单模光纤(SMF),每个光纤承载四个25G波长λ1、λ2、λ3、λ4。因此,在该实例中,每个端口P1至P32提供400千兆位光带宽。所描述的实例架构易于扩展,并且可以支持例如分别承载四个(或更多)50G和100G波长的200和400千兆位光纤。
[0165] 在图15的实例中,光置换器400包括四个光多路复用器/解复用器(图15中的“光多路复用器切片0至光多路复用器切片3”)410A至410D(在本文称为“光多路复用器切片410”),其具有四个面向接入节点的400G光端口430和十六个面向核心交换机的100G光端口
450。如图16中更详细地示出的,每个光多路复用器切片410接收由四个光端口430的组的SMF承载的光信号,将每个SMF的光信号中的四个波长分开,并且以4×4喷射的形式在十六个光端口450的组上喷射每个SMF承载的波长。
[0166] 图16是进一步详细示出图15的光多路复用器切片410的实例的框图。在图16的实例中,每个光多路复用器切片410包括四个光多路复用器/解复用器片470A至470D(本文称为“光多路复用器/解复用器片470”)。每个光多路复用器/解复用器片470从由光多路复用器切片410服务的每个不同输入端口(P)(例如,图15的光多路复用器切片410A的端口P1至P4)的一个SMF接收光信号。每个光多路复用器/解复用器片470将每个SMF的光信号中的四个波长分开,并且以4×4喷射的形式在四个光端口490的组上喷射每个SMF承载的波长。
[0167] 例如,在图16,每个光通信指定为λp,w,其中,下标p表示端口,下标w表示一不同的波长。因此,使用这种命名法,光多路复用器切片410的端口P1接收承载指定为λ1,1、λ1,2、λ1,3以及λ1,4的n个不同波长的通信的光束,其中,在该实例中,n等于4。同样,光端口P2接收承载指定为λ2,1、λ2,2、λ2,3以及λ2,4的n个不同波长的通信的光束。如图所示,每个光多路复用器/解复用器片470A至470D接收来自端口P1的承载λ1,1、λ1,2、λ1,3以及λ1,4的光信号、来自端口P2的承载λ2,1、λ2,2、λ2,3以及λ2,4的光信号、来自端口P3的承载λ3,1、λ3,2、λ3,3以及λ3,4的光信号、以及来自端口P4的承载λ4,1、λ4,2、λ4,3以及λ4,4的光信号。每个光多路复用器/解复用器片470将每个SMF的光信号中的四个波长分开,并喷射每个SMF承载的波长,使得每个光端口490承载光输入端口P1至P4和这些端口承载的光波长的组合的一个不同的可能唯一置换,其中,没有单个光输出端口490承载具有相同波长的多个光通信。例如,如图16所示,对于任何给定的光多路复用器/解复用器片470,一组四(4)个光输出端口490可以在第一端口上输出波长λ1,1、λ4,2、λ3,3以及λ2,4的光信号,在第二端口上输出承载波长λ2,1、λ1,2、λ4,3以及λ3,4的光信号,在第三端口上输出承载λ3,1、λ2,2、λ1,3以及λ4,4的光信号,在第四端口上输出承载λ4,1、λ3,2、λ2,3以及λ1,4的光信号。
[0168] 以下提供了图15、16的光置换器400的一个实现的完整实例。在该实例中,每个端口P1至P32包括四个单独的单模光纤对(为每个端口指定F1至F4)。即,光置换器400的每个端口P1至P32包括被配置为接收四个单独的光纤的输入光接口,例如,被配置为耦接到四个单独的100G光纤并从四个单独的100G光纤接收光信号的400G光接口。此外,光置换器40的每个端口P1至P32包括输出光接口,该输出光接口被配置为连接到四个单独的光纤并在四个单独的光纤上传输光信号,例如,被配置为接收四个单独的100G光纤的400G光接口。
[0169] 此外,用于每个输入端口P1至P16的四个光纤对中的每一个耦接到一不同的接入节点17,从而提供来自64个不同接入节点的双向光连接。
[0170] 表2列出了用于面向核心方向上的光通信的光置换器400的一个实例配置。即,表2示出了光置换器400的实例配置,用于在面向核心的输出端口P17至P32的光纤上产生一组64个唯一置换,用于光输入端口P1至P16和由这些输入端口承载的光波长L1至L4的组合,其中,没有单个光输出端口承载具有相同波长的多个光通信。例如,表2的第一列列出了端口P0至P16的每个输入光接口的四个光纤F1至F4承载的波长L1至L4,而右列列出了端口P17至P32的每个光输出接口上输入端口光纤/波长组合输出的唯一且无干扰的置换。
[0171] 表2
[0172]
[0173]
[0174]
[0175] 继续该实例,表3列出了光置换器400相对于反向、下游方向(即,从核心交换机22到接入节点17)的光通信的实例配置。即,表3示出了光置换器400的实例配置,用于在面向机架的输出端口P1至P16的光纤上产生一组64个唯一置换,用于面向核心的输入端口P16至P32和由这些输入端口承载的光波长L1至L4的组合,其中,没有单个光输出端口承载具有相同波长的多个光通信。
[0176] 表3
[0177]
[0178]
[0179]
[0180] 表4列出了用于面向核心方向上的光通信的光置换器400的第二实例配置。与上面的表2一样,表4示出了光置换器400的实例配置,用于在面向核心的输出端口P17至P32的光纤上产生一组64个唯一置换,用于光输入端口P1至P16和由这些输入端口承载的光波长L1至L4的组合,其中,没有单个光输出端口承载具有相同波长的多个光通信。类似于上面的表2,表4的第一列列出了端口P0至P16的每个输入光接口的四个光纤F1至F4承载的波长L1至L4,而右列列出了端口P17至P32的每个光输出接口上的输入端口光纤/波长组合输出的唯一且无干扰置换的另一实例。
[0181] 表4
[0182]
[0183]
[0184]
[0185] 继续该实例,表5列出了光置换器400相对于反向、下游方向的光通信的另一实例配置,即,从核心交换机22到接入节点17。类似于上面的表3,表5示出了光置换器400的另一实例配置,用于在面向机架的输出端口P1至P16的光纤上产生一组64个唯一的置换,用于面向核心的输入端口P16至P32和由这些输入端口承载的光波长L1至L4的组合,其中,没有单个光输出端口承载具有相同波长的多个光通信。
[0186] 表5
[0187]
[0188]
[0189]
[0190] 图17是示出实例光置换器500的框图,该光置换器可以是图9、11以及12的任何光置换器132。在该实例中,光置换器500包括多个输入端口520A至520N(本文称为“输入端口520”),用于接收相应的光信号,每个光信号承载一组n个波长的通信。每个通信指定为λp,w,其中,下标p表示端口,下标w表示波长。因此,使用这种命名法,光输入520A接收承载指定为λ1,1、λ1,2、…λ1,n的n个不同波长的通信的光束。同样,光输入520B接收承载指定为λ2,1、λ2,2、…λ2,n的n个不同波长的通信的光束。
[0191] 光置换器500包括用于每个光输入接口520的相应一个光解复用器600A至600N(本文称为“光解复用器600”),其中,光解复用器被配置为基于光通信的带宽将给定光输入的光通信多路分解到内部光路640上。例如,光解复用器600A基于波长λ1,1、λ1,2、…λ1,n将在光输入接口520A上接收的光通信分离到一组内部光路640A上。光解复用器600B基于波长λ2,1、λ2,2、…λ2,n将在光输入接口520B上接收的光通信分离到一组内部光路640B上。每个光解复用器600以类似的方式操作,以分离从相应输入光接口520接收的光通信,从而通过内部光路640将光通信引导到光输出端口540A至540N(本文称为“光输出端口540”)。
[0192] 光置换器500包括用于每个光输出端口540的相应一个光多路复用器620A至620N(本文称为“光多路复用器620”),其中,光多路复用器从通向每个光解复用器600的光路640接收光信号,作为输入。换言之,光置换器500内部的光路640在光解复用器600和光多路复
2
用器620之间提供N光互连的全网。每个光多路复用器620接收N个光路,作为输入,并将由N个光路承载的光信号组合成单个光信号,以输出到相应的光纤上。
[0193] 此外,每个光解复用器600被配置为使得从输入接口端口520接收的光通信基于波长在光输出端口540上“置换”,从而在端口之间以确保避免光干扰的方式提供全网状连接。即,每个光解复用器600被配置为确保每个光输出端口540接收光输入端口520和由这些端口承载的光频率的组合的一个不同的可能唯一置换,其中,没有单个光输出端口540承载具有相同波长的通信。
[0194] 例如,光解复用器600A可以被配置为将波长为λ1,1的光信号引导到光多路复用器620A,波长为λ1,2的光信号引导到光多路复用器620B,波长为λ1,3的光信号引导到光多路复用器620C,…并且波长为λ1,n的光信号引导到光多路复用器620N。光解复用器600B被配置为通过向光多路复用器620A输出波长λ2,n,向光多路复用器620B输出波长λ2,1,向光多路复用器620C输出波长λ2,2,…以及向光多路复用器620N输出波长λ2,n-1来传送光信号的一不同(第二)置换。光解复用器600C被配置为通过向光多路复用器620A输出波长λ3,n-1,向光多路复用器620B输出波长λ3,n-2,向光多路复用器620C输出波长λ3,n-3,…以及向光多路复用器620N输出波长λ3,n-2来传送光信号的一不同(第三)置换。该实例配置模式继续通过光解复用器
600N,该光解复用器600N被配置为通过将波长λN,2输出到光多路复用器620A,波长λN,3输出到光多路复用器620B,波长λN,4输出到光多路复用器620C,…以及波长λN,1输出到光多路复用器620N来传送光信号的一不同(第N个)置换。
[0195] 在实例实现中,光路640被设置为使得输入接口/波长的不同置换传送到光多路复用器620。换言之,每个光解复用器600可以被配置为以类似的方式操作,例如,将λ1提供给解复用器的第一端口,将λ2提供给解复用器的第二端口…,并且将λn提供给解复用器的第N端口。光路640被设置为光学地将特定波长置换传送到每个光多路复用器620,使得来自任何一个光解复用器600的任何通信可以到达任何光多路复用器620,此外,选择每个波长置换,以避免信号之间的任何干扰,即,不重叠。
[0196] 例如,如图17所示,光路640A提供从承载λ1,1的光解复用器600A的第一端口到光多路复用器620A、从承载λ1,2的光解复用器600A的第二端口到光多路复用器620B、从承载λ1,3的光解复用器600A的第三端口到光多路复用器620C…以及从承载λ1,n的光解复用器600A的第N端口到光多路复用器620N的光互连。不是以与光路640A相同的方式提供互连,而是光路640B被设置为提供从承载λ2,1的光解复用器600B的第一端口到光多路复用器620B、从承载λ2,2的光解复用器600B的第二端口到光多路复用器620C、…从承载λ2,n-1的光解复用器600B的第N-1端口到光多路复用器620N、以及从承载λ2,n的光解复用器600B的第N端口到光多路复用器620A的光互连。光路640C以另一种方式设置,以便提供从承载λ3,1的光解复用器600C的第一端口到光多路复用器620C,…从承载λ3,n-2的光解复用器600C的第N-2端口到光多路复用器620N,从承载λ3,n-1的光解复用器600C的第N-1端口到光多路复用器620A,以及从承载λ3,n的光解复用器600C的第N端口到光多路复用器620B的光互连。在该实例中,该互连模式继续,使得光路640N被设置为提供从承载λN,1的光解复用器600N的第一端口到光多路复用器620N、从承载λN,2的光解复用器600N的第二端口到光多路复用器620A、从承载λN,3的光解复用器600N的第三端口到光多路复用器620B以及从承载λN,4的光解复用器600N的第四端口到光多路复用器620C等等的光互连。
[0197] 以这种方式,输入光接口/波长组合的一不同置换提供给每个光多路复用器620,此外,保证提供给相应光多路复用器的每个置换包括具有非重叠波长的光通信。
[0198] 光置换器500示出了本文描述的技术的一个实例实现。在其他实例实现中,每个光接口420不需要从单个光纤接收所有的N个波长。例如,N个波长的不同子集可以由多个光纤提供,然后将其组合(例如,由多路复用器)并随后如本文所述进行置换。作为一个实例,光置换器500可以具有2N个光输入520,以便接收2N个光纤,其中,第一子集的N个光纤承载波长λ1…λn/2,第二子集的N个光纤承载波长λn/2+1…λn。来自第一和第二集合的成对光输入的光可以组合,以形成承载N个波长的光输入,然后可以如图17的实例所示置换该光输入。
[0199] 在实例实现中,包括光输入端口520、光解复用器600、光路640、光多路复用器620和光输出端口540的光置换器500可以实现为一个或多个专用集成电路(ASIC),例如,光子集成电路或集成光电路。换言之,本文描述的光功能可以集成在单个芯片上,从而提供集成光置换器,其可以包含到电子卡、装置和系统中。
[0200] 图18是图17的光置换器500的另一实例实现的框图。在实例实现中,光解复用器600被不同地配置,以便将输入接口/波长的不同的相应置换引导到光路640,用于传输到光多路复用器620。
[0201] 在图18的实例实现中,每个光解复用器600包括一系列光循环器700,光循环器700具有设置在每个光循环器之后的光栅元件720。光栅元件可以是例如光纤布拉格光栅(FBG)元件或阵列波导光栅(AWG)。每对光循环器700和光栅元件720被配置为选择性地从光解复用器600的相应输出端口引导出特定波长。具体地,每个光循环器700操作,以围绕循环器沿顺时针方向从下一个光接口引导出在其任何光接口上接收的所有入射光。例如,光循环器700A接收光接口740A上的光,并从光接口740B引导出光循环器周围的所有波长。每个光栅元件720被配置为反射特定波长,该特定波长重新进入接收光的上游循环器。例如,光栅元件720A接收来自上游循环器700A的波长λ1,1、λ1,2、…λ1,n,并被配置为反射λ1,1并通过所有其他波长λ1,2、…λ1,n。具有λ1,1的光重新进入循环器700A,在循环器700A中,光传递到光路640的下一个光接口740C。波长为λ1,2、…λ1,n的光继续向下游传播,其中,光循环器700B和光栅元件720B被配置为选择性地从光路640的光接口740D引导出波长为λ1,2的光。以这种方式,每个光栅元件720被配置为选择性地从光解复用器600的适当光端口重定引导出正确的波
长,使得每个解复用器输出传输到光多路复用器620的光波长的不同置换。
[0202] 在其他实例中,光置换器132、400、500可以利用在Kaminow的“Optical Integrated Circuits:A Personal Perspective”,光波技术杂志,第26卷,第9期,2008年5月1日中描述的星形耦接器和波导光栅路由器,该文献的全部内容通过引用结合于此。
[0203] 图19是示出具有多个逻辑置换平面1至X的光置换器1000的框图。每个置换平面可以基本上如上所述配置,以便以保证无干扰的方式将波长/输入端口组合置换到输出端口。例如,每个置换平面1至X可以实现为图15、16的光置换器400或图17、18的光置换器500,并且多个置换平面可以封装在单个芯片上。在该实例实现中,光置换器1000可以容易地在单个装置中缩放,以支持大量的光输入和输出。
[0204] 在一些实例实现中,接入节点组内置换器可以用于在接入节点之间提供多路复用的分组喷射,这可以进一步增加本文描述的网络系统的可扩展性。即,在一些实例中,一个或多个第一级置换装置可以耦接在同一接入节点组的接入节点之间,以在各个接入节点在同一接入节点组内的其他接入节点上喷射分组流的分组时增加扇出。
[0205] 图20例如是示出实例电气置换器2000的框图,电气置换器2000可用于实现尺寸增大的接入节点组,从而实现提供全网状连接的甚至更大的网络互连。如图所示,一个或多个电气置换器可以与本文描述的各种网络系统一起使用,以提供公共(相同)接入节点组的接入节点之间的连接,例如,图20的接入节点组2001。为简单起见,图20中仅示出了单个电气置换器2000,尽管多个电气置换器可以设置在接入节点组内,每个电气置换器在该组的接入节点的子集之间提供连接。在一些实例中,在接入节点组内使用电气置换器来实现更大的接入节点组,可以与耦接在接入节点组和核心交换机之间的一个或多个光置换器(例如,作为第二级置换器)结合使用,如本文所述,以实现甚至更大规模的网络。
[0206] 通常,电气置换器2000在一组输出端口2040上置换来自一组输入端口2020的基于分组的通信(例如,分组流)。如进一步解释的,电气置换器2000是在接入节点(例如,为一个或多个服务器机架服务的公共接入节点组的接入节点)之间多路复用基于分组的通信的互连装置。在图20的实例中示出了接入节点组2001的接入节点的源组件(SF)2005和源交换组件(SX)2007,其中,每个SX和SF驻留在接入节点组的接入节点装置内。如本文详细描述的,当转发分组流时,接入节点组2001的每个接入节点的源组件(SF)从由接入节点服务的一组服务器接收出站网络分组,并将分组喷射到接入节点的其他交换组件(SX),这些交换组件又执行查找,以确定分组的目的地,并且可能经由核心交换机组将分组转发到所识别的目的接入节点,用于分组重新排序和传送到目的服务器。
[0207] 以这种方式,每个接入节点的SF组件可以被配置为向接入节点组2001中的所有其他接入节点喷射其从服务器接收的分组,使得通过任何链路2002从任何给定接入节点传输到电气置换器2000的分组是来自由相应接入节点支持的任何服务器的分组的混合。如下文进一步详细描述的,电气置换器2000操作,以提供从接入节点组2001内的任何源组件(SF)到任何源交换组件(SX)的无缝连接。此外,使用电气置换器2000,可以实现从单独的SF到更大数量的SX的显著更高的扇出,从而有效地增加接入节点组2001的大小,而不增加对额外布线或网络端口的需求。
[0208] 例如,在图20的实例中,每个SF组件可以分配n个唯一的网络地址(例如,唯一的媒体接入控制(MAC)地址),以在将给定分组流的网络分组喷射到SX以路由到目的地时使用。换言之,在一个实例中,每个SF组件可以分配相同的n个唯一网络地址。例如,假设一个接入节点组中有8个接入节点,则该接入节点组中的接入节点的每个SF可以分配8个不同的源
MAC地址。当在链路2002上转发分组时,接入节点组内的接入节点的每个SF基于网络分组将喷射到的SX,选择分配给SF的n个源网络地址(例如,源MAC)中的一个,用于给定分组。一旦在一个链路2002上接收到网络分组,电气置换器2000基于分组携带的源网络地址的至少一部分将网络分组重定向到适当的SX。以这种方式,电气置换器2000提供接入节点组20001内的SF和SX之间的完全网状可达性,并且需要减少互连接入节点组的接入节点的布线和物理端口。在一个实例实现中,电气置换器2000是连接多个接入节点的集成电路,并且对于每个输入端口,提供由该输入端口承载的多个固定带宽的电气流(ES)的置换,以便在不修改分组的情况下在输出端口上置换那些电气流。
[0209] 更具体地,实例电气置换器2000包括多个输入端口2020A至2020P(本文称为“输入端口2020”),以接收来自相应接入节点的电信号,其中,不同链路的每个电信号承载来自相应接入节点的发送SF组件的具有多达n个唯一源网络地址的分组。以这种方式,由电气置换器2000在每个链路2002上接收的通信可以被视为分组的n个唯一电气流,指定为ESp,n,其中,下标P表示P个输入端口中的一个,下标n表示最初从一个服务器接收分组并向接入节点组的SX喷射分组的发送接入节点所使用的源网络地址。因此,使用该命名法,输入2020A接收承载在接入节点组上喷射的可变大小分组的n个电气流(ES),其中,流过输入端口2020A的唯一固定带宽电气流利用n个不同的源网络地址,并指定为电气流ES1,1、ES1,2、…ES1,n。类似地,输入2020B接收承载在接入节点组上喷射的可变大小分组的n个电气流,其中,不同的电气流指定为ES2,1、ES2,2、…ES2,n。这种模式对于连接接入节点的所有P个输入端口继续,其中,每个接入节点分配n个不同的网络地址,用作源网络地址。
[0210] 如图20所示,电气置换器2000被配置为使得基于将分组注入接入节点组的接入节点的输入端口和源网络地址的组合,在每个输入接口端口2020上接收的每个电气流的电通信(可变大小的分组)在输出端口2040上“置换”,从而在所有接入节点的输入端口和输出端口之间提供全网状连接。即,电气置换器2000被配置为确保每个输出端口2040接收由电气置换器2000服务的接入节点的输入端口2020/网络地址的一个不同的可能唯一置换,使得在接入节点组上喷射以由任何给定接入节点提供给交换结构的分组可以在任何输入端口2020上接收,并且从任何输入端口具有到任何一个输出端口2040的可达性。在一个实例实现中,电气置换器2000可以基于包含在分组报头中的源网络地址(例如,L2 MAC地址)的全部或一部分,分离由给定输入端口2020上接收的信号承载的每个电气流ES。电气置换器
2000可以例如利用源MAC的一组低阶位来分离电气流,以便根据定义的置换将分组发送到正确的输出端口2040。每个SF组件可以分配一组不同的n个网络地址,其中,每组n个网络地址具有相同的低阶位,但是不同的高阶位。例如,耦接到链路2002A的第一SF组件可以分配八个MAC地址MA1至MA8,耦接到链路2002B的第二SF组件可以分配M9至M16,其中,每组的低阶三位的范围从000至111。电气置换器2000可以被配置为切断低阶位,以向输出端口2040多路复用分组,在该实例中,输出端口2040包括8个端口。
[0211] 例如,在图20中,一组P个输出端口2040可以在第一输出端口2040A上输出承载ES1,1、ES2,1、…ESP,1的分组的电信号,在第二端口上输出承载ES1,2、ES2,2、…ESP,2的分组的电信号,在第三端口上输出承载ES1,3、ES2,3、…ESP,3的分组的电信号,并且继续这个实例置换模式,在第P端口上输出承载ES1,n、ES2,n、…ESP,n的电信号,其中,n表示由发送接入节点选择的源网络地址,而P表示接收分组的电气置换器2000的输入端口。
[0212] 以这种方式,电气置换器2000被配置为将来自输入端口2020的通信引导到输出端口2040之外,使得每个输出端口2040承载输入端口2020和由这些端口承载的用于接入节点组的接入节点所使用的不同网络地址的电气流的组合的一个不同的可能唯一置换,其中,每个输出端口2020承载来自每个接入节点和每个不同输入端口的一个电气流。这样,在该实例中,每个输出端口2040承载来自接入节点组的每个接入节点的分组流的电气流,从而允许全网状通信。在接入节点组内的接入节点的SX组件对分组进行第一个第三层(L3)查找和转发之前,电气置换器2000可以用于在接入节点组内喷射的第一级分组中实现增强的扇出,并且在一些实例实现中,可以结合本文所述的任何光置换器(例如,OP 132、OP 204、OP 302、OP 400和OP500)来部署,以提供双向、全网状点对点连接,用于传输服务器12到/来自核心交换机22的通信。在一些实例中,电气置换器2000仅具有最小的分组缓冲器来同时吸收来自多个输入端口的分组的任何冲突,并且在一些实例中,没有输出端口2040超额预订带宽。
[0213] 这样,在接入节点组内使用电气置换器的接入网络或交换结构14(见图1)可以提供全网状互连,使得任何服务器12可以使用多个并行数据路径中的任何一个将分组数据传送到任何其他服务器12。此外,根据本文描述的技术,交换结构14可以被配置和设置为使得交换结构14中的并行数据路径在服务器12之间提供单个L2/L3跳、全网状互连(二分图),即使在具有数十万个服务器的大规模数据中心中也是如此。在一些实例实现中,每个接入节点17可以逻辑地连接到每个核心交换机22,因此具有多个并行数据路径,用于到达任何给定的其他接入节点以及通过这些接入节点可到达的服务器12。这样,在该实例中,对于M个核心交换机22,在每个接入节点17之间存在M个可能的数据路径。每个接入节点17可以被视为有效地直接连接到每个核心交换机22(即使通过光置换器连接),因此任何将流量提供到交换结构14的接入节点都可以通过中间装置(核心交换机)的单跳L3查找到达任何其他接
入节点17。
[0214] 如上所述,使用电气置换器的网络实现可能是有用的,以便增加任何接入节点组的基数(扇出)。例如,作为一个实例,可以容易地实现大型网络实现,例如,容易地实现更大的接入节点组(例如,32、64或128),以支持大量机架(例如,1024个机架)。
[0215] 在图20的实例中,电气置换器2000置换在单个方向上流动的电气流的分组,例如,从接入节点的SF组件,以到达接入节点组内的接入节点的SX组件。在该实例中,在连接的另一端的电气置换器(即,位于交换结构的另一侧并耦接到目的接入节点和服务器)执行以相反方向遍历网络的分组的电气流的置换。
[0216] 图21是示出实例网络架构2100的概念图,其中,八个物理机架20701至20708通过电气置换器(EP)互连,以形成机架组。在该实例中,服务器(未示出)的每个机架2070装配有具有八个接入节点(AN0至AN8)和八个电气置换器EP1至EP8的设备,以形成具有六十四个接入节点的接入节点组2102。如所讨论的,每个接入节点的源组件(SF)操作,以在64个接入节点的源交换(SX)组件上喷射流量,如本文所述。在图21中,为简单起见,仅示出了机架0的每个AN和单个EP1之间的连接,尽管每个AN连接到设备内的每个EP。
[0217] 通常,每个EP的操作类似于参考图20的EP 2000描述的功能,以基于分组的源网络地址将分组从输入端口置换到输出端口。接入节点组2102的64个接入节点中的每一个都被配置为如同具有到八个机架的所有其他64个接入节点的点对点L2连接(例如,以太网连接)一样操作。例如,如图21所示,通过操纵分组的源MAC地址,以利用分配给接入节点组的每个接入节点的n个MAC地址,机架0的AN1可以将分组喷射在RACK7的AN1至AN8的任何SX组件。类似地,RACK0的AN1可以经由RACK0的EP2至EP8将分组喷射在其他机架(未示出)的接入节点上。在图21的实例中,每个机架的八个接入节点AN1至AN8通过相应的50Gbps链路在内部连接到每个EP,并且每个EP通过在400Gbps连接上多路复用电气流,向八个远程接入节点AN提供相当于八个50Gbps电气流的连接。以这种方式,网络2100提供全网状连接和在64向接入节点组2102上的分组喷射,同时利用机架之间的直接线缆。
[0218] 图22是提供更详细实例的概念图,其中,多个机架组(RG)(例如,图21的机架组)通过第一层核心交换机互连。如图22所示,机架组的每个机架内的电气置换器提供机架内点对点连接,用于在接入节点组的接入节点之间(例如,在图21中的接入节点组的64个接入节点之间)喷射分组。此外,在喷射分组时,接收接入节点的SX组件将分组路由到其目的接入节点,用于分组重新排序和重组,其中,目的接入节点可以是同一机架组中的本地节点,或者是经由核心交换机0至63可到达的任何其他机架组中的接入节点。
[0219] 通常,源自服务器的实例分组由相应的接入节点接收(步骤1)。接收出站分组的接入节点的SF组件将分组喷射到接入节点组中的任何其他接入节点(步骤2)。此时,接入节点选择在将分组封装在隧道分组中时要使用的适当的源MAC地址,并将分组转发给一个电气置换器(步骤3)。
[0220] 一旦从源接入节点接收到分组,EP基于源网络地址(例如,MAC地址)的低阶位将分组多路复用到其适当的输出端口(步骤4)。接收EP将分组直接传送到其相应的端口,而不进行置换(步骤5)。例如,对于从发送EP接收分组的EP,在输入端口0上接收的分组的所有电气流将传送到输出端口0,在输入端口1上接收的分组的所有电气流将被传送到输出端口1,诸如此类。通过这种方式,这对EP模拟了接入节点之间的直接连接。
[0221] 一旦接收到喷射的分组,接入节点组内的接收接入节点的SX组件对隧道化分组的目的IP地址执行第3层查找,以确定用于终止分组传输的目的接入节点(步骤6)。如果接收喷射的分组的接入节点是目的接入节点,使得目的服务器是该接入节点的本地服务器,则接收接入节点执行从隧道分组中提取分组、分组重新排序并传送到目的服务器(步骤7)。如果目的接入节点是位于机架组0内(即,在同一接入节点组内)的一不同接入节点,则接入节点将分组转发到本地接入节点(例如,经由本文讨论的EP),用于分组提取、分组重新排序和传送到目的服务器(步骤8)。否则,接入节点通过一个核心交换机将分组转发到具有目的接入节点的机架组(步骤9),用于分组重新排序并传送到目的服务器(步骤10)。
[0222] 参考图22描述的实例是网络转发的一个实例,该网络转发利用耦接在同一接入节点组的接入节点之间的第一级置换装置(例如,EP)来增加扇出,因为各个接入节点在同一接入节点组内的其他接入节点上喷射分组流的分组。通常,网络转发可以由控制平面网络软件可编程地控制,并且可以使用其他实例。在一个实例中,在喷射分组之前(步骤2),SF组件可以执行有限的L3查找,以确定目的服务器是否在该接入节点本地,并且如果是,则将分组直接转发到服务器。作为另一实例,SF可以基于各种标准,例如,转发的流量类型、该流量类型或特定分组流的过去或预期带宽利用率或者目的接入节点是在同一机架组内还是仅通过核心交换机可到达,在第一级置换装置上喷射分组(例如,“2跳路由”)还是直接将分组转发到服务器或目的接入节点之间进行选择。这种流量转发可以经由控制平面软件来控
制,该控制平面软件在每个接入节点上执行,并通过控制平面协议(例如,各种路由或配置协议)由其他控制装置(例如,SDN控制器、路径计算装置或其他装置)进行通信。
[0223] 图23是示出电气置换器2150的实例实现的框图,电气置换器2150可以是本文描述的任何电气置换器,例如,在图20至22中。在该实例中,电气置换器2150包括输入接口的入口端口组。在一个实例中,入口端口组使用25G的四个串行器/解串行器(serdes)或50G的两个serdes支持100Gbps吞吐量。这些速率仅用于举例目的。
[0224] 通常,入口端口块接收输入通信,例如,以太网分组,并实现具有物理编码子层和前向纠错码的以太网MAC。一旦接收到以太网,入口端口块就将接收到的以太网帧发送到解析器块,用于解析目的。
[0225] 解析器块解析输入以太网帧,并被配置为根据本文描述的置换要求来确定转发该帧的出口端口。
[0226] 电气置换器的分组写入器块将输入以太网帧写入分组缓冲器。硬件逻辑以256字节的固定大小单元为单位管理缓冲器。分组写入器块与空闲单元管理器接合,以获得分组缓冲器中空闲单元的地址。分组写入器块使用从空闲单元管理器接收的空闲单元地址来写入输入帧,以供临时存储。
[0227] 分组写入仲裁器为分组缓冲器提供控制接口,并多路复用来自不同分组写入器的接入。例如,分组写入仲裁器仲裁分组缓冲器地址端口,并多路复用要写入分组缓冲器存储器的输入单元。分组写仲裁器在分组缓冲器中以单元列表的形式创建分组,并将单元地址在出口分组队列块中排队,以供后续传输。
[0228] 在一个实例中,分组缓冲器具有有限的缓冲大小(n-1)×n×分组MTU大小,以保证零丢包,其中,n表示输出端口的数量。在使用共享缓冲器的情况下,如图23所示,缓冲器大小可以减小到n×(n-1)×MTU/2字节,以保证零丢包。
[0229] 出口分组队列块为电气置换器2150的每个出口端口实现一组(例如,8或16个)分组队列。分组列表以链表的形式实现。出口分组队列结构共享存储。
[0230] 出口调度器接入要从出口分组队列中弹出的单元地址,并调度来自非空队列的分组,以从相应的出口端口传出。出口调度器将带有其描述信息的分组发送到相应的分组读取器块,用于从分组缓冲器读取相应的分组。
[0231] 例如,电气置换器2150的分组读取器块负责遍历要传输的分组的链表,并创建到分组缓冲器的地址,以读取单元信息。在从分组缓冲器读取数据之后,分组读取器块将单元地址发送到空闲单元管理器,以释放先前由分组占据的分组缓冲器空间。
[0232] 分组读取地址多路复用器多路复用不同的读取地址,并向分组缓冲器块发出读取命令,以读取分组数据。从分组缓冲器读取的分组数据发送到出口端口组,该出口端口组使用适当的以太网CRC来传输分组数据。
[0233] 在图23的实例中,电气置换器2150是非管理装置,没有控制平面软件或逻辑,因此不需要对转发表或交换表进行编程。相反,分组写入器块被预先配置为使用MAC地址上的低阶位来区分流,从而在出口端口组上置换在入口端口组上接收的电气流,如本文所述。根据以指定端口速率传输的调度器,每个电气流的分组都受到速率限制。这样,电气置换器2150是无源装置,其可以被其他网络装置有效地视为线缆或其他无源互连。
[0234] 图24是示出根据本文描述的技术的网络系统的实例操作的流程图。为了便于说明,参考图1的网络系统8描述了图23的流程图,该网络系统8包括数据中心10的服务器12、接入节点17和交换结构14。然而,图24所示的技术很容易适用于本文描述的其他实例网络实现。
[0235] 如该实例中所示,一组接入节点17交换控制平面消息,以在多个并行网络路径上建立逻辑隧道,这些路径在接入节点之间提供基于分组的连接(3101)。例如,关于图1,交换结构14可以包括一层或多层交换机和/或路由器,提供多个路径,用于在接入节点17之间转发通信。可能响应于来自SDN控制器21的指示,相应的接入节点对17交换控制平面消息,以协商在接入节点之间的多个并行路径上配置的逻辑、端到端隧道。
[0236] 一旦建立了逻辑隧道,一个接入节点(在图20中称为‘发送接入节点’)可以例如从应用程序或存储服务器12接收与相同的总分组流相关联的出站分组(3102)。作为响应,对于至少一些实例实现,发送接入节点发出发送指定量的分组数据的请求(3103)。
[0237] 一旦从与要发送的分组数据的目的地相关联的接入节点接收到许可(3108),发送接入节点就将出站分组封装在隧道分组内,从而形成每个隧道分组,以具有用于遍历逻辑隧道的隧道报头和包含一个或多个出站分组的有效载荷(3104)。
[0238] 一旦形成隧道分组,发送接入节点通过经由交换结构14在多个并行路径上喷射隧道分组来转发隧道分组,接收接入节点通过交换结构14是可到达的(3106)。在一些实例实现中,在将隧道分组转发到交换结构14之前,发送接入节点可以将隧道分组喷射在多个接入节点上,这些接入节点例如形成一个或多个接入节点组(例如,在靠近发送接入节点的一个或多个机架组内),从而提供用于在并行路径上分发隧道分组的第一级扇出。参见例如图3、图7B和图8。此外,为了在接入节点之间提供第一级扇出,中间电气置换器(参见图20至
23)可以处理隧道分组,以置换接入节点组的接入节点上的通信,从而在将隧道分组转发到交换结构14之前,增加来自发送访问节点的扇出(3107A)。此外或者可替代地,当隧道分组转发给交换结构14并且遍历多个并行路径(即,多个非命运共享路径)时,隧道分组可以由中间光置换器(见图9)处理,中间光置换器在端口上朝向交换结构的核心交换机置换通信,从而提供到达额外并行路径的第二级扇出,以便提供网络系统的更大可扩展性,同时仍然在接入节点之间提供高级连接(3107B)。在其他实例实现中,网络系统不需要包括光置换器。
[0239] 一旦接收,接收接入节点提取封装在隧道分组内的原始分组(3109),按照应用程序或存储服务器发送的顺序对原始分组进行重新排序,并将分组传送到预期的目的服务器(3110)。
[0240] 已经描述了各种实例。这些和其他实例在以下权利要求的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈