DAC、AOC 与 AEC 线缆内部结构
对主机而言,两端做成光模块形态的线缆就是一个光模块:它会给出身份信息,可能提供诊断数据,并遵循相同的引脚定义。内部构造却完全不同:可能是铜对线加一小块 EEPROM 板卡,可能是一对光引擎和中间的光纤带,也可能是让铜缆传输更远的 retimer 芯片。本文介绍这三类产品,说明它们的构造如何体现在存储器、DDM 和实际故障中。
三大类线缆
| 系列 | 内部 | 传输距离(25G / 100G / 400G 单向) | 每端功率 | 管理 |
|---|---|---|---|---|
| 无源 DAC(直连铜缆) | 双芯同轴铜对线,26–30 AWG,每个插头内有一块带 EEPROM 的 paddle card | 3–5 m / 3–5 m / 2–3 m | ~0 W(仅 EEPROM) | 仅身份信息,无 DDM |
| ACC(有源铜缆) | 结构与 DAC 相同,插头内另有线性放大器/均衡器 | 25–50G 下最长 5–7 m | 0.5–1 W | 身份信息,有时含温度 |
| AEC(有源电缆) | 铜缆加每个插头内的 retimer/DSP,信号在其中被再生 | 400G/800G 下 3–7 m | 3–6 W | 采用 CMIS,含通道状态,常有类 DDM 监测 |
| AOC(有源光缆) | 每个插头内是一个光引擎(VCSEL 阵列、PD 阵列、驱动器、TIA、控制器),中间为 MMF 光纤带 | 30–100 m,部分达 300 m | 1–4 W | 两端均为完整 DDM(SFF-8472/8636/CMIS) |
主机侧行为、自动协商和编码约定参见 铜缆以太网与 DAC;现场故障参见 DAC 与 AOC 常见问题。
无源 DAC
plug A ─ paddle card (EEPROM, ground, pull-ups) ─ twinax pairs ×2 (SFP) / ×8 (QSFP) / ×16 (QSFP-DD) ─ paddle card ─ plug B
- 纯电气连接:主机 SerDes 直接驱动铜缆;损耗随长度和频率增大(3 m 长 30 AWG 线缆在 12.9 GHz 下约 10–20 dB),这就是传输距离逐代缩短的原因,也是 25G 以上按损耗划分线缆等级(CA-25G-N/S/L)并与 FEC 搭配使用的原因(参见 FEC 与链路训练)。
- 身份信息:每个插头内有一块 EEPROM(仅 A0h),两端内容常不相同(序列号后缀不同,若线缆被重新贴标,厂商也可能不同)。关键字节:connector 23h,线缆技术位(无源铜缆),长度(单位为米,SFP byte 18、QSFP byte 146、CMIS 202),2.5/5/7/12.9 GHz 下的衰减值记录在波长字段中(参见 合规代码)。
- 没有 A2h,没有温度,也没有 LOS:主机无内容可监测,只有存在检测和身份信息。
- 故障表现:弯折导致对线断裂(一条通道失效)、paddle card 焊点开裂(间歇性故障)、身份信息不匹配或缺失(主机拒绝其中一端)、长度超出主机均衡器的处理能力(在一台交换机上能用,换一台就不行)。
有源铜缆:ACC 与 AEC
ACC 通过模拟放大将传输距离延长一两米;AEC 则在每个插头的每条通道上增加一颗 retimer 或 DSP,使每段铜缆只需覆盖插头到插头的距离,信号在其中被再生,这正是 AI 机柜中 400G/800G 能在铜缆上跑到 5–7 m 的原因。AEC 插头发热明显(3–6 W),以带数据通路状态和固件的 CMIS 模块形式出现,并从端口获取实际功率,需要像光模块一样核对功率等级(参见 功率与热设计)。两者都以 active cable 形式编码,使用相应的 SFF-8024 代码(BER 等级 AOC/ACC 代码 01h/08h/18h/19h、 30h–33h),而不是编码为无源铜缆。
有源光缆
plug A: driver ─► VCSEL array ─► lens ─► MMF ribbon (OM3, 4/8/12 fibres) ─► lens ─► PD array ─► TIA ─► plug B
TIA ◄── PD array ◄── lens ◄── ribbon ◄────────────────────────────── lens ◄── VCSEL array ◄── driver
controller (DDM, identity) controller (DDM, identity)
- 每个插头都是一个 COB 光引擎:裸露的 VCSEL 和 PD 芯片位于模压透镜阵列下方,与光纤带粘接在一起,全程没有任何连接器(参见 板上芯片封装)。
- OM3/OM4 光纤带上的 850 nm VCSEL:成本低、功耗低、传输距离为 100 m 级;波长和光纤类型固定,因此 AOC 的编码方式与 SR 模块相同(850 nm,MMF 长度),但 connector 字段为 23h。
- 两端的 DDM 都是真实的:温度、Vcc、每通道偏置电流、Tx 和 Rx 光功率,其中 Rx 数值反映的是内部链路状况。AOC 某条通道 Rx 偏低,说明该通道的 VCSEL 或光纤本身出了问题,因为根本没有连接器可以清洁。
- 拆分 AOC(QSFP 转 4 × SFP):QSFP 端携带一份身份信息和 4 通道 DDM;每个 SFP 端各自携带单通道的身份信息和 DDM。
- 故障表现:弯曲半径超标(一条或多条通道中断)、高密度面板中光引擎过热、某条通道 VCSEL 老化、插头控制器失效(该端不可见,另一端读数却正常)。
为两端编码
主机会独立读取每一端;只有两端都通过各自主机的策略检查,线缆才会被接受。常见要求如下:
| 字段 | 规则 |
|---|---|
| Identifier、connector、cable technology | 两端一致;connector 为 23h |
| 厂商名称 / PN | 两端一致;PN 通常编码长度和线规 |
| 序列号 | 通常主体相同、末尾加后缀区分两端,或完全一致 |
| 长度字节 | 实际长度(米),两端一致 |
| Attenuation bytes(铜缆) | 该组件的实测值 |
| 合规 / 扩展代码 | 与速率等级匹配(如 25G CR 等级为 0Bh–0Dh,50G/100G/200G CR 为 40h) |
| 校验和 | 每端分别重新计算,参见 校验和 |
如果线缆能从交换机 A 连到交换机 B,反过来却不行,通常是某一端编码不同。在工作台上读取两个插头是最快的排查方法(参见 症状索引)。
为什么用线缆而不是光模块
| 判据 | DAC | AOC | 光模块 + 光纤 |
|---|---|---|---|
| 单链路成本(短距离) | 最低 | 中等 | 最高 |
| 功耗 | 无 | 低 | 低–高 |
| 时延 | 最低 | + 约几 ns | + 约几 ns |
| 传输距离 | 米级 | 最长 100 m | 公里级 |
| 重量、弯曲半径、气流阻挡 | 最差 | 良好 | 最佳 |
| 现场维修 | 更换整根线缆 | 更换整根线缆 | 清洁或更换单个部件 |
| 诊断能力 | 无 | 完整 DDM(内部链路) | 完整 DDM(真实链路) |
在 CodingBox 中
CodingBox 会按插头所声称的模块类型读取:DAC 按身份信息读取长度、衰减和线缆等级代码; AOC 按每通道完整 DDM 读取两端;AEC 按 CMIS 模块读取两端。为线缆编码意味着两端都要一致地编码。Code database 会将一对线缆的两端保存在一起,EEPROM editor 则处理光模块没有的长度和衰减字段。
各代 InfiniBand 的线缆传输距离等级和拆分配置参见 IB 布线;GPU 集群中各种介质如何搭配使用参见 为 AI 集群布线。