您好,欢迎访问飞畅科技官网!
服务热线:+086 0571-87007055/56/57 EN
飞畅科技工业通信技术中心

光通信与工业互联网方案专家

EXPERT IN OPTICAL COMMUNICATION & INDUSTRIAL INTERNET SOLUTIONS

试试:
型号找产品,需求找方案

联系我们CONTACT US

全国咨询热线

0571-87007055/56/57/75

市场部直线电话:0571-87007140

手机:15306818230(微信)

QQ :2355416925

定制设计:18072828031(微信)

或给我们留言

在线留言

以太网帧之间为什么要留空隙?前导码与帧间隔科普

浏览次数:飞畅科技原创作者:飞畅科技技术团队

FIBERIOT / 基础知识

网口显示百兆或千兆,并不表示它会把用户数据一刻不停地铺满线路。以太网在每次发送前有帮助识别开头的信号,相邻帧之间还要留下规定的间隔。这些安排不是故障,也不是随手添加的空白。看懂它们,才能解释小数据包为什么也会占用链路、抓包长度为什么不等于全部线路开销。

前导码和SFD位于MAC帧之前,MAC帧从目的MAC到FCS
图1:字段与信号位置示意,未画VLAN标签、非等比例,非芯片电路或实测波形。

01先把一段通信分成三个部分

PLC发送一条状态消息时,消息会被装进以太网帧。帧可以理解为带着收发地址和校验信息的数据包裹。网口发送时,还需要处理这个包裹从哪里开始、结束后何时允许下一个开始;业务内容、帧结构和线路上的发送过程,因而不是同一个统计范围。

本文以常见百兆全双工以太网的概念说明为主。全双工表示两端可以同时向对方发送,双向各有自己的发送过程,不需要沿用老式共享介质网络中“先抢线再避碰”的解释。这里讨论的间隔,也不是为了让两个方向轮流说话。

可以把一次发送想成一段有开场提示的广播:先让接收侧明确即将读到数据,再给出内容,结束后按规则衔接下一段。但这个类比只帮助理解边界;真实网口处理的是电或光信号及编码,不是真的有人停下来喘气。

02前导码与SFD:让接收侧认出开头

常见MAC发送表示中,帧前有七字节前导码和一字节帧开始定界符,后者常写作SFD。字节是八个二进制位组成的单位。前导码具有有规律的变化,SFD则指出接下来进入帧内容的边界。两者一起帮助接收过程识别并对齐开头。

随后才是目的MAC、源MAC等字段,之后是数据与必要填充,末尾有帧校验序列FCS。目的和源地址帮助确定数据往哪里去、来自哪里;FCS用于检错。开场识别与数据检错承担不同任务,不能把前导码当成另一份校验,也不能把SFD当成应用数据。

现代PHY,也就是处理物理收发与编码的电路,在链路连接期间可能一直工作。因此不应把前导码简单说成“每发一帧就重新给整个网口上电”。不同速率和物理接口的编码处理还有细节,示意图展示的是便于理解的发送层次,不是所有线缆上都能直接看到的原样字节。

03帧间隔在哪里,为什么不是填充字节

一帧结束后,到下一次发送前导码之前,需要遵守相应的帧间隔规则。IFG和IPG常用于描述这个概念。在本文的常见百兆MAC发送场景中,可按至少九十六个比特时间理解。比特时间表示该速率下发送一个二进制位所用的时间,不是固定九十六纳秒。

所谓间隔,是发送时序中的一段位置,不是往帧的数据区塞进十二个零字节。填充位于帧内部,用于满足相应帧长要求;帧间隔位于相邻发送之间。若把二者混在一起,就会误读抓包长度,还可能误以为应用收到了额外数据。

同样,间隔不是把发送器关闭。某些物理层会继续传送空闲码组来维持正常链路状态。百兆链路的示例就能看到这种区别:没有正在发送的业务帧,不等于线路上完全没有信号,更不等于网口进入了节能休眠。

FCS结束与下一次前导码之间的IFG以及PHY空闲码组
图2:按常见百兆全双工场景示意;帧间隔不是零填充、断线或节能休眠。

04抓包看不到,不代表没有占用线路时间

普通电脑抓包通常由网卡和驱动把接收到的帧交给软件。前导码、SFD以及帧间隔,往往不会作为普通帧字段展示;某些抓包路径还会去掉FCS。软件看到的内容,已经经过了硬件处理,不能直接当成线路上全部发送过程的照片。

因此比较长度时,先确认仪器显示的是应用载荷、二层帧还是包含某些线路开销的统计。抓包时间戳也可能受驱动、缓冲和记录位置影响。两帧时间戳相减,不能不加核对就当作PHY引脚处的精确帧间隔。

需要做严格时序验证时,应选能够覆盖相应观察点的测试设备,并核对校准、计数范围和测试方法。没有这样的证据,就把结论限定为“应用侧观察到的间隔”,不要把软件截图包装成物理层实测。

05为什么许多小帧会反复支付开场开销

不论载荷多大,每次独立发送都要处理相应的起始和衔接。想象两种同样持续发送的业务:一种频繁送出小包裹,另一种每次装入更多内容。前者会更频繁地重复开场及帧边界开销,所以“端口线速”与“每秒有效业务数据”不会天然相等。

这不是建议把所有工业控制数据攒成大帧。控制消息可能有自己的时限,等待凑包反而让新数据迟到;较大的帧还会占用更长的一次发送时间。选网络时应看真实业务的帧长分布、发送频率和允许时延,而不是单凭一个最大吞吐数字。

吞吐测试若没有写明帧长、方向、负载、丢失情况与统计口径,很难与另一次测试公平比较。本文的长短帧图只说明开销怎样重复,不是某款飞畅交换机的性能测试,也不提供可套用到所有链路的效率百分比。

短帧与长帧重复起始开销的比较及交换机出口排队
图3:仅解释统计范围与开销,非测量数据;排队时间与最小帧间隔不同。

06帧间隔、排队与暂停帧不是一回事

工业交换机从入口收到数据后,还要判断出口并安排发送。如果多个入口同时把数据送往同一个出口,尚未轮到的数据可能在缓冲区等待。这段排队时间,和出口按发送规则保留的帧间隔不同。应用看到的较长停顿,可能包含两者以及其他处理过程。

暂停帧又是另一种机制:相邻设备可以按所支持的流控方式请求暂缓发送。它不是每个帧间隔都会出现的报文。也不能看到两个帧之间距离变大,就断定发生了流控;需要核对相关计数器、实际报文、端口队列和负载变化。

对交换路径要逐段理解。入口与出口可能速率不同,也可能在不同时间发送;输出侧需要遵守自己的发送规则,不能假定把入口看到的空隙原封不动地搬到另一根线。具体转发方式、时延与计数能力应看真实设备说明。

07怎样把这些原理用到现场检查

先核对端口实际协商的速率与双工状态,再记录测试仪或网卡的统计口径。需要比较小帧业务时,固定相同的帧长与发送负载,同时观察丢包、错误计数和应用响应。把“线速正常”“二层转发合格”“控制程序及时收到”作为不同证据保存。

飞畅官网提供工业交换机和光通信设备。针对具体项目,应核实所选型号的端口能力、转发方式、缓存与管理可见性;没有公开依据的能力,不从产品名称推断。普通网口不能因为改了某个驱动选项,就被当成经过校准的帧间隔分析仪。

百兆的解释也不能不加区分地套到所有高速以太网。更高速接口涉及不同的编码、对齐及空闲控制机制;在某些实现中,某一位置看到的单次间隔与平均规则还需分别理解。遇到严格一致性测试,应使用对应速率的规范和产品资料,而不是凭本篇简图修改底层寄存器。

最后回到三个简单问题:开头由谁识别,帧内装了什么,下一帧何时开始?先把范围分清,再讨论吞吐和延迟。正常间隔不需要被“消灭”,异常等待也不能只用“以太网本来有空隙”一句话解释过去。

资料来源与说明

Cisco:Ethernet帧格式与排障;Microchip:发送模块与帧间隔;IEEE 802.3工作组历史讨论:高速接口间隔与对齐。核对日期2026-10-19。本文为通用科普,历史讨论不替代当前完整标准;图为AI辅助原创示意,具体设备依型号资料。

现场常见问题

帧间隔是不是往数据里加零?

不是。填充属于帧内部,帧间隔位于一帧结束与下一次前导码之间,不能把它当成载荷字节。物理层在这段时间仍可能发送空闲码组。

抓包里看不到前导码,是否说明设备没有发送?

不能这样判断。普通网卡和驱动通常不会把全部线路起始信号交给抓包软件,某些路径还会去掉FCS。先确认观察点和长度口径。

两个帧之间停得久,是帧间隔故障吗?

不一定。排队、应用生成节奏、流控和记录位置等都会影响观察到的时间。先核对负载、计数器和测试方法,不用一个截图推断物理层违规。

适用边界与延伸阅读

本文为通用以太网帧边界科普与假设例子,非产品实测或统一一致性测试。

VLAN原理与边界;CRC、FCS与坏帧定位