文章目录
- 一、应用场景
- 二、技术原理
- 三、配置实操
- 1.环境需求
- 2.创建流量模板(限速规则)
- 3.创建流分类(匹配用户)
- 4.创建流策略(绑定分类和模板)
- 5.应用流策略
- 6.验证配置
- 查看流策略应用状态
- 查看流量统计
- 实际流量测试
- 四、进阶配置
- 1.动态限速(Radius下发)
- 2.限速与QoS队列结合
- 3. 性能优化
- 五、常见故障排查
- 1.限速方向搞反
- 2.突发值配置过小
- 3.流分类匹配错误
- 4.性能瓶颈
一、应用场景
运营商BRAS场景下,单用户限速主要用在这几个地方:
- IDC机房给租户做带宽承诺,防止个别用户抢占资源
- 家庭宽带的上下行带宽限速,比如100M下行/20M上行的套餐
- 专线用户的带宽保障,比如政企客户的500M专线
- 异常流量压制,比如挖矿、DDoS攻击源的临时限速
之前有次给某政企客户做专线迁移,没注意ME60的限速方向,把上行限速配成了下行,结果客户的VPN业务直接卡成狗,排查了2小时才找到问题。这里要明确:ME60的限速方向是针对设备自身的,入方向(inbound)是用户到ME60的流量,出方向(outbound)是ME60到用户的流量,和用户感知的上下行是反过来的——比如用户的下行带宽对应ME60的出方向限速。
二、技术原理
ME60的单用户限速基于令牌桶算法,这是当前主流的流量整形和限速算法,和思科的CAR、Juniper的Policer原理一致。
- 令牌桶以固定速率生成令牌,比如限速100M就是每秒生成100Mbit的令牌
- 每个数据包进入时需要消耗对应大小的令牌,有令牌就转发,没令牌就丢弃或标记
- 令牌桶有缓存区(Burst),允许短时间的突发流量,比如100M限速配20M突发,就是允许短时间跑到120M
ME60的单用户限速分两种实现方式:
静态限速:直接绑定IP、VLAN或接口,配置简单,适合固定用户动态限速:通过Radius服务器下发,适合拨号用户或动态分配IP的场景
和整段端口限速的区别:
| 类型 | 适用场景 | 粒度 | 灵活性 | 性能影响 |
|---|---|---|---|---|
| 端口限速 | 整段用户统一限速 | 端口级别 | 低 | 小 |
| 单用户限速 | 单个用户/租户精准限速 | IP/VLAN/用户 | 高 | 较大 |
单用户限速的性能消耗主要在ME60的业务板CPU,如果配置的限速条目过多(比如超过1000条),会导致业务板CPU占用率上升,严重时会影响转发性能。所以大规模场景下推荐用动态限速,或者把静态限速配置在接入层交换机,ME60只做核心转发。
三、配置实操
1.环境需求
- 设备:华为ME60-X8
- 目标:给VLAN 100下的IP 192.168.10.10配置下行100M、上行20M的限速
- 前置条件:用户流量已经能正常通过ME60转发,VLAN和IP路由已配置
2.创建流量模板(限速规则)
首先要创建一个流量模板,定义限速的带宽和突发值:
system-view# 创建名为user_car的流量模板traffic behavior user_car# 配置出方向(ME60到用户,即用户下行)限速100M,突发20Mcar cir102400cbs25600000green pass yellow pass red discard# 配置入方向(用户到ME60,即用户上行)限速20M,突发4Mcar inbound cir20480cbs5120000green pass yellow pass red discard参数详解:
cir:承诺信息速率,单位是kbit/s,100M=102400kbit/scbs:承诺突发尺寸,单位是byte,计算公式是cir * 250(因为令牌桶默认每4ms生成一次令牌,2504ms=1s),100M的cbs就是1024001000/8 * 0.25=3200000byte?不对,这里要注意VRP的单位:cir是kbit/s,cbs是byte,所以正确的计算是(cir * 1000 / 8) * 突发时间,比如突发时间200ms,就是(102400*1000/8)*0.2=25600000byte,和上面的配置一致green/yellow/red:三色标记的动作,pass是转发,discard是丢弃,也可以配置remark dscp标记DSCP值,后续配合QoS队列调度
3.创建流分类(匹配用户)
然后创建流分类,用来匹配需要限速的用户:
# 匹配单个IPtraffic classifier user_ip if-match destination-address ipv4192.168.10.10255.255.255.255# 如果是匹配整个VLAN的用户,用这个分类traffic classifier user_vlan if-match vlan-id100这里要注意:如果是匹配VLAN的用户,流分类的方向要和流量模板的方向对应。比如匹配VLAN 100的出方向流量,就要在流分类里加
if-match vlan-id 100,然后在流策略里绑定出方向。
4.创建流策略(绑定分类和模板)
把流分类和流量模板绑定成流策略:
# 单个IP的流策略traffic policy user_ip_policy classifier user_ip behavior user_car# 整个VLAN的流策略traffic policy user_vlan_policy classifier user_vlan behavior user_car5.应用流策略
流策略可以应用在接口、VLAN或BD(Bridge Domain)上,这里以接口为例:
# 应用到GE0/0/1接口的出方向(用户下行)interface GigabitEthernet0/0/1 traffic-policy user_ip_policy outbound# 如果是入方向(用户上行),用这个命令traffic-policy user_ip_policy inbound# 如果是应用到VLAN,用这个命令vlan100traffic-policy user_vlan_policy outboundME60的流策略应用顺序是:
接口 > VLAN > 全局,所以如果接口上已经有流策略,VLAN上的流策略不会生效。
6.验证配置
查看流策略应用状态
display traffic policy interface GigabitEthernet0/0/1输出示例:
Interface: GigabitEthernet0/0/1 Traffic Policy outbound: user_ip_policy Policy Index:1Classifier: user_ip Behavior: user_car CAR: Cir:102400kbps, PIR:0kbps, CBS:25600000bytes, PBS:0bytes Conform Action: pass, Yellow Action: pass, Exceed Action: discard Statistics enabled: No查看流量统计
display traffic policy statistics interface GigabitEthernet0/0/1 outbound如果配置了统计(在traffic behavior里加statistic enable),就能看到匹配的流量数、丢弃的流量数,用来验证限速是否生效。
实际流量测试
用iperf3在用户侧服务器和ME60另一侧的服务器之间打流:
# 用户侧服务器(192.168.10.10)作为客户端,测试下行带宽(ME60出方向)iperf3 -c10.0.0.1 -t60-P10# 测试上行带宽(ME60入方向)iperf3 -s -i1# 然后在ME60另一侧的服务器上跑:iperf3 -c 192.168.10.10 -t 60 -P 10如果限速生效,iperf3的结果会稳定在配置的带宽附近,比如下行100M左右,上行20M左右。
四、进阶配置
1.动态限速(Radius下发)
对于拨号用户或动态分配IP的场景,用Radius下发限速更灵活。需要在ME60上配置Radius服务器:
radius-server template radius1 radius-server authentication192.168.20.11812radius-server accounting192.168.20.11813radius-server shared-key simple Huawei@123 domain isp authentication-scheme default accounting-scheme default radius-server template radius1# 开启Radius下发限速qos car radiusenable2.限速与QoS队列结合
如果要给用户的关键业务(比如语音、视频)做带宽保障,可以把限速和QoS队列结合:
traffic behavior user_car car cir102400cbs25600000green pass yellow pass red discard# 把绿色流量放入队列5,保证带宽queue5然后在接口上配置队列调度:
interface GigabitEthernet0/0/1 qos wrr queue5weight5这样用户的关键业务流量会优先被转发,即使其他流量跑满限速,关键业务也不会卡顿。
3. 性能优化
如果配置了大量静态限速条目,会导致业务板CPU占用率上升,可以做以下优化:
- 把静态限速配置在接入层交换机(比如华为S5735),ME60只做核心转发
- 用基于硬件的限速(ME60-X8支持),在系统视图下配置
qos car hardware-accelerate enable,把限速计算从CPU offload到硬件芯片 - 合并相同限速规则的用户,比如把多个100M限速的用户放到同一个流分类里
五、常见故障排查
1.限速方向搞反
现象:配置了下行限速,但用户的下行带宽还是跑满
排查:用display traffic policy statistics查看流量统计,如果出方向的丢弃数为0,入方向的丢弃数很高,说明方向搞反了。把流策略的应用方向从outbound改成inbound,或者反过来。
2.突发值配置过小
现象:用户的业务经常卡顿,比如FTP下载速度不稳定
排查:突发值太小会导致正常的突发流量被丢弃,比如100M限速配1M突发,会导致下载速度只能稳定在100M,没有任何突发,业务感知会很差。建议突发值配成cir的20%-50%,比如100M限速配20M突发。
3.流分类匹配错误
现象:限速不生效,流量统计里的匹配数为0
排查:用display traffic classifier user_ip查看流分类的匹配规则,然后用display acl all查看ACL的命中数(如果用ACL匹配的话)。比如如果是匹配目的IP,要确认流量的目的IP是否是配置的IP,或者是否有其他流分类优先匹配了流量。
4.性能瓶颈
现象:配置限速后,所有用户的流量都卡顿
排查:用display cpu-usage查看业务板CPU占用率,如果超过80%,说明限速条目过多导致CPU过载。可以把部分限速配置迁移到接入层,或者开启硬件加速。
如果觉得这些经验对你有用,不妨动动手指点赞,再顺手收藏起来,方便后续回看或分享给有需要的朋友 ——您的每一份支持,都是我继续分享的动力,感谢阅读!