交换机上的2.5G灯,为什么总是一秒闪一下
太阳作者太阳
原创内容采用 CC-4.0 协议发布,转载请注明出处
生活观察交换机网络

交换机上的2.5G灯,为什么总是一秒闪一下

最近看交换机时,我注意到一个挺不起眼的现象。

普通千兆口的灯闪得有些随意,网络忙起来以后,灯光也跟着密集,多少有点“正在干活”的样子。旁边的2.5G口却不是这样。无论正在传多少东西,它似乎都按照自己的节奏闪缩,大约一秒一次,不急也不慢。

一开始很容易把网口灯当成一个简单的流量表:传得少就慢慢闪,传得多就快速闪,跑满以后干脆常亮。可是观察2.5G端口一阵之后,这个解释就说不通了。它不太关心这一秒传了几兆还是几百兆,只是在告诉我:最近有数据经过。

网卡的“2.5G”和交换机灯的“闪得不一样”,其实是两套机制。前者解决数据怎样在网线中传输,后者只是把芯片检测到的网络活动变成肉眼可见的灯光。

2.5G怎样跑在普通网线上

2.5GBASE-T仍然使用常见的RJ45接口和四对双绞线。连接建立前,两端PHY先通过自动协商交换各自支持的速率和双工等能力,选出双方都支持的工作模式。Marvell的多速率PHY手册明确要求:1000BASE-T、2.5GBASE-T和5GBASE-T工作时需要启用自动协商,2.5G和5G还要交换对应的扩展能力信息。

协商完成不等于马上开始传数据。PHY还要进行线路训练,处理线对顺序、时延差异、衰减、回波和串扰等问题。真正工作时,四对线共同承担传输;在全双工链路上,同一线对上的发送和接收同时存在。PHY知道自己刚刚发送了什么,因此可以通过回波消除,从收到的混合信号里减去自己的发送信号。自适应均衡负责补偿网线造成的信号衰减,串扰消除则尽量分离线对之间的干扰。

千兆和2.5G采用的物理层处理也不一样。TI DP83865手册给出的1000BASE-T数据是:四个通道、PAM-5编码、每通道125 MBd。Marvell 88E2180/88E2110手册则列出了2.5GBASE-T发送链路中的扰码、LDPC编码、PAM-16映射和THP预编码,接收侧包含自适应均衡、完整回波消除、解码和解扰。

NBASE-T规范给出的线缆奈奎斯特带宽要求是:2.5GBASE-T约100 MHz,5GBASE-T约200 MHz;作为对照,10GBASE-T约400 MHz。2.5G不是把电压简单提高到千兆的2.5倍,而是使用不同的调制、编码和数字信号处理。标准面向符合链路条件的Cat5e或Cat6布线,距离可达100米;实际能否稳定建立2.5G链路,仍然取决于网线、接头、长度和现场干扰。

灯并没有追着数据包跑

网线里的数据变化非常快,交换机每秒可能处理大量数据包。如果让LED跟着每一次收发活动直接亮灭,人眼根本分辨不出来,最后看到的多半只是一片模糊的常亮。

网口灯一般由PHY或交换芯片中的LED控制器驱动。按照芯片配置,它可以表示链路是否建立、协商速率、发送活动、接收活动或双向活动,有些设备还会把错误、冲突或PoE状态映射到指示灯上。

所以,网口芯片通常会在中间加一层处理。PHY或MAC产生活动信号,LED控制器再把过短或过密的事件合并成人眼能看见的节奏。它并不是每收到一个数据包就闪一下,大致过程是:

收到或发送数据

PHY或MAC产生活动信号

LED控制器延长或合并脉冲

LED按照设定的时间亮灭

人眼看到一次闪烁

只要网络活动一直存在,灯就可以按照设定好的频率闪。流量增加以后,活动标记仍然只是“有”,不会变成“非常有”。

有些交换机采用的还是“常亮时闪灭”模式。链路建立后,灯平时亮着;检测到网络活动时,它会短暂熄灭,再恢复点亮。于是看上去不像普通的闪烁,更像灯每隔一秒缩了一下。

芯片里常见的做法有固定频率闪烁和脉冲延长。后者会把原本短到看不见的活动信号拉长几十或几百毫秒。以Microchip LAN7800为例,手册列出的固定闪烁频率有2.5、5、10和20 Hz,脉冲延长时间有50、100、200和400毫秒。TI的PHY手册也能看到类似配置,包括链路常亮并在收发时闪烁、只显示发送或接收活动,以及延长活动脉冲。具体使用哪一种、闪多快、是亮一下还是灭一下,最终由PHY芯片和交换机固件决定。

这里需要留一道边界:我观察到的“大约一秒一次”只是肉眼看到的节奏,并不是已经查到的硬件参数。公开手册可以证明网口灯会合并活动并按固定周期显示,却不能证明这台交换机正好设置成1 Hz。它也可能由交换机主控定时采样,或者把更密集的短脉冲合并成了看起来每秒一次的闪缩。要确认这一点,还得知道交换机型号以及内部使用的PHY。

为什么千兆灯和2.5G灯看起来不同

千兆口和2.5G口看起来截然不同,很可能只是因为它们使用了不同的PHY,或者厂家给两类端口设置了不同的LED模式。一些交换机的千兆PHY集成在主芯片里,2.5G端口则由另一颗外置PHY负责。两颗芯片对活动灯的默认处理不一样,最后就形成了两种完全不同的节奏。

不同颜色、不同闪烁频率、不同脉冲延长时间,都可能造成视觉差异。持续传输时,活动脉冲过于密集,某些灯会接近常亮;另一些灯仍由固定时钟驱动,看起来不紧不慢。同一个文件在2.5G链路上也会更早传完,于是还可能出现短时间持续活动,随后很快安静下来的情况。ARP、IPv6、组播和广播等后台流量,则会让空闲端口偶尔闪一下。

换句话说,一秒闪一次不是2.5G协议本身的特征。换一台交换机,2.5G灯可能快速闪,也可能在忙碌时接近常亮,还可能只用颜色表示连接速度。网口灯怎么表现,并没有统一到可以拿来判断流量大小的程度。

只是一个小观察

知道这些以后,再看那颗稳定闪缩的灯,感觉倒有点不一样了。网线里可能正忙得不可开交,面板上的灯却只负责每秒慢悠悠地回应一次:“还在传。”

这篇文章只是由日常观察引出的一点好奇,不作为网络性能或故障判断的参考。真要知道2.5G端口忙不忙,还是得看交换机的端口统计、实时速率,或者实际做一次传输测试。灯光只能说明近期有活动,不能告诉我们活动到底有多少。

参考资料