1、背景介绍
之前写过盛科工业交换机如何查看端口计数,见这里:https://felven.blog.csdn.net/article/details/155679041
目前在使用过程中发现一个问题,交换机连接设备的示意图如下:

当前使用28路光网,1路电网。28路光网接收数据,电网对外发送数据。
28路光网接收数据类型如下:
1、数据报文类型1 28个设备,每个设备发3包数据(UDP组播),每包大小7KB,3秒发送一次 (1.568Mbps)
2、数据报文类型2 20个设备 每个设备发3包数据(UDP组播),每包大小12KB,5秒发送一次 (1.152Mbps)
3、数据报文类型3 20个设备 每个设备发6包数据(UDP组播) 每包大小36KB,200ms发送一次 (172.8Mbps)
此时发现接收端上位机存在丢包现象
2、问题排查
首先怀疑点是RJ45性能不够,采用光网(29或者30端口)接收数据发现依然丢包。
其次降低设备数据,采用上位机软件进行控制,交换机只连接两个数据发送设备,让两个设备同时发送UDP组播包,此时针对端口28,29,30进行抓包,截图如下:

从上图可以看到28,29,30端口连接的设备收到的UDP组播数据包个数都不一致。
因为组播地址是固定的230.3.10.3,于是排查为何28,29,30端口数目不一致
在交换机端输入 show interface | include CRC后结果如下:

输入 show qos int eth-0-31 statistics queue 结果如下:

发现端口有丢包情况。
可以断定为交换机端处理能力不够,导致丢包。
3、问题解决
输入以下命令调整队列次数可以解决上述问题,配置这个命令后,组播和单播共用一个buffer池,发生丢包的原因也是瞬时的流量大,组播buffer不够用了
bash
conf t
qos queue-mode 8-queue
end

再输入wr后重启生效
deepseek对该命令解释如下:
您提到的 qos queue-mode 8-queue 配置命令是盛科(Centec)交换机上用于启用或切换QoS队列模式的重要指令。它的核心作用是通过更精细的流量队列管理,优化网络流量转发,从而解决或缓解因拥塞导致的网络丢包问题。
下面为您详细解释其作用、原理和典型应用场景:
一、命令解析
· conf t: 进入全局配置模式。
· qos queue-mode 8-queue: 将交换机的服务质量队列模式设置为 8队列模式。
· end: 退出配置模式并保存。
二、核心作用:如何解决网络丢包问题?
网络丢包的主要原因之一是出口拥塞。当多个数据流同时涌向同一个出口端口,而该端口的发送能力(带宽)有限时,就会在端口的出方向缓冲区(队列)产生拥塞。如果没有良好的队列管理,数据包会被无差别地丢弃(尾丢弃)。
启用8队列模式的作用在于:
- 提供更精细的分类与优先级:
· 默认模式下,交换机可能只支持少数几个队列(如2或4个)。升级到8队列意味着您可以将流量更精细地划分成最多8个不同的优先级类别。
· 您可以通过配置,将关键业务(如语音、视频会议、ERP系统流量)映射到高优先级队列,将普通网页浏览、文件下载等映射到低优先级队列。
- 实现差异化调度:
· 交换机在处理拥塞时,会优先发送高优先级队列中的数据包。
· 即使出口链路拥塞,高优先级队列的流量也能得到优先处理和转发,从而显著降低其丢包率和延迟。
· 低优先级的流量则可能在拥塞时承受更多的延迟和丢包,但这正是"服务质量"的体现------牺牲非关键流量,保障关键业务。
- 支持更先进的队列调度算法:
· 8队列模式通常与加权循环调度(WRR)、严格优先级调度(SP) 或两者结合的 SP+WRR 等算法配合使用。
· SP: 绝对保证最高优先级队列先被发送完,再发送下一个队列。
· WRR: 为每个队列分配一个权重,按权重比例分配带宽,避免低优先级队列"饿死"。
· 通过合理配置调度算法,可以在保障关键业务的同时,让非关键业务也能公平地分享剩余带宽。
三、解决问题的典型场景
- 语音/视频会议卡顿、断线:
· 问题: 当网络中有大文件下载或备份时,语音视频质量下降。
· 解决: 将语音(如SIP/RTP)和视频会议流量标记并放入最高优先级队列。即使链路繁忙,这些实时流量也会优先通过,保证通话流畅。
- 核心业务系统访问慢:
· 问题: 在生产网络中,数据库访问、ERP/SAP操作等关键业务响应缓慢。
· 解决: 将这些服务器的流量标识为高优先级,确保其转发待遇,降低业务操作延迟。
- 网络拥塞时的不公平丢包:
· 问题: 所有流量平等竞争,一旦拥塞,重要数据可能和无关数据一起被丢。
· 解决: 通过8队列实现"分层"服务,为不同应用设定不同的"服务水平协议(SLA)"