第二讲:物理层基础——DCI链路类型、光模块选型与FEC机制
各位同学,咱们接着聊。上一讲我们把RoCE跨数据中心互联的整体架构捋了一遍。今天要扎进物理层,看看那些真正决定信号能不能“跑得远、跑得稳”的硬核东西。
说实话,很多做RoCE方案的朋友,上层协议调得飞起,一到物理层就抓瞎。我当年也踩过这个坑——光模块选错,FEC没配好,结果丢包率直接爆炸。嗯,咱们今天就把这些坑一个个填上。
一、DCI链路类型:DWDM vs 裸光纤
先问个问题:两个数据中心之间,物理上怎么连?
最常见的就两种:裸光纤和DWDM。说白了,一个是你自己拉根线,另一个是租运营商的波分通道。
1. 裸光纤
裸光纤就是运营商只给你提供一对物理光纤,两端你自己放光模块。好处是延迟最低,没有中间设备引入的抖动。我有个客户,两个机房距离不到10公里,直接拉了裸纤,跑400G RoCE,延迟稳定在0.1ms以内。
但裸光纤有个大问题:距离受限。一般超过40公里,信号衰减就扛不住了。而且你得自己维护光纤链路,断了就得等运营商来修,那叫一个煎熬。
2. DWDM
DWDM(密集波分复用)就高级多了。它把一根光纤分成几十个不同波长的通道,每个通道跑一路信号。我见过最狠的,一根光纤跑了80路100G,总带宽8T。
DWDM的好处是距离远——配合光放大器,几百公里没问题。而且自带保护倒换,主路断了自动切备用。但代价是贵,而且引入额外的延迟(每经过一个OEO转换,大约增加几微秒)。
我个人习惯:40km以内用裸纤,超过40km上DWDM。当然,如果你预算充足,直接上DWDM也没毛病,毕竟管理方便。
二、光模块选型:100G/400G/800G
光模块这东西,我每次选型都头大。速率、距离、功耗、成本,四个维度互相打架。咱们一个一个说。
1. 100G光模块
100G现在算是“老将”了。主流是QSFP28封装,有SR4(100m)、LR4(10km)、ER4(40km)几种。我建议:如果链路距离超过10km,优先选LR4。为什么?因为ER4虽然能跑40km,但光功率预算紧张,容易受光纤质量影响。
我记得有一次,客户非要省成本用ER4跑35km,结果FEC纠错率飙到1e-4,丢包率直接超标。后来换成LR4加光放大器,问题解决。
2. 400G光模块
400G是当前RoCE互联的主力。封装是QSFP-DD或OSFP。常见的有:
- FR4:2km,单模,4路100G LAN-WDM
- DR4:500m,单模,4路100G PAM4
- LR4:10km,单模,4路100G
这里有个坑:FR4和DR4不能混用。虽然都是400G,但波长和调制方式不同。我见过有人把FR4模块插到DR4端口上,结果光功率正常但链路死活起不来——因为FEC参数不匹配。
3. 800G光模块
800G是未来的方向,现在已经开始小规模部署了。主流是QSFP-DD800或OSFP,用8路100G PAM4。说实话,800G的功耗是个大问题——一个模块轻松上15W,散热搞不好就降速。
我目前只在头部云厂商的骨干DCI中见过800G。普通企业,我建议先上400G,等800G成熟了再升级。你想想看,现在800G光模块的价格,够买三个400G了。
| 速率 | 封装 | 典型距离 | 功耗 | 适用场景 |
|---|---|---|---|---|
| 100G | QSFP28 | 100m-40km | 3.5W | 存量DCI、短距互联 |
| 400G | QSFP-DD | 500m-10km | 8-12W | 主流DCI、RoCE互联 |
| 800G | QSFP-DD800 | 500m-2km | 15-18W | 骨干DCI、超大规模 |
三、FEC机制:前向纠错
FEC这东西,说白了就是给信号加一层“防错码”。发送端在数据里插入冗余校验位,接收端发现错误后直接自己修复,不用重传。
在RoCE场景下,FEC尤其重要。因为RDMA要求极低的丢包率(目标0丢包),而物理层难免有误码。没有FEC,一个比特错误就能导致整个数据包重传,延迟瞬间飙升。
1. 常见的FEC类型
- RS-FEC (Reed-Solomon):IEEE 802.3标准,有RS(528,514)和RS(544,514)两种。前者纠错能力弱但延迟低,后者纠错强但延迟高。
- FC-FEC (Fire Code):用于25G/50G链路,纠错能力一般。
- SD-FEC (Soft Decision):用于相干光模块,纠错能力最强,但延迟也最大(几十微秒)。
我个人习惯:400G及以下用RS-FEC(544,514),800G用SD-FEC。为什么?因为800G的PAM4信号对噪声更敏感,RS-FEC已经扛不住了。
2. FEC的配置要点
配置FEC时,有几个坑必须注意:
- 两端必须一致:发送端和接收端的FEC类型、参数必须完全匹配。我曾经遇到过,一端配了RS-FEC,另一端配了FC-FEC,结果链路能起来但误码率奇高。
- FEC与光模块的匹配:有些光模块内置了FEC,有些需要交换机芯片来做。如果光模块和交换机都做FEC,就会造成“双重纠错”,反而降低性能。
- 延迟预算:RS-FEC(544,514)大约增加100ns延迟,SD-FEC可能增加几微秒。做RoCE时,要把这个算进端到端延迟里。
3. FEC性能监控
部署完成后,一定要监控FEC的纠错统计。如果纠错率超过1e-6,说明链路质量有问题,需要排查光模块、光纤或连接器。
我常用的命令(以Cisco Nexus为例):
show interface ethernet 1/1 fec
show interface ethernet 1/1 fec-stats
如果看到 FEC corrected errors 持续增长,嗯,该换光模块了。
四、知识体系总览
下面这张图,把今天讲的内容串起来。你一看就明白:物理层选型是个系统工程,链路类型、光模块、FEC三者互相影响。
好了,物理层的基础就这些。记住一句话:链路选型定距离,光模块选型定速率,FEC配置定质量。三者缺一不可。
下一讲咱们聊聊链路层的流控和拥塞管理,那才是RoCE真正发力的地方。到时候见。
公众号:蓝海资料掘金营,微信deep3321