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

标签: 技术分享

请个“龙虾”当网管:星融元ET2500上的OpenClaw进化实录


关注星融元


手头这台 Asterfusion ET2500 开放智能网关,硬件规格堪称“西装暴徒”。

内置 Marvell OCTEONTX 高性能 ARM64 处理器,十几个千兆/万兆以太网口一字排开。在 Linux 系统的加持下,它理论上拥有无限的定制空间。

OpenClaw

但现实往往是:功能越强大,折腾的门槛就越高。

想加个透明代理?依赖冲突能让你配到深夜;想跑个 IDS(入侵检测)看流量?交叉编译和规则适配的“坑”能填满整个控制台……

直到我在这台机器上“孵化”了 OpenClaw。

OpenClaw

深度进化:从“手动挡”到“自动驾驶”

起初我以为 OpenClaw 只是个套壳的聊天机器人,直到我开始尝试让这只“龙虾”接管复杂的部署任务。

实战一:十分钟搞定代理网关

我想在 ET2500 上部署 Squid 代理,实现内网流量的统一出口。原本这涉及 apt 依赖补齐、手动编辑 squid.conf、调试访问控制及配置防火墙转发。 后来我只说了一句:“帮我装个 Squid,监听特定端口,允许内网指定网段访问。” 龙虾自动识别了 Debian 12 ARM64 环境,修正了语法,甚至顺手开启了缓存压缩优化。十分钟后,一份比我手动写得还规整的配置清单直接呈现在面前。

实战二:攻克 Snort 3 “编译玄学”

在 ARM64 架构上从源码编译 Snort 3 是极客的噩梦。我下达指令:“安装 Snort 3,适配最新社区规则。” 接下来是整场演出的高潮:

OpenClaw

OpenClaw 自动转入源码编译,发现缺少 DAQ3 库后果断停下,自行下载源码并重新编译安装,更新库链接后再次回到 Snort 3 编译主线。整整半个小时的排错逻辑,我没有动一次键盘。

ET2500 与 OpenClaw 的结合,堪称底层算力与高阶逻辑的天作之合。强大的硬件执行力确保了任务的下限,而 AI 的介入则拉高了网关能力的上限。它让 ET2500 告别了繁琐的命令行堆砌,转型为能够胜任复杂出口任务的智能中枢。无论是策略过滤还是实时安全审计,OpenClaw 都能凭借对系统依赖和底层限制的深刻“理解”,驱动硬件自主跨越部署障碍。

在这种模式下,运维不再是反复的调试,而是面向目标的意图交付。

龙虾虽好,胃口不小

众所周知,“龙虾”虽能干,却也是个不折不扣的“Token 吞噬者”。从我监控的阿里云百炼后台数据来看,短短两个部署任务,就几乎耗尽了申请的所有免费额度:

OpenClaw

在 Snort 3 的安装过程中,单次请求的平均 Token 量高达 35K。

运行期间我数次遇到模型配额耗尽的警告,虽然任务最终通过自动重试硬扛了过去,但这种“烧钱式”的运维显然不是长久之计。想要实现真正的“龙虾自由”,我们必须挖掘这台设备的另一项核心本领。

当“边缘算力”遇见“智力自由”

这套组合的潜力上限,其实藏在其预留的 M.2 接口 :插上一张高性能 AI 算力卡(如 Hailo系列),我们可以将 OpenClaw 的推理逻辑从云端拉回本地,让这只龙虾拥有真正的“本地大脑”

OpenClaw

  • “智力买断”式的免费劳动: 彻底告别按 Token 计费的账单。无论是 7×24 小时的深度包检测,还是复杂的系统自动化审计,所有推理都在本地算力卡上完成,真正实现一次投入、永久“免费干活”。
  • 极致隐私与毫秒级自愈:敏感的网络拓扑与流量日志不再需要离境上传。数据主权被完全锁定在 ET2508 内部,同时配合本地模型极低的推理延迟,实现毫秒级的威胁响应与自愈巡检。

硬件是骨架,Linux 是血液,而 OpenClaw 配合本地 AI 算力卡,则是让这台 ET2508 彻底进化为“自主生命体”、实现“智力自由”的终极钥匙。

开放式网络硬件的更多玩法,等你来探索哦。

最佳实践:2000+企业共享办公,构建“不断网、好管控”的园区智网


关注星融元


在企业数字化转型进程中,传统的“围墙式”安全正面临巨大挑战。特别是对于超大规模的科技孵化器或高密办公园区,网络运维往往会陷入碎片化配置、策略不一致、用户体验差以及“黑盒化”运维的泥潭。

今天,我们以某国家级科创大楼真实案例为背景,深度剖析星融元园区智网如何通过技术创新,解决高密多租户场景下的准入难题,这其中的技术关键即为: Asteria Security Engine (ASE 安全认证引擎)。

案例背景:43 层科创大楼里的“高密多租户挑战”

该科技中心大楼总计 43 层,入驻企业超过 2,000 家,支撑着 10,000 多名员工及数万台终端的日常办公。物理架构上,该项目部署了核心/汇聚层交换机、30 余台 PoE 接入交换机以及 550 台无线 AP。

在这种环境下,园区物业和 IT 团队面临三个核心痛点:

  1. 极度复杂的逻辑隔离: 2,000 多家初创企业共享一套物理网络,必须确保各企业内网数据互不干扰。
  2. 高频流动的漫游需求: 员工在不同楼层、会议室间频繁移动,要求网络具备毫秒级的无感切换能力 。
  3. 访客管理的碎片化: 每日大量访客入驻,传统的密码分发模式效率低下,急需高效的自助准入手段,让临时访客快速、自助地接入网络。

挑战一:2k+ 企业如何实现“一企一策”?

传统方案中,每增加一个 VLAN 或修改策略,都需要登录数十台设备手动操作,极易出错且难以实现“同人不同权”。

ASE 解决方案:动态授权与全局编排

星融元 ASE 安全认证引擎并非孤立的服务器,而是深度集成在 Asteria Campus Controller 网络控制平台中。通过统一配置入口,管理员无需逐台登录设备,所有认证规则均在 Web 界面完成并实时同步全网。

ASE

  • 身份映射: ASE 通过“用户组”功能,将 2,000+ 入驻企业映射为独立的策略实体,支持一键批量开通业务。

ASE

  • 动态 VLAN 下发: 利用其核心的动态授权能力,无论入驻企业员工在何处接入(有线或无线),ASE 在识别身份后会通过 RADIUS 协议自动下发“企业专属 VLAN” 。这实现了“网络随人走,权限自动对齐”,确保了严密的二层逻辑隔离。

挑战二:终端如何实现“无感接入和漫游”?

传统方案下,员工在园区内移动时,常因 SSID 切换或认证超时 需要重新认证登录,体验极差 。

ASE 解决方案:MAC 优先认证/ 状态保持

1. 无感接入:MAC优先/状态保留 (Session Persistence) 机制简言之是优先以 MAC 地址去匹配已有记录完成终端认证。以员工接入为例,只需首次登录成功,ASE 记录到其 MAC 地址、状态及授权属性等信息,后续接入则会转为无感认证;同时系统也可结合终端厂商型号信息验证、漫游异常检测等方式触发告警,及时向管理员提示仿冒接入风险。

配置

无感漫游:在设定的 Session 保持周期内,接入设备会通过 MAB(MAC 地址绕过认证)询问 ASE ,ASE 匹配现有 Session 后直接下发授权。由此,只要是认证通过的员工终端,后续在电梯、会议室跨 AP 移动时,MAC 状态都会自动匹配,无需再次进行802.1x或 Portal 认证,轻松实现毫秒级切换,零丢包的无感漫游体验。

挑战三:海量终端如何“自助式认证入网”?

传统方式下访客接入认证流程繁琐,大型企业园区网络环境依靠 IT 部门手动分发密码不仅低效,还存在安全隐患。

ASE 解决方案:自助式认证与自定义 Portal 页面

为了平衡安全与访客体验,本项目最终采用 802.1x + Portal 的混合认证模式,上文的 MAC 优先机制同样适用于802.1x 和 Portal 方式,用户再次接入时,无需重复输入用户名和密码,即可实现自动入网。

访客端采用Portal方式

访客终端发出接入请求,将重定向到 Portal 界面,通过手机验证码自助接入,并被自动划入隔离的“外网 VLAN”,确保核心生产网的安全。

原理简介:

首次接入时,ASE 在 RADIUS 数据库中检索终端的 MAC 信息终端,未检索到记录则会先被分配到 Guest VLAN,让终端获取仅可访问认证服务器的IP地址。该租约极短,仅供完成登录流程。

待用户完成登录所需步骤,ASE 记录其身份信息并强制终端下线重连,刷新网络授权状态;终端再次连接则触发 MAC 认证,正常分配到访客VLAN和网段,获取长租约IP地址,完成接入。

员工端采用 802.1x 方式

现有方案结合 AP 可支持 WPA 企业级、WPA2 企业级(EAP-TLS)、WPA3 企业级(EAP-TLS)、WPA3-192 企业级(EAP-TLS)等多种高强度的 802.1x 认证,配合上述提及的 MAC 优先/Session 保持技术,后续在电梯、会议室跨 AP 漫游时,MAC 状态自动匹配,无需复杂配置即可获得无缝漫游体验。

原理简介:

ASE 作为决策大脑,会对 AP 发出的接入请求进行双重校验,检查其来源AP的IP地址和共享密钥是否在白名单,而后根据用户组管理预设的策略,校验用户名/密码(PEAP/MSCHAPv2)或客户端证书(EAP-TLS),根据用户身份下发VLAN 编号或 ACL 规则(Filter-ID),AP 接收指令后,将该无线连接实时挂载到对应业务 VLAN。

自定义Portal界面

在 Portal 认证场景下,登录页面往往是访客接入网络的第一印象。ASE(ACC Security Engine)在控制器端提供了直观、灵活的页面定制功能,让“品牌化准入”变得触手可及。

管理员通过 ASE 的“零代码配置”功能(无需编写 HTML/CSS 代码),上传企业 Logo 和欢迎语,快速定制 Portal 页面 ,实时修改欢迎语与操作说明文字。

基于 OAuth 的 Portal 登录

对于有需求将常见现代化办公软件(如飞书、钉钉等应用)与无线接入集成使用的客户,ASE 安全引擎同样支持基于 OAuth 的 Portal 登录 :企业员工也可通过已有第三方办公软件的授权直接完成无线接入,无需输入一套复杂的密码,也能确保企业身份权限的全局一致性。

具体实现流程大体如下:ASE 引导用户重定向至 Portal 登录界面(Logto托管),从第三方平台授权获得终端用户在企业组织中的办公身份,完成认证后开始绑定权限,ASE 下发动态 VLAN 或 Filter-ID,确保不同企业的员工进入各自的企业网络(不同企业之间相互隔离),并匹配到已设定的用户策略,再放行该终端的网络接入。

登陆界面

挑战四:故障排查如何摆脱“黑盒化”?

当用户反馈“连不上网”时,网络管理员以往需要 SSH 登录多台设备翻阅日志,故障定位往往耗时数小时。

ASE 解决方案:全生命周期会话洞察

终端管理视角:相比传统 AAA 系统只告诉你“通不通”的问题,ACC 控制器的统一视图下提供了详尽的终端视角——管理员可以实时掌握清楚掌握每个账户名下挂载了几个终端、分别接入了哪台设备的哪个端口/SSID,每一台终端的上线时间与下线时间以及流量趋势,为安全审计和网络资产规划提供第一手真实数据。

ACC控制器界面展示

ACC界面

离线原因溯源: 管理后台不只显示“离线”,而是精准展示各种下线原因(如认证超时、信号强度低触发踢出、手动强制下线等),让用户状态有迹可循。

ACC界面

进阶能力:API 驱动的物联生态集成

在该案例中,园区物业方利用了 ASE 丰富的 RESTful API,将 ASE 与已有的租户管理系统联动,实现了自动化运维。

API生态集成

API划分为四大模块:用户管理、用户组(角色)管理、网络事件通知以及终端管控。同时,我们为开发人员提供了多编程语言的SDK与代码模板,旨在大幅降低集成门槛,帮助用户快速、高效地完成对接与开发工作。

自动同步: 当新企业入驻或员工离职时,物业系统自动调用接口在 ASE 中同步账号状态,无需人工二次干预。

数据可视化呈现: 通过 API 实现大楼整网流量展示、在线状态监控及离线原因溯源,可为楼宇的智能化运营提供数据支撑。

立即进入控制器页面 app.cloudswitch.io

在线体验

如何实现 RoCE 配置的自动同步(基础篇) – DCBX协议


关注星融元


进入AI 时代,为多卡、多节点的大规模集群环境构造高性能的无损网络,除了具备必要的 QoS 配置能力外,设备间配置的自动同步也尤为重要。

DCBXData Center Bridging Exchange协议是实现数据中心网络自动化的关键技术,由此可大大减轻运维工作量,并降低人工配置失误引发网络故障的概率

DCBX 协议为大规模网络部署场景下设备之间的 RoCE 配置同步打下了技术基础,详细内容我们将在下篇展开介绍。

DCBX 产生背景

在现代大规模、多云互联的数据中心中,网络所负载的流量类型庞杂,其中既有对延迟和丢包极度敏感的关键业务流量(如存储、HPC、实时计算),又有可容忍一定延迟的普通数据流量。

因此我们需要对不同类型的流量设定不同的优先级,以保障关键应用的服务质量,与此相关的无损网络特性功能主要有 PFC、ETS 等。显而易见,若采用传统方式人工逐台配置,效率低下且容易引入配置失误,无法满足现代数据中心运营所需。

PFC(基于优先级的流量控制):流量的无损传输,能够根据优先级控制流量阻塞,减少数据丢包。

ETS(增强传输选择):用于管理不同流量的带宽分配和优先级控制,从而实现不同类型流量的服务质量管理。

下图是因为没有端到端开启 PFC 而导致的丢包/拥塞扩散示例:

配图

  • 交换机上出现拥塞,向服务器发送PFC Pause帧
  • 服务器由于未使能 PFC,会继续向交换机发送流量
  • 当交换机 Buffer 占用超限,出现流量丢弃则需要重传,导致了时延显著增加或引发故障

什么是DCBX

DCBX(Data Center Bridging Exchange,数据中心桥接交换)协议是基于 IEEE 802.1Qaz 的链路层协议,通过 LLDP(Link Layer Discovery Protocol,链路层发现协议)的扩展字段进行配置交换,以确保不同设备间的流控、服务质量(QoS)等设置保持一致。对于这些设置,我们在当前语境下统称为”DCB 配置”。

具体而言,DCBX 协议主要提供了以下功能:

  • 发现对端设备的DCB配置信息
  • 更新对端设备的DCB参数到本地
  • 监测设备的DCB配置变化

DCBX 协议信息封装

如前文所述,DCBX 协议基于 LLDP 协议拓展而来,DCB的信息被封装在 LLDP 特定的扩展TLV中(Type,Length,Value)。

DCBX协议封装

DCBX TLV包括 ETS Configuration TLV、ETS Recommendation TLV、PFC Configuration TLV和Application Priority TLV。

DCBX 的工作流程

DCBX 的配置宣告,协商以及更新行为通过状态机实现,DCBX 状态机运行在每个使能了 DCBX 的端口上,默认工作流程如下:

本地配置采集

初始化本地配置、本地能力和本地同步意愿。当对端存在,则进入宣告本地配置状态。

本地配置宣告

宣告本地配置。当检测到对端存在,且本地有意愿同步,则进入对端配置采集状态。

对端配置采集

初始化对端的配置、对端能力、对端同步意愿,并进入本地配置更新状态。

本地配置更新

将对端配置与本地配置进行协商,依据协商结果检查数据库中的配置,若与本地配置不一致,则更新数据库中的配置。

配置变化监测

监测本地与对端配置和存在状态是否发生变化,若发生变化则回到本地配置采集阶段。

典型场景应用示例

我们依旧以 PFC 为例,来结合图示简要了解 DCBX 协议如何在交换机与服务器之间,以及交换机和交换机之间完成参数配置交换。

交换机与服务器

DCBX 协议通过设备间双向的能力发现与配置协商,确保了 DCB 功能的端到端一致性。

示例

服务器与交换机 DCBX 配置交换示意图

  • 交换机配置 PFC 参数并使能 DCBX
  • 服务器使能 DCBX 并配置接收意愿,可选配置 PFC 参数
  • 通过 LLDP 扩展字段完成配置交换

交换机和交换机

交换机与交换机之间通过 DCBX 协议完成配置交换,确保了 DCB 配置在转发链路上的一致性。

示例

交换机之间 DCBX 配置交换示意图

  • 本地交换机配置接口3、4队列使能 PFC,使能 DCBX 并配置接收意愿
  • 对端交换机配置接口6、7队列使能 PFC,使能 DCBX
  • 本地发现对端接口 PFC 配置与本地不一致,将对端 PFC 配置同步到本地

一文看懂ARS(自适应路由切换):基于 Flowlet 的动态负载均衡技术


关注星融元


不同负载均衡技术对比

现有主流负载均衡技术大体分为三种,逐流的 ECMP 负载均衡、逐包负载均衡和基于子流(Flowlet)的负载均衡。

逐流负载均衡

传统的 ECMP 路由通常采用逐流负载分担机制,其核心是基于数据包的特征字段(例如 IP 五元组等信息)作为计算因子去进行哈希运算,根据哈希值选择转发链路。

1、不同的流由于特征字段不同,会生成不同的哈希值,从而分散到不同的链路完成转发,在整网实现一定的负载均衡;

2、具有相同特征字段的流,经过哈希运算后会分配到同一条转发路径,由此保证了同一条数据流会按序依次到达对端。

随着云计算的发展和智算业务兴起,逐流负载均衡的缺陷愈加凸显。

首先,逐流的负载均衡无法解决流大小不均的问题,当大小流平等、粗放地进行负载均衡的精细度有限,带宽利用率也有所损耗;

其次,它是一种静态的负载均衡机制,无法实时感知链路的负载情况。当网络出现大象流,静态负载均衡机制依旧会按照既定的路由算法去选路,容易进一步加剧拥塞,造成丢包;

尤其是智算集合通信场景下,该机制还极易在 Clos 组网的 Leaf 上行链路出现哈希极化现象,造成网络拥塞。

(btw,我们提供一个静态方式来解决这个问题,感兴趣可以参考:主动规划+自动化配置工具,简单应对AI智算网络 ECMP 负载不均

逐包负载均衡

逐包的负载均衡技术则是将数据包均匀地负载到各条链路上,又被形象地称为“数据包喷洒”(Packet Spray)。

逐包负载均衡通常提供 Random 和 Round Robin 两种算法,Random 算法将数据包随机分散到各条链路上;Round Robin 算法能够将数据包逐一等量的分散到各条链路,理论上均衡度最好。

但由于实际组网中不同链路的负载情况和转发时延不一样,逐包负载均衡无法保证报文依照原有时序到达接收端,故其整体性能依赖于端侧的缓存容量和乱序重组能力

基于子流(Flowlet)的负载均衡

不同于传统负载均衡的逐流负载分担或逐包负载分担,基于子流的负载均衡不光是对数据流进行分割以实现更精细均匀的负载分担,而且保持了报文到达的时序性。

Flowlet

当前星融元 RoCE 交换机所支持的 ARS(Adaptive Routing and Switching,自适应路由切换)即是一种基于子流的负载均衡技术;同时这也是一种动态的负载均衡,其利用了 ASIC 提供的硬件 ALB(Auto-Load-Balancing)能力通过实时感知链路状态,主动调整选路改善拥塞状况,并提高整体的带宽利用率。

接下来我们将从下面三个问题出发,帮助读者理解该机制的运行原理。

  1. 如何分割大流?
  2. 动态选路机制和链路的测量指标是什么?
  3. 何时触发路径的主动分配/重分配?

术语解释

ARS技术中有以下几个关键概念:

  • 微观流(Micro Flow):五元组相同的一组数据包
  • 宏观流(Macro Flow):哈希值相同的微观流的集合
  • 空闲时间(Idle Time):宏观流中一段没有流量的时间(可配置的参数)
  • 子流(Flowlet)指宏观流中被空闲时间分割的一组连续数据包

基于Flowlet的路径分配概念图

基于Flowlet的路径分配概念图

流分割:从 Flow 到 Flowlet

Flowlet(子流)是 ARS 技术对流进行负载均衡的基本单位。

如上图所示,一系列拥有相同五元组微观流(Micro Flow 1/2/3…)会进入到网络中,我们采用 IP 五元组作为哈希因子对所有微观流进行哈希计算,哈希值相同的一系列微观流组成一条宏观流。

宏观流中,当两条微观流之间相隔的时间T大于配置的空闲时间(Idle Time)会触发流分割,将宏观流分割为子流(Flowlet):以时间 T 为界,前后两个微观流从属于两个不同的子流。

flow-flowlet

显然,Flowlet 会包含拥有不同 IP 五元组信息的数据包(不同的微观流),从业务层面来看,传统意义上的“大象流”会被打散,而小流则有可能合并到一个 Flowlet 里传输。

动态选路机制和测量指标?

ASIC 负责维护一个宏观流表 (Macro Flow Table),其中记录了各宏观流和其对应的出接口(或 ECMP 链路成员)信息。

Flowlet概念图-分割

通过实时测量不同端口上负载和时延,ARS 技术可以将宏观流以 Flowlet 的颗粒度路由到当前更优的链路上。

至于我们如何得知当前哪条链路更优呢?这里就涉及到链路质量指标的测量问题。

配图

链路指标的测量由控制平面和ASIC共同完成,在星融元的方案中,我们关心的指标有端口带宽、端口利用率、转发时延,上述三个指标共同决定了端口所在链路于t时刻的质量情况。

端口带宽

对于启用了 ARS 功能的端口,控制平面会对其线速速率进行归一化,并将配置下发给 ASIC 备用,基础速率为10G。

端口利用率

端口带宽利用率通过端口实时流量速率反映。ASIC 对端口上的流量速率进行采样后,通过与端口线速速率进行比较得出端口带宽利用率,并计算端口平均负载。

转发时延

端口所在链路转发时延通过该端口的队列深度反映,ASIC 对端口队列深度进行采样后计算其历史负载情况。

对于参与了 ARS 的端口,ECMP 组会实时计算更新各出接口的链路质量情况,并在路径动态分配时根据最近一次的结果择优转发流量。

何时进行路径主动分配?

路径主动分配发生在流分割过程中的末尾,结合上述的路径指标完成最终路由决策。

我们可以假设这样一个场景:当 Flowlet 1 的最后一条微观流 Micro Flow 2 被分配到路径 D 并间隔时间 T(T>Idle Time)后,另一条微观流 Micro Flow 3 此时待处理。

由于 T>Idle Time,此时 ASIC 认为 Flowlet 1 已结束,到路径D的映射到期。

此后的微观流 Micro Flow 3 从属于一条新的子流,且处于非活跃状态,于是触发一次主动路径分配。

流分割的关键参数 Idle Time 的合理配置值跟全局路径级时延信息高度相关,通常会配置为不小于 1/2 RTT。

这是因为转发设备的接收队列缓冲区会实时变化,即使发送端的报文发送间隔恒定,转发设备上处理报文并进行转发时,间隔也会发生变化。配置过小会导致分割出来的 Flowlet 粒度过细从而引发乱序,过大则无法将宏观流进行有效分割,引发拥塞。

典型应用举例

应用

如上图,以 32 台 8 卡 GPU 服务器(共计 256 个 400G 网卡)规模为例,AIDC 承载网采用两层 Clos 网络架构。Spine 和 Leaf 设备均选择星融元 CX864E-N 交换机,并按照下行端口与上行端口1:1的收敛比设计组网。在保证网络高吞吐、高带宽的基础上,1:1 的带宽收敛比能够避免因为带宽不对称导致的性能问题。

51.2T 800G AI智算交换机软硬件系统设计全揭秘

假设 Server1 的 GPU1 要与 Server17 的 GPU1 通信,按照传统负载均衡的逻辑,流量会选择 Spine 中的一个然后到达 Leaf17。由于传统负载均衡不会感知路径实时状态,所以 AI 场景下的少量大象流极易被均衡到同一 Spine 上从而导致 Leaf1 上行端口拥塞甚至出现丢包。

当在星融元 CX864E-N 交换机启用 ARS 技术,则 ASIC 将能根据转发时延和端口实时负载对流量出接口进行调整。

假设 Leaf1 通往 Spine8 的链路上发生拥塞,则 Leaf1 的 ASIC 会将更少的 Flowlet 路由到 Spine8 或跳过 Spine8,直至该链路上的拥塞情况缓解后,才会恢复选中该链路进行流量转发。

同样以 Spine1 为例,其 ASIC 也能将更少的 Flowlet 路由到 Leaf32 的链路上而更多地选取其他质量更好的链路。由此,Leaf 与 Spine 设备均能完成自治,从而达到降低整网链路拥塞情况并提高带宽利用率。

RoCE

参考文档

一文通览!从分布式存储的网络设计选型到性能测试


关注星融元


本文将从以下几个维度梳理相关知识信息,篇幅较长,建议先转发收藏。

  • 存储架构沿革
  • 分布式存储网络协议选择
  • 交换机硬件设备选型
  • RoCE无损网络配置和管理(手动配置和自动化配置)
  • 性能测试方案(关键指标、测试工具和参数解读)
  • 最佳实践

传统集中式存储和分布式存储的对比

传统集中式 SAN/NAS 存储起步早、技术成熟,具备高IOPS、低时延、数据强一致性等优势,适合金融、医疗等行业的核心业务系统的数据库存储场景,但集中式的架构同时决定了它的扩展能力受限于存储机头,无法很好地支撑大规模数据存储和高并发访问场景。

随着云计算技术快速迭代,AI智算的逐步落地应用推广,计算能力与上层业务规模的急速扩展推动着存储基础设施转变为分布式存储架构。

分布式存储作为新一代的存储技术,使用分布式存储软件将算力服务器本地的硬盘组成统一的存储资源池,从架构层面解决了传统集中式存储的扩展性问题,规模可扩展至上千个节点,容量可扩展到PB甚至EB级,并且性能可随容量线性提升。

在分布式存储中,网络通信方面若采用传统的TCP/IP以太网会占用大量的CPU资源,并且需要额外的数据处理。进入全闪存储时代,传统的以太网通信协议栈已无法再满足存储网络需求。

集中式架构

分布式硬件架构

对比表格

分布式存储网络的搭建

网络协议的选择

为了解决分布式存储I/O路径长和传统TCP协议带来的性能瓶颈,业界已经广泛采用高带宽低时延的RDMA网络与集群内外部的互联。

RDMA可以简单理解为利用相关的硬件和网络技术,服务器A的网卡可以直接读写服务器B的内存,应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。

网络协议

当前主流的RDMA网络分为了InfiniBand和RoCEv2两大阵营。

IB网络因其性能优异早已广泛应用到 HPC 场景,但需要专用的网卡、交换机配套线缆和管理平台。

RoCEv2使用开放和标准化协议在以太网上传输IB流量,整体部署成本优势明显,采用厂商优化的RoCE网络设备,端到端性能足够稳定替代IB。以下是星融元CX-N系列RoCE交换机与同规格IB交换机的存储集群组网,测试结果甚至局部超越IB,后文会提供更详细的测试信息。

测试数据

组网架构

在计算和存储分离的部署场景中,我们推荐部署2张Spine-Leaf 架构的物理网,存储后端网将单独使用一张物理网,以保证分布式存储集群能够快速无阻塞地完成多副本同步、故障后数据重建等任务,而存储前端网和业务则可用一张物理网。

组网架构

另外,存储节点对网络接入侧的可靠性要求相对较高,因此存储集群中的节点,一般推荐使用双归或多归(Multi-homing)方式接入。

双归、多归接入

网络硬件选型

存储网络的硬件选型方面一般要满足如下几点:

  1. 高密度的100G/200G/400G接口,尽量减少交换机台数
  2. 支持IB/RoCE协议,500ns以内的端口转发时延,支持PFC/ECN等无损网络特性
  3. 全盒式设备形态,提供灵活、扁平的横向扩展能力(支持多达数千个存储/计算节点,并可保证同集群下的任何两台存储服务器之间的通信不超过三跳)

RoCE 无损网络的配置和管理

NVIDIA IB网络的配置和管理已经高度系统化和整体化,此处不加赘述。

与IB相比,未经优化的RoCE网络需要在交换机上手动配置调整,步骤会相对复杂;不过在部分交换机上(星融元CX-N系列)也可以借助于其开放的软件架构和API,引入自动化工具简化RoCE配置,并提供与UFM类似的网络监控和管理能力。

一般手动方式

在完成基础的连接与配置后,需要先根据业务场景对全网的流量优先级进行规划,并对所有的交换机使能PFC与PFC死锁监控功能,让不同的业务流量进入不同的队列进行转发,使基于RoCEv2的存储业务流量优先转发。

同时,使能所有交换机的ECN功能,保障存储队列的低时延和高吞吐。需要注意的是,交换机和服务器网卡上共同的参数需要保持一致,对于队列划分、缓存、PFC门限及ECN门限等配置需要结合业务情况动态调整,以达最佳性能表现。


#确保服务器网卡工作在 RoCEv2 模式下
#为业务流量配置 PCP 或 DSCP,并启用 ECN。

#设置网卡RDMA CM的工作模式
[root@server ~]# cma_roce_mode -d mlx5_0 -p 1 -m
#设置网卡的优先级类型为DSCP
[root@server ~]# mlnx_qos -i enp1s0f0 –trust=dscp
DCBX mode: OS controlled
Priority trust state: dscp
#在队列3上开启PFC
[root@server ~]# mlnx_qos -i enp1s0f0 -f 0,0,0,1,0,0,0,0
#在队列3上开启DCQCN
[root@server ~]# echo 1 > /sys/class/net/enp1s0f0/ecn/roce_np/enable/3
[root@server ~]# echo 1 > /sys/class/net/enp1s0f0/ecn/roce_rp/enable/3
#设置CNP DSCP
[root@server ~]# echo 48 >

#在交换机端口配置以启用 PFC 和 ECN 功能并指定队列
#在交换机的指定队列(与服务器上的队列匹配)上启用 PFC 和 ECN
#调整缓冲区和阈值

# 设置PFC门限值
sonic(config)# buffer-profile pg_lossless_100000_100m_profile
sonic(config-buffer-profile-pg_lossless_100000_100m_profile)# mode lossless dynamic -2 size 1518 xon 0 xoff 46496 xon-offset 13440
sonic(config-buffer-profile-pg_lossless_100000_100m_profile)# exit
# 在3、4队列开启PFC功能(AsterNOS的PFC功能默认使能3、4队列,无需配置)
sonic(config)# priority-flow-control enable 3
sonic(config)# priority-flow-control enable 4
sonic(config)# exit
# 设置ECN门限值
sonic(config)# wred roce-ecn
sonic(config-wred-roce-ecn)# mode ecn gmin 15360 gmax 750000 gprobability 10
sonic(config-wred-roce-ecn)# exit
# 配置Diffserv map
sonic(config)# diffserv-map type ip-dscp roce-dmap
sonic(config-diffservmap-roce-dmap)# ip-dscp 48 cos 6
# 配置Class map
sonic(config)# class-map roce-cmap
sonic(config-cmap-roce-cmap)# match cos 3 4
sonic(config-cmap-roce-cmap)# exit
# 配置Policy map
sonic(config)# policy-map roce-pmap
sonic(config-pmap-roce-pmap )# class roce-cmap
sonic(config-pmap-c)# wred roce-ecn
sonic(config-pmap-c)# priority-group-buffer pg_lossless_100000_100m_profile
sonic(config-pmap-c)# exit
sonic(config-pmap-roce-pmap )# set cos dscp diffserv roce-dmap
sonic(config-pmap-roce-pmap )# exit
# 进入以太网接口视图,绑定策略,将RoCE网络配置在接口上使能
sonic(config)# interface ethernet 0/0
sonic(config-if-0/120)# service-policy roce-pmap


基于网络自动化工具

以下能力均来自于星融元 EasyRoCE Toolkit 内相关组件模块,当前该工具套件对签约客户免费。详情访问:https://asterfusion.com/easyroce/

EasyRoCE

  1. 1条命令行启用和模板化配置RoCE :针对无损网络优化的命令行视图和业务级的命令行封装,实现一条命令行启用;基于芯片规格和应用场景,预设最佳参数模版
  2. 关键RoCE指标导出和可视化呈现:在交换机内运行一个容器化的监控采集前端(RoCE Expoter),将RoCE业务相关网络指标采集给开源监控方案Prometheus,为运维团队提供一个开箱即用的RDMA网络监控方案
  3. RoCE 网络参数集中呈现:RoCE相关的配置调试信息组织起来集中展示到Prometheus面板,简化排障流程提高效率

UG

存储性能测试的关键指标和软件工具

关键测试指标

存储性能测试项整体上分为IO时延和IOPS两个纬度,每个维度中又会按照读/写、数据块的大小分别进行测试。

通常情况下随机IO的性能远低于顺序IO、写入性能远低于读取性能。

  • IO:单个读/写请求
  • IO时延:发起请求到收到存储系统的响应消息所花费的时间
  • IOPS:每秒存储系统能处理的IO请求数。
  • 顺序IO:大量的IO请求连续相邻的数据块,典型的业务有日志、数据备份恢复、流媒体等。顺序IO的性能通常就是最高性能
  • 随机IO:IO请求的是随机分布在存储介质各个区域的数据块,比如高并发读写大量小文件,就会导致IOPS和吞吐的性能下降,典型的业务有OLTP、交换分区、操作系统等。随机IO的性能通常是最低性能

此外,数据块大小对存储的性能表现直接的影响。

  • 小IO,如1K、4K、8K
  • 大IO,如32K、64K甚至更大

较大的IO会带来更高的吞吐,较小的IO会产生更高的IOPS。大多数真实的业务场景中,IO的大小是混合的。

性能测试步骤和工具

  1. 存储网络的性能测试。主要关注网络单链路的吞吐和时延,常用的工具是iperf、ib_read/write_bw、ib_read/write_lat;
  2. 会进行存储系统的基础性能测试。这里关注的是存储系统的时延和吞吐,常用的工具是fio;
  3. 业务级别的兼容性、稳定性以及性能测试。兼容性方面主要测试交换机的API是否能满足业务系统的要求,稳定性方面的测试则是网络设备级和链路级别的高可靠,性能测试则会用业务场景专用的测试工具进行压测,比如:数据库一体机常用的工具是swingbench和hammerdb,对象存储场景中常用的工具是cosbench。

测试参数说明

以下是国内某数据库厂商分别使用 Mellanox SB7700与星融元CX532P-N组网,使用测试工具fio得出的结果概要:

测试参数

测试时延时使用的是1v1的方式,测试存储系统IOPS时分别用1v1、2v1的方式进行压测。目标是测试服务器在假设的小IO业务场景中(100% 随机,70% 读,30% 写,IO size 4K)的性能表现。


[root@server ~]# fio \
-filename=/root/randrw_70read_4k.fio \
-direct=1 \
-iodepth 1 \
-thread \
-rw=randrw \
-rwmixread=70 \
-ioengine=psync \
-bs=4k \
-size=5G \
-numjobs=8 \
-runtime=300 \
-group_reporting \
-name=randrw_70read_4k_local


`-filename=/root/randrw_70read_4k.fio`
支持文件、裸盘、RBD image。该参数可以同时制定多个设备或文件,格式为:-filename=/dev/vdc:/dev/vdd(以冒号分割)。

`-direct=1`
direct即使用直接写入,绕过操作系统的page cache。

`-iodepth=1`
iodepth是设置IO队列深度,即单线程中一次给系统多少IO请求。如果使用同步方式,单线程中iodepth总是1;如果是异步方式,就可以提高iodepth,一次提交一批IO,使得底层IO调度算法可以进行合并操作,一般设置为32或64。

`-thread`
fio默认是通过fork创建多个job,即多进程方式,如果指定thread,就是用POSIX的thread方式创建多个job,即使用pthread_create()方式创建线程。

`-rw=randrw`
设置读写模式,包括:write(顺序写)、read(顺序读)、rw(顺序读写)、randwrite(随机写)、randread(随机读)、randrw(随机读写)。

`-rwmixread=70`
设置读写IO的混合比例,在这个测试中,读占总IO的70%,写IO占比30%。

`-ioengine=psync`
设置fio下发IO的方式,本次测试使用的IO引擎为psync。

`-bs=4k`
bs即block size(块大小),是指每个IO的数据大小

`-size=5g`
测试总数据量,该参数和runtime会同时限制fio的运行,任何一个目标先达到,fio都会终止运行。在做性能测试时,尽量设置大点,比如设置2g、5g、10g或者更大,如果基于文件系统测试,则需要需要小于4g。

`-numjobs=8`
本次作业同时进行测试的线程或进程数,线程还是进程由前面提到的thread参数控制。

`-runtime=300`
测试总时长,单位是s。和size一起控制fio的运行时长,在做一般性性能测试的时候,该时间也尽量设置长点,比如5分钟、10分钟。

`-group_reporting`
多个jobs测试的时候,测试结果默认是单独分开的,加上这个参数,会将所有jobs的测试结果汇总起来。

`-name=randrw_70read_4k_local`
本次测试作业的名称。


最佳实践

星融元(Asterfusion)为中国TOP3公有云打造媲美IB的低时延网络。

需求背景

该公有云用户作为中国TOP3云计算服务市场的重要参与者之一,为政府、企业和个人用户提供安全可靠的云计算解决方案。2022年需要对存储业务区域进行扩容,进一步提升网络服务质量。

  • 设备时延要低,满足分布式存储的业务需求
  • 具有良好的供应链保障机制
  • 能够提供及时且专业的技术支持

方案介绍

通过星融元CX664D-N(64x200GE)大容量低时延以太网交换机提高应用响应速度,同时为业务提供无损传输保障,满足高可靠、低时延的需求。

  • 整网采用RoCEv2,通过PFC、ECN、DCBX保障业务无损,提供与IB媲美的性能和无损网络
  • 超低时延提高业务并发量,加快数据传输速度,提升业务响应效率,抢占市场先机
  • 更低的技术门槛和运维成本,可以在传统以太网上实现超低时延、零丢包、高性能的网络传输

智能路径调度: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计算基础设施稳定高效运行的关键优化手段。

返回资源中心

最新动态

A-Lab | 主动规划+自动化配置工具,简单应对AI智算网络 ECMP 负载不均


关注星融元


智算环境组网采用的 Clos 架构下,各交换节点基于常规的 ECMP 路由(分布式运行和自我决策转发)往往无法完全感知全局信息,容易导致多层组网下的流量发生 哈希(HASH)极化 现象,导致某些路径负载过重(拥塞),而其他路径负载很轻(闲置),严重拖慢智算集群整体性能。

什么是哈希极化?

哈希极化,又称哈希不均,其根本原因在于哈希算法的一致性与网络拓扑结构和流量模式特性之间的相互作用。

一般情况下,网络设备通常使用相同或非常相似的哈希算法和相同的输入参数(如标准的五元组)。

当网络中存在大量具有相似特征的流(例如,大量流共享相同的源IP或目的IP),而这些特征恰好是哈希算法的主要输入,那么这些相似的流非常有可能不像预期那样被分布到所有可用的等价路径上,而是呈现出明显的偏向性。

此外,当流量经过多个使用 ECMP 的网络设备(原本在leaf层被“打散”的流量,经过Spine 层转发又被集中到少量链路上),以及流量模式本身的特征(由少数大流主导),都会加剧哈希极化现象。

主动路径规划配置逻辑

在不引入动态负载均衡技术的情况下,我们可以通过增加参与哈希计算的因子,以及主动规范流量路径的方式来应对 AI 算力集群规模化部署的痛点(例如负载均衡和租户隔离等),主动路径规划需要网络工程师按照如下转发逻辑去配置 RoCE 交换机:

1. 智算服务器上每张网卡都对应一个接口,服务器产生跨 Spine 的上行流量会在Leaf交换机判定并执行策略路由转发给对应 Spine

  • 在1:1无收敛的情况下,Leaf 交换机的每个下行端口绑定一个上行端口
  • 在 n:1 的情况下,上下行端口以倍数关系(向上取整) 形成 n:1 的映射

ppd

2. 跨 Spine 上行流量在 Spine 上按照标准 L3 逻辑转发在智算环境下的轨道组网中,多数流量仅在轨道内传输,跨轨传输流量较小,网络方案可以暂不考虑在 Spine 上拥塞的情况;

3. 跨 Spine 下行流量进入 Leaf 后根据 default 路由表指导转发。

可以看到,以上配置逻辑若完全以手动输入命令行的方式下发到所有交换机,会是一件相当繁琐且耗时的事情,也容易引入配置失误。

借助 EasyRoCE 工具配置

为加速智算场景下的路由优化配置,此前我们有介绍过 PPD 工具(主动路径规划,Proactive Path Definer)的1.0 版本。如今经过一段时间的实践打磨,PPD 工具迎来了一轮迭代,升级到2.0版本,其主要运行步骤如下:

  1. AID 工具(AI基础设施蓝图规划,AI Infrastructure Descriptor)读取网络基础配置信息。
  2. 运行 PPD 工具,生成路由配置文件。
  3. UG 工具 (统一监控面板,Unified Glancer)中展示配置文件,用户核对并确认配置下发。

作为 EasyRoCE 工具套件的构成部分,PPD 可以独立运行在服务器上,也可以代码形式被集成到第三方管理软件中。

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

PPD 2.0 升级了什么?

PDD 2.0 版本主要带来了以下几点的显著提升:

  • 改善 AID 与 PPD 工具的对接流程,完全实现网络基础信息的自动化填充
  • 优化 PPD 工具的图形界面操作体验,配置下发进度和结果可即时呈现,便于管理员快速排查异常原因
  • 自动集成到统一监控面板(UG),与其他 RDMA 网络配置信息在一处集中查看和管理

使用演示

第一步:导入基础网络信息

AID 工具是 PPD 的“数据源”,其中有一个专门的工作表存储了 PPD 工具所依赖的所有基础网络信息,主要是 GPU server 各网卡的 IP 地址、交换机接口互联关系和其对应的 IP 地址等,以上都支持一键自动填充;此外,该工作表内还预留有与多租户网络配置相关的标识信息(InstanceIDDescription),管理员可按需手动填写以便于后续管理、使用。

第二步:运行PPD工具生成路由配置

上传PPD相关工具到管理服务器,解压后程序结构如下:

生成路由配置

运行 start_ppd.sh 命令即可启动PPD。

第三步:选择下发配置

此时,所有与主动路由规划相关的信息已经自动集成到了统一监控面板,管理员登录UG面板可以看到 PDD 工具界面。

点击左上配置生成按钮,会出现设备可用的配置文件(XXXX.cfg)。管理员可以查看生成配置文件详情二次核对,确认勾选,再点击上方批量下发即可等待工具自动下发配置。

待配置全部下发完成,界面即时显示设备当前部署结果,失败设备提供报错信息,排障后可尝试二次下发。

动态演示

EasyRoCE-PPD 工具界面概览

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极化对于设计和优化高性能数据中心网络至关重要。

返回资源中心

最新动态

再谈 SONiC:生态现状与新场景扩展实践


关注星融元


SONiC(Software of Open Networking in Cloud,云端开放网络软件)由微软为其 Azure 数据中心开发,并于 2016 年开源,基于 Linux 发行版 Debian。

关于SONiC

SONiC 使用 SAI 将软件与底层硬件分离,使其能够在多供应商 ASIC 上运行。

据 Gartner 称,随着人们对 SONiC 的兴趣日益浓厚,SONiC 很有可能在未来三到六年内成为类似于 Linux 的网络操作系统。

SONiC 系统架构由各种模块组成,这些模块通过集中式和可扩展的基础架构相互交互。其中的核心基础设施是 Redis 数据库,它提供一个独立于语言的接口,支持在所有 SONiC 子系统之间进行数据持久存储、复制和多进程通信。

SONiC

Redis数据库采用“发布者/订阅者”消息传递方式,运行在SONiC系统内的各类应用程序可以只订阅所需的数据,并避免与其功能无关的实现细节,从而保持了各组件模块的独立性:每个模块放置在独立的 docker 容器中,且都是完全独立于平台特定细节而编写

SONiC的发展前景

SONiC采用的开放、解耦的软件架构十分适应云计算对网络基础设施的需求,使得网络也开始作为一个可编程的对象,在更多新业务场景发挥出创造性的价值。

作为这样一个云原生的网络操作系统,SONiC采用的模块化方法可支持高效的故障恢复和在线升级,允许在不中断整个系统运行的情况下更换或增强特定组件

举几个例子:用户可以升级操作系统更新、驱动程序等单个软件组件,或者动态添加新协议或应用程序,而不会影响其他模块或导致整个交换机宕机;用户也无需受限于传统单一供应商的产品路线图来推进自身的业务创新,而是可以自主控制系统的功能,并按需集成各类网络自动化和应用程序等重要工具

SONiC 架构是否可靠?

根据由微软 Azure 网络技术研究员兼 CVP、SONiC 基金会管理委员会主席 Dave A. Maltz 领导的团队开展的一项研究,该团队对 Azure 数据中心的 18 万台交换机进行了为期三个月的跟踪。

研究发现:数据中心交换机自投入生产部署以来,至少有 3 个月保持不间断运行的概率为 98.5%;3个月后,SONiC 交换机的生存概率比非 SONiC 交换机高 1% ,并且随着时间的推移,可靠性方面的差距还在扩大。

Azure Kaplan-MeirerAzure 数据中心交换机的 Kaplan-Meirer 生存曲线

SONiC 的生态现状

SONiC 生态系统已形成多元化的社区和商业版本,暂无统一的公开统计,下面仅简要列举。

社区版

GitHub (https://github.com/sonic-net)

微软Azure SONiC

作为SONiC的原始创建者,微软的发行版广泛应用于Azure全球数据中心,是社区最核心的参考实现。

星融元 Asterfusion SONiC(AsterNOS

提供基于SONiC的软硬件一体化的“交钥匙”商用解决方案,面向AI智算、通算云、园区网等场景深度优化,强调降低开放网络技术的使用门槛。

各大云服务商自研定制版

例如腾讯、阿里等云服务商均基于SONiC构建数据中心网络,运行了内部定制版本的SONiC。

Hedgehog Enterprise SONiC

来自初创公司Hedgehog,主要专注于企业边缘场景,提供简化部署的发行版,适配AI计算等新兴需求。

SONiC 的商用场景扩展:心远,路自宽

正如上文,研发资源充足的大型云服务商会为自己的超大规模数据中心定制开发 SONiC —— 尽管SONiC使用 SAI 实现了网络侧的软硬件解耦,但在不同的交换机硬件上完美运行SONiC,仍需要大量的深度硬件协同适配工作。

社区响应慢、开发门槛高,正是阻碍普通企业享用这一开放网络技术红利的直接因素。

星融元 Asterfuson 于 2017 年加入社区,是全球极少数有能力提供基于SONiC的、软硬一体的开放网络解决方案厂商,以“交钥匙”的方案降低SONiC操作和使用门槛:

一方面持续基于 SONiC 开放架构补充大量面向生产环境的功能增强,不断提升易用性和可靠性;另一方面也结合硬件设计能力,推出覆盖AI计算、云计算,企业园区全场景的系列化产品和完整方案,让开放网络变得“人人可用”、“开箱即用”

AsterNOS

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

数据中心(AsterNOS-DataCenter)

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

51.2T 800G AI智算交换机软硬件系统设计全揭秘

企业园区(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 和服务器平台(如星融元ET系列:ET2500 系列开放智能网关平台) 。

VPP

AsterNOS 的交付模式

软硬一体化交付

AsterNOS可以运行在星融元自研的交换机硬件上,形成一体化的整机系统交付使用,用户享有厂商提供的一站式服务。

软件化交付

AsterNOS也具备运行在业界主流的白盒交换机硬件上的能力,因此也能以独立的软件形态交付给用户使用。当前主要兼容Celestica 和 Accton 两大品牌。

虚拟化试用 (vAsterNOS)

该模式的主要目的是便于用户快速了解AsterNOS、体验实际操作。即在星融元的私有环境里部署AsterNOS的虚拟化版本(vAsterNOS),并由管理元针对用户的试用要求搭建模拟网络,将操控权限交给用户试用。

如需获取本地运行的vAsterNOS(数据中心/园区版本),可自行下载 vAsterNOS;AsterNOS-VPP 试用,请与我们联系。

【参考文档】

基于路径感知的动态智能选路技术赋能AI智算网络

近期文章


在传统数据中心网络(尤其是Leaf-Spine架构)中,东西向流量的高效调度是核心挑战。传统BGP协议虽能实现路由可达性,但缺乏对路径质量的动态感知能力,导致流量分配不均、高延迟链路未被规避等问题。为提升网络资源利用率,动态智能选路技术应运而生。该技术基于BGP扩展机制,通过实时收集路径质量指标,实现数据流的智能调度,显著优化高吞吐场景(如分布式存储、AI训练)的性能。

BGP扩展能力创新

  • 核心属性:定义 Path Bandwidth Extended Community(路径带宽扩展社区属性),类型字段值固定为 0x0005(高8位0x00保留,低8位0x05标识带宽属性)。
  • 数据结构:1️⃣ Global Administrator:4字节,存储发起路由宣告的AS号,用于标识路径源。2️⃣ 路径质量值:4字节,以 IEEE 754浮点数格式 存储带宽信息,单位为 GB/s,精确表征链路传输能力。

路径质量同步算法流程

算法逻辑

以NIC1与NIC2通信为例:

  1. 终端注册:NIC2向直连交换机Leaf2宣告自身IP地址;
  2. 质量加权:Leaf2计算 NIC2→Leaf2下行链路质量 × Leaf2下行口权重系数,附加至路由信息;
  3. 跨层传递:Leaf2将携带质量值的路由通告至Spine;Spine叠加质量:Spine→Leaf2链路质量 × Spine权重系数 + 已有路径质量值;
  4. 路由汇总:Spine将聚合后的路由通告至Leaf1,Leaf1最终生成含完整路径质量的路由表,指导流量转发。注:权重系数按端口类型动态配置,实现差异化路径评估。
  5. 交换机端口分类与系数配置:为精准量化路径质量,将端口划分为三类并赋予可调系数:

端口类型作用系数意义
Leaf上行口连接Spine影响跨设备链路质量权重
Leaf下行口连接服务器/终端决定终端接入链路质量权重
Spine口连接Leaf控制核心层链路质量聚合权重

灵活性:管理员可根据网络架构需求(如高带宽优先/低延迟优先)动态调整系数。

基于BGP扩展的动态路径优化

  • 精细化路径选择:通过浮点数精确量化带宽,替代传统“跳数”或静态成本值,避免ECMP(等价多路径)在非对称链路中的负载失衡问题。
  • 实时动态优化:链路质量变化(如拥塞、故障)可快速通过BGP更新传递,触发路径重计算,提升网络韧性。
  • 兼容性与扩展性:基于BGP扩展实现,无需改造底层协议,平滑兼容现有网络设备,支持大规模部署。

优化高吞吐场景

  • 分布式计算集群:优化AI训练任务中参数服务器与工作节点的通信路径;
  • 金融交易系统:确保低延迟链路优先承载订单流量;
  • 云数据中心:提升虚拟机迁移和存储复制的吞吐性能。

优化智算中心:动态智能选路新方向

动态智能选路技术通过扩展BGP的路径质量感知能力,解决了传统数据中心网络“只连通、不优化”的痛点。其分层加权算法与可配置端口系数设计,为复杂流量调度场景提供了高适应性解决方案,是构建高性能、自优化数据中心网络的关键演进方向。

【参考文献】
想了解更多智能选路技术,可访问

https://asterfusion.com/a20250528-flowlet-alb/

返回资源中心

最新动态

对星融元产品感兴趣?

立即联系!

返回顶部

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