CH398详解:国产USB千兆以太网控制器,可替代RTL8153方案,硬件广播风暴抑制实测
简介
CH398 是沁恒微电子推出的 USB 3.0 转千兆以太网控制器,支持作为 Realtek RTL8153 系列方案的国产替代选型,具备 Pin-to-Pin 引脚兼容设计,可最大程度复用原有 RTL8153 硬件电路,无需修改 PCB Layout 即可完成方案迁移。 芯片内置自研 RISC-V 处理器,集成 USB 3.2 Gen1 及 10/100/1000M 自适应以太网 PHY,面向工控、嵌入式、扩展坞、NAS、主板卡等需要稳定高速网络接入的场景。
本文重点验证 CH398 的硬件广播风暴抑制功能——芯片在 MAC 层实时监控广播/组播帧速率,超过阈值后自动屏蔽,风暴结束后自动恢复。

1. 什么是广播风暴
1.1 广播帧与广播风暴
以太网中,目标 MAC 为 ff:ff:ff:ff:ff:ff 的帧称为广播帧。交换机收到广播帧后会转发到同一广播域内的所有端口——这是 ARP、DHCP 等基础协议的正常工作机制。
但当广播帧速率失控时,正常机制变成灾难。三个常见诱因:
- 网络环路:交换机之间误接成环,没配 STP。一个广播帧在环里无限循环、指数级复制
- 设备故障:网卡或交换机端口异常,持续发出畸形广播帧
- 恶意攻击:伪造源地址大量发送广播帧
结果都一样——广播帧填满整个广播域,每台机器都在疯狂收包、处理、丢弃。
1.2 没有抑制的后果
普通网卡对广播帧没有筛选能力——来者不拒。风暴发生时:
- CPU 被每包一次的中断淹没
- 协议栈逐包处理再丢弃,纯浪费
- 正常业务流量被挤占,丢包、超时
风暴不停,CPU 就一直被中断占着。嵌入式设备——尤其散热较差的工况环境下——CPU 100% 满载可能导致过热关机。
2. 硬件抑制 vs 软件抑制
解决广播风暴有两种路线:软件层过滤和硬件层屏蔽。
| 维度 | 软件抑制(协议栈/驱动过滤) | 硬件抑制(CH398) |
|---|---|---|
| 过滤位置 | 驱动或协议栈 | 芯片层 |
| CPU 参与 | 每包仍需中断 + 软件判断后丢弃 | 零参与 |
| 风暴中 CPU | 中断频率不降,只是丢弃更快 | 中断不发生 |
| 风暴中业务 | 与广播帧争抢 CPU,业务受影响 | 完全不受影响 |
| 生效方式 | 依赖驱动配置,可被绕过 | 芯片级屏蔽,不可绕过 |
软件抑制只是在最后一环把帧丢掉——中断已经发生了,CPU 已经出动了。硬件抑制是直接在源头切断——帧不到协议栈,CPU 根本不知道有风暴。
CH398 的做法:抑制功能开启后,硬件层持续监控广播/组播帧速率,超过阈值后芯片直接屏蔽接收。风暴结束后自动恢复。全程不经过驱动、不经过协议栈、不消耗 CPU。
3. 怎么配置
通过沁恒网卡配置工具(USB_NetConfigTool)设置,界面化操作:
- 安装厂商驱动:Nanjing Qinheng Microelectronics Co., Ltd.
- 获取配置工具(从 WCH FAE 获取)
- 打开工具 → 选中 CH398 → 打开设备 → 读取配置 → 勾选"启用广播多播包抑制" → 设置阈值 → 写入配置 → 关闭设备 → 重新插拔(上下电CH398)生效

抑制阈值由一个 32 位寄存器控制。以每秒 1000 个广播帧为例,配置值为 A1 0F 00 00(小端)。寄存器位域详见文末附注。
4. 实测验证
测试拓扑:Windows 11 + CH398(厂商驱动)← 网线 → Windows 10(XCAP发包)。对端以约 19000 pps 速率灌广播帧,本机 Wireshark 抓 CH398 网卡观察,拓扑图如下:

4.1 无抑制:广播帧全量涌入
取消勾选"启用广播多播包抑制",则 CH398 不做任何过滤。发包工具配置如下:

- 目标 MAC
ff:ff:ff:ff:ff:ff - 发送间隔 1 ms,速率约 19000 pps
Wireshark 可见所有广播帧如洪水涌入,CH398 无一过滤——这就是普通网卡面对广播风暴的真实状态:

4.2 有抑制:广播帧直接消失
参考第3节部分,写入阈值配置(1000 pps),以相同速率发包:

| 阶段 | 发包速率 | 预期 | 实测 |
|---|---|---|---|
| 低于阈值 | < 1000 pps | 广播帧全部可见 | 正常接收 |
| 超过阈值(1000 pps) | ~19000 pps | 广播帧消失 | 流量直接禁止,广播帧全部清除 |
从19000 pps灌入到Wireshark接收1000帧数据后停止——对比 4.1 节的洪水画面,硬件抑制的效果一帧即见。风暴停止后广播接收自动恢复。
4.3 业务流量:完全不受影响
抑制生效后,在 CH398 上同时跑正常业务:

| 测试项 | 无风暴 | 风暴中(抑制生效) | 风暴停止后 |
|---|---|---|---|
| ping RTT | 1 ms | 1 ms | 1 ms |
| iperf3 TCP 吞吐量 | 922 / 927 Mbps | 922 / 927 Mbps | 922 / 927 Mbps |
| CPU 使用率 | 正常 | 无额外开销 | 正常 |
ping 不丢包、iperf3 不降速、CPU 不波动——广播帧由硬件直接屏蔽,对业务流量完全透明。
如果换成软件抑制,同样的风暴场景下,每秒 19000 次中断会持续触发,CPU 有效算力被中断处理吃掉,iperf3 必然降速。
5. 适用场景
- 工控机 / 户外设备:网络环境不可控,环路风险高,无人值守不能靠人工拔线恢复
- 嵌入式网关:CPU 资源紧张,经不起广播风暴冲击,软件抑制不够用
- 酒店/商显终端:公共网络环境,恶意广播攻击防护
6. 小结
通过实测,CH398 的广播风暴抑制功能能够在芯片硬件层快速限制异常广播流量,使广播风暴无法影响上层协议栈和应用业务。在持续高频广播冲击下,正常网络通信保持稳定,验证了 CH398 在工业控制和嵌入式场景中的网络可靠性优势。
附注:抑制阈值寄存器
32 位寄存器各 bit 含义:
位域 说明 bit[31:30] 保留 bit[29:16] 多播包阈值(14 位) bit[15:2] 广播包阈值(14 位) bit[1] 使能多播数量检测 bit[0] 使能广播数量检测 默认值
00000000= 关闭所有抑制。1000 pps 阈值计算:
0000 0000 0000 0000 0000 1111 1010 0001=0x00000FA1,小端写入
A1 0F 00 00。
相关资料
- CH398 中文技术手册:Nanjing Qinheng Microelectronics Co., Ltd.
- 设计参考包:Nanjing Qinheng Microelectronics Co., Ltd.
- Windows 驱动:Nanjing Qinheng Microelectronics Co., Ltd.

浙公网安备 33010602011771号