简介:IEEE 802.3cn-2019 以太网标准第4修正案是面向网络工程师、光模块与数据中心互连从业者及通信专业研究者的技术规范文档,聚焦单模光纤上 50Gb/s、200Gb/s 与 400Gb/s 高速以太网的物理层(PHY)和管理参数,用以解决长距离、高速率场景下接口定义与互操作依据缺失的问题。压缩包共 1 个 PDF 文件,约 4.24MB,为 IEEE Xplore 官方发布版原文,涵盖 50GBASE-ER、200GBASE-ER4、400GBASE-ER8 等 PMD 子层指标、PAM4 编码与 FEC 前向纠错、功耗与散热及管理寄存器定义,并说明与 802.3cb、802.3bt、802.3cd 修正案的衔接关系。该资源已有 647 人学习下载,适合用于选型比对、链路预算核算、标准条文检索与合规性设计参考,也可作为理解 40km 以上单模光纤以太网演进脉络的一手材料。
1. 40 公里外还能跑 400G:IEEE 802.3cn 到底解决了什么问题
很多人第一次看到 IEEE 802.3cn-2019 这串编号,会以为是某款网卡或光模块的型号。其实它是一份标准文本,管的事情很具体:在单模光纤上,怎么把以太网跑到 50 Gb/s、200 Gb/s 和 400 Gb/s,而且一口气至少跑 40 公里。打个比方,城市主干道从双向四车道拓成八车道,光铺沥青不够,车道宽度、标线间距、匝道汇入角度全得重新定规矩;802.3cn 定的就是这套规矩里「路面和信号」那部分。
搞懂它的价值在于,机房之间拉那根光纤时,速率和距离是一对老冤家——速率翻四倍,衰减和色散的麻烦也跟着翻。这份标准给出一套产业链共同认账的参数表,不懂它,选型时容易把 10 公里的型号当成 40 公里的买,钱花了,链路跑不起来。
2. 把标准拆开看:802.3cn 到底在定义哪一段
2.1 一本不断出增补页的「大字典」
以太网标准不是一本写完就锁进柜子的书。IEEE 802.3 从 1980 年代一路长到今天,基础文本是 802.3-2018,之后每加一批新速率、新介质,就出一份「修正案」往上叠。802.3cn-2019 就是其中一份,编号里的 cn 是这份修正案的代号,2019 是批准年份。
读这类文本有个门道:修正案自己不是完整的故事,它得和基础版一起读。就像一本字典出了增补页,增补页上写着「第 317 页某条目替换为以下内容」,你光拿着增补页是查不了字的。802.3cn 的开头也明确说了,它是对 802.3-2018 的修正,而且是在 802.3cb、802.3bt、802.3cd 这三份修正案之后叠加的第四份。换句话说,你手里的「现行有效版本」等于基础版加上这一串补丁。
这点听起来只是文档管理问题,实际影响不小。有人拿着 802.3cn 的目录去找「50G 以太网全部规定」,发现只有一小段,就以为标准写得不全。其实是找错了门——50G 的短距和中距部分在 802.3cd 里,802.3cn 只负责补上「长距」那一块。搞清楚谁管哪一段,比死记参数有用得多。查一条参数的正确顺序是:先问这条链路是什么速率、什么距离、什么介质,再判断它落在哪份修正案的范围里,最后才去翻具体条款。顺序反了,就会在一份只讲长距的文本里找短距参数,怎么翻都没有。
2.2 PHY 和 PMD:标准只管「插上光纤那一段」
以太网的分层里,MAC 层管的是「帧怎么排队、怎么发、冲突怎么处理」,PHY 层管的是「比特怎么变成电信号或者光信号,怎么在介质上跑」。802.3cn 管的是 PHY,而且细到 PHY 里面的一个子层——PMD,物理介质相关子层。
用寄快递打比方。MAC 像仓库管理员,决定哪个包裹先出库、怎么打包、贴什么单子;PHY 像装车和运输的那一段,决定包裹塞进哪节车厢、车厢温度多少、路上颠簸怎么缓冲;PMD 更细,它管的是「这辆车能不能上这条高速」——轮胎规格、限高、轴重。802.3cn 定的就是「单模光纤这条高速上,跑 50G、200G、400G 的车该是什么规格」。
所以你会看到标准里大篇幅在写光参数:中心波长、平均发射光功率、消光比、接收灵敏度、接收过载点。这些不是给写代码的人看的,是给做光模块和做测试仪表的人看的。写上层应用的人翻这份标准,大概率找不到自己要的东西,这很正常,不是标准的问题,是找错了层。分层的好处也在这儿:PHY 换了、速率升了,上面的 MAC 和协议栈可以基本不动,升级的代价被圈在了一个小范围里。
2.3 管理参数:标准里为什么还配一块「仪表盘」
除了光参数,802.3cn 还规定了管理参数。通俗地说,就是这条链路得能「报数」:当前收光功率多少、温度多少、误码情况怎么样、链路训练到哪一步了。这些量走一条叫 MDIO 的管理总线读出来,映射到一组寄存器里。
打个比方,汽车年检不是只看车能不能开,还得插上诊断仪读一遍故障码。管理参数就是这条光纤链路的诊断接口。没有它,链路跑不通的时候你只能猜:是模块坏了、光纤脏了、还是对端没配对。有了它,至少能把「收光功率低到下限以下」这种事实摆出来。
下面是一段示意性的伪代码,用来说明「读管理参数」这件事在逻辑上大概长什么样。它不是任何真实厂商的 API,只是把「按地址读寄存器、按位解析字段」这个动作写出来。
# 示意伪代码:通过 MDIO 读取一条链路的 PMD 诊断量 # 真实实现里,寄存器地址和字段位定义以标准文本为准 def read_pmd_diagnostics(mdio_bus, phy_addr): # 1. 选中 PMD 相关的寄存器页 mdio_bus.write(phy_addr, REG_PAGE_SELECT, PAGE_PMD_DIAG) # 2. 读发射光功率(通常是 16 位无符号数,带一个换算系数) tx_raw = mdio_bus.read(phy_addr, REG_TX_POWER) tx_power_dbm = raw_to_dbm(tx_raw) # 换算公式由标准给出 # 3. 读接收光功率 rx_raw = mdio_bus.read(phy_addr, REG_RX_POWER) rx_power_dbm = raw_to_dbm(rx_raw) # 4. 读链路状态位:从状态寄存器里把「信号检测」那一位抠出来 status = mdio_bus.read(phy_addr, REG_LINK_STATUS) signal_ok = (status >> BIT_SIGNAL_DETECT) & 0x1 return { "tx_dbm": tx_power_dbm, "rx_dbm": rx_power_dbm, "signal_ok": bool(signal_ok), }这段逻辑里有两个关键点。第一,寄存器是按「页」组织的,读之前得先切页,切错了页读出来的数看着像光功率,其实是别的量,这是新手最容易出错的地方之一。第二,原始值到物理量之间有个换算,系数和偏移量都写在标准的管理参数表里,不能自己拍脑袋定。参数上,phy_addr是管理总线上每个 PHY 的地址,一条总线挂多个模块时靠它区分;REG_*是寄存器偏移,不同速率、不同 PMD 类型对应的表不一样。还有一点,多通道模块里每个通道通常有自己的一份诊断数据,读的时候要指定 lane,不然你读到的可能只是通道 0 的数,拿它去判断整条链路就会误判。
注意:寄存器映射和换算关系以标准文本为准,不同版本的修正案可能调整字段定义,动手前先核对手中文本的生效状态。
2.4 这份标准不负责的部分
得把边界说清楚:802.3cn 不规定交换机怎么转发、不规定 IP 怎么分配、不规定机柜怎么布线。它甚至不规定「怎么把 400G 拆成四个 100G 用」这种业务侧的玩法。它只保证一件事——两端都按这份文本做出来的光接口,插在同一条单模光纤上,40 公里内能互通。互通的信任就建立在这份共同文本上,这也是标准存在的意义。
明白了这一层,你再看标准封面上那句「Physical Layers and Management Parameters」,就不会把它误读成「以太网使用说明书」。它是一份接口契约,契约双方是设备和设备,不是人和界面。
3. 为什么偏偏是 50G、200G、400G 这三档:速率阶梯背后的取舍
3.1 50G:一条通道的「性价比甜点」
要理解 50G 为什么出现,得先知道光模块里的「通道」是什么。一个光模块可以只有一个激光器,也可以并排好几个,每个激光器负责一路信号,最后用波分复用的方式合到一根光纤里。单通道跑多快,直接决定了一个模块能到多高速率。
早些年单通道的主流是 25G。想上 100G,就并四个 25G。这套玩法很成熟,但到了某个点就不划算:通道数越多,激光器越多,合波器越复杂,功耗和成本跟着涨。50G 单通道的价值就在这儿——用同样的通道数,速率翻倍。四个 50G 就是 200G,八个就是 400G,模块里的器件数量没有等比增加。
这里头有个关键技术叫 PAM4,下一章细讲。先记住结论:50G 不是凭空冒出来的数字,它是「单通道速率」和「产业链能接受的复杂度」之间磨出来的一个平衡点。速率定得太低,堆通道数不划算;定得太高,光器件和电芯片的良率撑不住。机房里的交换机芯片、光模块封装、测试仪表,都是围着这个平衡点转的。标准选定 50G 作为这一代的基本砖块,等于把整条产业链的投资方向锁定在一个可复用的粒度上。
3.2 200G 和 400G:用「并排通道」堆出来的带宽
802.3cn 定义的三个速率,其实是两种思路。50GBASE-ER 是单通道 50G,一根光纤、一个波长方向跑 50G。200GBASE-ER4 和 400GBASE-ER8 则是并排堆通道:ER4 里的 4 表示四路 50G 合起来 200G,ER8 里的 8 表示八路 50G 合起来 400G。
为什么是 4 和 8,不是 3 和 6?因为波分复用的波长栅格是成组规划的,通道数得和波长间隔、光纤的低损耗窗口对上。四路和八路是工程上算得过来的组合,再往上堆,波长间隔变窄,激光器的波长漂移容差就变得苛刻,成本和良率都不好看。而且通道数一多,合波器和分波器的插损也会累加,这部分损耗最后都要从链路预算里扣。
并排堆通道还有个隐性代价:并行通道之间的 skew,也就是到达时间差。八路信号从同一个地方出发,走同一根光纤,但不同波长的传播速度略有差异,到对端的时间会差一点点。标准里对这点有约束,接收端要做对齐。这也是为什么高速模块的调试比低速模块麻烦——不是单个通道调通就完事,得让八个通道像一支队伍一样齐步走。调试时如果只看总误码率,某个通道轻微偏晚可能被其他通道的好成绩平均掉,得逐通道看眼图和误码分布才抓得出来。
3.3 40 公里这条线:为什么不是 10 公里也不是 80 公里
距离这个参数,在光模块型号里是靠后缀区分的。行业里常见的分档是:短距多模几百米、中距单模 2 公里、长距单模 10 公里、超长距单模 40 公里。802.3cn 定的就是 40 公里这一档。
40 公里这个数字不是拍脑袋。它大致对应「同城两个机房之间拉一根光纤」的典型距离,也对应城域网里两个汇聚点之间的距离。比它近的场景,10 公里档的模块更便宜、功耗更低,没必要上 40 公里;比它远的场景,信号衰减到接收灵敏度以下,就得靠光放大器或者换相干光技术,那是另一套成本结构,不是把发射功率调大就能解决的。
这里有个容易忽略的点:40 公里是「至少」40 公里,标准写的是 minimum reach。实际能跑多远,取决于光纤类型、接头数量、熔接质量、环境温度。标准给的是「按最坏情况算,保证 40 公里」,工程上留的余量是给这些变量的。真到了现场,链路预算得重新算一遍,不能拿标准的数字直接当承诺。
链路预算怎么算,说白了就一条减法:发射光功率减去接收灵敏度,得到可用预算;再把光纤每
本文还有配套的精品资源,点击获取