"HyperFrames"最近在高速以太网圈子里讨论热度很高,几乎成了绕不开的热词。我上个月参加一场技术交流会,看到一份关于1.6T以太网方向的汇报材料,里面有一页专门讲超帧(HyperFrames)的动机和收益,当场就有同行问:以太网不是一直往后兼容、平稳提速吗,为什么要去动帧格式这种"老祖宗"?
问得挺好,因为答案恰恰是理解超帧的钥匙。以太网从10M走到800G,线速提升了接近十万倍,但物理层搬运数据的基本单位——以太网帧——仍然是上世纪80年代定下来的那套结构:8字节前导(含SFD)+14字节MAC头+46到1500字节净荷+4字节FCS+12字节帧间隙。这套结构在位速低的时代完全不是问题,但在800G乃至1.6T的线速下,小帧带来的线路开销和逐帧处理成本已经变成了实打实的瓶颈。HyperFrames就是冲着这个瓶颈去的。
这篇文章我从一线从业者的角度,把超帧这件事掰开揉碎讲清楚:它到底改了什么、收益有多大、有哪些绕不开的工程难题、和FlexE、OTN这些既有方案是什么关系,以及站在产业链的角度看它大概什么时候能落地。不管你是做数据中心网络规划、交换芯片设计,还是光模块和DSP相关的工作,这篇都能给你一个相对完整的坐标系。
1. 传统以太网帧格式的隐性天花板
1.1 帧结构:为什么是64字节起、1500字节封顶
先复习一下经典以太网帧在线上长什么样。一个最小的以太网帧,从物理层角度看是这样:
- Preamble + SFD:8字节,用于接收端时钟同步和帧起始定位;
- 目的MAC + 源MAC + Type/Length:14字节;
- 净荷(Payload):46到1500字节;
- FCS(帧校验序列):4字节;
- IFG(帧间隙):12字节,发送完一帧后必须空出来的间隔。
把上面的数字加起来:一个64字节的最小帧,在线路上实际占用84字节。线路效率 = 46 / 84 ≈ 54.8%。也就是说,如果线上全跑64字节小包,将近一半的带宽都耗在了帧头、前导、FCS和帧间隙上,真正干活的数据只有一半出头。
这个64字节最小帧长的来源也很有意思。当年CSMA/CD时代,为了保证冲突检测机制正常运作,规定了一个时隙内必须发送完一帧,对应最长网段和最小帧长正好是64字节。今天全双工交换网络早就不需要这套碰撞检测机制了,但帧格式作为历史包袱保留了下来,还是这个尺寸。1500字节的MTU封顶也类似,早期内存和处理能力有限,定得保守一些,后来也就约定俗成了。
我在实际排障和性能分析中经常遇到这种情况:数据中心里大量短连接、ACK包、遥测报文的长度都在64到128字节之间,头部开销占比极高。很多人只盯着"带宽利用率"看,其实真正被吃掉的是线路开销和包处理预算这两块,而这两块恰恰是超帧要解决的。
1.2 算一笔账:小帧在高速率下有多浪费
这部分值得认真算一下。800G端口全速跑64字节小包时,每秒要处理的线上帧数是:
800Gbps / (84字节 × 8bit) ≈ 11.9亿帧/秒,约1.19Gpps(十亿包每秒)。到了1.6Tbps,这个数字直接翻倍到约2.38Gpps。
问题在于,交换芯片的包处理能力不是无限扩张的。每一帧进来,都要做CRC校验、查表、转发决策、改写头部、写缓冲、调度出队,这一套流水线按"帧"计费。今天主流的交换芯片单芯片包处理能力大概在每秒几亿到二十亿包这个量级,个别高端芯片宣称能扛住全线速64字节,但代价是巨大的芯片面积和功耗。到了1.6T,光靠堆流水线来处理2.38Gpps,成本曲线会非常难看。这也是为什么芯片厂商在宣传时都爱强调"64字节全线速",因为这是最难啃的指标,而HyperFrames恰恰是从源头减少需要逐帧处理的数量。
换个角度看线路开销。假设实际网络平均净荷500字节(很多数据中心流量的经验值),加上全部头部后线上约538字节,效率约93%。看起来还行,但别忘了小包占比很高的场景——比如存储网络里的IO确认、AI训练的参数同步——很容易把平均净荷拉到200字节以下,那时候效率就掉到80%以下了。
所以结论很清楚:传统以太网帧格式在高速率下有两个天花板,一个是线路开销,一个是包处理速率。前者损失的是带宽钱,后者卡住的是芯片能力。这两个问题,靠"加大MTU"这个IP层手段解决不了,这正是HyperFrames出现的根本原因。
2. HyperFrames的核心思路:把"信封"做大,把开销摊薄
2.1 超帧到底改了什么
先说个生活化的类比。传统以太网帧相当于一个个小信封,每个信封都要写地址、贴邮戳、留间距,寄一百封信就有一百份固定开销。HyperFrames的思路是把一堆小信封先装进一个大集装箱,集装箱只需要一份总清单,内部的小信封按索引排好,这样线路上的固定开销就从"每信一份"摊薄成"每箱一份"。
技术上,超帧的提案大体上分两条路线:
- 可变长超帧:把多个以太网帧聚合进一个更大的超帧里,超帧自带头部描述长度、子帧偏移、校验信息,线上以一个超帧为单位传输。
- 定长超帧容器:把物理层传输单位改成固定大小的"容器",有点类似信元,以太网帧按需切割后塞进容器里,容器头承载映射信息。这种方案在光传输行业更讨喜,因为定长容器对FEC、交织、多通道分发都友好。
不管哪条路线,关键点都一样:MAC服务接口不变,主机和IP层看到的仍然是传统以太网帧;变的只是物理层和链路层的"线上搬运格式"。这一点非常重要,意味着HyperFrames不需要终端设备做任何修改,只需要链路两端和转发芯片配合即可。用大白话说就是:线上怎么封装,跟IP层无关,只要每个包完整无损地到达对端并重新恢复成标准帧就行。
2.2 效率提升的量化对比
先用数学说话。假设一个超帧的固定开销是128字节(头部加尾部加子帧索引),有效载荷容量64KB,那线路效率就是:
65536 / (65536 + 128) ≈ 99.8%。
对比一下前面算的54.8%(全64字节小包)和93%(平均500字节净荷),差距非常直观。哪怕超帧只装了一半就发出去,效率也在99.6%左右,因为固定开销被大幅摊薄了。
再算包处理压力。64KB超帧在800G线速下,每秒只需要处理:
800Gbps / (64KB × 8bit) ≈ 152.6万帧/秒,约1.53Mpps,从十亿包量级直接掉到百万包量级,差了将近三个数量级。这意味着交换芯片可以把原本花在"逐帧拆信封"上的预算省下来,去做更复杂的调度、更精细的流量工程,或者干脆采用成本更低的芯片方案。对云厂商来说,这可能直接反映在设备采购成本和功耗账单上。
超帧在并行线路上还有一个隐性收益。1.6T以太网大概率是多通道并行传输(比如8×200G或4×400G),传统小帧在多个通道之间分发时要按字节和符号做striping,通道之间还要靠对齐标记(Alignment Marker)纠正偏移。如果换成大容器,分发就是把整个大块轮流分配给各通道,边界少、对齐简单,PCS层的实现复杂度会下降不少。
2.3 为什么不是"把MTU改大"这么简单
这个问题几乎每次讨论都会被问到:既然嫌1500字节小,直接把MTU改成9000(jumbo frame)甚至64KB不就行了?
还真没那么简单。第一,MTU是IP层概念,端到端生效。改MTU要求全网所有设备、所有路径配置一致,还要处理路径MTU发现(PMTUD)、TCP分段卸载(TSO/GRO)等一系列协议交互,跨数据中心、跨园区根本推不动。第二,就算全网都跑9000字节jumbo frame,物理层仍然是"每帧一份固定开销"的搬运模式,包处理速率的天花板依然在——jumbo frame只是减少了包的数量,但没改变"逐帧处理"这个前提。第三,HyperFrames改变的只是单段链路上的搬运格式,跟IP层完全解耦,链路两端协商好就行,不需要动任何终端配置。这才是它和"改MTU"本质上的区别。
换句话说,MTU是"把信写长一点",HyperFrames是"换一种运输方式",两者解决的问题不在一个层面上。
3. 藏在超帧方案里的三个硬骨头
思路很清楚,收益也很诱人,但工程落地时有一堆具体问题绕不过去。我按自己做技术方案评估时接触到的内容,梳理了三个最核心的难题。
3.1 时延与打包等待的矛盾
第一个问题是打包时延。超帧要凑够一定长度才发,如果线路速率不够高,等数据填满容器的过程就会产生可感知的时延。打包时延的公式很简单:T = 帧长 / 线速。
算一下:64KB超帧在800G线上,理论打包时延约5.2微秒;在100G线上,同样64KB就到了约42微秒。42微秒放在广域网里不算什么,因为传播时延动辄几十毫秒;但在数据中心内部,RDMA网络的端到端时延预算往往是几十微秒级别,多出这几十微秒就可能是质变。
业界给出的对策大致是三类:一是"定时清仓",给超帧设置一个最大等待时间,到点没装满也发出去,牺牲一点效率保时延;二是"快车道",保留一条低时延小帧通道给时延敏感流量,普通流量走超帧通道;三是"按需聚合",只对背靠背连续到达的突发做聚合,空闲时直接以小帧形式发送。实际方案多半是这三者的组合。这个权衡在标准讨论里特别热闹,因为不同场景的诉求差异很大——运营商喜欢大容器,HPC用户死磕时延。
3.2 前向纠错与超帧的互动
第二个绕不开的问题是FEC(前向纠错)。800G以太网在PHY层普遍使用RS(544,514)码,每544个10-bit符号组成一个码字,其中514个符号是数据,30个是校验,能纠正最多15个符号错误。每个码字折算成字节是680字节,这是物理层FEC处理和交织的基本单位。
超帧和FEC的关系在于对齐和切割。一个64KB的超帧会跨过大约96个FEC码字,如果超帧边界和码字边界不对齐,PCS层就要处理各种跨边界切割,deskew和gearbox的实现复杂度直接上升。更麻烦的是,如果超帧内部承载了多个子帧,而某个FEC码字恰好横跨两个子帧,一旦纠错失败,到底丢弃哪些子帧也需要精确定义。所以主流想法是让超帧长度做成FEC码字大小的整数倍,甚至让多个超帧组成一个"FEC超组"把边界强制对齐,这个设计在提案里几乎成了共识项。
另一个容易被忽略的点是FEC开销。RS(544,514)约5.8%的校验开销,在传统以太网里是固定的。如果用超帧把线路上的帧间隙和头部开销省下来,省出来的带宽完全可以用来上更强的FEC码,比如降低码率、提升纠错能力,这对高速光链路的意义很大。这也是超帧方案在光模块厂商那里有吸引力的原因之一——同样的线速下,纠错余量更大了。
3.3 报头、重组与错误隔离
第三个难题在接收端,也就是重组。一个1MB的超帧如果被切割成多个容器传输,接收端需要多大缓冲?以1.6T线速算,光是流水线里排队的数据就有好几MB量级的缓冲需求。传统交换芯片的buffer是按队列管理的,按超帧粒度管理buffer得改memory架构。而且重组必须处理乱序——不同通道之间虽然靠对齐标记纠正偏移,但遇到链路抖动,子帧到达顺序并不保证绝对一致。
错误隔离也是新问题。传统以太网一帧坏了就是一帧的事,FEC纠不了就扔一帧,丢包率按帧算。超帧一旦整体校验失败,里面装的所有子帧全得扔,丢包粒度瞬间放大。虽然概率很小,但对上层协议的影响不可忽视。所以一些设计里给每个子帧保留了独立的CRC,超帧头只做导向和完整性粗校验,这样即使容器坏了,高层也能拿到部分有效数据。
我自己的看法是,超帧能不能真正落地,很大程度上取决于这三个硬骨头处理到什么程度。时延可以靠调度策略缓解,FEC对齐靠标准化解决,但重组缓冲和错误隔离是实打实的芯片成本,这需要产业链一起想清楚。
4. 与FlexE、OTN赛跑:超帧的差异化定位
聊到超帧,一定有人问:FlexE不也能做灵活以太网吗?OTN不也在做映射和复用吗?为什么还需要HyperFrames?我在交流会上也听到类似的问题,这里把三者的关系一次讲清楚。
4.1 FlexE解不了帧效率的题
FlexE(Flexible Ethernet)解决的是"一个客户流量怎么塞进一组物理端口"的问题。它把100G物理接口的带宽按日历(calendar)切成固定时隙,比如100G切成20个5G时隙,多个FlexE client按需绑定若干个时隙,实现150G这种非标准速率在200G物理链路上的透明传输。它的价值在于物理层的灵活绑定和解耦,让MAC速率不再受限于PHY速率。
但注意,FlexE没有改变帧格式。每个时隙里搬运的仍然是传统以太网帧,64字节小包照样是84字节占线,逐帧处理照样存在。FlexE解决的是"怎么装",没解决"装得省不省"。而且FlexE的日历粒度是固定的,到了1.6T时代,时隙数量要么爆增,要么粒度变粗,扩展性本身也面临挑战。
打个比方,FlexE是调整集装箱船上的舱位划分,让不同客户的货都能上船;超帧则是把散货先打包成大集装箱再上船,两个事根本不冲突,甚至未来可以共存。
4.2 OTN是电路思维,超帧是包思维
OTN(光传送网)的思路和超帧有相似之处,都在做"高效封装、强健传输",但底层逻辑完全不同。OTN把各种业务映射进ODU容器,通过时分复用的方式固定调度,有强大的OAM、完善的FEC和明确的时延特性。它的优势是确定性和可运维性,运营商骨干网至今离不开它。但OTN本质上是电路思维:容器大小固定、带宽分配刚性,业务不装满容器就浪费了带宽,虽然可以通过packet-over-OTN做统计复用,但那就变成了"包进电路"的叠加。
超帧不一样,它保持的是以太网的统计复用精神:多个流的包共享同一个超帧容量,谁有数据谁就占,空闲带宽自然释放。这在突发型业务上效率远高于固定容器,而数据中心流量、AI训练流量恰恰都是这种特征。两者的关系更像是互补:OTN负责广覆盖和硬管道,超帧负责让以太网端口本身更高效。
4.3 一张表看清四种方案
用表格对比更直观:
| 对比维度 | 传统以太网 | HyperFrames | FlexE | OTN |
|---|---|---|---|---|
| 颗粒度 | 64~1518字节帧 | KB~MB级超帧 | 固定时隙 | 固定ODU容器 |
| 统计复用 | 天然支持 | 天然支持 | 支持但刚性分配 | 不支持(TDM) |
| 线路固定开销 | 高(小帧时) | 极低 | 不变 | 中 |
| 时延特性 | 低 | 需调度控制 | 低 | 确定性好 |
| 是否改变帧格式 | 否 | 是 | 否 | 不承载以太帧 |
| 标准化状态 | 成熟 | 讨论中 | IEEE已发布 | ITU-T成熟 |
| 典型场景 | 通用接入 | 1.6T+高速链路 | 灵活带宽绑定 | 骨干跨网传输 |
从这张表能看出来,HyperFrames的核心差异化在于:在保持统计复用和合理复杂度的同时,把线路效率和包处理压力一起解决掉。它不是要替代谁,而是补上了传统以太网在超高速率下的那块短板。
5. 产业链的立场与落地时间线
了解了技术原理,最后聊点实际的:这个东西到底会不会落地、什么时候落地、各方的真实利益是什么。
5.1 标准组织里的讨论现状
从目前公开的信息看,IEEE 802.3在推进1.6T以太网的过程中,已经在路线图层面讨论过帧格式的问题。主流观点是:第一代1.6T大概率沿用已有的MAC/PCS框架,靠增加通道数量(比如8×200G)和增强FEC来实现,因为这样变更风险最小、后向兼容最好。HyperFrames这种"多走一步"的改动,更可能在3.2T或者更后面的速率档被正式立项。
ITU-T SG15那边对超帧的兴趣主要来自光传送网融合的方向——如果把超帧做成一种标准化的以太网物理层封装,运营商就可以在IP和光层之间找到更平滑的中间格式。这类讨论目前还在酝酿阶段,但我了解到已经有研究机构和企业实验室在做原型验证。
标准化的节奏通常比技术本身慢三到五年,这也是为什么现在聊HyperFrames更像是在聊"方向"而不是"产品"。我自己判断,接下来两年能看到更多标准提案和仿真结果,真正可互通的实现要到2028年前后。
5.2 芯片、光模块、设备商各自的算盘
一项技术能不能落地,从来不是纯技术问题,而是各方利益能不能对齐。逐个看:
- 交换芯片厂商:超帧最大的诱惑是缓解包处理瓶颈,让他们可以用更少的流水线资源实现更高的端口速率,长期看省芯片面积、省功耗。但短期要改MAC和PCS设计、增加重组缓冲,研发投入不小。所以芯片厂商的态度通常是"愿意参与标准、谨慎做商用承诺"。
- 光模块和DSP厂商:超帧与FEC对齐的诉求直接影响DSP芯片的架构,如果在标准阶段能尽早定下来,他们就能在DSP里预留超帧模式。省下来的帧开销用于更强FEC这一点,对他们尤其有吸引力,高速光链路的误码余量一直是痛点。
- 云厂商和运营商:最终买单的是他们。云厂商看重的是成本每比特和包处理能力,运营商看重的是OAM和运维确定性。超帧如果能在不牺牲可运维性的前提下降低每比特成本,两边都会积极推动;反之,任何一个大买家态度冷淡,落地就会推迟。
我在和做数据中心网络的朋友聊的时候,大家的预期很一致:超帧不太可能一上来就全局替换,更现实的是先作为高端端口的可选模式,跑通了再逐步铺开。
5.3 我观察到的三条落地信号
最后分享几个我个人比较关注、也建议同行们留意的信号,它们能帮你判断这项技术是不是真的在靠近:
- 看交换芯片规格书。如果哪天主流厂商开始在新一代ASIC里宣传"superframe mode"或者类似的链路层聚合能力,说明芯片层面的准备已经开始了。
- 看标准立项。IEEE如果正式成立针对3.2T或"帧格式演进"的研究组,超帧就从热词变成工程项了。
- 看测试仪表。仪表厂商如果推出支持超帧封装解码的产品,说明市场上已经有了真实需求。
老实说,以太网历史上每一次帧格式层面的重大改动都极其谨慎,因为这关系到全互通这个命根子。HyperFrames能不能最终写入标准、以什么形态写入,还需要观察。但有一点我很确定:随着速率先冲到1.6T再往3.2T走,"逐小帧搬运"的模式迟早要改,超帧这个方向即便名字变了、形态变了,它指向的问题和解决思路都会被继承下来。
这篇文章写到这里,按惯例不该再说废话,但我还是想补一句实在话:超帧不是哪家厂商的炫技,也不是为了改而改,背后是一个非常朴素的工程逻辑——速率越高,固定开销的容忍度越低。这些年我做性能分析和容量规划,一个很深的体会是,很多问题的病根不在表层调优,而在基础格式和机制设计上。HyperFrames这种不起眼的底层革新,短期看不到收益,但很可能决定以太网能不能继续冲到3.2T甚至更远。如果你也在做高速网络相关的工作,建议从现在开始收集这个方向的公开材料,别等技术真到你眼前再动手研究,那就被动了。