CN113841364A - 用于数据中心网络交换的***、方法和架构 - Google Patents

用于数据中心网络交换的***、方法和架构 Download PDF

Info

Publication number
CN113841364A
CN113841364A CN201980096470.3A CN201980096470A CN113841364A CN 113841364 A CN113841364 A CN 113841364A CN 201980096470 A CN201980096470 A CN 201980096470A CN 113841364 A CN113841364 A CN 113841364A
Authority
CN
China
Prior art keywords
switch
semiconductor
packet
network
point
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.)
Pending
Application number
CN201980096470.3A
Other languages
English (en)
Inventor
史蒂芬·费迪南多
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.)
Brightway
Original Assignee
Brightway
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brightway filed Critical Brightway
Publication of CN113841364A publication Critical patent/CN113841364A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种超大规模交换机,实现有多个根据直接点对点电网互连彼此连接的半导体交叉交换元件,用于在连接到交换机的***设备之间收发数据包,并利用查找表和网络设备寻址以降低交换功率。

Description

用于数据中心网络交换的***、方法和架构
技术领域
本公开总体上涉及数据包交换网络***,并且更具体地,涉及一种用于在数据中心网络环境中使用的数据包交换管理架构。
背景技术
云计算或经由“云”的处理表示在付费使用的基础上通过诸如互联网的网络配置交付按需计算资源。云计算通常通过一个或多个数据中心实现。数据中心是一个集中的位置,提供计算资源和关键电信,包括服务器、存储***、数据库、设备、接入网络、软件和应用程序。随着信息技术(IT)和应用程序的***式增长,需要更高的安全性、可靠性以及高效和快速的处理时间,全球数据中心的规模和数量都在增加。全世界估计有超过860万个数据中心,而且这个数字预计每隔几年就会翻一番。目前预计为这些数据中心供电的成本约为每年600亿美元,约占当前全球发电量的8%。容纳如此大规模计算基础设施的超大规模数据中心每年不仅消耗大量能源,而且还将大量污染物排放到大气中,包括但不限于数亿吨二氧化碳(CO2)。与超大规模数据中心相关的其他问题包括确保设备和***正常运行的加热和冷却要求、用于柴油发电机、备用电池、电源转换、冷却等增加的资本成本和支出。此外,与半导体(例如硅)电子元件或设备相关的尺寸和处理限制,和对提高处理速度的需要及其伴随的对电力利用和成本的增加导致需要新的技术方案。
网络存储***和远程计算***可以包含在高密度设施中,例如机架安装环境。然而,随着网络存储***和远程计算***密度的增加,正在达到各种物理限制。这些限制包括基于底层存储技术的密度限制,基于对网络互连的各种物理空间要求以及对环境气候控制***的重要空间要求的计算密度限制。
除了上述之外,这些大容量存储***传统上在每个主机可以包括的设备数量方面受到限制。这在需要更高容量、冗余和可靠性的存储环境中可能成为问题。随着网络、云和企业环境中数据存储和检索需求的增加,这些缺点可能尤其明显。此外,交换机的功耗与穿越集成电路设备(和串行器/解串器或SERDES)以从网络连接的第一***设备的源或入站端口向网络连接的第二***设备的目的地或出站端口传输数据包所需的交换机跳数成正比。因此,网络数据包交换机内的电力需求和电力使用/消耗代表了重大的技术和环境挑战。
需要用于克服一个或多个上述缺点的替代***、设备、架构、装置和方法。
发明内容
提出了用于实现网络交换装置的***、设备、架构、装置、方法和计算机程序,用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备。应当理解,如本领域普通技术人员将理解的并且根据这样的方法、装置、***、设备、计算机程序和体系结构,本公开的实施方式可以多种方式实现。下面描述了几个实施方式。
在本公开的一个实施方式中,提供一种非Clos网络数据包交换装置,用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备。该装置包括多个半导体交叉交换元件,其设置在机箱内并具有多个相关联的用于与相应的***设备连接以收发数据包的外部I/O端口,以及多个相关联的内部I/O端口。点对点电网互连定义了每个半导体交叉交换元件的一个内部I/O端口与每个其他半导体交叉交换元件的一个内部I/O端口之间的直接电连接。控制处理器被配置为维护将***设备连接映射到与多个半导体交叉交换元件相关联的对应外部I/O端口的查找表。每个半导体交叉交换元件被配置为:响应于在其外部I/O端口之一上检测到数据包,根据查找表映射并基于该数据包的地址头确定该数据包的目的半导体交叉交换元件,和该目的半导体交叉交换元件的目的外部I/O端口。在目的半导体交叉交换元件与在其外部I/O端口之一上检测到数据包的半导体交叉交换元件不同的情况下,该元件输出数据包和目的外部I/O端口的指示符到其内部I/O端口之一,该端口通过点对点电网互连连接到目的半导体交叉交换元件。如果根据查找表目的半导体交叉交换元件与源元件相同,则源元件根据查找表将数据包输出到其自己的目的外部I/O端口。
每个半导体交叉交换元件还响应于在其内部I/O端口之一上接收到数据包和目的外部I/O端口的指示符,用于将没有指示符的该数据包输出到由该指示符标识的外部I/O端口,至第二连接交换机的***设备,由此数据包从第一连接交换机的***设备到第二连接交换机的***设备的路由最多仅穿越两个半导体交叉交换元件。
半导体交叉交换元件包括至少一个集成电路。该至少一个集成电路可以是ASIC和FPGA之一。
点对点电网互连可以包括至少一个多层堆叠的电互连印刷电路板。在一个实施方式中,该至少一个多层堆叠的电互连印刷电路板可以是无硅的。在一个实施方式中,该堆叠的无硅电互连印刷电路板可以是无通孔的。每个半导体交叉交换元件都被可配置为用于10Gb、25Gb、40Gb、50Gb和100Gb之一的信号线处理。
在一个实施方式中,点对点电网互连可以包括多个离散的内部网络传输线或导线。在一个实施方式中,点对点电网互连可以体现为双轴或同轴电缆。在一个实施方式中,点对点电网互连可以体现为光纤PCB设计,而不是电/铜PCB。此外,该实施方式可以包括调制方案以增加网络流量的传输线容量,例如PAM或PSK或QAM调制。
在一个实施方式中,地址头是MAC地址头和IP地址头之一。
在一个实施方式中,查找表存储对应于连接的***设备的MAC地址或IP地址。
在一个实施方式中,网络是以太网。
在一个实施方式中,进一步的处理包括对从每个半导体交叉交换元件的入口到出口的数据包传输执行虚拟输出排队,作为交叉数据包传输调度器的一部分。
在一个实施方式中,获得查找表内的MAC或IP地址头,并且进行映射更新以将***设备连接映射到与多个半导体交叉交换元件相关联的对应外部I/O端口。主查找表可以包含与与多个半导体交叉交换元件相关联的对应外部I/O端口连接的***设备的MAC或IP地址头,并且周期性地更新对应的本地查找表以供每个半导体交叉交换元件访问。
在一个实施方式中,一种非Clos网络数据包交换方法,包括在第一网络半导体交换元件的电连接到***设备的外部I/O端口处接收要转发到连接到多个网络半导体交叉交换元件之一的外部I/O端口的第二***设备的网络流量数据包;在第一网络半导体交叉交换元件处,根据将***设备连接与多个网络半导体交叉交换元件的对应外部I/O端口映射的查找表,并根据与连接至网络的目的***设备相对应的地址头,确定要在其上转发网络流量数据包的目的外部I/O端口;将第二网络半导体交换元件的目的外部I/O端口的指示符加到网络流量数据包前;以及通过直接点对点电网互连将网络流量数据包转发到第二网络半导体交换元件,该点对点电网互连定义了每个半导体交叉交换元件的一个内部I/O端口和每一个其他半导体交叉交换元件一个内部I/O端口之间的直接电连接。该方法还包括由第二网络半导体交叉交换元件在其经由直接点对点电网互连连接到第一网络半导体交叉交换元件的内部I/O端口处接收前加的网络流量数据包;以及由第二网络半导体交叉交换元件将网络流量数据包输出到目的外部I/O端口上,至第二连接交换机的***设备,由此,数据包从第一连接交换机的***设备到第二连接交换机的***设备的路由最多仅穿越两个半导体交叉交换元件。
在一个实施方式中,一种用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备的非Clos数据网络交换***包括:机箱;多个线卡,容纳在机箱内并具有用于收发数据包的I/O端子;多个半导体交叉交换元件,每个具有与容纳在机箱内的多个线卡中的对应线卡的I/O端子电通信的外部I/O端口,用于在连接交换机的***设备之间路由数据包;控制处理器,被配置为维护将***设备连接映射到与多个半导体交叉交换元件相关联的对应外部I/O端口的查找表;其中每个半导体交叉交换元件包括转发处理器,其被配置为响应于在半导体交叉交换元件的给定外部I/O端口处接收到的数据包访问查找表,并根据查找表及数据包的地址头将数据包经由直接点对点电网互连路由到对应于多个半导体交换元件的目的一个的另一个外部I/O端口上,该点对点电网互连将多个半导体交叉交换元件中的每一个与每一个其他半导体交叉交换元件直接连接;由此,数据包从第一连接交换机的***设备到第二连接交换机的***设备的路由最多仅穿越两个与线路接入卡相关联的半导体交叉交换元件。
在本公开的一个实施方式中,一种用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备的网络交换装置,包括机箱,该机箱包含多个线卡,每个线卡通过直接点对点网互连模式或网络互连。控制处理器被配置为维护将***设备连接映射到与多个线卡相关联的对应I/O端口的查找表。在每个线卡上,交叉交换元件被配置为能够通过直接点对点电网互连模式将任何一个线卡I/O端口与多个线路接入卡之一上的对应目的端口电连接,该模式将多个线卡中的每一个与线卡中的其他每一个连接。交换连接是响应于在给定线卡的入口I/O端口上检测到数据包而进行的。通过线卡上的交换元件,基于数据包的目的地址头根据查找表映射,通过直接点对点电网互连模式路由或转发数据包,从而任何两个线卡的输入输出端口和相应的交叉交换元件之间的数据包传输仅有两次跳跃。在一个实施方式中,每个交换元件都具有与其他每个交换元件的直接电连接,并且从任何交换元件输出的出口传输线通过电网互连在选择的差分对连接处进行通信以用于交换目的,将最终端口目的地加到从交换元件传输的数据包之前,这样就不需要在电网、下游线卡和交换元件上进行进一步的处理或路由确定。交换元件上的入口接收线路(例如对应于目的端口或目的***设备)直接接收该数据包并传给目的***端口和设备。在一个实施方式中,可以实现为差分对或替代的电/光传输方式/几何结构。
根据本公开的架构,线卡或线卡上的集成电路之间物理跳数的减少显着降低了电力消耗并显著提高了速度,此外还提高了热效率并降低了网络包交换机对冷却和功率的要求。
在本公开的一个实施方式中,超大规模交换机实施在多个硅交换元件内,至少一个线卡布置在机架或机箱内用于传输到连接至***设备的目的I/O端口,每个硅交换元件包括路由和转发引擎用于使用网络地址标识符,例如在I/O端口处接收到的数据包中的媒体访问控制(MAC)网络地址,其中电网互连网络架构在以太网分组路由网络配置中提供每个硅交换元件上的每个对应I/O端口之间的直接点对点连接。
在另一个实施方式中,超大规模交换机实现有管理程序以根据选择的网络操作***创建并运行一个或多个虚拟机和/或虚拟化工作负载。在一个实施例中,网络操作***可以是诸如Openflow的开源网络操作***,或者安装有在操作***中本机运行的应用程序的全栈(封闭)***。
在一个实施方式中,直接点对点电网互连模式或网络被实现为印刷电路背板,该印刷电路背板包括具有直接点对点电连接的多千兆位传输线。
在一个实施方式中,印刷电路背板电互连网络被实现为使得设备的背板是无硅的。
在一个实施方式中,每个硅交换元件被配置为专用集成电路(ASIC)或现场可编程门阵列(FPGA)设备(例如芯片),并且包括多千兆位铜传输线的印刷电路背板提供每个相应线卡上的集成电路(IC)芯片I/O连接(或片上***或SoC)之间的直接点对点电连接。
在一个实施方式中,网络交换平台可以被配置为数据中心LAN网状架构实施方式,以便压缩网络并提供用于数据服务的网关,同时能使数据中心扩展其网络虚拟化存在。
在一个实施方式中,网络交换平台被设计为有在多个数据中心网络应用中的通用性,要么作为独立的高容量交换机,要么作为容纳10/40/100G光收发器和有迁移能力的接入、行末、核心或互连交换机。
本公开的实施方式包括一种网络数据包交换机,该网络数据包交换机包括容纳多个线卡的机箱,该多个线卡在其上具有用于连接到***设备的I/O端口。每个线卡包括一个或多个硅交换元件,例如具有I/O端口的ASIC或FPGA,该I/O端口用于通过机箱内的印刷电路背板或在每个交换元件之间的点对点直接电连接的p-spine架构与每个其他交换元件连接(因此叫线卡)。每个硅交换元件在其中包含转发和路由引擎,用于根据诸如MAC头的包地址头,从连接到网络交换机的源***设备经由点对点直接电互连的印刷电路背板路由数据包到目标***设备。转发和路由是根据包含存储在其上的路由信息的查找表在传输ASIC或FPGA(或SoC)内执行的。
与传统的主干加分支网络架构不同,本公开的实施方式提供具有硅交换元件的线卡,该硅交换元件具有共同位于线卡上且具有路由功能的转发引擎,由此,经由点对点直接电互连网背板进/出线卡和硅交换元件的通信和路由减少了用于提高交换机速度或吞吐量速度的串行器/解串器(SERDES)部件和I/O网关的费用,同时降低功率和I/O部件的要求。
在本公开的一个实施方式中,每个线卡被配置在非Clos包交换网络中并且包括多个集成电路,这些集成电路定义了结构交叉实现,其中每个线卡上的每个集成电路经由印刷电路板背板与经由此印刷电路背板结构连接的所有线卡上的所有其他集成电路直接(即点对点)电连接。
在本公开的一个实施方式中,每个线卡被配置在非Clos包交换网络中并且包括多个现场可编程门阵列(FPGA)部件,这些部件定义了结构交叉实现,其中每个线卡上的每个FPGA经由无硅印刷电路板背板与经由此无硅印刷电路背板结构连接的所有线卡上的所有其他FPGA直接(即点对点)电连接。
在一个实施方式中,FPGA可以用包括一个或多个处理器核心、微处理器或微控制器、DSP、图形处理器(GPU)、片上存储器、硬件加速器、诸如以太网和PCIE控制器的***设备功能等的部件替换和/或集成,用于实现为与通信经由直接点对点电互连结构相连的片上***(SoC)。
在一个实施方式中,连接每个半导体交叉交换元件的直接(即点对点)电连接互连结构的架构可以作为在高性能计算机服务器上执行的虚拟交换机来实现,以提供虚拟分段、安全化和重构,其中在每个半导体交叉交换元件中集成有MAC、数据包路由和布置,FIFO输出排队和拥塞管理处理、VLAN、VXLAN和VOQ功能。
附图说明
图1A和图1B是根据现有技术的分层网络交换机架构的简化示意图。
图1C是根据本公开实施方式的非Clos网络数据包交换机架构的简化示意图。
图2是根据本公开实施方式的网络数据包交换机架构的更详细示意图。
图2A、图2B、图2C和图2D图示了显示出根据本公开的实施方式的网络数据包交换机架构的部件的示例性局部视图和剖视图。
图3是根据本公开的实施方式的实施为FPGA架构的半导体交叉交换元件的部件的示例性图示,该架构布置在线卡上,具有到位于不同半导体交换元件之间的点对点直接电互连的印刷电路背板的I/O互连,用于实现数据包网络交换功能。
图4是图3的更详细的图示,描绘了根据本公开的实施方式的从半导体交换元件到位于印刷电路背板上的互连以将数据包传输到目的设备以实现网络交换机功能的传输(出口)信号线。
图4A是图3的更详细的图示,描绘了根据本公开的实施方式的从印刷电路背板到接收(入口)半导体交换元件以在目的设备处接收数据包以实现网络交换机功能的接收(入口)信号线。
图5是根据本公开的实施方式的示出了与体现为FPGA架构的半导体交换元件相关联的交换流模块处理的部件的示意图,该半导体交换元件用于控制网络数据包从源***设备到目的***设备的传输。图6A-6B是示出根据本公开的实施方式的通过具有半导体交换元件和点对点电网互连的网络交换机发送数据包的方法的处理流程。
图6C是示出根据本公开的实施方式的用于处理从源到目的地的数据包传输的查找和路由表的字段的示例性图示。
图7A是根据本公开的实施方式的用于在多个线卡上的集成电路之间提供直接连接以用于数据包传输的点对点电网互连结构的示例性图示。
图7B是根据本公开的实施方式的用于在布置于线卡上的半导体交换元件之间提供直接连接以用于数据包传输的点对点电网互连结构的示例性图示,该对点电网互连结构显示出了选择的信号通信线路。
具体实施方式
应当理解,本发明的附图和描述已被简化以说明与清楚理解本发明相关的元件,同时为了清楚起见,省去了在网络交换机和包交换***中存在的许多其他元件。然而,因为这些元件在本领域中是众所周知的,并且因为它们不利于更好地理解本发明,所以本文不讨论这些元件。本文的公开涉及本领域技术人员已知的所有这些类变化和修改。
在下面的详细描述中,参考附图,这些附图通过说明的方式示出了可以在其中实践本发明的特定实施方式。应当理解,本发明的各种实施方式虽然不同,但不一定是相互排斥的。此外,在不脱离本发明的范围的情况下,本文结合一个实施方式描述的特定特征、结构或特性可以在其他实施方式中实施。此外,应当理解,在不脱离本发明的范围的情况下,可以修改每个公开实施方式内的各个元件的位置或布置。因此,以下详细描述不应被视为限制性的,本发明的范围仅由所附权利要求书、适当解释的权利要求书以及权利要求书所能得到的等效物的全部范围限定。在附图中,贯穿多个附图的相似数字表示相同或相似的功能。
尽管数据包交换网络可以采用多种形式,但在一种这样的形式中,交换机结构可以包括卡模块化平台。卡模块化平台通常包括包含在单个单元(例如机箱或架子)中的背板和多个交换结构模块和/或其他类型的板,例如服务器、路由器、电信线路卡、存储卡等,例如,其允许数据包在多个网络节点之间交换,从而在网络节点之间形成交换结构。
图1A图示了根据现有技术的Clos网络100形式的交换机互连。通常,Clos网络100包括具有上行链路端口的包交换机,该上行链路端口耦合到其他包交换机的上行链路端口。包交换机还包括可以耦合到硬件资源或***设备(标记为服务器A到H)的下行链路端口。这种***设备不仅可以实现为服务器,还可以实现为网络接口、处理器、存储区域网络接口、主机等。现有技术的Clos网络交换架构可以实现具有如图1A所示的Clos或折叠Clos网络,具有分支以及带有结构模块架构的主干。图1A的每个分支服务器或线卡设备被表示为元件110(示为110a-110d)并且具有结构模块的主干被表示为元素120(显示为120a-120d)。
服务器连接到分支交换机(例如架顶交换机或TOR交换机),其中每个分支交换机都连接到所有主干交换机。如图所示,每个***设备或服务器距离每个其他***设备至少三个物理跳,因为处理需要将数据包从源***设备(例如服务器A)通过3跳分支和主干网络(例如110a、120b和110c)路由到目的***设备(例如服务器E)以到达其目的地。通过将拓扑划分为集群并添加额外的主干层(也称为超级主干层),该结构可以进一步扩展为多级(例如5级CLOS)。考虑到Clos交叉结构和当前技术实现,作为用于在包转发结构的路由中进行评估的分级模块操作的附加半导体设备要求每个设备彼此相距5跳。由于通过半导体器件的每一跳都遭受通过电阻的耗散功率(功)和穿过半导体的吞吐速度的损失,所以这样的***表现出若干不利特征。本公开的各方面在半导体FPGA器件、集成电路或SoC内集成了交叉交换功能、转发和路由、虚拟输出排队、VLAN和控制平面集成,其可以在线卡上实现,以便实现本文讨论的优点。
图1B示出了另一个CLOS交换实施方式,包括多机箱链路聚合组(MLAG或MCLAG)。服务器可以连接到两个不同的分支110'或TOR 101交换机,以便具有冗余和负载平衡能力。图1B的现有技术CLOS架构实施方式可以同时利用OSI第2层(L2)包交换以及第3层(L3)路由,其中基于目的IP地址将包发送到特定的下一跳IP地址。图1B示出了CLOS拓扑,其使用用于主干120'到支路110'连接和多个TOR以及支路交换机实例的第3层路由。类似于图1A的路由要求,图1B的CLOS架构在数据包的路由中也需要多跳通过额外的半导体设备以穿过数据包交换网络以将包从一个***设备(例如服务器A)传输到另一个***设备(例如服务器C)。通过半导体的每一跳都会因半导体的电阻物理而消耗功率,并且在穿过半导体时会损失吞吐速度。
与诸如图1A和图1B所示的传统分支服务器和主干服务器网络架构相比,其中实现了多层Clos架构,需要多跳(3或更多)来交换来自连接设备(例如服务器A)的给定输入端口到连接设备(例如服务器B)的给定输出端口的数据包,本公开的实施方式提供了一种非Clos网络,其实现为折叠或扁平(例如线性)形式的网络元件架构和数据包交换,这减少了I/O设备之间的跳数,同时提高了给定交换操作的速度并降低了给定交换操作的功率要求。此外,本公开的实施方式在单个半导体交换元件内集成了多种功能,这些功能用于降低功率耗散、提高交换速度并在数据网络架构内维持行业标准形状因子。本公开的实施方式将先前不同的功能集成到单个半导体交换元件之上或之内,以在非Clos网状网络数据包交换机内提供转发和路由引擎和交叉交换功能、虚拟输出排队(VOQ)和VLAN功能。
在一个示例性实施方式中,公开了一种机箱,其容纳多个线卡或线卡刀片,其中每个线卡具有带有槽的面板,该槽被配置为接收***设备连接。每个线卡可以包含半导体交叉交换元件,其被实现为集成电路或FPGA或片上***,并被配置为通过直接点对点电网互连路由数据包。电网互连直接将每个半导体交叉交换元件上的I/O端口与所有其他半导体交叉交换元件连接起来,从而根据接收到的数据包上的地址头和与半导体交叉交换元件相关联的***设备连接的查找表完成数据包路由,从而实现2跳包交换网络。该网络可以实现为超大规模或复合交换机。
本公开的实施方式可以使用机架安装线卡在机箱内实现,或者可以使用刀片和各种形状因子、具有特定卡配置(例如水平、垂直或它们的组合)以及不同的卡/I/O编号(尽管不必须是2的幂,并且数字可以是任何正整数,但是可以例如N=2、4、8、16、24、32等)来实现。
如本文在本公开的实施方式中所使用的,术语“跳”表示包括***中两个设备之间的直接物理连接的单个物理跳。类似地,单物理跳可以定义为数据包穿越集成电路(例如FPGA、微芯片、ASIC或其他可编程或可重新编程的芯片设备)的穿越或路由,以及交换元件上的任何一组其收发器或串行器/解串器(SERDES)设备输入到其SERDES设备输出。
本公开的示例性实施方式可以实现网络数据包交换机,该网络数据包交换机包括配置在机箱内的线卡,并且每个线卡上都设置有(或与其相关联)半导体交叉交换元件,该半导体交叉交换元件通过结构模块与所有其他半导体交叉交换元件经由直接点对点电网互连背板结构连接。在一个实施方式中,背板结构可以是半导体或无硅的。在特定实施方式中,直接点对点电网互连背板结构可以实现为印刷电路电网互连。在另一个特定实施方式中,直接点对点电网互连背板结构可以实现为多个离散线(例如微线或纳米线)。
与传统的主干加分支网络架构进一步不同,本公开的实施方式提供半导体交叉交换元件,该半导体交叉交换元件具有共同位于线卡上且具有路由功能的转发引擎,由此,经由直接点对点电网互连进/出交换元件(因此进/出线卡)的通信和路由减少了用于提高交换吞吐量或降低交换延迟的(SERDES)和I/O网关的费用,同时降低功率和I/O部件的要求。
根据本公开的另一实施方式,每个交换元件包括一个或多个ASIC或现场可编程门阵列(FPGA)部件,其与直接点对点电网互连一起定义了结构交叉实施方式。每个交换元件都与线卡相关联,并且每个线卡上的每个FPGA都与相应线卡上的所有其他FPGA直接(即点对点)电连接(通过无硅印刷电路板背板)。
现在参考图1C,其示出了根据本公开实施方式的非Clos网络数据包网络交换机架构1000的简化示意图。如图所示,标记为L1-L5的半导体交叉交换元件1004(数据网络包交换机)被配置在扁平化架构中,从而资源(例如,标识为服务器A—服务器K的***设备)之间的数据包通信以减少的跳数实现。更具体地,每个半导体交换元件(例如L1)具有多个相关联的外部I/O端口(例如1004a),用于与相应的***设备(例如服务器A)连接以收发数据包。每个半导体交换元件还具有多个相关联的内部I/O端口1004b。点对点电网互连1003定义了每个半导体交叉交换元件的一个内部I/O端口与每个其他半导体交叉交换元件的一个内部I/O端口之间的直接电连接。控制处理器1005被配置为维护将***设备连接映射到与多个半导体交叉交换元件相关联的对应外部I/O端口的查找表(LUT)1006。响应于在其一个外部I/O端口上检测到数据包,半导体交叉交换元件L1根据查找表映射(LUT)并基于该数据包的地址头确定该数据包的目的交换元件(例如L5),和该目的半导体交叉交换元件的目的外部I/O端口(例如1004c)。在目的半导体交叉交换元件与在其外部I/O端口之一上检测到数据包的半导体交叉交换元件不同的情况下,该元件输出数据包和目的外部I/O端口的指示符到其内部I/O端口之一,该端口通过点对点电网互连(例如1003a)连接到目的半导体交叉交换元件。如果根据查找表目的半导体交叉交换元件与源元件相同(例如,数据包在服务器A和服务器B之间通信),则源元件(例如L1)根据查找表映射将数据包输出到其自己的(不穿越电网互联)目的外部I/O端口(例如1004d)。以这种方式,半导体交叉交换元件通过点对点电网互连彼此连接的矩阵结构,以及在不使用点对点电网互连时(对于相同的目的板/相同目的半导体交换元件I/O)重定向I/O连接,提供了具有更少功耗、更高吞吐速度和更低冷却能量需求的***。
在接收或目的(入口)侧,每个半导体交叉交换元件(例如L5)进一步响应于在其内部I/O之一处接收到数据包和目的外部I/O端口的指示符。作为响应,入口半导体元件接收数据包并将没有指示符的数据包输出到由该指示符标识的外部I/O端口(例如1004c)上,到第二连接交换机的***设备(例如服务器K)。以这种方式,从第一连接交换机的***设备到第二连接交换机的***设备的数据包路由穿过最少数量(最多只有两个)的半导体交叉交换元件或两个跳跃。
与图1A和图1B的具有结构模块架构的多层和多跳分支主干相比,本公开的架构以减少的跳跃实现数据包交换并增加***中的路由速度或吞吐量,减少了要穿过更少的收发器或SERDES I/O芯片所需的功率,并导致产生的热量更少,从而大大减少了电力消耗和相关的热量(热输出)。
数据包可以包括来自***处理设备(设备A—K)的数据单元流(例如,数据包、数据单元、数据包的一部分、数据单元的一部分、数据包的报头部分、数据的有效载荷部分等)。从连接到***处理设备A的第一交换元件L1转发并经由直接电网格互连1003a以***处理设备K为目的的数据包流已将目的I/O端口的指示符前置在其上,以便通过第二交叉交换元件L5进行处理。
传送到半导体交叉交换元件的外部I/O端口并由其检测到的每个数据包包括表头,该表头包括源***处理设备的标识符(例如,***处理设备的网络协议(IP)地址或媒体访问控制(MAC)地址),以及目的***处理设备的标识符(例如,***处理设备的IP地址或MAC地址)。出口半导体交叉交换元件剥离目的地址(例如目的MAC地址)并使用该地址作为查找表1006的索引。根据电网互连至每个交换元件的内部I/O端口的点对点连接,以及至每个已知***设备的每个外部I/O连接,查找表包含每个半导体交叉交换元件与I/O端口的映射条目。查找表映射提供特定目的(入口)半导体交叉交换元件和该目的元件连接到目的***设备的相应外部I/O端口。出口半导体交叉交换元件然后激活其内部I/O端口中的对应一个,该端口经由点对点电网互连连接到与目的地***设备相连的对应(入口)目的交换元件。
出口半导体交换元件还基于查找表映射将数据包将要转发到的目的半导体交换元件设备的对应外部I/O端口前置到数据包。在出口半导体交叉交换元件处激活的内部I/O端口通过直接电连接网状互连将具有目的外部I/O端口标识符的数据包传输到目的(入口)半导体交换元件的内部I/O端口。此目的半导体交换元件读取包含外部I/O端口前置信息的数据包头,丢弃任何无关的表头数据,并路由该数据包通过此交换机到直接连接到目的***设备的端口上,以供该设备接收。
以这种方式,在任意两个连接交换机的***设备之间的任意数据包交换中,最多仅穿过两个半导体交换元件。
现在结合图1C参考图2,提供了非Clos数据网络交换装置200的示例性实施方式,该装置200用于在以太网架构内从第一连接交换机的***设备(例如图1C中的设备A)向第二连接交换机的***设备(例如图1C中的设备K)通信数据包。在本文公开的非限制性实施方式中,装置200图示了模块化架构,其中多个电路板或线卡220a、220b、……220n容纳在机箱210内。线卡可以实现为模块化电路板,每个线卡具有带有I/O端口或插槽的面板,用于与***设备连接以收发数据包。应当理解,作为非限制性示例,各种类型的串行链路可以用于与其连接,例如***设备互连/PCIe。***设备之间的I/O通信可以实现为10Gb、25Gb、40Gb、50Gb、100Gb和/或其他相关数据速率信号线处理中的一种或多种。如图2所示,根据本公开的集成结构模块215包括半导体交叉交换元件225a、225b、……225n中的每一个,其外部I/O端口用于通过相应的线卡连接到***设备,其内部I/O端口经由点对点电网互连230连接到所有其他半导体交叉交换元件上的相应内部I/O端口。
对于与给定线卡相关联的每个半导体交叉交换元件,控制平面包括与主控制器240和地址路由表通信(例如,通过单独的以太网连接)的控制微处理器和CPU存储器,用于接收用于传输到每个半导体交换元件的路由表条目和更新。一旦在每个交换元件(例如FPGA)中接收到,每个路由表就被填充到每个FPGA中的每个交换流模块的转发引擎中。
图2A-2D图示了图1C和图2中图示的示意性结构的示例性实施方式。关于图2和图2A-2D,相同的附图标记用于指示相同的部分。如图所示,多个安装在机架上的模块化线卡220a、220b、……220n可以可移除地***到机箱内的相应插槽或空腔中。尽管以具有16个线卡(即2201、……22016)的水平堆叠结构示出,但应理解可实施其他结构。
在图2A、2B、2C和2D中描绘了具有机箱210的网络交换机实施方式200的各种剖视图,该机箱210容纳具有集成结构模块的多个可移除线卡。在该示例性实施方式中,每个线卡在其上设置了FPGA形式的半导体交叉交换元件。每个FPGA通过垂直背板点对点电网互连230连接到不同线卡上的所有其他FPGA。在一个实施方式中,板载FPGA芯片具有经由无硅印刷电路板迹线互连背板以点对点方式连接的内部I/O端口。包含主计算机处理单元(CPU)和查找/路由表的母板240通过控制平面提供与布置在线卡220上的每个FPGA(图3)的控制和通信。电力通过包含电源和伴随的电子电路的电源控制板250提供,并且配置在机箱的基础上。电源模块可以包括例如用于向***供电的12V电源、AC/DC模块和配电模块。风扇组件260安装在机箱的后端并且包括相对于线卡和背板结构定位的一系列风扇,以便为单元提供最佳冷却。所示实施方式在其面板上包括一系列I/O端口,用于通过具有集成结构的线卡以减少跳数、提高速度和降低功耗的方式接收和输出信号。
在图2A-2D所示的实施方式中,点对点电网互连可以实现为多个垂直定向的印刷电路板,具有根据特定交换元件所需的I/O端口速度经由适当的连接器模块232、234电连接到每个线卡上的FPGA的每个内部I/O的迹线连接。作为非限制性示例,诸如由Molex制造的那些连接器可用于在给定的连接器模块内提供64个传输线差分对(例如,10Gb传输)。
图2D示出了用于实现本公开的实施方式的示例性线卡的更详细视图。如图所示,线卡220可以实施为标准的1U(1.75英寸高)结构。在所示的特定实施方式中,面板插槽222被配置为通过标准可插拔接口接收***设备连接,用于通过网络接口传送数据包。连接器224操作用于将I/O数据包直接从每个面板端子(图2D中未示出线)传送到布置在线卡220的电路板223上的半导交叉交换元件的相应外部I/O端口(图2D中未示出)。在所示实施方式中,电路板221通过连接器224提供从面板到电路板223的直接I/O连接,但可有效地供其他处理和/或网络功能使用。
如本文所述,控制处理器被配置为维护将***设备连接映射到与多个线卡相关联的对应I/O端口的查找表。每个线卡上都配置了交叉交换元件(例如L1、L2、……),其中交叉交换元件适于响应于在给定线卡的入口I/O端口检测到的数据包,并根据查找表映射基于数据包的地址头,能够通过直接点对点电网互连模式(1003)将任意一个线卡I/O端口与多个线路接入卡之一上的相应目的端口电连接,该直接点对点电网互连模式将多个线卡中的每一个与线卡中的其他每一个连接。以这种方式,从源到目的在任何两个线卡的输入输出端口和相应的交叉交换元件之间传输数据包仅发生两个跳跃。
控制平面包括与每个线卡上的主板通信的控制微处理器和CPU存储器,用于将路由表条目传送到每个FPGA中。一旦在每个FPGA中接收到,路由表就被填充到每个FPGA中的每个交换流模块(图5)的转发引擎中。每个SFM都有使用该表的转发引擎。在一个实施方式中,每个SFM可以具有其自己的表。访问该表的逻辑被表示为转发引擎。
图3示出了根据本公开的示例性实施方式的每个半导体交叉交换元件的部件,半导体交叉交换元件总体标记为225(图2)并布置在诸如线卡200之类的电路板上(图2)。图4和4A图示了布置在线卡200上的元件225的更详细的表示,包括部件之间的示例性信号路径和结构内的特定Tx/Rx通信的图示。参考图3、4和4A,每个半导体交叉交换元件包括布置在实现为线卡的电路板上的现场可编程门阵列(FPGA)225222。在图3的示例性实施方式中,三个FPGA 22522a、22522b和22522c布置在每个线卡上并实现为路由和转发引擎,以便路由数据包信号(例如10Gb、25Gb、40Gb、50Gb、100Gb中的一个或多个的48线)。每个FPGA的外部I/O端口22530直接连接到连接器224的相应端子。内部I/O端口22520通过连接器232、234经由直接(即点对点)电网互连与所有其他线卡上的所有其他FPGA连接。在一个实施方式中,图3中所示的三个FPGA通过包括6个垂直印刷电路板230(图2A-C)以及相应的连接器232、234的无半导体或无硅印刷电路板背板与所有其他线卡上的其他FPGA耦合。优选地,输入/输出通道均匀地分布在设置在每个线卡上的三个集成电路芯片或FPGA上。每个芯片在48条I/O线上输出差分对到收发器(T/R)模块,通过无源结构传输到各自的输入。因此,无源结构提供了T/R模块之间的直接连接。通过在半导体交叉交换元件的集成结构中封装转发引擎、交叉交换、控制平面和点对点电网互连的功能,减少了将数据包从一个***设备转发到另一个所需的芯片穿越次数。因此,通过本架构和处理有利地降低了与串行/并行/串行转换或SERDES穿越的次数相对应的功率成本。更具体地说,由于路由和转发引擎连同交换功能都在半导体交换元件(例如硅FPGA)内执行,并且数据包通过点对点电网互连在出口和入口之间进行通信,因此显着降低了功耗。这很重要,因为集成电路或FPGA芯片上的每个收发器或SERDES消耗了所需功率的50%左右。因此,通过减少跳数和从而减少收发器的数量,以及将交换折叠在FPGA的几何结构内,实现了显著的节能。
每个FPGA具有相关联的数据包缓冲功能,用于调节网络流量和减轻网络拥塞,并且可以实现为一个或多个DDR存储器单元22550。与每个FPGA相关联的时钟(CLK)源22560被配置为控制贯穿整个芯片的数据包、过程和控制机制的时序和路由。
在图2A-2D所示的实施方式中,垂直背板电网互连结构被配置为具有最多72个差分信号对(Tx/Rx)。与每个线卡关联的每个半导体交换元件在每个线卡有3个FPGA。因此,可以在机箱内接入48个FPGA芯片,这样,对于72个差分对,穿越各个连接器的路径每个处理50Gbe,对应于每个连接器是4TB。此外,根据本公开的实施方式,***设备之间的通信路径在装置内是非光学的。仅在控制平面上发生QFSP/FSP光处理,该处理不是数据包转发路径的一部分。在一个实施方式中,每个印刷电路板都是无通孔的,每个板具有多个层或层压板,用于处理各种Tx/Rx信号路径。
在本公开的一个实施方式中,数据包与地址数据内容一起进入线卡,并且每个包通过由主板控制和更新的表寻址到芯片上的48个输出中的一个。对于给定的线卡,传输在所有三个模块上扇出,而接收(通过网状互连)在FPGA模块子集上提供。
在本公开的一个实施方式中,交换元件225被配置为在芯片上执行所有路由和处置,使得转发引擎和路由引擎共同位于相应线卡220上的交换元件内。以这种方式,通过电网互连的最终点对点连接和路由提供了基本上有线的通信路径,这降低了进入/离开线卡收发器面的每个差分对的SERDES要求。在示例性实施方式中,电路板或线卡由单独的发送接收层的多个不同路由层组成。类似地,在一个实施方式中,体现在一个或多个印刷电路板中的电网互连包含用于信号传输和接收功能的相应多个层压层。
图4图示了与点对点电网互连相关的交换元件的操作,示出了用于在FPGA 22522c的出口侧激活并转发数据包的选择信号线连接22535(内部I/O端口)。还示出了交换元件I/O信号线连接22537(外部I/O端口),用于为每个FPGA 22522a-c选择端子224以与***设备连接。
图4A图示了与点对点电网互连相关的交换元件的操作,示出了用于在每个FPGA22522a-c的入口侧接收数据包的选择信号线连接22536(内部I/O端口)。还示出了交换元件I/O信号线连接22538(外部I/O端口),用于为每个FPGA 22522a-c选择端子224以与***设备连接。
图7A是根据本公开的实施方式的用于在多个线卡上的集成电路之间提供直接连接以用于数据包传输的点对点电网互连结构的示例性图示。每个端子连接为与16个线卡/交换元件关联的差分对连接提供单独的路由路径。
图7B是根据本公开的实施方式的用于在布置于线卡的上半导体交换元件之间提供直接连接以用于数据包传输的点对点电网互连结构的示例性图示,该对点电网互连结构显示出了选择的信号通信线路22。可以看出,根据FPGA I/O排列和线卡标识,在内部I/O端子之间固定建立差分对的选择连接器路径。如图所示,作为非限制性示例,网状互连的给定层内的连接示出了线卡1和14、15及16之间的信号路径互联。
再次参考图2-4,在本公开的实施方式中,与每个线卡相关联的每个交换元件上的控制平面包括与主板通信的内部以太网网络,用于与每个线卡/交换元件独立地通信.通信是通过控制平面向每个线卡发送它们的路由表以建立每个线卡的配置来完成的,即在网络上向何处发送数据包。在一个实施方式中,多个QSFP端口(例如从主板到每个线卡的2个双向QSFP端口—每个线卡2个)在***内提供n=16个QSFP控制信号和16个线卡,以便在***内通过以太网提供点到点控制。应当理解,作为非限制性示例,可以实施为其他数量的线卡和/或控制信号,例如n=4、n=16或n=32个线卡。此外,如本领域普通技术人员所理解的,可以在***内实施诸如PAM-4、QAM、QPSK的调制方案。在控制平面上配置诸如英特尔奔腾或赛灵思(Xilinx)处理器或其他此类微处理器设备的处理器,用于控制通过网络的路由。控制平面用于不断读取源设备地址(例如源MAC地址),以便设备添加和/或更新***内的连接表。如将理解的,对于每个FPGA,每个端口被编号并且与线卡、FPGA和点对点结构电互连相关联,并且是先验已知的。因为MAC地址需要以周期性间隔(例如5秒)衰减,以便新设备可以连接到网络(或可以维持现有设备),控制平面不断响应此类设备的广播,并从管理平面内的主表读取、更新和下载映射表,以便为与每个线卡相关联的每个半导体交换元件提供更新的查找表。因此,***通过每个***设备的源MAC地址获知其在网络上的相对位置,并基于接收到的目的MAC地址,操作以获取与其连接的目的位置(例如,线***、FPGA号、输出端口),并提供传输数据包所需的输出端口。根据接收到的类型位,***可操作为向下索引到有效载荷以检索地址(例如,VXLAN处理)。一旦该过程完成并且LUT提供了目的输出端口,半导体交叉交换元件将通过电网互连转发数据包以及必要的目的输出端口号,从而将转发引擎整合到交换引擎中。
如上文所讨论的,本公开的实施方式提供了内部网络,例如将母板或主控制链接到机箱中的所有线卡的以太网网络。第二内部以太网网络设置在每个线卡上,并将每个线卡上的所有FPGA链接到控制微处理器(例如,22500)。因此,主查找表被填充(在母板上)并使用必要的***设备连接进行更新,并且通过N个单独的并行以太网通道向N个线路卡中的每一个上的每个查找表提供流量控制,以实现同时写入/更新每个线卡上的相应表。每个线卡上的微处理器然后将更新后的表外送到每个FPGA以启用路由。在一个实施方式中,每个芯片上的微处理器可以是ARM处理器,其可操作为以10G线速执行以实现高效的表访问和更新(例如3.33GHz)。在一个实施方式中,母板上的主控制器CPU通过网络操作***将查找表写入每个线卡/半导体交换元件并调用设备驱动程序来修改可编程芯片。
图5的框图示出了根据本公开的实施方式的超大规模交换切片(HSS)的示例性内部FPGA架构。HSS图有效地等同于单个FPGA,其在线卡中具有2个FPGA,或在本实施方式中有3个FPGA。如上所述,在示例性实施方式中,在超大规模交换机机箱中提供了16个线卡并且取决于线卡能力,提供10/25/40/100G以太网功能。在示例性实施方式中,为具有集成结构的10Gb交换元件提供多个交换流模块(SFM)(例如58)。对于不同的速率交换(例如40Gb),可能需要其他数量的实例化。SFM包含入口/出口FIFO、路由查找表和定序器。响应从I/O侧的核心微处理器(例如Xilinx以太网核心)发出的指示接收到数据包的以太网MAC核心控制信号,SFM被触发并开始数据包传输。发生触发的另一种方式是对于通过收发器进入的数据包,使定序器/调度器发起请求来通过直通流传输到适当的出口端口。根据路由器查找表和哈希函数确定合适的端口以减少地址空间。SFM的出口阶段通过仲裁器授予请求,该仲裁器解决来自多个SFM的同时请求。用户界面AXI总线管理路由器和查找表。服务质量(QoS)优先级根据以太网规则实施。
结合图5再次参考图3,提供溢出处理(DDR)以将由于争用而不能转发的包转移到缓冲器以供后续处理。此外,根据本公开的实施方式的集成半导体交换机和结构包括多个n层或叠层(例如n=16)以促进***内的信号连接和直接点对点连接的量。
现在结合图5参考图6,其公开了示出根据本公开的实施方式的用于通过半导体交叉交换元件和电网互连发送数据包的步骤的处理流程。
在一个示例性实施方式中,图5的FPGA架构体现为一组N个(例如N=26)交换流软件模块或部件(SFM),指定为I/O SFM(标记为501、502、……526)和M个(例如M=32)SFM,指定为直接连接SFM(标记为601、602、……632)。直接连接SFM每个都具有到电网状网络230的直接连接以用于包传输。在一个实施方式中,每个FPGA的每个I/O SFM可以接受来自FPGA的直接连接SFM模块和I/O SFM模块的请求。直接连接SFM模块被配置为不能向其他直接连接SFM发送请求。在一个实施方式中,每个FPGA的SFM数字逻辑电路模块以及功能性和行为可以用硬件描述语言(HDL)来实现,这有助于描述图5中描绘的那些模块的结构和行为。
在图5所示的FPGA架构内,数据包在SERDES 1处接收并传送到MAC处理模块10,该模块提供芯片上或芯片下处理(取决于入口/出口流)(图6中的方框610)。处理模块10操作以将包位数减少/增加N位(例如,N=2,从/到66位到/从64位)以寻址奇偶校验作为与图5的交换流模块相关联的输入/输出处理和定时或重新定时功能的一部分。以这种方式,通过在进入SFM时剥离2位并在离开时添加2位来减轻通信信道噪声。
处理进行到SFM FPGA架构内的SFM定序器模块20(例如VLAN处理)。定序器模块20(例如SFM A的)操作以从传入包中剥离MAC源地址和目的地址(图6中方框620)。***利用源地址进行学习(例如,MAC学习)以确定哪些设备在特定端口连接到网络,并更新每个线卡的主表和对应的下游表。在设备地址不在查找表中的情况下,***转发到微处理器以传送到主板以制定成每个查找表。目的地址用作SFM A上的查找表(LUT)30的索引,以确定将包路由到的输出端口。这可以通过随机存取存储器(RAM)或其他片上存储介质来实现。图6C是示出了LUT的示例,其中存储了11位字段,4位用于线卡标识(例如线卡1-16),2位用于线卡上的FPGA标识(例如FPGA 1-3)的2位,以及5位表示I/O,以便映射到32个不同的I/O端口。还可以提供2位字段,用于标识该特定FPGA上的数据包是要通过直接电网互连结构路由,还是该路由路径仅在特定FPGA和/或与该FPGA相关联的线卡内部(因此不通过电网结构互连传送)。在这种情况下(即11(PSP)),路由路径将不会通过直接电网互连结构(例如,源和目的在同一线卡上的一个FPGA上)。
结合图6再次参考图5,定序器模块利用MAC地址作为索引来找到映射位置,并向与确定线卡和线卡上的确定FPGA相连接的对应SFM(例如SFM B)提出请求(模块40),以便将数据包路由到适当的目的(图6中方框630)。仲裁器模块50(SFM B)从I/O SFM A(以及任何其他请求传输包的SFM)接收请求并选择特定请求进行处理(图6中方框640)。在请求被准许时,该包经由交叉多路复用器(MUX)装置60-65传输用于下游处理(图6中的方框650)。
在请求被准许时,缓冲器70(入口FIFO)中的排队数据包通过MUX单元60、65被传送到直接连接SFM B上的出口FIFO(例如模块68)。在一个实施方式中,SFM 601-632被配置为通过它们各自的出口FIFO队列(68,69)接受10G和40G路径,其根据服务质量(QOS)处理模块71和QOS FIFO队列模块72划分优先级(图6中的方框660)。QOS模块与VLAN处理进行交互,以通过MUX 74根据优先级要求在不同的处理流(例如10G、40G)中对数据包进行选择和排序,以将FIFO中的数据包(以及前置的I/O端口号)发送出去到电网互连230上(图6中的方框670)。应当理解,MUX 74根据服务的优先级执行优先级交换或选择,由此根据队列(即下一个等候处理)72和分级FIFO(例如I/O FIFO)76将数据包和其优先级链接在一起。
在一个实施方式中,正如普通技术人员所理解的那样,通过由以第一速率输入到FIFO并以不同的速率从FIFO输出对数据速率进行斜移/去斜移的方式,FIFO操作以能使不同的数据速率(10G/40G)前进通过FPGA。
仍然结合图6参考图5,一旦数据包在SERDES 4处离开初始FPGA(流560),它就穿过将该数据包路由到目的FPGA电网互连230。如图5所示,在目的FPGA处,定序器580(经由流570)接收该数据包,并将前置到端口号队列582中的数据包上的端口号与包号分段及到目的端口地址的路由相关联(图6中的方框680)。如前所述,经由特定SFM到与FPGA相关联的特定端口上的请求处理和通信是通过交叉开关(例如流585)进行的,其通过相应的SFM(501-526)前进到输出端口(例如流586)由连接到端口的***目的设备接收(图6中的方框690)。如图所示,标识为AA、BB和CC的流箭头表示通过交叉开关的数据包流(例如,以22GB的速率),标识为AA的流箭头以大约22GB的速率,而箭头BB和CC分别表示数据包速率为10GB和40GB。
FPGA架构还包括溢出处理SFM(例如6个实例)以减轻吞吐量瓶颈。如图所示,在数据流严重阻塞的情况下,请求通过流802将溢出数据包存入外部储存库804。溢出数据包可以通过流806从DDR(例如DDR4)FIFO 804中取回。
在一个实施方式中,在包请求被拒绝的情况下,处理继续到请求队列中的下一个包。对下一个包的处理然后如上文概述的那样进行。如果请求被批准并且下一个数据包的处理继续到其目的端口,则先前被拒绝的数据包发出新的请求。否则,在再一次被拒绝的情况下,处理继续到请求队列中的下一个包。由于拒绝服务请求提供多个(例如三个深度)连续包请求,如果队列中的第三个包被拒绝,则处理返回到第一个包以发出新请求。
因此,公开了一种非Clos数据网络交换装置,用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备,该装置包括机箱;多个线卡,容纳在机箱内并具有用于收发数据包的I/O端口;控制处理器,被配置为维护将***设备连接映射到与多个线卡相关联的对应I/O端口的查找表;在每个线卡上的交叉交换元件,该交叉交换元件被配置为响应于在给定线卡的入口I/O端口上检测到数据包,并基于数据包的地址头根据查找表映射,能够通过直接点对点电网互连模式将任何一个线卡I/O端口与多个线路接入卡之一上的对应目的端口电连接,该模式将多个线卡中的每一个与线卡中的其他每一个连接,从而任何两个线卡的输入输出端口和相应的交叉交换元件之间的数据包传输仅有两次跳跃。
实施方式仅作为示例提供,并且在不脱离本公开的预期范围的情况下,相关领域的技术人员可以设想用于实现本文描述的***和方法的其他实施方式。例如,虽然实施方式公开了将半导体交叉交换元件实施到给定线卡上或与给定线卡相关联的数据包网络架构、装置、设备和/或方法,但是这样的结构对于本公开的实践并不是必不可少的,因此作为非限制性示例,交换元件可以在诸如背板(或中板)之类的其他基板中或之上实施。此外,虽然本公开的实施方式示出了印刷电路电网互连,并且连接在交错背板结构中(相对于线卡/交换元件结构),但对于本公开的实践而言这种结构是有利的实施方式而不是必要的,因为这样的电网互连可以通过其他方式实现,例如没有背板或印刷电路板的直接导线连接),和/或通过其他非背板结构(例如在线卡上)。在一个实施方式中,诸如微型同轴或双轴电缆、双绞线之类的离散线或其他直接电线连接可以通过连接器和微型电线电缆(例如用于高速互连的那些)与每个FPGA的内部I/O端口连接。可以对尾纤进行修改以用于电缆就绪应用。
更进一步地,可以对数据中心内的虚拟交换机或其他分段的软件控制的数据包交换电路进行本公开的实现。在这样的虚拟数据包交换***中,多个半导体交叉交换元件通过直接点对点电网互连相互连接并具有嵌入到每个交叉交换元件中的集成交换、转发和路由功能的形式,可以替代先前的技术(例如Clos网络)实现,以减少跳数,降低功耗和使用,并允许在高性能计算机服务器上执行以提供虚拟分割、证券化和重构。半导体交叉交换元件可以被配置为虚拟机(VM)内的虚拟交换机,用于使用MAC地址头和配置元件的查找表映射来提供路由。因为重叠网络客户端或VM需要网关提供路由功能,因此本公开启用OSI第2层或第3层交换以重定向数据消息流量,使用目标媒体访问控制(MAC)地址和逻辑子层来建立初始连接,将输出数据解析转换为数据帧,并在数据成功到达时或者替换地拒绝处理时进行地址接收确认和/或队列处理。
作为进一步的例子,本文描述的处理***可以包括包含数据的存储器,该数据可以包括指令,当由一个处理器或多个处理器执行时,该指令引起用于执行这里阐述的操作的方法的步骤。
虽然已经参考上述实施方式描述了上述发明,但是在不脱离本发明的精神的情况下可以进行各种附加的修改和改变。因此,所有这些修改和变化都被认为在所附权利要求的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。形成其一部分的附图通过说明而非限制的方式示出了可以在其中实践该主题的特定实施方式。所说明的实施方式被足够详细地描述以使本领域技术人员能够实践本文公开的教导。其他实施方式可以被利用并从中导出,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,本详细描述不应被理解为限制性的,并且各种实施方式的范围仅由所附权利要求以及这些权利要求所能得到的等效物的全部范围限定。
本发明主题的这些实施方式在本文中可以单独地和/或共同地提及,术语“发明”仅是为了方便起见,并且如果事实上披露的不止一个,则不旨在自愿将本申请的范围限制到任何单个发明或发明构思。因此,虽然本文已经图示和描述了特定实施方式,但是应当理解,任何被计算以实现相同目的的装置都可以替代所示的特定实施方式。本公开旨在涵盖各种实施方式的变体的任何和所有修改。在阅读以上描述后,上述实施方式以及本文未具体描述的其他实施方式的组合对于本领域技术人员来说将是显而易见的。

Claims (16)

1.一种非Clos网络数据包交换装置,用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备,所述装置包括:
多个半导体交叉交换元件,其设置在机箱内并具有多个相关联的用于与相应的***设备连接以收发数据包的外部I/O端口,以及多个相关联的内部I/O端口;
点对点电网互连,定义了每个半导体交叉交换元件的一个内部I/O端口与每个其他半导体交叉交换元件的一个内部I/O端口之间的直接电连接;
控制处理器,被配置为维护将***设备连接映射到与所述多个半导体交叉交换元件相关联的对应外部I/O端口的查找表;
其中,每个半导体交叉交换元件被配置为:
响应于在其外部I/O端口之一上检测到数据包,根据查找表映射并基于所述数据包的地址头确定所述数据包的目的半导体交叉交换元件,和所述目的半导体交叉交换元件的目的外部I/O端口;
在目的半导体交叉交换元件与在其外部I/O端口之一上检测到数据包的半导体交叉交换元件不同的情况下,输出数据包和目的外部I/O端口的指示符到其内部I/O端口之一上,所述内部I/O端口通过点对点电网互连连接到目的半导体交叉交换元件;
否则,将数据包输出到目的外部I/O口;
响应于在其内部I/O端口之一上接收到数据包和目的外部I/O端口的指示符,将没有指示符的所述数据包输出到由所述指示符标识的外部I/O端口,至第二连接交换机的***设备,由此数据包从第一连接交换机的***设备到第二连接交换机的***设备的路由最多仅穿越两个半导体交叉交换元件。
2.根据权利要求1所述的装置,其中,所述半导体交叉交换元件包括至少一个现场可编程门阵列(FPGA)。
3.根据权利要求1所述的装置,其中,所述点对点电网互连包括至少一个多层堆叠的电互连印刷电路板。
4.根据权利要求3所述的装置,其中,所述至少一个多层堆叠的电互连印刷电路板是无硅的。
5.根据权利要求1所述的装置,其中,所述点对点电网互连包括多个离散线。
6.根据权利要求1所述的装置,其中,所述地址头是MAC地址头,并且其中,所述查找表存储与连接的***设备相对应的MAC地址。
7.根据权利要求1所述的装置,其中,每个半导体交叉交换元件还包括缓冲模块,用于调节所述半导体交叉交换元件内的数据包网络流量,其中,所述缓冲模块对从所述半导体交叉交换元件的入口到出口传输的所述数据包执行虚拟输出排队。
8.一种非Clos网络数据包交换方法,包括:
在第一网络半导体交换元件的电连接到***设备的外部I/O端口处接收要转发到连接到多个网络半导体交叉交换元件之一的外部I/O端口的第二***设备的网络流量数据包;
在第一网络半导体交叉交换元件处,根据将***设备连接与多个网络半导体交叉交换元件的对应外部I/O端口映射的查找表,并根据与连接至网络的目的***设备相对应的地址头,确定要在其上转发网络流量数据包的目的外部I/O端口;
将第二网络半导体交换元件的目的外部I/O端口的指示符加到网络流量数据包前;
通过直接点对点电网互连将网络流量数据包转发到第二网络半导体交换元件,所述点对点电网互连定义了每个半导体交叉交换元件的一个内部I/O端口和每一个其他半导体交叉交换元件一个内部I/O端口之间的直接电连接;
由第二网络半导体交叉交换元件在其经由直接点对点电网互连连接到第一网络半导体交叉交换元件的内部I/O端口处接收所述前加的网络流量数据包;以及
由第二网络半导体交叉交换元件将网络流量数据包输出到目的外部I/O端口上,至第二连接交换机的***设备,由此,数据包从第一连接交换机的***设备到第二连接交换机的***设备的路由最多仅穿越两个半导体交叉交换元件。
9.根据权利要求8所述的方法,还包括对从每个所述半导体交叉交换元件的入口到出口传输的数据包执行虚拟输出排队。
10.根据权利要求8所述的方法,还包括获取并更新查找表中的MAC地址,所述查找表将***设备连接映射到与所述多个半导体交叉交换元件相关联的对应外部I/O端口。
11.根据权利要求10所述的方法,还包括提供主查找表,所述主查找表包含与与所述多个半导体交叉交换元件相关联的对应外部I/O端口连接的所述***设备的MAC地址头,并且周期性地更新对应的本地查找表以供每个所述半导体交叉交换元件访问。
12.根据权利要求8所述的方法,其中,所述点对点电网互连由以下之一形成:a)至少一个多层堆叠的电互连印刷电路板;和b)多个离散线。
13.一种非Clos数据网络交换***,用于将数据包从第一连接交换机的***设备传送到第二连接交换机的***设备,包括:
机箱;
多个线卡,容纳在机箱内并具有用于收发数据包的I/O端子;
多个半导体交叉交换元件,每个具有与容纳在机箱内的多个线卡中的对应线卡的I/O端子电通信的外部I/O端口,用于在连接交换机的***设备之间路由数据包;
控制处理器,被配置为维护将***设备连接映射到与所述多个半导体交叉交换元件相关联的对应外部I/O端口的查找表;
其中每个半导体交叉交换元件包括转发处理器,其被配置为响应于在半导体交叉交换元件的给定外部I/O端口处接收到的数据包访问查找表,并根据所述查找表及所述数据包的地址头将所述数据包经由直接点对点电网互连路由到对应于所述多个半导体交换元件的目的一个的另一个所述外部I/O端口上,所述点对点电网互连将多个半导体交叉交换元件中的每一个与每一个其他所述半导体交叉交换元件直接连接;
由此,数据包从第一连接交换机的***设备到第二连接交换机的***设备的路由最多仅穿越两个与所述线路接入卡相关联的半导体交叉交换元件。
14.根据权利要求13所述的***,其中,所述转发处理器将目的地外部I/O端口的指示符前置到所述数据包,并经由点对点电网互连将所述前置的数据包输出到连接到所述半导体交叉交换元件的目的一个的半导体交叉交换元件的内部I/O端口之一。
15.根据权利要求13所述的***,其中:
每个半导体交叉交换元件是ASIC、FPGA和SoC之一;并且
所述点对点电网互连由以下之一构成:a)至少一个多层堆叠的电互连印刷电路板;和b)多个离散线。
16.根据权利要求13所述的***,其中,所述半导体交叉交换元件被配置为虚拟机内的虚拟交换机,用于使用MAC地址头和配置元件的查找表映射来提供路由。
CN201980096470.3A 2019-03-18 2019-06-20 用于数据中心网络交换的***、方法和架构 Pending CN113841364A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/357,226 2019-03-18
US16/357,226 US10630606B1 (en) 2019-03-18 2019-03-18 System, method and architecture for data center network switching
PCT/US2019/038238 WO2020190314A1 (en) 2019-03-18 2019-06-20 System, method and architecture for data center network switching

Publications (1)

Publication Number Publication Date
CN113841364A true CN113841364A (zh) 2021-12-24

Family

ID=70285076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980096470.3A Pending CN113841364A (zh) 2019-03-18 2019-06-20 用于数据中心网络交换的***、方法和架构

Country Status (4)

Country Link
US (3) US10630606B1 (zh)
EP (1) EP3942762A1 (zh)
CN (1) CN113841364A (zh)
WO (1) WO2020190314A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113366454A (zh) 2019-03-15 2021-09-07 英特尔公司 用于图形操作的多片架构
US11018973B2 (en) * 2019-05-31 2021-05-25 Microsoft Technology Licensing, Llc Distributed sonic fabric chassis
US11147181B2 (en) * 2019-09-26 2021-10-12 Rockwell Automation Technologies, Inc. Distributed modular input/output (I/O) system with redundant ethernet backplane networks for improved fault tolerance
DE102020203113A1 (de) * 2020-03-11 2021-09-16 Siemens Healthcare Gmbh Paketbasiertes Multicast-Kommunikationssystem
US12001365B2 (en) * 2020-07-07 2024-06-04 Apple Inc. Scatter and gather streaming data through a circular FIFO
US11596066B1 (en) * 2022-03-22 2023-02-28 Thintronics. Inc. Materials for printed circuit boards

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238072A (zh) * 2010-05-06 2011-11-09 中兴通讯股份有限公司 一种动态选择路由的方法及clos交换网***
CN102474461A (zh) * 2009-07-29 2012-05-23 新泽西理工学院 通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元
CN102577258A (zh) * 2009-06-16 2012-07-11 新泽西理工学院 配置三级clos网络分组交换机
US20130088971A1 (en) * 2011-10-06 2013-04-11 International Business Machines Corporation Partioning large flat data centers into multiple switching domains
US20140036924A1 (en) * 2012-08-06 2014-02-06 International Business Machines Corporation Multi-chassis link aggregation in a distributed virtual bridge
US20140198793A1 (en) * 2011-07-01 2014-07-17 Ram Prasad Allu Traffic forwarding in a point multi-point link aggregation using a link selector data table
CN104980373A (zh) * 2014-04-04 2015-10-14 上海宽带技术及应用工程研究中心 一种控制服务器及其应用的***和方法
CN105453523A (zh) * 2013-08-06 2016-03-30 思科技术公司 大型数据中心中对虚拟机移动性的处理
US20160350151A1 (en) * 2012-12-10 2016-12-01 University Of Central Florida Research Foundation, Inc. System and method for routing network frames between virtual machines
US20170111295A1 (en) * 2014-08-13 2017-04-20 Metamako Technology Lp Apparatus and method for low latency switching
CN107689931A (zh) * 2017-09-27 2018-02-13 广州海格通信集团股份有限公司 一种基于国产fpga的实现以太网交换功能***及方法
US9985912B1 (en) * 2015-09-30 2018-05-29 Juniper Networks, Inc. Shared memory switch fabric system and method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07118717B2 (ja) * 1993-01-05 1995-12-18 日本電気株式会社 マルチプロトコル対応のパケット網構成方法
US7187674B2 (en) * 2001-10-30 2007-03-06 Hewlett-Packard Development Company, L.P. Method and apparatus for using adaptive switches for providing connections to point-to-point interconnection fabrics
US7391786B1 (en) * 2002-11-27 2008-06-24 Cisco Technology, Inc. Centralized memory based packet switching system and method
US8223633B2 (en) * 2008-10-03 2012-07-17 Brocade Communications Systems, Inc. Port trunking at a fabric boundary
US8289977B2 (en) * 2009-06-10 2012-10-16 International Business Machines Corporation Two-layer switch apparatus avoiding first layer inter-switch traffic in steering packets through the apparatus
US8804733B1 (en) * 2010-06-02 2014-08-12 Marvell International Ltd. Centralized packet processor for a network
US8422504B2 (en) * 2010-06-28 2013-04-16 Avaya Inc. Network switch port aggregation
US8588224B2 (en) * 2011-05-14 2013-11-19 International Business Machines Corporation Priority based flow control in a distributed fabric protocol (DFP) switching network architecture
US20130346628A1 (en) * 2012-06-21 2013-12-26 Rodney S. Canion Dynamically assigned mac addresses for devices in a computing system
CN108809847B (zh) * 2017-05-05 2021-11-19 华为技术有限公司 实现负载均衡的方法、装置和网络***

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577258A (zh) * 2009-06-16 2012-07-11 新泽西理工学院 配置三级clos网络分组交换机
CN102474461A (zh) * 2009-07-29 2012-05-23 新泽西理工学院 通过每级均具有存储器的三级Clos网络分组交换机转发分段数据的信元
CN102238072A (zh) * 2010-05-06 2011-11-09 中兴通讯股份有限公司 一种动态选择路由的方法及clos交换网***
US20140198793A1 (en) * 2011-07-01 2014-07-17 Ram Prasad Allu Traffic forwarding in a point multi-point link aggregation using a link selector data table
US20130088971A1 (en) * 2011-10-06 2013-04-11 International Business Machines Corporation Partioning large flat data centers into multiple switching domains
US20140036924A1 (en) * 2012-08-06 2014-02-06 International Business Machines Corporation Multi-chassis link aggregation in a distributed virtual bridge
US20160350151A1 (en) * 2012-12-10 2016-12-01 University Of Central Florida Research Foundation, Inc. System and method for routing network frames between virtual machines
CN105453523A (zh) * 2013-08-06 2016-03-30 思科技术公司 大型数据中心中对虚拟机移动性的处理
CN104980373A (zh) * 2014-04-04 2015-10-14 上海宽带技术及应用工程研究中心 一种控制服务器及其应用的***和方法
US20170111295A1 (en) * 2014-08-13 2017-04-20 Metamako Technology Lp Apparatus and method for low latency switching
US9985912B1 (en) * 2015-09-30 2018-05-29 Juniper Networks, Inc. Shared memory switch fabric system and method
CN107689931A (zh) * 2017-09-27 2018-02-13 广州海格通信集团股份有限公司 一种基于国产fpga的实现以太网交换功能***及方法

Also Published As

Publication number Publication date
WO2020190314A1 (en) 2020-09-24
US20200314025A1 (en) 2020-10-01
US10630606B1 (en) 2020-04-21
EP3942762A1 (en) 2022-01-26
US20220263774A1 (en) 2022-08-18
US11206225B2 (en) 2021-12-21

Similar Documents

Publication Publication Date Title
US11206225B2 (en) Hyperscale switch and method for data packet network switching
US11601359B2 (en) Resilient network communication using selective multipath packet flow spraying
US11509538B2 (en) Network interconnect as a switch
US11412076B2 (en) Network access node virtual fabrics configured dynamically over an underlay network
US11469922B2 (en) Data center network with multiplexed communication of data packets across servers
Mellette et al. Expanding across time to deliver bandwidth efficiency and low latency
US20200169513A1 (en) Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
US20210320820A1 (en) Fabric control protocol for large-scale multi-stage data center networks
Minkenberg et al. Current issues in packet switch design
EP1535168B1 (en) Multi-port high-speed serial fabric interconnect chip in a meshed configuration
US8619584B2 (en) Load balancing over DCE multipath ECMP links for HPC and FCoE
US9479459B2 (en) Method for controlling large distributed fabric-based switch using virtual switches and virtual controllers
US10477288B2 (en) Data center interconnect as a switch
Zilberman et al. Stardust: Divide and conquer in the data center network
US20220321499A1 (en) Switch flow module on an integrated circuit for aggregation in data center network switching
EP3531633B1 (en) Technologies for load balancing a network
US20220321498A1 (en) Hyperscale switch element (hss) for data center network switching
Hermsmeyer et al. Towards 100G packet processing: Challenges and technologies
US20220038391A1 (en) Programmatically configured switches and distributed buffering across fabric interconnect
US11800266B2 (en) Hybrid optoelectrical switches
Nakagawa et al. A single-chip, 10-gigabit ethernet switch LSI for energy-efficient blade servers
CN115378886A (zh) 混合光电交换机

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination