自 20 世纪 80 年代以来,以太网一直是一项基础技术。 在早期,工作站和 PC 使用同轴电缆通过 10Mbps 的共享局域网 (LAN) 连接到现场服务器。 从那时起,以太网已发展到支持双绞线和光纤连接。速率也提高到 100Mbps 和 100Gbps,随后产生了新兴的 1.6Tbps 以太网标准。

随着以太网速度的提高,其应用也越来越多样化。 从 IP 语音和视频流到多房间音频、工业控制网络,甚至车内网络。这一进步推动了从简单数据包传输到可靠数据包传输的需求。 定义服务质量对于对丢包和延迟特别敏感的数据流至关重要。本技术公告将深入探讨对 1.6T 数据传输的需求、IEEE 802.3dj 小组的标准化工作、概述 1.6T 以太网子系统的组件以及FEC对处理所有这些数据所需的以太网控制器的考量。

我们为什么需要这样高的速度?

以太网沿着两个主要维度发展:

  1. 提高性能以移动和存储大量数据 
  2. 提高可预测性和可靠性,能够支持哪怕最苛刻的控制系统

图 1:以太网的庞大世界(以太网联盟)

如今,互联网正以估计 500 Tbps 的带宽运行。这推动了对后端数据中心内流量的惊人需求。 然而,单个服务器尚未达到每秒 TB 级的速度。 虽然数据中心内的聚合流量早已达到每秒 TB 级的规模,但个体数据流尚未达到。

订阅 Synopsys IP 技术公告

包括深度技术文章、白皮书、视频、即将举行的网络研讨会、产品公告等等。

1.6T 以太网的曙光:处理器间通信的早期采用者

已经有一个应用在推动实现这些速度——处理器间通信。 单个设备的处理能力有限。 即使使用最新的处理器或专门的机器学习加速器,设备仍然受到可制造芯片尺寸的限制。 但是,当芯片组合在一起时,一切皆有可能! 这种对处理能力的有限限制强调了对能够实现 TB 级速度和最小延迟的新一代以太网的需求,这标志着 1.6T 以太网的首次应用。 预计第一代应用之后将是数据中心内的交换机间连接,实现高性能处理器和内存的池化,提高云计算的可扩展性和效率。

802.3dj:为 1.6 TB 以太网标准化奠定基础

网络上的每个节点都要遵守由一套标准定义的相同规则,以实现有效的通信,这一点至关重要。 自成立以来,IEEE 一直负责以太网标准。 802.3dj 小组目前正在制定以太网标准的最新迭代,概述了以每秒 200G、400G、800G 和 1.6 TB 运行所需的物理层和管理参数。 

802.3dj 小组的目标是按以下标准支持 1.6 Tbps 的以太网 MAC 数据速率:

  • MAC 层的最大误码率 (BER) 为 10-13
  • 可选的 16 和 8 通路连接单元接口 (AUI),适用于芯片到模块 (C2M) 和芯片到芯片应用 (C2C),使用 112G 和 224G SerDes。

对于物理层,支持 1.6Tbps 的规范包括以下传输方式:

  • 每个方向有超过 8 对铜双轴电缆,长度至少为 1 米
  • 超过 8 对长达 500 米的光纤
  • 超过 8 对长达 2 千米的光纤

该标准预计将于 2026 年春季定稿。 但是,我们预计 2024 年将完成一系列基础功能。

1.6T 以太网子系统剖析

让我们来深入了解 1.6 TB 以太网子系统的组成部分,具体指的是用于在 ASIC 或 ASSP 的芯片内实现以太网接口的组件。 

图 2:1.6T 以太网子系统组成示意图

网络应用概述

在顶部,我们有网络的应用,这些应用可以运行在客户端计算机或者计算或文件服务器上。它们是所有以太网流量的来源和目的地。 一种特殊的应用是以太网网桥或二层交换机,它既不是以太网流量的来源,也不是以太网流量的目的地,而是按照 802.1d 中定义的规则转发数据包的中间节点。

队列连接

单个应用或实例通过一个或多个队列与以太网控制器连接。 队列最有可能缓冲进出应用的流量,从而平衡网络与客户端或服务器的性能。 为了获得最佳性能,网络速度应与产生或消耗流量的速率相匹配。 这样,我们将最大限度地减少延迟,因为数据包在应用之间进行端到端交换。

控制器、PHY 和连接

以太网控制器通常包括 MAC 和 PCS,尽管这通常简单地称为以太网 MAC。在 PCS 下面,我们有连接单元接口 (AUI),一些读者可能还记得工作站背面的 D 型连接器,AUI 电缆就插入到这种连接器中。 该接口仍然存在于今天的以太网中,速度更快。最后,继续向下,我们可以找到负责控制和管理网络物理组件的模块,无论是光纤、铜缆还是底板。

1.6T 以太网控制器:深入了解 MAC、PCS 和高级 FEC 机制

如图 3 所示,应用和队列下方是介质访问控制器 (MAC)。 MAC 管理以太网帧,包括监控源地址和目标地址、管理帧长度、必要时添加字节填充 (padding)(在 payload 非常短的情况下),以及添加/检查帧校验序列 (FCS) 以确保帧的完整性。

图 3:MAC 帧格式和长度:按字节分段

MAC 变体可分为 2 种主要类型:

网络接口卡 (NIC) 中的 MAC

在客户端、服务器或路由器中的 NIC 上有一种 MAC。 这些 MAC 处理终止以太网层这一基本任务,当 payload 在协议栈中向下和向上传递时,添加和剥离以太网特定的开销。   不可或缺的功能包括添加和检查帧校验序列 (FCS) 以保护数据完整性。如果在接收时检测到任何损坏,将丢弃该帧。此外,NIC 中的 MAC 将检查帧的目的地址,确保在网络内的准确传输。payload 最有可能是 IP(互联网协议)数据包。

NIC 曾经是插件卡的功能,因此得名 网络接口卡。 该卡实现了 MAC、PCS 和 PHY,其中队列和任何其他智能功能由主机处理器处理。 如今,我们看到智能 NIC 可以卸载许多网络功能,但它们仍然保持相同的 MAC 层。

交换/桥接 MAC

另一方面,交换或桥接 MAC 采用不同的方法。在这里,整个以太网帧在 MAC 和上层之间传递。 MAC 负责添加和检查 FCS 和统计数据收集,以进行远程网络监控 (RMON) 支持。 从概念上讲,以太网交换机可以被视为专门为此目的而设计的应用。尽管主要采用硬件来保证最佳线速性能,但其每个端口都包含一个专用 MAC。虽然这些端口可能以不同的速度运行,但任何速率自适应都是在 MAC 层上方的队列中管理的。

图 4:显示连接到 AUI 的 MAC、PCS 和 PMA 的示意图

从基本编码到 RS-FEC

对于较低的以太网速率,物理编码子层 (PCS) 对数据流进行简单编码,以实现数据包检测并确保信号平衡,即使在一长串 0 或 1 的数据流期间也是如此。 但是,随着以太网速度的提高,PCS 的复杂性也随之增加。如今,考虑到高速信号遍历每个物理链路,有必要使用前向纠错 (FEC) 来克服即使在非常短的链路上也会遇到的固有信号劣化。

与其他高速以太网变体的 PCS 一样,1.6T 以太网采用 Reed-Solomon 前向纠错 (RS-FEC)。 这种方法构建了一种包含 514 个 10 位符号的码字,编码为由 544 个符号构成的块,会产生 6% 的带宽开销。 这些FEC码字分布在AUI物理链路上,这样每个物理链路(1.6T 以太网为 8 个)就不会携带整个码字。 这种方法不仅提供了针对突发错误的额外保护,而且还支持远端解码器的并行化,从而减少了延迟。

图 5:1.6T 以太网子系统的控制器、PHY 和电缆组成示意图

在 1.6T 以太网中实现最佳误码率

虽然以太网 PHY 层包含 PCS,但通常将 PCS 与以太网控制器内的 MAC 关联。 物理介质连接 (PMA) 具有速率转换功能和 SerDes,可将以太网信号传输到物理信道上。对于 1.6T 以太网,8 个信道以 212Gbps 的速率运行,并具有 6% 的 FEC 编码扩展。值得注意的是,PMA 的上部位于控制器内,然后控制器将比特流转发给 AUI。PHY 的每个物理链路都使用四电平脉冲幅度调制 (PAM-4)。此方法为每个传输符号编码两个数据位,与传统的不归零 (NRZ) 传输相比,带宽翻倍。发送器采用数模转换器 (DAC) 来调制数据,而远端接收器则使用模数转换器 (ADC) 和 DSP 来提取原始信号。 

以太网 PCS 将 FEC 添加到通过以太网链路端到端使用的数据流中,在较长距离的以太网链路中通常被称为“outer FEC”。IEEE 正在为单独的物理线路定义额外的纠错级别,以实现更长的信道。这种额外的纠错,可能是汉明码 (hamming code),将在需要纠错的光学收发器模块中得到支持。图 6 显示了使用级联 FEC 扩展覆盖范围时增加的额外开销。

我们来看一下图 6 中的示例系统,其中 MAC 和 PCS 具有由一定长度的光纤隔开的光学发送器和接收器:

图 6:由一定长度的光纤隔开的 MAC 和 PCS 光学 TX/RX 示意图

PCS 在连接到光学模块的链路上的误码率为 10^-5,加上在光学链路上引入的额外的误码率。如果我们在此系统中仅实现单个 RS-FEC 端到端,则产生的误码率将无法满足 10^-13 以太网要求。该链路将被归类为不可靠。另一种方法是在每一跳上实现一个单独的 RS FEC,RS FEC将被编码和解码三次。 一次是在发送端 PCS 上进行,然后在光模块上进行,再然后是在从光模块到远端 PCS 的长距离链路上进行。 这种实现的成本非常高,并将增加端到端延迟。

将级联的汉明码 (Hamming Code) FEC 集成到光链路是满足以太网要求的最佳解决方案,也非常适合解决在光连接上遇到的随机错误。该内部 FEC 层将线速从 212 Gbps 进一步扩展到 226 Gbps,因此 SerDes 必须能够支持此线速。

从发送到接收:了解以太网应用中的延迟情况

简单地说,以太网延迟表示一个应用程序通过以太网发送消息到另一个应用程序接收消息之间的延迟。往返延迟度量从发送消息到接收响应所花费的时间。 当然,这种延迟取决于远端应用的响应时间——在考虑以太网延迟时,可以忽略,因为它是以太网外部的延迟。以太网延迟的组成部分包括发送队列、消息处理时间、传输持续时间、介质遍历时间、消息接收时间、结束处理时间和接收队列时间。

图 7:完整的 1.6T 以太网子系统和延迟路径的示意图

在关注最小化以太网子系统中的延迟(特别是在以太网接口级别,而不是整个网络)时,考虑特定的环境是至关重要的—例如,当数据包源和接收器都以匹配的高数据速率运行时。 相反,在交换机之间的中继连接中,由于在较慢的客户端链路上存在更明显的延迟,延迟变得不那么重要。同样,在处理更长的距离时,由于距离造成的固有延迟将成为最主要的影响因素。

此外,值得注意的是,时间敏感网络 (TSN) 解决了确定性延迟问题。 在这种情况下,针对关键任务应用,特别是对于低速或共享基础设施网络,建立了最大延迟上限。    当然,这并不意味着我们应该忽略其他应用场景中的延迟。最小化延迟仍然是一个不变的目标。 首先,端到端累积延迟随着每一跳的增加而增加。 其次,增加的延迟通常表明控制器中有额外电路或处理,这可能导致系统中的功耗增加。

深入了解延迟:剖析以太网子系统层

首先,我们将不考虑任何队列延迟,并假设从应用程序到以太网控制器有一条无阻碍路径,且没有任何带宽争用。带宽差异将导致数据包排队延迟,在延迟至关重要时应避免这种情况。当数据包通过发送端控制器时,会实时构建或修改以太网帧。值得注意的是,线路编码和发送端 FEC 阶段不需要大量存储。

发送端报文处理延迟与特定的实现有关,但可以通过良好的设计实践来最小化。发送报文所需的时间仅仅取决于以太网速率和帧长度。 对于 1.6T 以太网,发送最小长度的数据包需要 0.4ns——基本上,2.5 GHz 时钟的每个时间单位 (tick) 有一个以太网帧。 标准最大长度以太网帧的发送时间为 8ns,巨型帧的发送时间为 48ns。

在考虑遍历介质所需的时间时,光纤延迟约为每米 5ns,而铜缆布线略快,为每米 4ns。虽然报文接收时间与发送时间相同,但由于两个过程同时发生,因此通常忽略它。

大部分延迟发生在接收端控制器上

即使采用最优化的设计,RS FEC 解码器导致的延迟也是不可避免的。若要开始纠错,必须接收并存储 4 个码字,在 1.6Tbps 下需要 12.8ns。后续过程(例如执行 FEC 算法、必要时纠正错误、缓冲和时钟域管理)都会增加控制器的接收延迟。虽然 FEC 码字存储时间是一个常数因素,报文接收期间的延迟与实现有关,但可以通过良好的数字设计实践进行优化。  

本质上,由于 FEC 机制和物理距离或电缆长度,存在固有的、不可避免的延迟。 除了这些因素之外,良好的设计实践在最大限度地减少以太网控制器造成的延迟方面发挥着关键作用。利用包含 MAC、PCS 和 PHY 的集成式完整解决方案,以及专家设计团队,为最高效、低延迟的实现铺平了道路。

总结

图 8:Synopsys 224G 以太网 PHY IP 在 3nm 工艺中首次通过硅成功展示了高度线性的PAM-4眼图

1.6 Tbps 以太网适用于大多数带宽密集型、延迟敏感型应用。随着 224G SerDes 技术的出现,以及 MAC 和 PCS IP的发展,完整的、现成的解决方案可以与不断发展的 1.6T 以太网标准保持一致。控制器延迟在 1.6Tbps 应用中至关重要。除了由于协议和纠错机制造成的固有延迟之外,IP 数字设计必须由专家设计团队精心设计,以防止数据路径中增加不必要的延迟。

经过硅验证的解决方案需要优化的架构和精确的数字设计,强调电源效率并减少硅面积,以使 1.6T 数据速率成为现实。Synopsys 经过硅验证的 224G 以太网 PHY IP 为 1.6T MAC/PCS 奠定了基础。采用先进的设计、分析、仿真和测量技术,Synopsys 继续提供卓越的信号完整性和抖动性能。并提供完整的以太网解决方案,包括 MAC+PCS+PHY,

Synopsys IP 技术公告

深度技术文章、白皮书、视频、网络研讨会、产品公告等等。

继续阅读