网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

UEC规范v1.0的软硬件分层架构是怎样的?🤔

GG网络技术分享 2026-04-16 05:15 0


一、 UEC 规范 v1.0 那点乱七八糟的层次划分

先说个大概——UEC 规范把整个软硬件堆栈硬生生切成了四层:物理层、链路层、传输层、控制/管理层。听起来像是教科书,却又像是把几本旧教材随手拼凑在一起,根本没讲清楚每层到底干啥。

别忘了还有数据平面和控制平面这两个“平行宇宙”。数据平面负责把包子弹一样扔过去, 控制平面则天天忙着写配置文件、跑协议栈,还顺手给你来个API 抽象层,一阵见血。。

UEC规范v1.0 - 1.简介_整体架构_软硬件分层

① 物理层——光纤、 电缆、天线

物理层最核心的是那堆 100G/400G 的光模块和电缆。规范里只说要兼容 IEEE 802.3 标准,却暗示可以自行加装“超速 FEC”“低抖动时钟”。于是各大厂商就开始抢着卖“超低延迟光模块”,价格贵得吓人,打脸。。

② 链路层——可选功能堆满了彩蛋

链路层原本只负责 MAC 地址转发, 可是 UEC 给它塞进了很多“可选特性”:链路层重试 、基于信用的流控 、数据包修剪 。这些功能看起来高大上,但在实际部署中往往被忽略或者根本不兼容,说白了...。

③ 传输层——UET到底是啥?

说起来... UET 是所谓的“统一传输协议”, 号称能一次搞定 AI、HPC 两大块工作负载。但它内部其实是把 libfabric、 RDMA、TCP/UDP 各种小碎片混在一起,再套上一层叫做SDS 的子协议。

传输层又细分为四个子层:

  • SAS
  • PDS
  • CMS
  • TSS

每个子层都有自己的 API 接口, 而且还要兼容不同供应商的 SAI,真是让人眼花缭乱。

④ 控制 & 管理平面——运营商的噩梦?

无语了... 控制平面主要跑 NOS,比如 SONiC、FBOSS 等。它们通过 SAI 与硬件交互,然后提供诸如路由协议、ACL、QoS 等功能。管理平面则负责监控、升级、日志收集,用 Netconf / gNMI / SNMP 打酱油。

二、 乱套产品对比表 —— 随机挑几个热卖硬件来填坑 🤷‍♂️

$8,750
产品型号主要特性峰值吞吐量 延迟 参考价
Apex‑X2000 - 支持 UE‑XGMI - 内置 CBFC - 可选 FEC 加速器400 Gb/s 0.8 µs$12,800
Nvidia‑Quanta‑RTX500 - NVLINK+UEC 双模 - 支持 AI Full 配置文件 - 包修剪功能开启默认 320 Gb/s 1.1 µs $14,500
Cisco‑UET‑9000 - 全平台 SAI 支持 - 可选 TSS 加密模块 - 超低功耗模式 200 Gb/s 1.5 µs $9,900
Mellanox‑Quantum‑Q5 - 原生 RoCEv2 + UET - 多路径 ECMP 优化 250 Gb/s 1.2 µs $11,300
ZTE‑HyperNet‑H1 - 支持 AI Base + HPC 配置文件 - 自研 FEC 算法 180 Gb/s 1.8 µs

三、软硬件分层到底怎么玩儿?——随意拆解版流程图 🚀

下面这段文字故意不按常规写:

  • • PaaS 层: 业务逻辑直接调用 libfabric 提供的 fi_send/fi_recv, 完全不管底下到底用了哪种物理链路。
  • • IaaS 层: NOS 用 SAI 把每个端口映射到 FEP ,然后丢给 UET 的 PDS 子层。
  • • Bare Metal 层: CPU/GPU/FPGA 按需挂载内存条,靠 DMA 把数据直接推到网卡 NIC 的 RDMA 缓冲区。
  • • Cable & PHY 层: 光纤插头拔掉再插回去, FEC 参数调到最高,然后祈祷不会掉包。
  • • SALAD 层:  随机加点噪声,让运维同事抓狂:"这是什么奇怪的 DSCP 值?!"

求锤得锤。 ※ 小提示:如果你真的想玩出花样, 可以把 PDS 子层里的 ACK/NACK 改成 Emoji 表情,比如 “👍” 当确认,“👎” 当否认,这样日志看起来更活泼!不过别怪系统崩溃… 😅​

四、为何说这套架构“烂得可爱”?🤪

我们一起... 1️⃣ *文档太多*: 章节编号跳来跳去, 一会儿是第 1 节,一会儿又出现第 4 节,第 7 章里竟然再提第 9 节……读者只能靠直觉翻页。

栓Q! 2️⃣ *实现差异太大*: 同一个 UET 配置文件, 在 AMD 卡上可能只支持 AI Base,而在 Nvidia 卡上才有 AI Full;而且各家 NOS 对 SAI 的实现根本不统一,一句话:“我们这里用的是自研插件”。导致同一规格在不同厂商设备上表现千差万别。

3️⃣ *可选特性像装饰品*: 链路层重试 、 数据包修剪 、CBFC … 每一样都标记为“可选”,却没有明确说明什么时候必须打开,否则性能会崩盘。这让采购部门在选型时只能盲目猜测:“我买了支持 LLR 的卡,可是不知道交换机能不能配合”。后来啊就是现场调试几天都找不到根本原因,我服了。。

⚠️ 注意:如果你的业务对延迟极度敏感, 请务必把 CMS 子层里的 ECN 标记策略调到最保守模式, 干就完了! 否则可能出现“尾部延迟炸弹”。⚠️​

五、 杂七杂八的小贴士 🎉​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​‏‏‏‏‏‏‏‏‏‎‎‎‎‎‌‌‍‍‍‍‍‍‌‌‌ ‌‌‫‫‫‫‫‫‭‭‭‭‭‭‬‬‬‬‬‬‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‍‍ ‍ ‍ ‍ ​​​​​‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌   
点击展开隐藏内容…
如果你真的想把 UE C++ SDK 写成“一行代码搞定”,可以尝试这样写:
fi_endpoint *ep = fi_allocendpoint;
fi_bind; // 忽略所有错误
fi_connect;
// 然后直接发送裸指针吧!
fi_send;
// 好啦, 你已经跨过所有协议栈啦~

六、别被华丽包装骗了 🙃​ ​​​ ​ ​ ​ ​ ​ ​ ​ ​​​​​​​​​​​​​​​​​​​​​








   如果你正打算采购符合 UEC v1.0 的网络设备,请先做好心理准备:文档可能像拼图一样缺失碎片,特性标注模糊不清,而且各家实现差异巨大。但如果你恰好热衷于玩「标准」与「实现」之间的大戏, 那么这套软硬件分层架构恰好提供了一块肥肉,让你可以随意切割、重新拼装,甚至自己写补丁来填坑。祝各位玩得开心, 也别忘了有时候抬头看看天花板上的灯泡是否亮着——那可是 UEC 规范里从未提到,却真实存在的问题啊!               
© Ultra Ernet Consortium 2024 – 本文仅作学习交流之用, 非正式技术文档,仅供参考。)

标签: 以太网 HPC UEC

提交需求或反馈

Demand feedback