第222篇:带宽管理与应用限速
关键词:带宽管理、QoS、流量整形、流量监管、CAR、HIRS、应用限速、拥塞避免
一、引言
在共享带宽的网络环境中,某些应用或用户可能占满全部带宽,导致关键业务体验下降。带宽管理通过对不同流量分配不同的带宽资源,确保关键业务获得保障带宽,非关键业务在不影响其他流量的前提下合理利用空闲带宽。
华为设备提供了从简单限速到精细 QoS 的多层次带宽管理能力,能够针对用户、应用、VLAN 等维度进行差异化管控。
二、核心概念
2.1 带宽管理技术对比
| 技术 | 作用 | 粒度 | 典型场景 |
|---|---|---|---|
| 流量监管(CAR) | 对超出速率的报文直接丢弃 | coarse | 入口限速、超量丢弃 |
| 流量整形(GTS/HIR) | 对超出速率的报文进行缓存延迟发送 | coarse | 出口整形、平滑流量 |
| 队列调度 | 将报文按优先级分配到不同队列 | 细 | 出口带宽分配 |
| 拥塞避免(WRED) | 队列满时按概率丢弃报文 | 细 | 防止全局同步 |
| 应用限速 | 基于应用类型限制带宽 | 细 | 限制P2P/视频带宽 |
2.2 带宽分配模型

2.3 队列调度算法
| 算法 | 原理 | 特点 |
|---|---|---|
| FIFO | 先进先出 | 简单但无优先级区分 |
| PQ | 严格优先级队列 | 高优先级永远优先,可能饿死低优先级 |
| WRR | 加权轮询 | 按权重轮流服务,公平但延迟不均 |
| WFQ | 加权公平队列 | 综合优先级与流量大小,延迟较好 |
| HR | 优先级调度+轮询 | 高优先级PQ,低优先级WRR,兼顾两者优势 |
三、技术细节
3.1 流量分类与标记
带宽管理的前提是准确分类流量,华为设备支持多维分类:
| 分类维度 | 配置方式 | 示例 |
|---|---|---|
| DSCP/802.1p | 基于报文头部标记 | 语音 DSCP=46 |
| 五元组 | 源/目的 IP、端口、协议 | 视频目的端口 443 |
| 应用类型 | 基于 DPI 识别结果 | P2P 应用、在线视频 |
| 用户标识 | 基于认证用户名/组 | VIP 用户组 |
| VLAN | 基于 VLAN ID | VLAN 100=办公 |
| 接口 | 基于入接口 | GigabitEthernet0/0/1 |
3.2 HIR 整形流程
HIR(Hierarchical Information Rate)支持双层流量整形:

3.3 WRED 丢包策略
| DSCP 范围 | 最小阈值 | 最大阈值 | 概率计算 |
|---|---|---|---|
| EF (46) | 70% | 90% | 关键业务最后丢 |
| AF31 (26-28) | 60% | 80% | 中等优先级 |
| AF11 (10-12) | 40% | 70% | 低优先级 |
| BE (0) | 30% | 60% | 最先被丢弃 |
四、实战配置/案例分析
4.1 华为 AR 路由器带宽管理配置
# 1. 定义流量分类
# 分类1:视频会议流量(基于DPI应用识别)
traffic classifier video_conference
if-match application-type video-conference
quit
# 分类2:P2P下载流量
traffic classifier p2p_download
if-match application-type p2p
quit
# 分类3:办公网页浏览
traffic classifier web_browse
if-match application-type web-browsing
quit
# 2. 定义流行为
# 行为1:视频会议保障带宽300Mbps
traffic behavior video_behavior
queue hq wrr-weight 6
queue hq hie-rate 300 0
remark dscp ef
quit
# 行为2:P2P限速50Mbps
traffic behavior p2p_behavior
queue hq wrr-weight 1
queue hq hie-rate 50 0
remark dscp 0
quit
# 行为3:网页浏览保障200Mbps
traffic behavior web_behavior
queue hq wrr-weight 4
queue hq hie-rate 200 0
remark dscp af21
quit
# 3. 绑定分类与行为为策略
qos policy bandwidth_management
classifier video_conference behavior video_behavior
classifier p2p_download behavior p2p_behavior
classifier web_browse behavior web_behavior
quit
# 4. 应用到出接口
interface GigabitEthernet0/0/0
qos apply policy bandwidth-management outbound
quit
# 5. 配置入口流量监管(CAR)
# 限制入方向总流量不超过800Mbps
qos car inbound
cir 800
pir 800
cbs 400000
pbs 400000
action pass
quit
# 6. 配置WRED
qos wred default
dscp 0 min-threshold 30 max-threshold 60
dscp 10 min-threshold 40 max-threshold 70
dscp 46 min-threshold 70 max-threshold 90
quit
4.2 故障排查案例:P2P限速失效导致出口带宽耗尽
故障现象:办公网络出口带宽为 1Gbps,某员工使用 BT 下载大型文件,导致其他同事上网卡顿,视频会议掉线。经查 P2P 限速策略未生效。
排查步骤:
- 检查应用识别是否工作
# 查看P2P应用识别统计
display application-identify statistics application p2p
结果显示识别计数为 0,说明 P2P 流量未被正确识别。
- 检查流量方向
# 查看会话表
display firewall session-table | include p2p
发现 P2P 流量使用了非标准端口,且策略应用方向为 outbound,但部分 P2P 流量在入方向已建立会话。
- 根因分析
- P2P 应用识别策略仅应用在出接口 outbound,但部分 P2P 连接通过非标准端口绕过 DPI 识别
-
BT 协议使用了加密传输(PE),特征库未能匹配加密后的 P2P 特征
-
解决方案
# 方案1: 双向应用策略
interface GigabitEthernet0/0/0
qos apply policy bandwidth-management outbound
qos apply policy bandwidth-management inbound
quit
# 方案2: 补充基于行为的分类(不依赖DPI)
traffic classifier p2p_behavior_match
if-match protocol udp
if-match destination-port range 6881 6999
quit
traffic behavior p2p_behavior
queue hq wrr-weight 1
queue hq hie-rate 50 0
remark dscp 0
quit
qos policy bandwidth_management
classifier p2p_behavior_match behavior p2p_behavior
quit
# 方案3: 更新应用特征库
update-application-signature url tftp://192.168.1.100/app-signature.dat
# 方案4: 配置用户级别限速(终极手段)
interface GigabitEthernet0/0/1
qos lr outbound cbs 100000 pbs 100000
quit
# 每个接入端口限速100Mbps,单个用户无法独占全部带宽
五、DDoS攻击防护与高可用架构
4.1 DDoS攻击类型与带宽影响
| 攻击类型 | 协议层 | 攻击特征 | 带宽影响 | 防护方法 |
|---|---|---|---|---|
| SYN Flood | L4 | 大量SYN半连接 | 消耗连接表 | SYN Cookie、速率限制 |
| UDP Flood | L4 | 大量UDP报文 | 消耗带宽 | 流量清洗、黑洞路由 |
| ICMP Flood | L3 | 大量Ping请求 | 消耗带宽 | ICMP限速 |
| HTTP Flood | L7 | 大量HTTP请求 | 消耗应用资源 | WAF、验证码 |
| DNS Amplification | L3/L4 | 放大效应(50-70倍) | 消耗带宽 | DNS响应限速 |
| NTP Amplification | L3/L4 | 放大效应(556倍) | 消耗带宽 | 封禁NTP反射 |
| Slowloris | L7 | 慢速连接占用 | 消耗连接数 | 连接超时缩短 |
| CC攻击 | L7 | 模拟正常用户请求 | 消耗应用资源 | 行为分析、频率限制 |
4.2 DDoS防护方案对比
| 方案 | 部署位置 | 防护能力 | 成本 | 适用场景 |
|---|---|---|---|---|
| 设备本地防护 | 网络设备 | 基础防护(SYN Cookie、限速) | 低 | 小规模攻击 |
| 硬件清洗设备 | 网络出口 | 中等防护(特征匹配、行为分析) | 中 | 中等规模攻击 |
| 云端清洗 | 云服务商 | 强大防护(Tbps级清洗能力) | 中 | 大规模攻击 |
| CDN防护 | 内容分发网络 | Web应用防护 | 中 | Web业务防护 |
| BGP黑洞 | 运营商 | 终极手段(丢弃所有流量) | 低 | 无法防御时 |

4.3 高可用架构设计
| 架构模式 | 特点 | 适用场景 | RTO/RPO |
|---|---|---|---|
| 主备模式 | 一台主设备,一台备设备 | 成本敏感场景 | RTO<30s/RPO=0 |
| 负载分担 | 多台设备分担流量 | 高吞吐场景 | RTO<60s/RPO=0 |
| VRRP/HSRP | 虚拟IP,自动切换 | 三层网关冗余 | RTO<1s/RPO=0 |
| BGP多归属 | 多运营商接入 | 抗单点故障 | RTO<30s/RPO=0 |
| 异地容灾 | 跨地域数据同步 | 灾难恢复 | RTO<1h/RPO<5min |
# DDoS防护配置示例(华为设备)
# 1. SYN Flood防护
aaa
local-user admin password irreversible-cipher Admin@123
quit
# 配置SYN Cookie
tcp syncookie enable
# 配置SYN代理
firewall tcp-synproxy enable
firewall tcp-synproxy timeout 60
# 2. 速率限制
qos car inbound
cir 1000
pir 2000
cbs 500000
pbs 1000000
action pass
excess action reject
quit
# 3. ICMP限速
traffic classifier icmp_class
if-match protocol icmp
quit
traffic behavior icmp_limit
car cir 100 pir 100 cbs 5000 pbs 5000
quit
qos policy icmp_rate_limit
classifier icmp_class behavior icmp_limit
quit
interface GigabitEthernet0/0/0
qos apply policy icmp-rate-limit inbound
quit
# 4. ACL封禁已知攻击源
acl number 3000
rule 5 deny ip source 203.0.113.0 0.0.0.255
rule 10 deny ip source 198.51.100.0 0.0.0.255
rule 15 permit ip
quit
interface GigabitEthernet0/0/0
traffic-filter inbound acl 3000
quit
4.4 带宽管理 + DDoS防护联动
| 联动场景 | 带宽管理动作 | DDoS防护动作 | 协同效果 |
|---|---|---|---|
| 攻击识别 | 检测异常流量突增 | 触发清洗策略 | 快速识别并清洗 |
| 业务保障 | 关键业务带宽预留 | 攻击流量丢弃 | 确保关键业务不中断 |
| 带宽恢复 | 攻击后自动恢复带宽分配 | 移除清洗策略 | 业务快速恢复 |
| 容量规划 | 历史流量基线分析 | 攻击规模评估 | 指导带宽扩容 |
六、带宽管理高级配置与DDoS防护扩展
5.1 多级QoS策略分层设计
| 层级 | 策略类型 | 作用位置 | 配置方法 |
|---|---|---|---|
| 用户级 | 每用户带宽分配 | 接入交换机/AC | 基于用户组限速 |
| VLAN级 | 每VLAN带宽保障 | 汇聚交换机 | VLAN接口QoS |
| 应用级 | 应用类型优先级 | 防火墙/路由器 | 基于DPI分类 |
| 全局级 | 总带宽管控 | 出口路由器 | 全局整形 |
# 用户级QoS配置(基于认证用户组)
# 在AC或认证服务器上配置用户组带宽
user-group vip-users
qos
upload-bw 100
download-bw 500
quit
quit
user-group normal-users
qos
upload-bw 20
download-bw 100
quit
quit
user-group guest-users
qos
upload-bw 5
download-bw 20
quit
quit
5.2 DDoS 攻击类型与防护对策
| 攻击类型 | 攻击特征 | 防护策略 | 防护设备 |
|---|---|---|---|
| SYN Flood | 大量SYN无ACK | SYN Cookie+SYN代理 | 防火墙/路由器 |
| UDP Flood | 大量UDP包 | 速率限制+黑洞路由 | 防火墙 |
| HTTP Flood | 大量HTTP请求 | WAF+速率限制+CC防护 | WAF/防火墙 |
| ICMP Flood | 大量ICMP包 | ICMP限速 | 路由器 |
| DNS放大攻击 | 反射放大 | DNS响应限制+uRPF | 边界路由器 |
| NTP放大攻击 | NTP monlist放大 | 禁用monlist+ACL | 边界路由器 |
| Memcached放大 | 大响应包放大 | 阻断11211端口出方向 | 边界路由器 |
5.3 带宽利用率监控指标
| 指标 | 计算方法 | 告警阈值 | 处置动作 |
|---|---|---|---|
| 端口利用率 | (入+出)/(2×端口带宽)×100% | >80%持续5分钟 | 扩容/限速 |
| 关键业务带宽占比 | 关键业务带宽/总带宽×100% | <保障带宽 | QoS调整 |
| P2P/视频带宽占比 | 非业务带宽/总带宽×100% | >30% | 应用限速 |
| 队列拥塞率 | 拥塞丢包/总流量×100% | >1% | 增加队列深度 |
| 整形延迟 | 整形队列平均等待时间 | >100ms | 调整CIR/PIR |
# 带宽监控配置(华为NetStream)
# 1. 全局启用NetStream
netstream version v9
netstream export 10.1.1.200 9996
netstream export source-interface Vlanif100
netstream export template data timeout active 30
netstream export template data timeout inactive 15
# 2. 在接口上采集
interface GigabitEthernet0/0/1
netstream inbound
netstream outbound
quit
# 3. 基于NetStream的分类限速
traffic classifier p2p_traffic
if-match application p2p
quit
traffic behavior p2p_limit
car cir 50 pir 50 cbs 25000 pbs 25000
action police then reject
quit
qos policy p2p_qos
classifier p2p_traffic behavior p2p_limit
quit
interface GigabitEthernet0/0/1
qos apply policy p2p_qos inbound
quit
5.4 带宽管理故障排查
| 故障现象 | 排查方向 | 排查命令 |
|---|---|---|
| 限速不生效 | 检查分类器匹配是否正确 | display qos policy |
| 限速后业务卡顿 | 检查CIR是否设置过低 | display qos interface |
| HIR整形异常 | 检查两层CIR/PIR关系 | display qos hir |
| WRED丢包过多 | 检查阈值配置 | display qos wred |
| 队列调度异常 | 检查权重和优先级配置 | display qos queue |
| 应用识别错误 | 检查DPI特征库版本 | display application library |
# 带宽管理诊断命令集
# 查看QoS策略应用状态
display qos policy interface GigabitEthernet0/0/1
# 查看接口流量统计
display interface GigabitEthernet0/0/1
# 查看队列状态
display qos queue interface GigabitEthernet0/0/1
# 查看CAR统计
display qos car interface GigabitEthernet0/0/1
# 查看HIR统计
display qos hir interface GigabitEthernet0/0/1
# 查看WRED统计
display qos wred interface GigabitEthernet0/0/1
# 查看应用识别统计
display application statistics interface GigabitEthernet0/0/1
5.5 带宽管理与安全联动场景
| 联动场景 | 触发条件 | 带宽动作 | 安全动作 |
|---|---|---|---|
| DDoS攻击检测 | 流量突增>300% | 启用速率限制 | 清洗/黑洞路由 |
| 内网异常外联 | 大文件外传 | 降低出口带宽 | DLP告警+阻断 |
| 带宽滥用 | 单用户>80%带宽 | 动态限速 | 用户告警+通知 |
| 业务保障 | 视频会议进行中 | 保障VoIP队列 | 监控质量QoS |
| 攻击后恢复 | 攻击清除确认 | 恢复带宽分配 | 移除清洗策略 |
七、总结
| 知识点 | 要点 |
|---|---|
| 流量监管 CAR | 超量丢弃,适合入口限速 |
| 流量整形 HIR | 平滑发送,适合出口整形 |
| 队列调度 HR | 高优先级 PQ + 低优先级 WRR |
| 拥塞避免 WRED | 按优先级概率丢包 |
| 应用限速 | 基于 DPI 识别结果限速 |
| 入口限速 | 防止某端口独占带宽 |
| 多层整形 | PIR 接入层 + CIR 聚合层 |
| DDoS类型 | SYN Flood、UDP Flood、HTTP Flood、放大攻击 |
| DDoS防护 | 设备本地防护、硬件清洗、云端清洗、BGP黑洞 |
| 高可用架构 | 主备、负载分担、VRRP、BGP多归属、异地容灾 |
思考
- HIR 两层整形中,PIR 和 CIR 分别设置在什么位置?为什么需要两层?
- 当所有队列的保障带宽之和超过接口物理带宽时,会发生什么?
- WRED 的丢包概率如何计算?最小阈值和最大阈值之间的报文如何处理?
下篇预告:第223篇:内网安全:微隔离与零信任入门