上行带宽瓶颈的诊断、SQM 调度与双链路上行实战

1 背景:上行带宽的技术现状

1.1 上下行参数对比

|-----------------------|----------------|--------------|-------|------------------------------|
| 接入类型 | 下行典型 | 上行典型 | 上下行比 | 依据 |
| 国内千兆家宽(主流套餐) | 1000 Mbps | 30-50 Mbps | ≈20:1 | YD/T 3328-2023 合规下限30M |
| 国内千兆家宽(高端融合) | 1000-2000 Mbps | 100-200 Mbps | ≈10:1 | 运营商可选提速包 |
| 全球固网平均(Ookla 2025-12) | 118.59 Mbps | 59.45 Mbps | ≈2:1 | Ookla Speedtest Global Index |
| 企业专线(上下行对等) | 按需 | 与下行对等 | 1:1 | 运营商政企产品 |
| 5G CPE(城市实测) | 300-500 Mbps | 80-100 Mbps | ≈4:1 | 5G NSA/SA 实测 |

YD/T 3328-2023《公众固定宽带接入业务上下行速率配置要求》只要求签约下行超过 150Mbps 时上行达到 30Mbps 即合规。

1.2 2026年上行提速动向

今年上行开始被行业主动摆上台面,几个关键节点:

|------------|-------------------|---------------------------------|
| 时间 | 事件 | 上行变化 |
| 2026年1月 | 工信部启动宽带升级专项 | 推动双千兆向5G-A+万兆光网演进 |
| 2026年6月 | 新疆移动公告:千兆用户上行免费提速 | 上行 80M→100M,2000M用户 150M→200M |
| 2026年7月 | 杭州移动启动5G-A超级上行 | 单用户上行峰值超1Gbps,覆盖1250万用户 |
| 2026年8月11日 | 广州万兆智播直播基地挂牌 | 室内上行 1000M,户外 5G-A 智播卡上行峰值 500M |

2 上行需求测算

先列场景需求,再对号入座:

|------------------|------------|---------------------------|
| 场景 | 上行需求 | 说明 |
| 1080P监控摄像头(单路) | 2-4 Mbps | H.264编码 4M/路、H.265编码 2M/路 |
| 4路监控同时回传 | 约 12 Mbps | 小店、自建房、仓库常见配置 |
| 1080p60 直播推流 | 12-20 Mbps | 含网络抖动冗余,码率≤实测上行75% |
| 视频会议(1080P+共享屏幕) | 4 Mbps 起 | 多人会议室建议预留 10-20 Mbps |
| NAS 远程看 4K 原盘 | 25 Mbps+ | 出门在外从家里直调4K影片 |
| 云备份/云相册同步 | 吃满为止 | 充电即自动上传,可占满整条上行 |

对号入座:4 路监控 12Mbps + 1080P 视频会议 4-8Mbps + 手机自动云备份吃满=主流 50Mbps 上行见底。

3 诊断实战

很多网慢误判是路由器问题,其实是上行被吃满。

三个工具按顺序上:

3.1 speedtest-cli 测速

speedtest 测速最常用两个入口:Ookla 官方二进制和社区维护的 Python 版 speedtest-cli。关键都是不要只盯着下载数字。

bash 复制代码
# 安装(任选其一)
pip install speedtest-cli        # 社区 Python 版(sivel/speedtest-cli)
# 或到 speedtest.net/apps 下载 Ookla 官方二进制

# 关键是看 Upload 那栏
$ speedtest-cli --simple
Ping:        12.3 ms
Download:    934.5 Mbit/s     # 千兆达成
Upload:      46.2 Mbit/s      # 真正干活的带宽 ← 这一栏才关键

# 想测指定节点(例如对比晚高峰和清晨):
speedtest-cli --server 4719 --simple  # 4719 为某 IDC 节点ID

# 想做定时回测,把结果写日志:
while true; do
  speedtest-cli --simple >> /tmp/uplink.log
  echo "---" >> /tmp/uplink.log
  sleep 3600
done

3.2 iperf3 测速

speedtest 走运营商最近的 CDN;想测真实端到端上行带宽,用 iperf3:

bash 复制代码
# 服务端(任意一台有公网IP或同内网的Linux机器)
iperf3 -s

# 客户端默认方向即上行(client→server)
# -P 4  四条并行流取总和,更接近真实多任务并发
# -t 10 测10秒
$ iperf3 -c 192.168.1.100 -P 4 -t 10
[ ID] Interval           Transfer     Bitrate
[SUM] 0.00-10.00 sec    56.4 MBytes  47.3 Mbits/sec  # 上行47.3Mbps(4流汇总)

# 反向测下载(client 接收,server 发送)
iperf3 -c 192.168.1.100 -P 4 -t 10 -R
[SUM] 0.00-10.00 sec  1.09 GBytes   937 Mbits/sec    # 下行 937Mbps

# 重要:不要把 -P 设太大(>16),家用路由器NAT会话数会先成为瓶颈

3.3 连接跟踪 + 流量监控

测出上行数字只完成一半,关键是定位谁在吃。

bash 复制代码
# 思路一:连接跟踪表看当前活跃连接的目的地分布(OpenWrt)
# 内网 src=192.168.1.0/24 按目的 IP 分组,找最活跃的目的地址
cat /proc/net/nf_conntrack | grep "src=192.168.1." | \
  awk '{for(i=1;i<=NF;i++) if($i ~ /dst=/) print $i}' | \
  sort | uniq -c | sort -rn | head -10

# 输出示例:
#   87 dst=203.0.113.45
#   62 dst=198.51.100.7
#   41 dst=142.250.190.78
# 前几名很可能就是后台大量上传的应用

# 思路二:按主机维度统计(更直观,推荐装 nlbwmon)
opkg update && opkg install nlbwmon luci-app-nlbwmon

# LuCI → Status → Bandwidth Monitor
# 主机维度显示 24h/7d/30d 上行+下行流量排名
# 一眼看到"哪个设备在偷偷上传"------多数是手机云备份、监控摄像头、智能音箱

找到罪魁后处置分两种:

① 关掉自动上传;② OpenWrt 的 SQM per-host 限速,或 qos-scripts,把单设备上行限制在 2Mbps 以内。

4 bufferbloat

网络传输是双向确认的。你下载的每一个数据包,设备都要回送一个极小的确认包,ACK 走的就是上行。

上行被云备份或 P2P 占满时,这些 ACK 只能排队。排队导致:

|------------|--------------|------------|--------|
| 指标 | 上行空闲时 | 上行被打满时 | 现象 |
| 下载速率 | 500-940 Mbps | <10 Mbps | 网页打开缓慢 |
| 游戏延迟(ping) | 15 ms | 300+ ms | 卡顿掉帧 |
| 视频会议画质 | 1080P 流畅 | 降为 360P | 说话断续 |
| 在线游戏 | 60ms 内 | 300-1500ms | 人物瞬移 |

这个现象的学名叫 bufferbloat。

诊断到此步时,许多人换路由器是没用的。

堵在上行,换什么都没用,先看上行那一栏。

5 零成本调度:

先做能不动硬件的事。SQM把上行主动整形到略低于实测值,腾出 buffer 防止排队堆积,从根上治 bufferbloat。

5.1 SQM 关键参数

|------------|-------------|-----------------------------------------|
| 参数 | 作用 | 推荐取值 |
| qdisc | 队列算法 | cake |
| script | 分层/平层策略 | piece_of_cake.qos |
| upload | 上行整形值(kbps) | 实测上行的 90% |
| download | 下行整形值(kbps) | 实测下行的 90% |
| link_layer | 链路层 | ethernet;PPPoE 通常仍选 ethernet |
| overhead | 封装开销补偿(字节) | 以太网 0-18;PPPoE 常见 28-44;具体以 SQM 文档速查表为准 |
| enabled | 启用开关 | 1 |
| interface | 作用接口 | WAN 接口名 |

5.2 SQM 配置代码(OpenWrt)

bash 复制代码
# 装包
opkg update && opkg install sqm-scripts luci-app-sqm

# 假设实测上行 46M、下行 940M,WAN 接口为 pppoe-wan
# 注意:整形值单位是 kbps
uci set sqm.wan=queue
uci set sqm.wan.interface='pppoe-wan'
uci set sqm.wan.enabled='1'
uci set sqm.wan.qdisc='cake'
uci set sqm.wan.script='piece_of_cake.qos'
uci set sqm.wan.upload='41000'                # kbps,46M 的约 90%
uci set sqm.wan.download='850000'             # kbps,940M 的约 90%
uci set sqm.wan.link_layer='ethernet'         # PPPoE 通常也选 ethernet
uci set sqm.wan.overhead='44'                 # PPPoE 示例开销,具体按接入类型查 SQM 文档
uci commit sqm
/etc/init.d/sqm enable
/etc/init.d/sqm restart

# 验证
tc -s qdisc show dev pppoe-wan

# 关键检验(http://www.dslreports.com/speedtest)测 bufferbloat 评分:
#  整形前:通常 C/D
#  整形后:A/A+ (延迟几乎不随流量变化)

优点:装个包、写几行配置,免费、不动硬件;bufferbloat 从 D 评直接到 A。

缺点:46M 上行整形到 41M,少了 5M 是用延迟换的。

6 5G CPE + mwan3 策略路由

SQM 是内部调度,上限还是那条家宽。

想真正把上行提一档,最优解是再加一条上行,5G CPE Z8105AX-T**)**城市实测上行 80-100Mbps,是家宽的 1.5-2 倍,而且不挤占家宽。

6.1 双链路方案选型

|------------------|--------------|------------------|----------------|
| 设备类型 | 上行能力 | 适合场景 | 成本 |
| 家庭级 5G CPE | 80-100 Mbps | 直播、个人创作、家用备份 | 设备几百到千元 + 流量卡 |
| 工业级 5G CPE(双卡聚合) | 100-300 Mbps | 多机位直播、无人值守、车载/户外 | 设备千元到数千元 + 流量卡 |
| 有线+5G 双链路(毫秒级切换) | 下行:家宽;上行:5G | 主线断不中断业务 | 需路由器支持 mwan3 |

6.2 mwan3 关键配置项

|-----------|---------------------------------------------------|------------------------------------|
| 配置节 | 关键字段 | 作用 |
| interface | enabled / family / track_ip | 定义可用WAN接口(wan, wwan) |
| member | interface / metric / weight | 路由成员(metric 越小越优先;weight 决定分担流量比例) |
| policy | use_member(一个或多个) | 路由策略(决定流量怎么走) |
| rule | src_ip / dest_ip / dest_port / proto / use_policy | 匹配规则(按端口/IP 把流量归到某条策略) |

6.3 mwan3 配置代码

前提:5G CPE 已作为路由器第二个 WAN 接口接入;与原家宽并存。

下面给出 3 段配置:

bash 复制代码
# 装包
opkg update && opkg install mwan3 luci-app-mwan3

# ── /etc/config/mwan3 节选 ──
# (1) 接口:wan=家宽,wwan=5G CPE(已通过 DHCP/静态配在网络接口中)
config interface 'wan'
    option enabled '1'
    list track_ip '114.114.114.114'
    list track_ip '223.5.5.5'

config interface 'wwan'
    option enabled '1'
    list track_ip '114.114.114.114'
    list track_ip '223.5.5.5'

# (2) 成员:家宽权重 3,5G CPE 权重 1
config member 'wan_m1_w3'
    option interface 'wan'
    option metric '1'
    option weight '3'

config member 'wwan_m1_w1'
    option interface 'wwan'
    option metric '1'
    option weight '1'

# (3) 策略 A:推流/会议专用 5G
config policy 'uplink_5g'
    list use_member 'wwan_m1_w1'

# 策略 B:其余流量按 3:1 分担(家宽优先)
config policy 'balanced'
    list use_member 'wan_m1_w3'
    list use_member 'wwan_m1_w1'

# (4) 规则:直播推流(RTMP 1935)走 5G;RTMPS 443 与 HTTPS 共用端口,无法精确按端口单独分流
config rule 'rtmp_push'
    option proto 'tcp'
    option dest_port '1935'
    option sticky '1'              # 同一连接保持走同一条线
    option use_policy 'uplink_5g'

# 规则:会议/远程办公走 5G(UDP 高端口)
config rule 'meeting'
    option proto 'udp'
    option dest_port '3478,3479,5004'
    option use_policy 'uplink_5g'

# 默认规则:其余流量走 balanced
config rule 'default'
    option dest_ip '0.0.0.0/0'
    option use_policy 'balanced'

# 生效
/etc/init.d/mwan3 restart
mwan3 status                     # 查看当前各接口的流量分布

直播推流走 5G,日常浏览下载走家宽,按 3:1 分担 5G 链路作为辅路。

7 方案选型总表

|--------------------|-----------------|------------|-----|--------------|
| 方案 | 上行能力 | 成本 | 复杂度 | 适合谁 |
| 不动硬件,先测速 + 错峰 | 不增加,只优化 | 免费 | 低 | 所有人,第一动作 |
| SQM/cake 整形 | 锁定为实测的90%,换来低延迟 | 免费 | 中 | 上行被占时全屋卡顿的人 |
| 运营商提速包/融合套餐 | 30→100-200 Mbps | 按月加费(部分免费) | 低 | 需求稳定、已装宽带 |
| 企业专线(上下行对等) | 与下行对等 | 年费约为家宽十倍量级 | 中 | 工作室、企业办公 |
| 5G CPE 补上行 + mwan3 | 实测80-100 Mbps | 设备+流量卡 | 中-高 | 直播、分散点位、临时场景 |

一句话:上行不够用,先做免费的;仍不够,再考虑加 5G 链路或换运营商;最后才是企业专线。

数据来源

1 工信部通信行业标准 YD/T 3328-2023《公众固定宽带接入业务上下行速率配置要求》:签约下行速率超过150Mbps时,签约上行速率最低应达到30Mbps(2024年4月1日实施)

2 Ookla Speedtest 全球指数(2025年12月):全球固网宽带平均下行118.59Mbps、上行59.45Mbps;移动网络平均下行105.70Mbps、上行14.78Mbps

3 国内三大运营商千兆套餐上行配置及用户实测(2026):普通套餐上行30-50Mbps,高端融合套餐100-200Mbps,企业专线上下行对等

4 天翼云智能视图服务官方文档:1080P(200万像素)摄像头H.264编码4Mbps/路、H.265编码2Mbps/路

5 StreamerSize 直播推流带宽指南(2026):1080p60推荐稳定上行12-20Mbps,推流总码率建议不超过实测上行速率的75%

6 腾讯会议官方带宽参考:1080P画质推荐上下行带宽2Mbps,1080P+辅流推荐4Mbps;Zoom官方系统要求:发送1080p视频需上行3.8Mbps

7 NAS远程访问带宽指南:远程4K直连播放需上行25Mbps以上;移动设备云备份可占满整条上行(DCSpeedTest 2026)

8 5G CPE 实测数据(2025-2026年多机型评测):城市5G网络下主流5G CPE上行速率80-100Mbps

9 speedtest-cli 官方文档与 Ookla Speedtest CLI(speedtest.net/apps)使用说明

10 iperf3 官方手册:客户端默认方向为上行(client→server),-R 反向,-P 并行流

11 OpenWrt SQM 官方文档(openwrt.org/docs/guide-user/network/traffic-shaping/sqm):cake 队列算法说明、overhead/link_layer 配置速查表

12 OpenWrt mwan3 官方文档(openwrt.org/docs/guide-user/network/wan/multiwan):interface/member/policy/rule 四级配置模型与 sticky/source_routing 行为

13 DSLReports Speed Test bufferbloat 评分方法(dslreports.com/speedtest):基于延迟随流量变化的 A-F 评分

14 工信部统计数据(2026年6月末):全国1000Mbps及以上接入速率的千兆固定宽带用户达2.58亿户,占总用户数的36.8%

15 闪电新闻2026年8月11日报道:全国首个"万兆智播"电商直播基地在广州挂牌(联通与唯品会共建),室内万兆宽带下行10000M/上行1000M,户外5G-A智播卡上行峰值500M

16 新疆移动2026年6月公告:1000M家庭宽带用户上行免费从80M提升至100M,2000M用户上行从150M提升至200M

17 中国移动杭州5G-A超级上行行动(2026年):单用户上行峰值速率超1Gbps,5G-A基站覆盖浙江城区,服务1250万用户

18 上海电信联合华为部署5G-A大上行(2026年):F+T 5G-A多载波聚合与大上行技术,实测上行峰值1Gbps、下行近4Gbps

19 全国工业和信息化工作会议及工信部2026年1月发布信息(新华网2026年1月29日报道):启动实施"宽带升级"专项,开展新一轮万兆光网试点

20 产品适配参考:Z8105AX-T(家庭级5G CPE)产品规格页

相关推荐
TYA_Saras1 小时前
iPerf3打流带宽不足解决方案
网络
liulilittle2 小时前
REALITY 代理隧道的有效检测方法: 被动、主动与确定性三层实证研究
linux·服务器·网络·网络协议·安全·网络安全·通信
wixzjsh2 小时前
4.4 网络:协议、IP 地址与 UDP 通信详解
网络·tcp/ip·udp
武帝为此2 小时前
【TLS SSL 介绍】
网络·网络协议·ssl
liulilittle2 小时前
加密扩展记录 37B(含头口径):Go TLS 栈形态特征的适用域与配对勘误
网络·网络协议·计算机网络·网络安全·通信·tls·reality
BlueAsia_Lab3 小时前
BQB 认证执行标准是什么?核心条款通俗解读
linux·运维·网络
小小、码农3 小时前
【网络】套接字(Socket)编程——TCP版
linux·服务器·网络·c++·网络协议·tcp/ip
OpsEye3 小时前
公有+私有化混合大模型架构,流量治理底层原理科普
网络·架构
云飞云共享云桌面3 小时前
10 人三维研发团队,如何利用单台图形服务器承载 SolidWorks 建模与仿真?
运维·服务器·网络·自动化·制造