Cisco Police参数具体指什么?

99ANYc3cd6
预计阅读时长 18 分钟
位置: 首页 参数 正文

police 是 Cisco IOS 中一个非常核心和强大的流量监管工具,它属于 QoS (Quality of Service) 策略的一部分,其主要功能是对流量进行速率限制,确保流量不超过配置的承诺速率,并对超出部分的流量进行丢弃或降级处理。

cisco police 参数
(图片来源网络,侵删)

核心概念:令牌桶算法

要理解 police 命令,首先要理解它所使用的令牌桶算法,这个模型可以形象地比喻成一个带漏水的桶:

  1. :代表一个缓冲区,里面存放着“令牌”。
  2. 令牌生成:以一个固定的速率(committed information rate, CIR)向桶中添加令牌,如果 CIR 是 1 Mbps,那么每秒钟就会有 1 Mbps 的令牌被加入到桶中。
  3. 流量处理
    • 当一个数据包到达时,会检查桶中是否有足够的令牌。
    • 有足够令牌:从桶中取出与数据包大小相等的令牌,数据包被转发,这属于 conforming (符合) 流量
    • 没有足够令牌:无法从桶中取出足够的令牌,数据包被丢弃或被标记后转发,这属于 exceeding (超出) 流量
  4. 桶的容量:桶本身有一个最大容量(committed burst size, CBS),这允许在短时间内以高于 CIR 的速率发送数据,如果 CIR 是 1 Mbps,CBS 是 10 Kbit,你可以瞬间发送一个 10 Kbit 的数据包,即使这瞬间速率远高于 1 Mbps,之后,你需要等待桶重新装满令牌才能再次发送大流量。

police 命令就是通过配置这个“桶”的生成速率和容量,来精确控制流量的行为。


police 命令的基本语法

police 命令通常在 QoS 策略映射类中配置,其基本语法如下:

police [cir] [bc] [be] [action]

更常用和推荐的语法是:

cisco police 参数
(图片来源网络,侵删)
police cir bc be conform-action exceed-action violate-action

主要参数详解

流量速率参数

参数 全称 描述 单位 示例
cir Committed Information Rate 承诺信息速率,这是网络承诺为该类流量提供的平均速率。 bps (bits per second) police 1000000 (1 Mbps)
bc Committed Burst Size 承诺突发尺寸,桶的容量,允许在短时间内以高于 CIR 的速率发送的流量大小。 bits police 1000000 10000 (bc=10 Kbits)
be Excess Burst Size 超出突发尺寸,这是可选参数,用于定义第二个桶的容量,用于处理更长时间的突发流量,如果未指定,通常默认等于 bc bits police 1000000 10000 20000 (be=20 Kbits)

如何计算 bc 一个常用的经验法则是 bc = CIR / 8 * 1.5 (单位是字节) 或 bc = CIR * 0.125 * 1.5 (单位是比特),这提供了一个合理的突发缓冲。

动作参数

这些参数定义了当数据包属于不同类别时(符合、超出、违反)应该执行什么操作。

动作 描述 常用值
conform-action 符合速率的数据包执行的操作。 transmit (转发)
exceed-action 超出速率但未违反速率的数据包执行的操作。 drop (丢弃), set-transmit (标记后转发), set-clp-transmit (用于ATM)
violate-action 违反速率的数据包执行的操作,如果配置了 be 参数,流量在 be 范围内属于 exceed,超出 be 的部分属于 violate,如果未配置 be,则 exceedviolate 的行为通常相同。 drop (丢弃), set-transmit (标记后转发)

常用动作关键字:

  • transmit: 转发数据包。
  • drop: 丢弃数据包。
  • set-dscp-transmit new_dscp: 修改数据包的 DSCP 值,然后转发。
  • set-prec-transmit new_precedence: 修改数据包的 IP Precedence 值,然后转发。

配置示例

假设我们有一个场景:公司希望限制来自 168.1.0/24 网段的 HTTP 流量,其下载速率不得超过 2 Mbps,超出的部分直接丢弃。

cisco police 参数
(图片来源网络,侵删)

步骤 1: 定义访问控制列表

我们需要识别出要监管的流量。

! 定义一个标准 ACL 来匹配源网段
access-list 101 permit ip 192.168.1.0 0.0.0.255 any
! 定义一个扩展 ACL 来精确匹配 HTTP 流量 (TCP 端口 80)
access-list 102 permit tcp 192.168.1.0 0.0.0.255 any eq www

注意: 在实际 QoS 策略中,推荐使用更精确的扩展 ACL。

步骤 2: 创建 QoS 策略映射

! 创建一个名为 "LIMIT_HTTP_POLICY" 的策略
policy-map LIMIT_HTTP_POLICY
 ! 进入一个名为 "HTTP_CLASS" 的类
 class HTTP_CLASS
  ! 应用 police 命令
  ! CIR = 2 Mbps = 2000000 bps
  ! BC = CIR / 8 * 1.5 = 2000000 / 8 * 1.5 = 375000 bytes (3000000 bits)
  ! 符合的流量 (速率 <= 2Mbps) 转发
  ! 超出的流量 (速率 > 2Mbps) 丢弃
  police 2000000 3000000 conform-action transmit exceed-action drop

步骤 3: 将策略应用到接口

假设我们要在连接到内部网络的接口 GigabitEthernet0/1 上应用此策略。

! 进入接口配置模式
interface GigabitEthernet0/1
 ! 启用 QoS
 service-policy input LIMIT_HTTP_POLICY

完整配置示例:

! --- 步骤 1: 定义 ACL ---
ip access-list extended HTTP_TRAFFIC
 permit tcp 192.168.1.0 0.0.0.255 any eq www
! --- 步骤 2: 创建策略 ---
policy-map LIMIT_HTTP_POLICY
 class class-default
   ! 默认类,可以留空或处理其他流量
 class HTTP_TRAFFIC
   police 2000000 3000000
     conform-action transmit
     exceed-action drop
! --- 步骤 3: 应用策略 ---
interface GigabitEthernet0/1
 service-policy input LIMIT_HTTP_POLICY

监控和排错

配置完成后,你需要验证策略是否按预期工作。

show policy-map interface

这是最常用的命令,用于查看接口上应用的 QoS 策略的实时统计信息。

Router# show policy-map interface GigabitEthernet0/1
 GigabitEthernet0/1
  Service-policy input: LIMIT_HTTP_POLICY
    Class-map: HTTP_TRAFFIC (match-all)
      0 packets, 0 bytes
      30 second offered rate 0 bps, drop rate 0 bps
      Match: ip address (access-lists)
      police:
        cir 2000000 bps, bc 3000000 bytes
        conform 0 exceed 0 violate 0
        conformed 0 bps, 0 packets
        exceeded 0 bps, 0 packets
        violated 0 bps, 0 packets
      conformed 0 bps, exceed 0 bps, violate 0 bps
      conformed 0 packets, exceed 0 packets, violate 0 packets
      Class-map: class-default (match-any)
        ...
  • conform: 符合速率的数据包数量。
  • exceed: 超出速率的数据包数量(这里被丢弃了,所以是0)。
  • violate: 违反速率的数据包数量。

show access-lists

可以查看 ACL 的匹配次数,间接判断流量是否被正确分类。

Router# show access-lists
Extended IP access list HTTP_TRAFFIC
    10 permit tcp 192.168.1.0 0.0.0.255 any eq www (2 matches)

高级用法:police vs shape

policeshape 都是 QoS 流量控制工具,但它们有本质区别:

特性 police (监管) shape (整形)
工作方式 立即丢弃超出的流量。 缓存超出的流量,在空闲时再发送。
延迟 低延迟,因为不缓存数据包。 高延迟,因为数据包需要在缓冲区等待。
缓冲区 不需要或需要极小的缓冲区。 需要较大的缓冲区来存储突发流量。
典型应用
入口 (Ingress):保护网络免受外部流量冲击。
SLA 合规性检查:确保流量不超过约定速率,否则丢弃。

出口 (Egress):使流量以平滑、低于线路速率的速度发送。
保证承诺速率:确保即使在拥塞时,也能以 CIR 速率发送流量。

简单记忆

  • police:像交警开罚单,当场处罚(丢弃),不留情面,适用于入口。
  • shape:像水管阀门,控制流速(缓存),让水流变得平缓,适用于出口。

希望这份详细的解释能帮助你全面理解和使用 Cisco 的 police 命令!

-- 展开阅读全文 --
头像
Google Clips参数有哪些关键设置?
« 上一篇 今天
EMC Networker参数如何高效配置与优化?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]