您好,欢迎访问飞畅科技官网!
服务热线:+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 / 故障排查

监控曲线显示端口平均利用率不高,机器视觉图像却偶尔缺帧,PLC响应也会突然变慢。这类现象可能来自微突发:几个设备在很短时间内集中向同一个出口发送数据,交换机来不及立即发送,只能暂存;缓存不足时便可能丢弃。下面沿着帧进入、排队、调度与发送的路径解释原因,并区分通用机制、计算示例与飞畅产品的实际功能。

原理图可点击查看原图;手机端可横向滑动查看清晰标注。

两路千兆输入汇入一个千兆出口并在有限缓存排队的交换机剖视图
图1:出口争用发生在多路流量指向同一端口时;图中设备、内部路径与速率均为通用机制示意。

01一、为什么几个千兆口会争用一个出口

交换机收到以太网帧后,按相应转发表和策略确定出口。多个入口可以同时接收,但一个普通物理出口在同一发送方向上,仍按线路速率串行发送帧。两台相机同时把图像交给同一台分析服务器时,即使每个连接都协商为千兆,两路流量也可能争用服务器所在的一个千兆口。入口数量并不会自动扩大这个出口的容量。

缓存是交换机暂存帧数据的空间,队列是等待发送的数据及其管理关系,两者不能简单画等号。芯片可能采用共享缓存、端口配额和多个业务队列;分配方式决定某出口当时能使用多少资源。商品资料中的整机缓存数值,不代表每个端口都独占同样的空间,也不能直接推导某业务能够等待多久。

本文关注出口负载突然超过服务能力的情形,与环路导致持续复制报文不同,也与帧在铜缆上受干扰而校验失败不同。先确定拥塞位置及流量方向,才能避免把所有丢包都归结为线材或交换机故障。

原理图可点击查看原图;手机端可横向滑动查看清晰标注。

一毫秒双倍输入形成125千字节积压及队列排空的示例曲线
图2:在忽略链路开销且缓存足够的例子中,短时积压与长时间平均值可以同时成立,数字不是飞畅实测。

02二、微突发为什么会躲过平均利用率

平均速率是统计窗口内传送的位数除以时间。若窗口是一秒,一毫秒的集中发送会被剩余空闲时间摊薄;窗口越长,越容易掩盖峰值。相机曝光触发、文件块上传和多个设备同时上报,都可能使业务在时间上聚集。所谓微突发并没有适用于所有设备的唯一持续时间阈值,关键在于瞬时到达超过出口可服务的速率。

用一个理想例子计算:两个入口合计以2 Gbit/s持续输入1 ms,出口能以1 Gbit/s发送,起初队列为空。差额为1 Gbit/s,积压量是差额乘时间再除以8,即125000字节,约125 kB。输入停止后,以1 Gbit/s排空这些积压还需约1 ms。图中的三角形队列曲线要求缓存足够,并忽略前导码、帧间隔和其他流量。

如果这一秒只出现这一次突发,进入的数据量为250 kB,平均输入仅约2 Mbit/s;但那一毫秒内仍需要缓存吸收125 kB。若可用配额小于需要量,丢弃会提前出现,实际占用曲线也会被容量上限截断。因此低平均值不能证明没有瞬时拥塞,更不能证明出口没有丢弃。

03三、缓存解决暂存,也会增加等待

帧排在出口队列里,必须等前面的工作完成才能上线路。把排队字节数乘8再除以出口速率,可得到简单的服务时间估算;实际还受帧边界、链路开销和调度规则影响。缓存增大能够容纳更长的短时突发,却也可能让帧等得更久。若长期输入大于输出,任何有限缓存最终都会用满,增加缓存不能消除持续的容量缺口。

缓存资源耗尽后的处理取决于实现与策略。常见尾部丢弃是在队列已满时拒绝新到达的帧,也可能存在其他阈值、优先级或提前丢弃机制。不能把一种芯片的策略当作所有工业交换机的默认行为。TCP可能通过确认和重传恢复数据,但应用仍会经历额外等待;UDP及某些实时业务则须由协议自身处理丢失或超时。

链路层流量控制也有边界。它是否启用、对端是否响应、作用于哪些流量以及会不会把堵塞扩展到其他业务,都需要确认。控制网络不能仅靠“打开流控”代替容量设计,更不能在没有验证的情况下认为暂停报文会自动保证PLC时限。

原理图可点击查看原图;手机端可横向滑动查看清晰标注。

非抢占QoS调度中控制帧等待当前普通帧发送完成的时间线
图3:高优先级影响下一帧的选择,不能自动打断正在发送的帧;是否支持帧抢占须另查型号能力。

04四、QoS为什么不是零延迟保证

QoS通常先按端口、802.1p或IP DSCP等条件分类,再映射到内部队列,最后由调度器选择下一帧。标记值只是分类信息;如果沿途没有相应映射和调度策略,报文上带优先级也不等于得到优先服务。严格优先与加权调度有不同公平性,具体算法、队列数及限速方式都要查对应型号和固件。

普通非抢占发送中,控制短帧到达高优先级队列时,出口可能已经开始发送一帧普通数据。调度器通常要等当前帧完成,再选择控制帧。以1518字节帧和100 Mbit/s出口为例,帧本身串行发送约需121.44 μs,尚未加入前导码和帧间隔;在1 Gbit/s时这一部分约为12.144 μs。两者都是计算示例,不是设备承诺的时延。

专门的以太网帧抢占需要相应功能、配置与对端配合,不能从“支持QoS”推断存在。即使选择高优先级,控制流量自身仍可能竞争,其他环节也会引入等待。确定性设计应从业务的最大允许时延和峰值负载出发,逐段验证,而不是给所有报文都设置最高优先级。

05五、怎样把拥塞与物理错误分开

先保存端口速率、双工状态、输入输出字节计数、丢弃计数与CRC或FCS错误计数,并明确各计数器的方向、单位和更新时间。输出丢弃增长常提示出口资源或策略问题;CRC错误更应关注接收链路完整性。它们可以同时存在,不能仅凭一个计数就排除全部其他原因。结合应用缺帧或超时发生的时刻建立时间线。

提高观测时间分辨率,并在设备支持时观察队列占用、峰值或丢弃分类。若不支持这些指标,可在实验环境中用可控流量分别触发单源发送、双源同步发送与错峰发送,比较同一个出口的计数增量和应用响应。镜像抓包自身也受镜像口容量限制,不能把镜像路径的丢失直接认定为业务出口丢失。

06六、针对飞畅设备怎样做可执行验收

飞畅官网的管理型工业轨式万兆4光千兆8电三层交换机资料列明存储转发、802.1p与DSCP优先级队列管理以及端口统计等功能,可以作为设计与验收的产品对象。这里引用的是页面明确说明的能力;不据此宣称它支持某种微突发监测、帧抢占,或给每端口分配了特定容量。具体配置与统计项须由对应说明书及固件核对。

先检查真实瓶颈端口,再评估提高出口容量、减少上游瞬时速率、错开发送和合理队列调度。增加链路聚合也不保证一条业务流同时使用所有成员口,需要核对散列与流量分布。修正后重复同一组峰值测试,记录丢弃、等待、业务完整性和恢复结果;在控制容许的边界内证明改进,才能把低平均利用率下的偶发故障真正解释清楚。

参考资料:Cisco微突发机制说明;飞畅对应工业交换机资料。原理图为原创示意,非产品内部实拍或实测。