Cisco限速基于QoS机制,需配置ACL、类映射和策略映射,功能强大导致步骤繁琐。
Cisco 路由器限速主要通过 QoS(服务质量)机制实现,核心手段包括 MQC(模块化 QoS 命令行界面)和 CAR(承诺访问速率),对于企业级网络环境,推荐优先使用 MQC 方式,因为它具有更高的灵活性和可扩展性,能够精确匹配流量并执行 policing(监管)或 shaping(整形)策略,从而有效解决网络拥塞,保障关键业务的带宽占用。

基于 MQC 的精细化限速配置(推荐方案)
MQC 是目前 Cisco 路由器中最主流且功能最强大的限速方案,其逻辑分为三个步骤:定义流量分类器(Class-map)、定义策略行为(Policy-map)、将策略应用到接口,这种方式不仅支持针对单个 IP 限速,还支持针对网段、应用层协议甚至 VLAN 进行综合限速。
定义感兴趣流量(ACL)
需要使用访问控制列表(ACL)来抓取需要限速的流量,我们要对内网 192.168.1.0/24 网段进行限速:
Router(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 any Router(config)# access-list 101 permit ip any 192.168.1.0 0.0.0.255
注意:必须同时匹配源和目的方向,否则只能限制单向流量。
配置类映射
将 ACL 关联到一个 Class-map 中,用于识别特定的数据流:
Router(config)# class-map match-all LIMIT_LAN Router(config-cmap)# match access-group 101 Router(config-cmap)# exit
配置策略映射
这是限速的核心步骤,使用 Policy-map 定义具体的带宽限制动作,这里我们使用 police 命令进行硬性限制,超过带宽的包将被丢弃,假设限制带宽为 2Mbps(即 2000000 bits):
Router(config)# policy-map SHAPE_POLICY Router(config-pmap)# class LIMIT_LAN Router(config-pmap-c)# police 2000000 20000 20000 conform-action transmit exceed-action drop Router(config-pmap-c)# exit Router(config-pmap)# exit
参数解析:2000000 为平均速率(CIR),第一个 20000 为正常突发量(Bc),第二个 20000 为最大突发量(Be)。conform-action transmit 表示符合速率的包通过,exceed-action drop 表示超出速率的包丢弃。
应用策略到接口
将策略应用到路由器的内网接口(通常是连接交换机的接口)的出方向或入方向,通常在网关出口处做限速效果最好:
Router(config)# interface GigabitEthernet0/1 Router(config-if)# service-policy output SHAPE_POLICY Router(config-if)# exit
使用 CAR 进行简单限速(传统方案)
在较老的 IOS 版本或简单的网络环境中,CAR(Committed Access Rate)是一种直接在接口上配置的快速限速方法,它不需要配置复杂的 Class-map 和 Policy-map,适合针对单一 IP 进行快速处理。

配置语法如下,限制 192.168.1.5 的下载速度为 1Mbps:
Router(config)# access-list 102 permit ip host 192.168.1.5 any Router(config)# interface GigabitEthernet0/1 Router(config-if)# rate-limit output access-group 102 1000000 15000 30000 conform-action transmit exceed-action drop
专业提示:CAR 的计算方式是基于令牌桶算法,虽然配置简单,但 CAR 在处理复杂流量分类时不如 MQC 灵活,且在新版 IOS 中逐渐被 MQC 取代。
深入理解:Policing 与 Shaping 的区别
在进行 Cisco 路由器限速时,必须明确区分 Policing(监管)和 Shaping(整形),这是体现专业度的关键点。
-
Traffic Policing(监管):
如上述 MQC 示例中所用,监管机制是“强硬”的,当流量超过设定值时,它直接丢弃数据包(或重标记为低优先级),适用于链路带宽充足、需要严格限制特定用户不许超占的场景,如 ISP 对用户带宽的硬性封顶。 -
Traffic Shaping(整形):
整形机制是“缓冲”的,当流量超过设定值时,路由器不会立即丢弃包,而是将其放入缓冲区(队列),利用链路的空闲时间发送,这适用于链路带宽本身较小(如租用的专线)的场景,可以有效避免 TCP 窗口因丢包而大幅滑动,从而保障网络吞吐量的稳定性。
Shaping 配置示例:
将 Policy-map 中的 police 替换为 shape average。
Router(config-pmap-c)# shape average 2000000
独立见解:在内部局域网网关处,推荐使用 Policing,因为内网带宽通常足够,丢弃少量包能快速反馈给发送端降低发送速率;而在出口广域网接口,推荐使用 Shaping,以充分利用昂贵的广域网带宽并减少延迟抖动。
验证与故障排查
配置完成后,专业的网络运维工作并未结束,必须通过命令验证限速是否生效。

-
查看策略统计信息:
使用show policy-map interface命令,这是最直观的验证手段。Router# show policy-map interface GigabitEthernet0/1
输出结果中,重点关注
bytes offered( offered 给策略的字节数)和bytes drop(丢弃的字节数)。drop数值持续增长,说明限速正在生效且流量确实超过了阈值。 -
检查 ACL 匹配数:
使用show access-lists确认定义的 ACL 是否有计数增长,ACL 计数为 0,说明流量没有正确匹配到限速规则,可能是 ACL 方向写反或掩码错误。
常见问题与专业建议
在实际部署中,很多管理员会遇到“限速不准”的问题,这通常是因为忽略了单位换算和 TCP 特性。
- 单位换算: Cisco 路由器配置中带宽单位默认为 bps (bits per second),而我们在电脑上看到的下载速度通常是 Byte/s,配置 2Mbps 时,理论上下载速度约为 250KB/s,计算公式为:
配置值 / 8 = 理论下载速度。 - 突发参数(Bc/Be): 如果将 Bc 设置得太小(如默认值),对于突发性强的流量(如网页浏览),路由器会极其敏感地丢包,导致网页打开卡顿,建议将 Bc 值设置为 CIR 的 1/10 到 1/20 左右,以获得更平滑的体验。
- NAT 环境下的限速: 如果路由器同时在做 NAT,务必在 NAT 转换之前的接口(通常是内网接口)应用限速策略,或者在
route-map中谨慎匹配,否则可能导致限速失效或限速对象错误。
通过以上步骤,您可以利用 Cisco 路由器强大的 QoS 功能,实现对网络流量的精准控制,无论是保障关键业务的低延迟,还是抑制 P2P 下载对带宽的吞噬,MQC 策略都能提供企业级的解决方案。
您在配置 Cisco 设备时,是否遇到过 ACL 不匹配流量导致限速无效的情况?欢迎在评论区分享您的配置片段或遇到的疑难问题,我们一起探讨解决。
以上内容就是解答有关cisco 路由器限速的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/351906.html