Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

协同防御:利用DCQCN和PFC构建无拥塞、零丢包的数据中心网络

近期文章


DCQCN ( Data Center Quantized Congestion Notification),数据中心量化拥塞通知。它是一种专门为数据中心网络设计的端到端拥塞控制协议。其核心目的是在使用RDMA(RoCEv2) 的网络中,高效地管理网络拥塞,从而保证高吞吐、低延迟和零丢包(或极低丢包)。
简单来说,DCQCN就是RDMA在以太网(RoCE)环境中的“交通警察”,它确保高速数据流不会造成网络堵塞。
本文参阅文献:Congestion Control for Large-Scale RDMA Deployments.pdf

在现代RDMA数据中心网络中,PFC和DCQCN必须同时部署。PFC为RDMA提供了一个安全的、无损的链路层保障,而DCQCN则在更上层智能地管理流量,防止PFC的负面效应出现并优化全局网络效率。它们一快一慢,一局部一全局,共同构成了RoCE网络的拥塞管理基石。

DCQCN的运行条件

DCQCN依赖于PFC(Priority-based Flow Control) 来构建无损链路层,防止因为缓冲区过载导致的丢包。首先,在交换机端口上为承载RoCEv2流量的优先级(例如Priority 3)启用PFC。必须为每个端口预留足够的“空中”缓存(t_flight),以容纳在PFC PAUSE消息生效过程中,对端可能继续发送的数据包。(此值通常与端口速率和链路延迟有关)

数据中心交换机需要支持ECN和RED功能,这是CP(交换机)算法运行的基础。(大多数现代数据中心交换机都支持此功能。)

终端主机必须使用支持RoCEv2DCQCN的智能网卡(如NVIDIA ConnectX系列),并安装相应的驱动程序和管理工具(如dcbtool)。

PFC – 优先级流量控制

工作机制:接收端交换机端口上的某个优先级队列(如RoCE流量队列)的缓冲区即将被填满。接收端会向发送端发送一个 Pause Frame,告诉它“暂停发送”这个特定优先级的流量。发送端收到后,立即停止发送该优先级的流量,直到接收端发送“解除暂停”的信号或等待一段时间后超时恢复。PFC可以实现无损网络,确保在拥塞时也不会丢包。这对于RDMA的可靠性和性能至关重要。

DCQCN – 数据中心量化拥塞通知

工作机制:交换机检测到拥塞,给数据包打上标记。接收端收到标记包后,向发送端发送拥塞通知包。发送端收到通知后,主动降低自己的发送速率,从源头上减少注入网络的数据量。DCQCN主动管理拥塞,通过降低发送速率来缓解网络中的拥塞点,同时保证不同数据流之间的公平性。

DCQCN与PFC的协同配置

在实际的RoCE网络中,PFC和DCQCN是同时启用、协同工作的。它们的交互流程完美呈现了“治标”与“治本”的结合:

瞬时微突发: 当网络中出现短暂的流量突发时,交换机缓冲区可能瞬间被填满。此时,PFC会迅速介入,触发暂停机制,防止了丢包。这是“治标”,解决了瞬时问题。

持续拥塞: 如果拥塞是持续性的(例如多个服务器同时向一个目标发送大量数据),PFC会反复被触发。虽然它防止了丢包,但并没有解决根本问题。拥塞还在持续,缓冲区始终很高,最终导致延迟增加。

DCQCN根除拥塞: 就在PFC工作的同时,交换机也检测到了持续的拥塞(高队列深度)。它开始给数据包打ECN标记。接收端生成CNP,CNP通知发送端降低速,DCQCN机制随后被激活,交换机队列深度开始下降,拥塞根源得到缓解。随着DCQCN发挥作用,网络中的拥塞被消除,交换机缓冲区水位下降。PFC检测到队列低于阈值,便会发送“解除暂停”的信号,链路恢复正常传输。

特性PFCDCQCN
层级数据链路层网络层/传输层
范围逐跳端到端
机制发送暂停帧,强制停止发送发送通知,建议发送端降速
目标治标:实现无损,避免丢包治本:管理拥塞源,消除拥塞
比喻交警在路口临时封路交通中心让所有车辆慢行
协作角色应急刹车,应对瞬时突发巡航控制,进行长期流量调节
DCQN与PFC的协同工作,构成了现代RDMA数据中心网络拥塞管理的黄金标准。它们并非简单的替代关系,而是相辅相成、各司其职的完美搭档:PFC在链路层提供毫秒级的无损保障,果断处置瞬时突发,为高性能应用守住“零丢包”的生命线;而DCQCN在端到端层面实施精细化的速率调控,从源头化解持续拥塞,确保了网络整体的高效与公平。
正是这种“局部快速制动”与“全局智能调速”的深度融合,才共同铸就了高速、稳定、可扩展的新一代数据中心网络的坚实根基,使得RDMA技术得以在以太网上释放其全部潜能。

DCQCN的应用与部署

DCQCN由Mellanox(现NVIDIA的一部分)在其网卡中实现,并广泛应用于微软等大型数据中心,以支持其云存储、分布式缓存等需要高吞吐量和低延迟的服务。由于其重要性和影响力,DCQCN在2025年获得了SIGCOMM“经典之作奖”。

  • AI与大模型训练:在数据并行、流水线并行和张量并行等分布式训练模式中,节点间需要频繁同步海量参数(通常达百GB级别)。DCQCN能有效减少网络拥塞,避免因PFC“刹停”或丢包导致的计算长尾延迟,保障训练任务高效运行。
  • 高性能计算(HPC)​​:用于需要极高网络带宽和极低延迟的科学计算、模拟等场景,DCQCN帮助RDMA实现接近线速的传输。
  • 云存储与分布式系统:如微软的云存储服务,DCQCN保障了后端存储节点间大数据块传输的效率和稳定性,同时极大降低了CPU开销。

要想实现DCQCN,你的数据中心网络需要满足一些特定条件,并理解其三个核心组件(对应下图)的职责:

组件角色与职责硬件要求
​交换机 (CP)​​监控出口队列长度,超过阈值时根据RED算法对数据包进行ECN标记。支持ECN和RED功能的标准数据中心交换机。
​接收端网卡 (NP)​​检测带有ECN标记的数据包,生成CNP拥塞通知包并返回给发送端。支持RoCEv2的智能网卡
​发送端网卡 (RP)​​根据收到的CNP包降低发送速率;在未收到CNP时逐步提升速率。支持RoCEv2的智能网卡

智算中心的硬件核心在于为 RoCEv2提供稳定、高性能的无损网络环境。这不仅需要网卡支持,更需要交换机的深度配合。CX-N系列数据中心交换机通过其超低时延、无损网络技术、对大容量缓存的优化、高级遥测功能以及对自动化运维的支持,为DCQCN协议在AI计算、高性能计算等场景中的高效、稳定运行提供了坚实的硬件基础。

【参考文献】

返回资源中心

最新动态

面对AI算力需求,DCQCN如何优化数据中心网络性能?

近期文章


DCQCN ( Data Center Quantized Congestion Notification),数据中心量化拥塞通知。它是一种专门为数据中心网络设计的端到端拥塞控制协议。其核心目的是在使用RDMA(RoCEv2) 的网络中,高效地管理网络拥塞,从而保证高吞吐、低延迟和零丢包(或极低丢包)。
简单来说,DCQCN就是RDMA在以太网(RoCE)环境中的“交通警察”,它确保高速数据流不会造成网络堵塞。
本文参阅文献:Congestion Control for Large-Scale RDMA Deployments.pdf

为什么需要DCQCN?

现代数据中心应用需要高吞吐量和超低延迟网络,具有低 CPU 开销。标准 TCP/IP 堆栈不能满足这些要求,但RDMA可以。在 IP 路由的数据中心网络上,RDMA 使用 RoCEv2 协议部署,该协议依赖于基于优先级的流量控制 (PFC) 可实现无中断网络。

PFC工作流程

但是,由于队头阻塞和带宽分配不均等问题,PFC 会导致应用程序性能不佳。为了缓解这些问题,DCQCN诞生了。

DCQCN是如何工作的?

DCQCN

DCQCN 是一种基于速率的拥塞控制协议,它模仿了著名的QCN(Quantized Congestion Notification),但做了适应数据中心的修改,更适合RDMA的高性能、低开销特性。

  • 发送方:速率调节的起点(运行RDMA应用的服务器)
  • 交换机:拥塞的检测和通知者(支持ECN的交换机)
  • 接收方:通知的转发者(运行RDMA应用的服务器)

整个过程可以分为以下四个步骤:

步骤 1: 拥塞检测与标记(在交换机发生)

交换机持续监控其出口端口的队列深度。当某个端口的队列长度超过一个预设的阈值(Kmin)时,交换机判断该端口发生了拥塞。对于经过该拥塞端口的数据包,交换机会以一定概率将其IP头中的ECN(显式拥塞通知) 字段标记为“拥塞遭遇”(CE)。这个概率随着队列变长而增加。

步骤 2: 拥塞通知(接收方 -> 发送方)

被标记了ECN的数据包会继续被发送到接收方服务器。接收方的网卡识别到这个ECN标记后,不会像传统TCP一样等待ACK包,而是立即生成并发送一个名为“CNP”(Congestion Notification Packet)的特殊控制包 directly返回给发送方。

CNP包非常小(约64字节),拥有最高优先级,以确保它能最快速度地返回给发送方,几乎无延迟地报告拥塞。

步骤 3: 速率调节(在发送方发生)

发送方收到CNP包后,就知道其发出的数据流在某处造成了网络拥塞。发送方会根据内置的算法立即降低其数据发送速率(Rate)。这个降速过程是多级的:

  • 快速恢复:首先进行一次大幅度的降速(乘以一个小于1的因子,如 0.5),以快速缓解网络压力。
  • 主动减少:之后进入一个阶段,持续地、较小幅度地降低速率。
  • 主动增加:当一段时间内没有收到新的CNP包时,发送方会认为拥塞已经解除,开始缓慢地、逐步地增加发送速率(加法增加),以重新探知可用带宽。

这个“降-增”的循环过程使得DCQCN能够动态、平滑地适应网络状态,既不会过于激进导致带宽浪费,也不会过于保守导致延迟升高。

DCQCN的应用与部署

DCQCN由Mellanox(现NVIDIA的一部分)在其网卡中实现,并广泛应用于微软等大型数据中心,以支持其云存储、分布式缓存等需要高吞吐量和低延迟的服务。由于其重要性和影响力,DCQCN在2025年获得了SIGCOMM“经典之作奖”。

  • AI与大模型训练:在数据并行、流水线并行和张量并行等分布式训练模式中,节点间需要频繁同步海量参数(通常达百GB级别)。DCQCN能有效减少网络拥塞,避免因PFC“刹停”或丢包导致的计算长尾延迟,保障训练任务高效运行。
  • 高性能计算(HPC)​​:用于需要极高网络带宽和极低延迟的科学计算、模拟等场景,DCQCN帮助RDMA实现接近线速的传输。
  • 云存储与分布式系统:如微软的云存储服务,DCQCN保障了后端存储节点间大数据块传输的效率和稳定性,同时极大降低了CPU开销。

要想实现DCQCN,你的数据中心网络需要满足一些特定条件,并理解其三个核心组件(对应上图)的职责:

组件角色与职责硬件要求
​交换机 (CP)​​监控出口队列长度,超过阈值时根据RED算法对数据包进行ECN标记。支持ECN和RED功能的标准数据中心交换机。
​接收端网卡 (NP)​​检测带有ECN标记的数据包,生成CNP拥塞通知包并返回给发送端。支持RoCEv2的智能网卡
​发送端网卡 (RP)​​根据收到的CNP包降低发送速率;在未收到CNP时逐步提升速率。支持RoCEv2的智能网卡

智算中心的硬件核心在于为 RoCEv2提供稳定、高性能的无损网络环境。这不仅需要网卡支持,更需要交换机的深度配合。CX-N系列数据中心交换机通过其超低时延、无损网络技术、对大容量缓存的优化、高级遥测功能以及对自动化运维的支持,为DCQCN协议在AI计算、高性能计算等场景中的高效、稳定运行提供了坚实的硬件基础。

返回资源中心

最新动态

PTP多实例并发:PTP可配置性突破域冲突的关键技术

近期文章


这一篇来说说PTP的高度可配置性。

PTP之所以需要高度可配置的特性,是为了应对多样化的现实应用场景和网络环境的必然要求。没有一种“一刀切”的配置能在所有网络中同时实现最佳精度、最高稳定性和最低资源消耗。 PTP的可配置性正是为了在这些因素之间取得最佳平衡的方式。

PTP可配置性:适应多样化网络需求的关键

协议标准选择

PTP的可配置性最终体现在各种PTP Profile(标准协议)中。一个Profile是为特定应用领域(如电信、电力、音频视频桥接)定制的PTP参数集合,它规定了该领域必须使用和禁止使用的特性、默认的报文间隔、时钟精度要求等。例如:

配置文件主要应用行业关键要求/特点
SMPTE-2059-2广播电视、专业视频帧精确同步,一步式,E2E,常用于私有网络
1588v2通用工业、测试测量基础PTPv2标准,选项灵活,可作为其他基础
ITU-T G.8275.1电信(5G前传等)超高精度(<±100ns),要求全网设备支持PTP(BC/TC)
ITU-T G.8275.2电信(移动回传等)高精度(~±1μs),允许部分网络不支持PTP
AES67专业音频基于SMPTE-2059-2,实现不同音频协议互操作

PTP可配置性确保了设备在任意单一场景下都能发挥最佳性能。然而,当现代化网络要求将广电、5G、工业互联网等多种业务融合于同一张物理网络时,仅凭灵活的配置已无法解决不同PTP域之间的根本性冲突。

时钟节点类型

  • 普通时钟(OC)​​:单端口同步,支持主/从角色切换
  • 边界时钟(BC)​​:多端口,同时连接上游和下游设备,隔离同步误差
  • 透明时钟(TC)​​:转发报文并修正链路延迟(如E2ETC/P2PTC)
  • 混合类型(如TC+OC):部分端口转发报文,部分端口同步时间

时间同步参数

  • 时钟源选择:支持外部参考源(如GPS、原子钟)、NTP或内部晶振,通过ptp clock source指定。
  • 时间戳模式:单步模式(one-step)​​:Sync报文直接携带时间戳,降低延迟。双步模式(two-step)​​:通过Sync+Follow_Up报文分步传递时间戳,兼容性更广。
  • 非对称延迟校正:使用ptp asymmetry-correction补偿链路单向延迟差异,提升精度。

什么是“域冲突”?

一个PTP域(Domain)就是一个独立的时间同步逻辑网络,它由一个域编号(Domain Number) 来标识(唯一)。不同域的PTP报文是相互隔离和独立的,就像VLAN隔离数据流量一样。传统上,一台PTP设备(如交换机)在同一个端口上只能参与一个PTP域。它只能监听、处理并转发一个域的时间同步报文。想象一下,一台核心交换机同时连接了:

  • 广电:使用 domain=127 (SMPTE-2059-2标准域) 进行视频帧同步。
  • 5G基站:使用 domain=24 (ITU-T G.8275.1标准域) 进行相位同步。

如果这台交换机是传统设备,它只能选择加入其中一个域(比如127),那么对于另一个域(24)的报文它就无法正确处理。这会导致:5G基站无法获得正确的时间同步,业务中断。又或者,交换机错误地处理了另一个域的报文,造成两个域的时间同步全部错乱。

这就是域冲突——不同应用、不同标准的PTP业务在同一网络基础设施上无法共存。

网络设备上的 “虚拟化”时间同步功能 — 并发多实例PTP

并发多实例PTP就是指在一台物理交换机上,同时创建多个独立的、虚拟的PTP引擎。每个引擎像一个“容器”,专门处理一个特定PTP域的所有事务。

工作方式

  1. 实例隔离:每个PTP实例独立运行,拥有独立的最佳主时钟算法(BMCA)、状态机(主时钟/从时钟状态)、端口状态和时间戳处理。实例A(负责domain=127)和实例B(负责domain=24)完全不知道对方的存在,互不干扰。
  2. 硬件辅助:高性能交换机,通常通过专用的DPU或芯片硬件来支持此功能。能够识别接收到的PTP报文属于哪个域(通过报文头中的domainNumber字段),并将其分发到对应的那个PTP实例进行处理。同样,发送时也能由正确的实例生成对应域的PTP报文。
  3. 资源独占:每个实例可以独立配置所有参数,如:PTP配置文件(SMPTE-2059-2 / G.8275.1)、延迟机制(E2E/P2P)、时钟模式(一步/两步)、报文间隔等。

集成PTP模块的高性能开放网络硬件

目前,星融元 CX-M 交换机产品 已经系列化地支持了 PTP ,兼容多种配置文件。

兼容 E2E 和 P2P 模式和多种配置文件

园区交换机

可在设备模拟器体验 PTP 功能特性。

返回资源中心

最新动态

企业级PTP部署必读:E2E与P2P延迟机制的选择指南

近期文章


阅读前文:PTP原理与实践:如何构建高精度时钟同步网络?

为什么要区分E2E和P2P?

PTP的核心目标是让网络中的所有时钟与最精确的时钟(Grandmaster Clock)同步。为了实现纳秒级的同步精度,PTP必须计算并补偿报文在网络中传输所产生的链路延迟(Link Delay)。

E2E和P2P就是两种计算这个链路延迟的不同方法。它们的根本区别在于:延迟计算的范围和由谁来计算。

E2E (End-to-End) 端到端延迟机制

延迟是从主时钟(Master) 到从时钟(Slave) 的整条路径上测量的。它计算的是这两个端点之间的总延迟。在这种机制中,普通时钟(Ordinary Clocks) 和透明时钟(Transparent Clocks) 必须支持E2E模式。E2E机制

工作原理

  1. 路径延迟测量:主时钟和从时钟之间通过 Sync、Follow_Up、Delay_Req、Delay_Resp 报文交互,计算出它们之间的总路径延迟。
  2. 透明时钟的作用:网络中的E2E透明时钟(E2E-TC) 会侦听这些PTP报文。当它们转发报文时,会测量该报文在本设备内部的停留时间(驻留时间),并将这个时间值累加到一个专门的校正字段(correctionField)中。
  3. 从时钟的计算:从时钟最终收到报文时,会从报文的 correctionField 中获取所有经过的透明时钟的驻留时间之和。然后,它使用以下公式计算偏移:Offset = [(t2 – t1) – (总路径延迟)] / 2

(其中 总路径延迟 = 计算出的链路延迟 + 所有透明时钟的驻留时间之和)

P2P (Peer-to-Peer) 点对点延迟机制

延迟是在每一段相邻的链路上,由两个直接相连的P2P设备之间单独测量的。它不是计算端到端的延迟,而是计算“跳”到“跳”的延迟。在这种机制中,边界时钟(BC) 和对等透明时钟(P2P-TC) 必须支持P2P模式。

p2p测量机制

工作原理

  1. 逐段延迟测量:网络中的每一个支持P2P的设备(如P2P-TC或BC的每个端口),都会与它的直接上游邻居和直接下游邻居使用 Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Follow_Up 报文进行交互,持续测量并维护它们之间这一段链路的延迟值。
  2. 传播时间校正:当主时钟发出的 Sync 报文经过一个P2P设备时,该设备会做两件事:
    – a) 像E2E-TC一样,测量并累加报文在本设备的驻留时间到 correctionField。
    – b) 再加上 从本设备到上游邻居设备的那段已经测量好的链路延迟,也累加到 correctionField 中。
  3. 从时钟的计算:从时钟最终收到的报文的 correctionField 中,已经包含了从主时钟到它自己整条路径上所有设备的驻留时间和所有链路的延迟之和。从时钟无需再单独计算路径延迟,可以直接使用这个校正值来精确计算偏移。

对比图

LinuxPTP

在 Linux 中,PTP 协议的实现称为 Linux PTP,它基于 IEEE 1588 标准,软件包有 ptp4l 和 phc2sys。

LinuxPTP

我们基于 ptp4l 和 Linux 网卡做了测试,可以看到:同步精度分布在 1000ns(1μs)以内,并且存在 8000ns(8μs)以上的不稳定跳变。

测试

在没有额外调优工作的前提下,这样的同步精度对于个人爱好者或一般实验环境或许足够,但离企业级商用场景还远远不够。

作为参考,此处列出 ITU(国际电信联盟)提出的时间同步能力分类,

  • A类:时间误差≤50ns,适用于对同步精度要求较低的一般电信网络。
  • B类:时间误差≤20ns,适用于更严格的时间同步场景,如5G基站同步。
  • C类:时间误差≤10ns,主要用于对同步精度要求极高的场景,例如5G前传。

SONiC(AsterNOS) PTP

下图是 AsterNOS 内的 PTP 子系统示意图,包含一个运行 Linux PTP / ptp4l 并与 RedistDB 和底层硬件驱动程序交互的 PTP 容器。此外这套系统还支持多种网络管理协议,例如 RESTful API、RESTconf 和 Netconf,给到更优的系统集成和互操作性。

AsterNOS 内的 PTP 子系统示意图

通过硬件加速和软件算法优化的星融元 PTP 交换机的时间同步精度分布在 20ns 以内,并且不同延迟测量模式获得的偏差结果几乎相同。

不同延迟测量模式

  • one-step:Sync 报文带报文发送时刻的时间戳
  • two-step:Sync 报文不带报文发送时刻的时间戳,只记录本报文发送时的时间,由Follow_Up报文带上该报文发送时刻的时间戳。
星融元 CX-M 交换机产品已经系列化地支持了 PTP ,兼容 E2E 和 P2P 模式。

园区交换机

      返回资源中心

      最新动态

      PTP原理与实践:如何构建高精度时钟同步网络?

      近期文章


      PTP是什么?——局域网内的“原子钟精度传递者”

      PTP,由IEEE 1588标准定义,是一种专门设计用于在分布式系统中通过网络(主要是以太网)同步时钟的协议。其核心目标是提供比NTP更高的时间同步精度。

      如果NTP是让城市里的大钟楼(服务器)为市民的手表(客户端)提供大致准确的报时,那么PTP则更像是在一个精密的实验室或工厂车间里,用一套高度校准的仪器,确保每一个关键设备上的“秒表”都与中央的“原子钟”达到几乎完全一致。

      PTP的关键特征

      • 高精度: 这是PTP最显著的特点。通过优化协议设计和依赖硬件时间戳等技术,PTP能够实现亚微秒级(sub-microsecond)甚至纳秒级(nanosecond)的同步精度。
      • 局域网优化: PTP主要针对局域网环境设计,充分考虑了局域网的拓扑结构和传输特性。
      • 硬件辅助: 为了达到极致精度,PTP强烈推荐(在很多高精度场景下是必须)使用硬件时间戳,即在物理层(PHY)或MAC层捕获PTP消息的发送和接收时刻。
      • 最佳主时钟算法(BMCA): 自动选举网络中的最佳时间源。容错能力强(如果当前主时钟故障,BMCA会自动重新选举出新的最佳主时钟,确保同步不中断)
      • 多种消息类型: 通过精确定义的消息交换来实现时间同步和延迟测量。

      PTP网络中的“交通协管员”——透明时钟 (TC) 与边界时钟 (BC)

      在复杂的网络中,PTP消息可能会经过多个交换机。这些交换机如果不能正确处理PTP消息,就会引入额外的延迟,降低同步精度。为此,PTP定义了特殊的PTP感知交换机:

      透明时钟 (Transparent Clock, TC):

      • 作用: PTP消息穿过TC时,TC会精确测量消息在其内部的驻留时间 (对于E2E TC) 或其出端口到下一跳的链路延迟 (对于P2P TC)。
      • 补偿方式: TC会将这个测量到的延迟值累加到PTP消息的correctionField字段中。
      • 效果: 从时钟在计算时,可以将correctionField中的值从总延迟中减去,从而消除了TC引入的延迟对同步精度的影响,使TC对于PTP同步而言如同“透明”。

      边界时钟 (Boundary Clock, BC):

      • 作用: BC通常用在网络的边界或连接不同PTP域(或需要隔离的网段)。它的一端作为从时钟同步到上游的主时钟(或另一个BC),另一端则作为主时钟为下游的设备提供时间同步。
      • 效果: BC有效地将一个大的PTP网络划分成多个更小的、独立的同步段,有助于提高整个网络的稳定性和可管理性。它会终结上游的PTP消息,并重新生成新的PTP消息向下游广播。

      PTP如何工作?——精密的“四次握手”与硬件赋能

      PTP实现高精度的核心在于其精密的测量机制和对网络延迟的细致处理。我们以常见的端到端 (End-to-End, E2E) 延迟请求-响应机制为例,来剖析PTP的“对表”艺术:

      ptp工作流程

      1、最佳主时钟算法 – BMCA

      网络中所有PTP设备(时钟)通过交换Announce Message (通告消息),运行BMCA。

      比较的依据包括用户配置的优先级 (Priority1, Priority2) 和时钟自身的质量参数 (ClockClass, ClockAccuracy, OffsetScaledLogVariance),最后以唯一的时钟身份 (ClockIdentity,通常基于MAC地址) 作为决胜局。

      专业数据: Priority1/2是0-255的整数,越小越优先。ClockClass指示时钟的可追溯性,如6代表同步到GPS,248代表未同步。ClockAccuracy和OffsetScaledLogVariance则更细致地描述了时钟的精度和稳定性。

      最终,网络中所有设备会一致地选举出一个最佳主时钟 (Grandmaster Clock, GM)。

      2、主时钟“发令” (Sync & Follow_Up)

      GM开始周期性地向网络中的从时钟(Slave Clocks)发送Sync Message (同步消息)。

      关键点: Sync消息中(或紧随其后的Follow_Up Message中)携带了GM发送该Sync消息的精确发送时间戳 t1。

      硬件时间戳的应用: 为了获得精确的t1,这个时间戳必须在数据包即将离开GM网卡的物理层时由硬件捕获。(软件捕获会引入操作系统调度等不确定延迟。)

      单步 vs. 两步:

      • 单步时钟 (One-Step Clock): 硬件能力强,t1 直接在Sync消息中。
      • 两步时钟 (Two-Step Clock): 先发Sync(可能含近似时间),再发Follow_Up携带精确t1。

      从时钟“接收并记录”:从时钟接收到Sync消息,同样在硬件层面记录下精确的接收时间戳 t2。

      3、从时钟“请求测量距离” (Delay_Req)

      从时钟向GM发送一个Delay_Req Message (延迟请求消息),并硬件记录其精确的发送时间戳 t3。

      4、主时钟“回应距离测量” (Delay_Resp)

      GM接收到Delay_Req消息,硬件记录其精确的接收时间戳 t4。GM将t4封装在Delay_Resp Message (延迟响应消息)中回复给从时钟。

      5、从时钟“计算并校准”

      从时钟集齐了t1, t2, t3, t4四个关键时间戳。

      核心假设:路径延迟对称 (Master到Slave的延迟 ≈ Slave到Master的延迟)。

      6、计算平均单向路径延迟 (Mean Path Delay)

      MeanPathDelay = [(t2 – t1) + (t4 – t3) – correctionField_sum] / 2
      (这里的 correctionField_sum 是Sync/Follow_Up和Delay_Resp消息中correctionField字段的累加值,用于补偿路径上透明时钟引入的延迟)

      7、计算时间偏差 (Offset From Master, OFM)

      OFM = (t2 – t1) – MeanPathDelay – correctionField_Sync

      集成PTP模块的高性能开放网络硬件

      精度范围:从亚微秒到纳秒级

      • 软件部署(普通服务器+普通交换机):微秒级(μs) 到 数百微秒
        (这是最基础的部署方式,精度受操作系统调度、协议栈处理、网络拥堵等不确定因素影响很大。)
      • 硬件时间戳(支持PTP的网卡+普通交换机):百纳秒级(100+ ns) 到 微秒级(μs)
        (通过在网络接口硬件上打时间戳,消除了操作系统的大部分抖动,精度显著提升。)
      • 全PTP网络(硬件时间戳+边界时钟/透明时钟交换机):几十纳秒(ns) 到 百纳秒级
        (这是实现高精度的标准方式。网络中的交换机作为边界时钟(BC) 或透明时钟(TC),可以终止或补偿网络抖动,将误差累积降到最低。)
      • 没有硬件时间戳,PTP的精度会大幅下降到NTP的水平。
      • 在无拥塞、无干扰的专用网络中,使用最先进的硬件,可以达到的极限精度。

      SONiC(AsterNOS) PTP

      下图是企业级 SONiC 发行版AsterNOS内的 PTP 子系统示意图,包含一个运行 Linux PTP / ptp4l 并与 RedistDB 和底层硬件驱动程序交互的 PTP 容器。此外这套系统还支持多种网络管理协议,例如 RESTful API、RESTconf 和 Netconf,给到更优的系统集成和互操作性。

      AsterNOS 内的 PTP 子系统示意图

      通过硬件加速和软件算法优化的星融元 PTP 交换机的时间同步精度分布在 20ns 以内,并且不同延迟测量模式获得的偏差结果几乎相同。

      不同延迟测量模式

      星融元 CX-M 交换机产品已经系列化地支持了 PTP ,兼容 E2E 和 P2P 模式和多种配置文件。

      园区交换机

      可在GNS3设备模拟器体验 PTP 功能特性。

      资料参考:https://blog.csdn.net/shmexon/article/details/148761212

      返回资源中心

      最新动态

      多租户网络运维破局:自动化配置实战

      近期文章


      什么是多租户网络?

      多租户网络(Multi-Tenant Network)是一种在云计算环境中实现网络资源虚拟化的关键技术,其核心目标是通过共享底层物理网络基础设施,为多个独立租户(用户、企业或部门)提供逻辑隔离的专属网络环境,同时还要满足动态性、安全性和服务质量需求。

      在传统软件项目中,服务商为客户专门开发一套特定的软件系统并部署在独立的环境中。此时不同客户间资源是绝对隔离的,不存在多租户共享问题。而在SaaS(Software as a Service,软件即服务) 模式下,软件服务不再部署到客户的物理机环境而是部署到服务商提供的云端环境。在云端环境下一些资源共享成为了可能,这使不同客户可以共用一部分资源以达到高效利用资源的目的。

      以公有云为例,云服务提供商所设计的应用系统会容纳数个以上的租户在同一个环境下使用。比如亚马逊公司就在其数据中心为上千个企业用户提供虚拟服务器,其中包括像Twitter以及华盛顿邮报等知名企业。同时可以按需启用或回收资源(如为华盛顿邮报每日定时(某个时段)分配200台服务器);

      那么问题来了,在提升资源利用率和降低成本的同时,多租户也面临数据隔离、性能干扰、安全风险和运维复杂度等各种挑战。现行的物理网络必须实现网络资源虚拟化,共享物理网络拓扑,并为多租户提供隔离的策略驱动的适应动态、快速部署的虚拟网络。

      seo图

      多租户网络的实现

      拓扑

      Underlay 底层网络

      Underlay 网络指的是物理网络设施,由交换机、光缆等网络硬件构成,负责底层数据的物理传输,运行高效的路由协议(如 BGP)实现互联,通常采用 Spine-Leaf 架构组网,负责提供提供稳定带宽、低延迟和高可靠性,这是多租户网络的基础。

      Overlay 虚拟化网络技术

      底层共享,逻辑独立:VPC(Virtual Private Cloud,虚拟私有云)基于Overlay技术(如VXLAN、GRE、Geneve)在共享的物理网络基础设施上构建租户专属的虚拟网络层。每个租户的流量通过隧道封装(如24位VXLAN标识VNI)隔离,即使物理网络相同,不同VPC的流量在逻辑上完全不可见。

      通过BGP EVPN为不同租户构建独立的虚拟网络,支持灵活的业务扩展。

      BGP EVPN(Border Gateway Protocol Ethernet Virtual Private Network)是一种结合了 BGP 协议 和 EVPN 技术 的标准化解决方案,主要用于构建大规模、高性能的 二层(L2)和三层(L3)虚拟化网络,广泛应用于数据中心、云服务、多租户园区网络等场景。其核心目标是通过控制平面优化,实现高效的 MAC/IP 地址学习、灵活的多租户隔离和网络虚拟化。
      维度传统物理隔离VPC逻辑隔离
      资源粒度整台物理设备独占(如独立交换机)单台设备虚拟切割(共享硬件)
      租户边界VLAN划分(最多4094个)Overlay虚拟网络(理论无限租户)
      隔离机制基于MAC/IP隔离VxLAN/EVPN封装(租户ID标识)
      扩展性扩容需增购硬件软件定义,秒级增减租户
      传统物理隔离 vs VPC逻辑隔离

      在通用云数据中心和智算中心,随着部署规模的增大,这些虚拟网络技术的配置和维护可能变得复杂,如果配置不规范,可能导致租户间冲突影响业务运行甚至严重的数据泄露。

      如何在共享物理资源的前提下,确保每个租户的服务质量(QoS)?答案的核心在于智能化的网络性能监控体系。

      多租户网络的运维挑战

      • 租户差异化需求​:不同租户需定制网络策略(如防火墙规则、VLAN划分),但共享底层资源时配置易冲突。例如,VLAN划分过细增加管理开销,过粗则引发跨租户干扰。
      • 自动化程度低​:依赖人工操作易出错,且缺乏统一标准。某电商平台需通过Intent-Based Networking策略实现故障路径自动切换,依赖API与SDN集成。
      • 扩展性瓶颈​:单一控制器需支持超10万监控对象,且需兼容VXLAN/Geneve等云网络协议,否则难以适应多云环境

      多租户网络配置工具

      想分享一款用于多租户网络的配置工具:EasyRoCE-MVD(Multi-Tenant VPC Deployer )。MVD能帮助用户快速实现租户隔离,参数、存储、业务的多网联动和自动化部署。

      EasyRoCE Toolkit 是星融元依托开源、开放的网络架构与技术,为AI 智算、超算等场景的RoCE网络提供的一系列实用特性和小工具,如一键配置RoCE,高精度流量监控等… 详情访问:https://asterfusion.com/easyroce/

      • 根据配置脚本自动批量部署,支持图形化界面呈现配置细节并远程下发
      • MVD工具可独立运行在服务器上,也可以代码形式被集成到第三方管理软件

      网络设计规划

      首先是必不可少的网络规划,这一步需由工程师基于实际业务需求设计逻辑隔离,一般是采用 VLAN、VXLAN 技术划分虚拟网络,规划 IP 地址池及子网,避免地址冲突。VLAN 适合较小规模,而 VXLAN 扩展性更好,适合大规模部署。

      作为示例,我们在EasyRoCE-AID(AI基础设施蓝图规划)工具引导下快速完成网络设计,并自动生成包含了以下信息的 JSON 配置文件(mvd.json) 作为 MVD 工具的输入。

      aid

      自动生成配置

      MVD 工具将解析上一步骤得到的JSON文件中的设备信息、BGP邻居信息,并为集群中的交换机生成对应配置。 运行过程示例如下:

      配置过程

      可视化呈现和远程下发

      配置远程下发

      用户点进配置文件可看到配置下的具体信息,对其进行二次核对后再自行决定下一步操作,比如选择批量下发或针对某一设备单独下发。

      mvd

      批量下发配置

      多租户网络技术是云计算技术架构中的重要环节,并形成了一种新型的云计算服务模型:NaaS(网络服务)。位置等同于IaaS,PaaS及其SaaS。未来NaaS将会随着云计算技术的发展,而不断成熟,支撑服务于云计算的其他服务。

      【拓展阅读】

      云服务的形式

      • IaaS(Infrastructure-as-a-Service):基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。基于 Internet 的服务(如存储和数据库)是 IaaS的一部分。
      • PaaS(Platform-as-a-Service):平台即服务。把服务器平台作为一种服务提供的商业模式。通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。
      • SaaS(Software-as-a-Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。

      返回资源中心

      最新动态

      SONiC开源社区生态背后的开放网络革命引擎

      近期文章


      在数据中心里,数以万计的服务器由无数的交换机连接起来,构成了一个高带宽、低延迟的网络。众所周知,云计算业务对于可靠性有非常高的要求,这要求网络的运维人员,必须对交换机做到高度的可控制、可管理,能够时刻了解网络发生了什么,在出现故障的时候必须快速定位和排除故障。此外,新的云计算业务,也对交换机不断提出新的功能需求,这就要求网络的开发人员能在短时内实现新的交换机功能并部署上线。

      在这些新的挑战和要求面前,传统交换机厂商的设备已经显得越来越力不从心,因此,各大云计算厂商纷纷开始了自己的交换机自研之旅。

      什么是SONiC?

      作为OCP合作项目的一部分,微软在2016年OCP峰会上发布了交换机操作系统开源项目SONiC (Software for Open Networking in the Cloud)。该项目利用交换机抽象接口(Switch Abstraction Interface, SAI)为不同的交换芯片提供了统一的管理和操作接口,并将交换机软件分解为多个容器模块,来加速软件的迭代开发(如图1)。SONiC得到了很多云计算、交换机和芯片厂商的响应,目前的开源社区成员包括微软、阿里巴巴、腾讯这样的云计算厂商以及Mellanox、思科、Arista、Asterfusion这样的交换机和芯片厂商。

      容器架构

      SONiC之所以在众多开源网络操作系统中脱颖而出(AT&T的dNOS,Facebook的FBOSS),我想主要有如下几个原因:

      • 微软云计算做出的成绩有目共睹,因此SONiC也就有了业界最佳实践。
      • 众多第三方开源工具的使用。容器化可以类比于浏览器模式的插件化,这样很多第三方工具可以很方面的集成到SONiC中,而不需要对系统做很大的更改。即插即用模式非常符合目前的软件潮流,意味着开放的精神。(图1)中Applications标注的就是用户工具,比如LAG,LLDP, BGP等。

      SONiC的亮点

      SAI接口容器化是SONiC的两个突出的亮点。SAI使得SONiC可以兼容不同芯片的设备,且芯片驱动只需要提供接口,并不需要开源同时也保证了芯片驱动的封闭性。

      容器化使得SONiC可以充分利用现有的开源软件,比如redis, Quagga/FRR, GoBGP等,通过内核/redis-db来实现各个容器之间的通信,同时保证各个第三方组件的相对独立,便于对容器进行控制,也可以很快的兼容新的特性。当然,SONiC本身是完全开源的,最开始是微软开源出来,放在Azure下维护,最终SONiC被移交给了Linux基金会管理,开源生态越来越成熟,独立性也越来越强,不再依赖于某一个厂商。

      sonic

      SAI

      交换机抽象接口(Switch Abstraction Interface, SAI)作为SONiC架构的基石,解决了传统网络设备软硬件深度绑定的痛点,并定义了一套标准化的API接口(如端口管理、路由表操作、ACL配置等),屏蔽了不同ASIC芯片(如Broadcom、NVIDIA Mellanox、Barefoot)的底层差异。开发者无需关注硬件具体实现,只需调用SAI接口即可控制转发行为,实现“一次开发,多芯片运行”。通过SAI,SONiC可无缝适配多厂商ASIC芯片。

      容器化

      传统的设备操作系统是单一系统,各个协议通过多线程或者多进程交互,因此需要定义交互的协议类型,报文格式,比较常见是私有协议,或者基于Linux各种Socket的标准底层协议。这种实现要求各个协议之间数据格式是相一致的,因此也只有设备上自己开发的软件能够实现。而容器化是将各个协议使用容器的方式聚合(典型的是docker),容器之间通过操作系统的接口实现交互,因此各个容器之间是弱连接,这样便于容器之间的软重启或者动态编排,更符合软件及服务的概念。

      开源化

      SONiC上一个很重要的协议就是FRR,他是从Zebra->Qugga又分出来的一个开源路由协议组件,除了成熟的OSPF, BGP等路由协议外,对于MPLS和SRv6也增加了很多支持,FRR还增加了FPM(Forwading Plane Manager),即转发平面管理,除了支持传统的netlink接口协议,还支持了protobuf协议,更容易集成新的组件。在底层通过redis数据库的订阅发布机制,将事件生产者和消费者联系了起来,可以看看这篇文章的分析。

      基于SONiC内核的网络操作系统—AsterNOS

      作为国内第一批SONiC社区成员,星融元围绕开放网络技术进行了长期、持续的投入,并结合各种典型应用场景做了足够的测试验证和缺陷修复,所提供的SONiC企业级发行版AsterNOS目前已可稳定兼容几乎所有主流商业交换芯片,构建的一系列有特色的硬件平台,能够实现从数据中心到云化园区的跨场景使用。

      截至2022年底,AsterNOS已针对社区原生版本的缺陷和不足完成了大量开发工作,并切实提升了软件的可靠性和易用性,这其中就包含了VXLAN、ARP Host Routing、BGP EVPN、VLAG、Monitor-link、STP/MSTP等网络功能补充和增强,以及对思科风格的CLI的支持。

      为了更加充分地发挥开源开放的力量,AsterNOS还在SONiC云原生的架构之上提供了强大的SDK能力——用户可通过丰富的API(RESTful API和系统级API)在网络设备上简单快速地开发第三方APP,以及与各种开源运维工具/平台无缝集成。

      SONiC

      AsterNOS与SONiC社区版主要能力对比-表1

      AsterNOS与社区版对比

      SONiC商用场景扩展

      数据中心(AsterNOS-DataCenter)

      主要提供 L2/L3/VXLAN/Routing/EVPN 等云数据中心所需的各种功能,以及对智算等场景的RoCE、智能路由等特性的增强支持(未来也将主要基于此版本平滑支持下一代以太网协议,例如超以太网)。

      企业园区(AsterNOS-Campus)

      将SONiC的核心原则——开放性、易用性和灵活性引入园区。提供VXLAN 和 BGP-EVPN 虚拟化,实现灵活的逻辑网络编排;选定型号上采用 MPLS,可实现运营商级场景的无缝 WAN 集成;部分型号采用 PTP(精确时间协议),为关键应用提供高精度时间同步的网络。

      从数据中心场景到园区网络,这不仅仅是“更换操作系统”,而是一次深度集成和系统级重构。我们针对资源受限的硬件平台(甚至是 1G 端口的接入交换机)移植并优化了SONiC,并围绕其他开放网络技术(例如OpenWiFi/OLS)提供端到端的新一代云化园区网整体解决方案。

      边缘路由(AsterNOS-VPP*)

      从硬件角度来看,业界已有很多强大的基础平台如各类 DPU 网卡、高性能服务器或虚拟化主机;在软件方面,VPP等数据平面解决方案也已经显著成熟,两者共同为构建开放路由平台奠定了坚实的基础。
      然而,SONiC 仍难以在这些新平台上提供完整的路由功能——市场上明显缺乏一种能够真正取代昂贵的封闭式黑盒路由器的商用级、成熟且用户友好的开放式路由解决方案。

      AsteNOS-VPP 则是目前我们围绕SONiC的最新实践。具体而言是将 SAI 接口集成到 VPP 上,使基于 SONiC 的 AsterNOS 能够从交换机 ASIC 平台扩展到具有完整路由功能的 DPU 和服务器平台。

      参考文献
      – mp.weixin.qq.com
      – SONiC Boom: Leveraging Open Source and Merchant Silicon for Today’s Scalable Network Infrastructures

      返回资源中心

      最新动态

      分布式网关技术 + BGP EVPN,解锁真正的无缝漫游

      近期文章


      无线漫游的核心挑战与标准化协议支持

      在构建高性能无线网络时,实现用户终端(STA)在不同接入点(AP)之间平滑、快速的漫游是核心目标之一。我们的无线AP产品原生支持业界标准的802.11k/v/r协议(常称为“快速漫游三协议”),为降低漫游时延奠定了坚实基础:

      • 802.11k (邻居报告): 解决“去哪漫游”的问题。AP主动向关联的终端提供周边优质AP的列表(包括信道、信号强度等信息),使终端能快速发现并评估潜在的目标AP,避免盲目扫描带来的延迟。
      • 802.11v (网络辅助漫游): 解决“何时漫游”的问题。网络侧(通常通过AP或控制器)可以基于负载均衡、信号质量等策略,主动向终端发送漫游建议(BSS Transition Management Request),引导终端在最佳时机触发漫游,减少因终端粘滞在弱信号AP上造成的性能下降。
      •  802.11r (快速基本服务集转换): 解决“如何快速接入”的问题。通过在漫游发生前预先完成部分或全部认证/密钥协商过程(FT Initial Mobility Domain Association),使得终端连接到新AP时能实现近乎“瞬间”的重关联,大幅缩减了链路层切换时间。

      这三项协议协同工作,显著优化了无线链路层(L2)的切换效率,是降低整体漫游时延的关键第一步。

      超越链路层:IP地址保持的必要性与挑战

      然而,成功关联到新AP(完成L2切换)仅是漫游过程的上半场。要真正恢复业务连续性,终端必须能够快速、可靠地使用原有的IP地址进行三层(L3)通信。 这意味着漫游后的IP层连通性同样至关重要。

      传统L3漫游(如图):

      传统漫游

      在漫游场景下,终端从一个AP切换到另一个AP后,其是否需要重新发起DHCP请求以获取IP地址,主要由终端自身的操作系统和驱动策略决定,网络侧无法强制干预。 常见情况是:

      • 普遍行为: 绝大多数移动终端厂商(如智能手机、平板)倾向于采用一种简单且保守的策略:无论新老AP是否在同一IP子网内(即无论是L2还是L3漫游),只要检测到关联的AP发生了变更,就会主动发起一次DHCP请求(通常是DHCP REQUEST或DISCOVER)。 这对终端来说是最直接、最可靠的判断IP状态变化的方法。
      • 例外情况: 当然,并非所有终端在所有场景下都会这样做。某些终端或特定操作系统版本可能仅在检测到IP子网变更(即L3漫游)时才发起DHCP请求,或者在IP租期未过半时选择续租而非重新请求。这种终端行为的差异性,正是导致不同设备实测漫游时延存在波动的原因之一,也是我们强调“平均漫游时延”指标的现实基础。
      • 租期到期: 显而易见,如果漫游发生时,终端IP地址的DHCP租期恰好到期,则必然触发完整的DHCP流程(DISCOVER, OFFER, REQUEST, ACK)。

      因此,即使链路层切换再快,如果IP地址获取过程(无论是必要的重新获取还是冗余的请求)耗时过长,整体漫游体验仍会大打折扣。

      所以,802.11k/v/r三个协议解决的是同一个二层域内的漫游问题,在同一个二层域内网关是不会改变的。而要解决跨二层域的漫游(L3),就需要我们的分布式网关技术,让终端无论漫游到哪个AP,这个AP连接在哪个接入交换机上,都能获得同样的网关,分配到同样的IP,从而实现无缝漫游。

      分布式网关

      分布式网关与BGP EVPN:消除冗余DHCP时延的关键

      作为网络设备提供商,我们通过创新的分布式网关架构结合BGP EVPN技术,从根本上解决了漫游后IP地址保持和快速可达的问题,有效规避或极大压缩了冗余DHCP请求带来的时延:

      1、分布式网关架构: 在这种架构中,终端网关(Default Gateway)不再集中部署在核心或汇聚层,而是下沉到每一个接入交换机(或分布式网关节点)上。 接入交换机直接作为本地终端的网关,并承担DHCP Relay Agent的角色。

      2、BGP EVPN的核心作用: BGP EVPN (Ethernet VPN) 是一种强大的控制平面协议。它不仅仅用于构建Overlay网络,其核心能力在于高效地分发和同步二层(MAC地址)和三层(IP地址、主机路由)信息。

      在我们的方案中:

      当终端首次接入网络并通过某个接入交换机(作为网关/DHCP Relay)成功获取IP地址后,该交换机会通过BGP EVPN协议,将终端的IP地址、MAC地址以及对应的主机路由信息(/32或/128)快速通告给网络中的所有其他接入交换机(网关节点)。

      无论终端漫游到哪个AP下(无论该AP连接的是否是同一个接入交换机),新的接入交换机(网关节点)在BGP EVPN控制平面中都已经预先学习到了该终端的完整IP和MAC绑定信息及其主机路由。

      3、优化DHCP流程: 当漫游后的终端(遵循其自身策略)发起DHCP REQUEST(或DISCOVER)时:

      • 新的接入交换机(作为DHCP Relay Agent)收到该请求。
      • 由于它已通过BGP EVPN知晓该终端的IP/MAC绑定关系,它能够立即判断出该终端已经拥有一个有效的、未过期的IP地址。
      • 因此,该接入交换机无需将请求转发给远端的DHCP服务器,而是直接以DHCP Relay Agent的身份,模拟DHCP服务器的行为,向终端回复一个DHCP ACK报文,明确告知终端“继续使用你原有的IP地址”(即包含原有的IP地址信息)。

      这个过程将原本可能需要数百毫秒的多跳DHCP交互(Relay->Server->Relay->Client),压缩为一次本地化的、毫秒级的交换处理(Relay直接回复ACK),彻底消除了向中心DHCP服务器请求所带来的潜在网络拥塞、服务器处理延迟以及多跳传输时延。

      流量转发优化:直达路径提升业务体验

      在成功保持IP地址后,确保业务流量能高效转发同样重要:

      传统集中转发瓶颈

      在传统集中式无线架构(如FAT AP + AC或部分云管理方案)中,即使用户数据流量(User Traffic)在漫游后仍需先回传(Tunnel)到无线控制器(AC)进行集中处理和转发。对于跨AC的大规模漫游,流量甚至需要在不同AC之间隧道绕行,最终才能到达出口网络。这种“三角形路由”(Hairpinning)显著增加了传输路径和时延。

      集中式网关方案

      分布式网关+云化架构优势

      分布式网关架构天然支持本地转发。结合去中心化的云化管理架构(控制管理面云化,数据转发面分布式):

      • 漫游成功后,终端的业务流量直接在新的接入交换机(作为其网关)完成三层路由查找。
      • 流量无需绕行任何集中式控制器(AC),即可通过该接入交换机直连的上层汇聚/核心交换机以及出口设备访问互联网或企业内网资源。

      极致漫游体验的技术基石

      我们综合运用标准化的802.11k/v/r协议实现快速链路层切换,并通过分布式网关架构结合BGP EVPN技术智能处理IP层连续性,最后依托本地化、最优化的流量转发路径,成功实现了业界领先的超低漫游时延

      实测表明,我们的方案能够稳定地将平均漫游时延控制在<10ms以内。 这不仅显著超越了依赖传统集中式网关和DHCP处理流程的解决方案(其额外DHCP交互和集中转发路径极易引入数十甚至上百毫秒的延迟),更能满足医疗、工业物联网、高密度场馆等对漫游性能要求极为苛刻的场景需求,为客户带来真正无缝、极致的无线漫游体验。

      漫游实测

      相关产品

      相关方案

      返回资源中心

      最新动态

      智能路径调度:AI驱动负载均衡的异常路径治理实践

      近期文章


      AI流量往往具有突发性、大象流(大规模数据流)占比高的特点,极易造成网络拥塞热点。一条质量不佳(如高延迟、高丢包、带宽受限)的路径,不仅自身无法有效传输数据,如果ECMP继续向其分发流量,还可能导致该路径上的拥塞加剧,形成恶性循环,进而“污染”整条路径上的流量,波及更多正常应用。因此,构建一个能够实时感知路径质量、动态规避异常路径的智能负载均衡机制,成为支撑高性能AI计算的关键基础设施之一。

      为了解决上述挑战,我们引入了基于路径综合质量的动态权重成本多路径(Weighted Cost Multipath, WCMP)机制。该机制的核心在于持续评估并利用路径的综合质量作为流量调度的核心依据。

      路径综合质量评估

      系统持续监控每条可用路径的关键性能指标,这些指标通常包括但不限于:

      • 延迟 (Latency): 数据包端到端传输耗时。
      • 丢包率 (Packet Loss Rate): 传输过程中丢失的数据包比例。
      • 带宽利用率 (Bandwidth Utilization): 路径当前占用带宽与其理论容量的比值。
      • 错误率 (Error Rate): 如链路层错误等。
      • 通过预设的算法(如加权计算、机器学习模型评分等),将这些原始指标融合计算为一个综合质量得分(通常是一个数值)。这个得分量化地反映了该路径在当前时刻传输流量的“健康度”或“优良程度”。得分越高,代表路径质量越好;得分越低,代表路径质量越差,越接近异常状态。

      异常路径判定与剔除

      系统设定一个约定的质量阈值系数。该阈值代表了我们认为一条路径可以承载正常AI流量的最低可接受质量水平。

      • 判定逻辑: 当系统计算出的某条路径的综合质量得分低于此约定阈值时,即认为该条路径在当前AI场景下不再可用,判定为异常路径。
      • 处理动作: 立即将这条异常路径从当前有效的负载均衡路径池中剔除(Prune)。这意味着后续的流量调度将暂时不再考虑此路径。

      异常路径剔除

      如图所示,当Leaf1与Leaf2通信存在四条路径时,假设根据(智算网络路径质量三要素:带宽/队列/时延在智能选路中的协同优化)中的算法逻辑在Leaf1中计算出四条路径综合质量分别为4.5、55、65和75,此时红色路径会被剔除,剩下的三条路径根据各自路径质量形成WCMP。待红色路径质量恢复达标后,它将重新加入路径池并参与负载均衡。

      路径的动态WCMP调度

      剔除异常路径后,系统使用剩余的健康路径来承载流量。根据剩余每条健康路径的综合质量得分,动态计算并分配其流量转发权重。质量越高的路径,获得越高的权重,意味着它能承载更大比例的流量;质量相对较低(但仍高于阈值)的路径,则获得较低权重。这种基于实时质量动态调整权重的WCMP策略,确保了流量能够最大程度地流向当前最优的路径,优化整体传输效率和性能。

      路径恢复与重新引入

      被剔除的路径并非永久废弃。系统会持续监控其综合质量。一旦该路径的质量得分恢复到约定阈值之上并保持稳定一段时间(避免抖动),系统会将其重新引入有效路径池。重新引入后,该路径将根据其最新的综合质量得分,参与后续的动态WCMP权重计算,重新分担流量。

      在AI驱动的数据中心网络环境中,传统的“尽力而为”和“无差别均分”负载均衡策略已力不从心。基于路径综合质量的动态WCMP机制,通过实时感知路径状态、果断剔除异常、智能调度“健康”资源,有效解决了AI流量对网络高可靠、高性能的核心诉求。虽然存在少量的短期资源闲置作为代价,但相较于避免路径拥塞乃至业务中断所带来的巨大损失,这一机制是支撑AI计算基础设施稳定高效运行的关键优化手段。

      返回资源中心

      最新动态

      ECMP路由场景下哈希极化(哈希不均)现象的解析

      近期文章


      相关概念

      1. ECMP (Equal-Cost Multi-Path Routing – 等价多路径路由): 当路由器发现到达同一目的网络存在多条具有相同“代价”(如带宽、跳数、管理距离等)的最佳路径时,它会将这些路径都加入路由表。为了充分利用带宽并实现负载均衡,ECMP使用一种机制(通常是哈希算法)将不同的数据流分配到不同的下一跳路径上。

      2. 哈希算法: 哈希算法将一个输入(如数据包的五元组:源IP、目的IP、源端口、目的端口、协议号)映射为一个固定范围的输出值(哈希桶/索引)。在ECMP中,这个输出值决定了数据流应该走哪条路径(例如,有4条路径,哈希输出范围就是0-3)。

      3. 流的概念: ECMP通常基于“流”进行负载均衡。一个“流”通常指具有相同五元组(或其中关键几项)的数据包序列。哈希算法保证同一个流的所有数据包走同一条路径,以避免乱序问题。不同的流则可能被哈希到不同的路径。

      什么是Hash极化

      理解ECMP路由方式下的Hash极化现象,需要结合ECMP的工作原理和哈希算法的特性来分析。

      Hash极化,又称hash不均,具体的表现是在ECMP进行多路径负载均衡时,流量并没有像预期那样均匀地分布到所有可用的等价路径上,而是呈现出明显的偏向性,导致某些路径负载过重(拥塞),而其他路径负载很轻(闲置)的现象。

      为什么会出现Hash极化?

      Hash极化现象的根本原因在于哈希算法的一致性网络拓扑结构流量模式特性之间的相互作用:

      1. 哈希算法的一致性

        • 网络设备(路由器、交换机)通常使用相同或非常相似的哈希算法(如Toeplitz哈希)和相同的输入参数(如标准的五元组)。

        • 当流量经过多个使用ECMP的网络设备(尤其是在层次化网络如Clos架构的数据中心中)时,如果这些设备使用相同的哈希算法和参数,它们对同一个数据流计算出的哈希结果(即选择的路径索引)高度一致

      2. 网络拓扑的层次化

        数据中心常见的Clos架构是Hash极化最常见的发生场景。

        • 想象一个典型的三层Clos架构:服务器 -> Leaf交换机 -> Spine交换机 -> … -> 目的地。

        • 第一层ECMP (Leaf -> Spine): 假设Leaf有4个上行端口连接到4个不同的Spine交换机。Leaf使用ECMP和哈希算法H1将服务器流量分配到4个Spine上。目标是均匀分布。

        • 第二层ECMP (Spine -> 下一跳/Leaf): Spine交换机接收到来自Leaf的流量后,它自己也需要使用ECMP(假设也是基于相同的哈希算法H1和相同的五元组输入)将流量转发到其下一跳(可能是另一组Leaf或核心路由器)。

        • 极化发生: 问题就在这里!Leaf交换机已经基于五元组和H1把流A哈希到了Spine 1。当Spine 1收到流A的数据包后,它再次使用相同的H1算法和相同的五元组计算哈希,决定将流A发送到它的哪个下一跳。由于输入(五元组)和哈希函数(H1)都没变,Spine 1计算出的哈希结果(路径索引)极大概率会与Leaf计算出的哈希结果(选择Spine 1这个事实)具有某种相关性,甚至是相同的模式

        • 结果: 原本在Leaf层被“均匀”分配到4个Spine的流量,在Spine层再次被哈希时,所有来自Spine 1的流量(无论它在Leaf层是从哪个端口来的)都可能被Spine 1的哈希算法再次集中分配到其少数几个下一跳路径上,而不是均匀分散到所有可用路径。 其他Spine上的情况类似。最终导致Spine交换机到其下一跳的链路上,只有少数几条承载了绝大部分来自其上游Leaf的流量,而其他链路则很空闲。这就是极化——流量在下一层被“集中”而非“分散”了。

      3. 流量模式的不均衡:

        • 哈希算法的均匀分布依赖于输入(流标识/五元组)本身的随机性。如果实际流量中存在大量具有相似特征的流(例如,大量流共享相同的源IP或目的IP),而这些特征恰好是哈希算法的主要输入,那么这些相似的流就非常可能被哈希到相同的路径上(哈希碰撞),导致该路径过载。

        • 即使没有层次化拓扑,仅在一个ECMP组内,如果流量模式本身高度偏斜(少数大流主导),哈希极化也会导致负载不均。

      4. 路径数量与哈希范围:

        • 哈希算法输出范围(桶的数量)需要与可用路径数量匹配。如果算法设计的哈希空间分布不均匀,或者路径数量不是2的幂次而哈希桶分配不合理,也可能导致某些路径被选中的概率更高。

      Hash极化的影响

      1. 负载不均衡: 这是最直接的影响。部分链路拥塞,部分链路闲置,浪费了宝贵的带宽资源。

      2. 网络性能下降: 拥塞链路导致数据包丢失、延迟增加、抖动增大,影响应用性能(特别是对延迟敏感的应用)。

      3. 吞吐量瓶颈: 整体网络吞吐量受限于那些被过度使用的链路,无法达到理论上的多路径叠加带宽。

      4. 可靠性潜在风险: 过载的链路和设备故障风险更高。同时,当一条过载链路故障时,其承载的大量流量瞬间切换到其他链路,可能引发新的拥塞。

      如何缓解Hash极化

      1. 使用不同的哈希因子: 这是最常用且有效的方法。为网络中的不同设备(或同一设备的不同ECMP组)配置不同的随机哈希种子。即使算法相同,不同的种子会导致相同的输入产生完全不同的哈希结果,打破了哈希结果在不同层级间的相关性。例如,Spine交换机使用与Leaf交换机不同的种子。

      2. 使用不同的哈希算法: 在支持的情况下,让不同层级的设备使用不同的哈希算法。

      3. 使用更丰富的哈希输入: 增加哈希算法的输入字段,如加入MAC地址、VLAN标签、MPLS标签、GTP TEID(移动网络)、NVGRE/VXLAN VNI(Overlay网络)、甚至包内特定偏移的字节等。这增加了输入空间的随机性,减少了因五元组相似导致的碰撞。现代设备通常支持灵活选择哈希字段。

      4. 层次化感知的哈希/负载均衡: 在Leaf层,除了五元组,可以加入Spine交换机的信息(如出端口ID或Spine的IP)作为哈希输入的一部分。这样,当流量到达Spine时,其哈希输入已经包含了路径信息,有助于Spine层更均匀地分布。这需要设备支持更复杂的哈希策略。

      5. 动态负载均衡: 超越静态的基于流的哈希,采用基于实时链路利用率或队列深度的动态负载均衡机制(如一些厂商的“自适应路由”或类似CONGA的思想)。这种方法直接感知拥塞并调整路径选择,能有效避免极化,但实现更复杂。

      6. 调整网络拓扑/路径数量: 有时增加路径数量或调整拓扑结构也能缓解问题,但成本较高。

      Hash极化是ECMP在多层级网络(尤其是数据中心Clos架构)中使用相同哈希算法和参数时,流量在逐层转发过程中被反复集中到少数路径上,导致负载严重不均衡的现象。其核心原因在于哈希算法在不同层级设备上计算结果的相关性。解决的关键在于打破这种相关性,主要方法包括为不同设备配置不同的哈希种子使用更丰富多样的哈希输入字段,以及采用更先进的动态负载均衡技术。理解Hash极化对于设计和优化高性能数据中心网络至关重要。

      返回资源中心

      最新动态

      对星融元产品感兴趣?

      立即联系!

      返回顶部

      © 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2