FIBERIOT / 基础知识
设备明明没有断网,为什么空闲一会儿后发出的第一个报文,可能比后续报文稍慢?其中一个需要核查的因素,是网口的节能待机。EEE是节能以太网的英文缩写,它让支持该机制的端口在没有业务时少做一些耗电工作,有新数据再恢复。这里的“休眠”并不等于关掉整台交换机。看懂它怎样醒来,才能判断节能与控制业务能否兼顾。

01没有业务,网口为什么还在耗电?
网线接通后,两端并不是只在发文件时才工作。网口需要编码、发送和接收电信号,并维持对端能够识别的连接状态。PHY是物理层收发电路,可以理解为把芯片里的数据变成网线上信号、再把信号收回来的部分。MAC则负责以太网帧的收发管理,帧就是网络一次传送的报文单元。二者分工不同,不能把整个端口当成一个简单开关。
普通工作状态下,即使应用没有发送有效数据,接口仍可能维持正常空闲信号和相关电路活动。EEE针对其中可以减少活动的环节设计低功耗状态。是否支持、哪些速率支持以及能关掉哪些电路,都取决于实际硬件和固件。本文以支持EEE的双绞线全双工链路说明机制,不把它泛化成所有光口或所有工业交换机的共同功能。
02两端先约定,不能单方面突然睡着
LPI是低功耗空闲的缩写,也就是EEE使用的待机机制。链路建立时,支持EEE的两端通过能力交换确认可使用的模式。只有本端菜单里勾选了节能,并不能证明它已经运行:对端不支持、当前速率不适用,或驱动没有启用,都可能让实际工作状态仍保持常醒。
可以把它比作两个人约定短暂休息:必须知道对方会怎样通知休息、怎样重新开始。这个类比只是帮助理解协同关系,实际通知发生在物理层的特定信号中,不是双方应用发送“我要睡觉”的聊天报文。全双工表示数据可双向同时传输;两个发送方向的状态也应分别理解,不能把某个方向空闲直接画成两端整机全部关机。
03待机不是完全沉默,刷新有什么作用?
当允许进入待机且没有需要发送的数据时,发送方向先发出进入低功耗空闲的指示,经过休眠过渡,再进入安静期。安静期间,部分收发功能降低活动,因而有机会减少耗电。接着会出现短暂刷新,再回到安静期。刷新帮助维持接收端所需的链路与同步条件,使对端知道这条连接仍按约定工作。
刷新信号不等于PLC上报的数据,也不表示有一条以太网业务帧被转发。抓包软件通常观察的是帧,不能仅因抓包窗口空白就推断物理层完全没有信号。正常EEE待机中,链路仍保持已建立状态;若端口不断UP、DOWN,要继续查接线、供电、驱动和兼容性,不能用“正在节能”一概解释。

04新报文来了,为什么不能马上发?
如果新的报文到达时发送方向还在待机,设备需要启动唤醒过程。相关电路恢复,接收端重新准备好识别正常信号后,才开始发送数据。报文在这段间隔中暂存于发送队列。队列可以理解为端口前的等候区,它保存数据,并不是让数据在网线上停下来。
因此,首次到达空闲端口的报文,可能比端口一直活跃时多等一个唤醒间隔。唤醒之后若数据连续到来,后续帧不一定逐帧重复经历完整休眠。实际等待取决于链路类型、实现与策略,不能给所有设备套一个固定微秒数。某些实现还会先积攒少量帧再发送,这类合并策略可能延长等待,也不能假定每台设备都采用。
05对工业控制意味着什么?
假设一台PLC周期性发送小报文,而上位机大部分时间没有业务。如果报文之间的空档使相关端口反复进入待机,那么每一轮恢复都可能改变到达时刻。这里是说明可能性,不是飞畅实测结果。连续上传文件看起来顺畅,也不能证明间歇性控制报文的时延要求已经满足,因为两种负载让端口经历的状态不同。
首包时延指空闲后第一个报文的等待情况;时延波动指不同报文到达时间变化的程度。对于只偶尔读取设备状态的业务,一点附加等待未必影响使用;对于时间要求严格的控制任务,则要和设备允许的周期、超时和误差一起核对。节能状态不等于丢包原因,也不意味着EEE必须全部关闭,关键是具体链路的测量证据。

06现场怎么查,怎样做公平的对照?
先记录交换机端口、对端网卡或控制器、固件与驱动版本、协商速率和EEE实际运行状态。界面的“支持”“启用”“已协商运行”是三回事,截图时不要混淆。若设备提供LPI进入次数、驻留时间或唤醒错误统计,可以和业务发生时间对照;没有这些统计时,也不能编造一个推算出的休眠次数。
在批准的维护窗口内,用同一端口、同一根线和同一业务负载,分别测试EEE开启与关闭。覆盖持续流量、空闲后首包、周期小报文和突发混合负载,多轮观察,不要只做一次ping。一次只改一个条件,记录最大等待、波动、应用超时、帧错误以及链路是否抖动。测量工具本身的时间精度和抓包位置也要写明,否则电脑调度延迟可能被误认为网口唤醒。
若关闭后改善,再恢复原设置重复测试,确认现象可复现,并查两端官方说明和版本兼容性。若仍然异常,应继续检查拥塞、CPU负载、应用调度和接线质量。端口镜像复制的时刻不一定就是线上首位发出的时刻,不能把普通抓包时间直接当成精确的PHY唤醒测量。
另一个常见误区是把EEE与整机远程唤醒混为一谈。电脑关机后由特定报文启动的远程唤醒、网线拔掉后的端口节能,以及链路保持接通时的低功耗空闲,涉及不同状态和控制方法。产品界面笼统写“绿色以太网”,也可能包含多种策略。核对说明书中的具体名称、适用端口和触发条件,才能知道测试中究竟改变了什么。
07选型和交付:把支持范围写清楚
飞畅技术中心提供工业交换机及光纤收发器相关资料,选型时可以从真实产品的接口、速率和网管能力出发,再逐项确认EEE是否支持、能否关闭以及状态如何查看。本文所链接产品用于查阅实际产品资料,不据此宣称该型号具有EEE功能。采购文件只写“工业级”“低功耗”,仍不足以说明控制链路在待机后的时延表现。
交付记录应保留拓扑、两端型号版本、每个相关端口的EEE设置、测试负载和验收结果。后续更换网卡或升级固件后再复核,因为原先的协商组合可能改变。理解这项技术不需要背公式:它的核心是空闲时降低部分电路活动、通过刷新保持约定、有数据时先唤醒再发送。把这段等待放进实际业务验收,就能作出有依据的选择。
对于无法提供EEE状态或关闭入口的设备,可以向厂家确认,再决定是否适合时间敏感的链路。不能通过强制另一种速率来冒充关闭EEE,因为速率本身会改变发送时间和协商条件,使对照失去公平性。保留原配置,并将经过验证的选项写进交付文档,比凭菜单名称猜测更可靠。
参考资料:Microchip AN2637: EEE与链路状态;Microchip VSC7420资料: LPI、刷新和唤醒状态;Cisco: EEE协商与时延;EEE帧合并研究;EEE网络时延研究;飞畅工业交换机产品资料。通用机制原理图,非产品内部实物或实测。文中未给具体飞畅型号宣称EEE功能。


