流量监管

网络工程 思科 cisco催化剂 服务质量 警务
2021-07-23 21:22:10

我知道流量监管不是您通常在 LAN 环境中可以找到的东西,我希望我不会在我的环境中找到它。话虽这么说……我别无选择。

该设备是 3750X。要求是将进出 10.0.0.0 和 10.0.1.0 网络的所有流量监管(不是整形),使其最大达到 ~48Mbps。下面是我想出的配置。你怎么看?另外,我知道我可能应该在入站接口上配置这个,但那完全是另一回事......

ip access-list extended acl-police
 permit ip 10.0.0.0 0.0.0.255 10.0.1.0 0.0.0.255
 permit ip 10.0.1.0 0.0.0.255 10.0.0.0 0.0.0.255
!
class-map police-san
 match access-group name acl-police
!
policy-map police-san-replication
 class police-san
  police 47000000 10000 20000 conform-action transmit exceed-action drop

interface <outbound>
service-policy output police-san-replication

另一件事......谁能向我解释“突发正常”“突发最大”这是否允许它突破我定义的警察限制 (bps)?定时器阈值是多少?我应该将这些突发数字配置得更小吗?更大?

3个回答

我会使用基于 vlan 的策略,它在这些交换机上效果更好。这是一个匹配 48Mb 速度值的示例

mls qos
!
interface GigabitEthernet1/0/2
 switchport access vlan 500
 switchport mode access
 mls qos vlan-based
!
class-map match-all CUSTOMER_1
 match input-interface  GigabitEthernet1/0/2
!
policy-map VLAN500_POLICE
 class CUSTOMER_1
  police 48000000 18000000 exceed-action drop
!
policy-map VLAN500_PARENT
 class class-default
  set dscp default
  service-policy VLAN500_POLICE
!
interface Vlan500
 service-policy input VLAN500_PARENT

在父策略下,您必须“设置”某些内容才能使其工作。这可以是任何东西,所以在这个例子中我只是将 dscp 设置为 0

您的突发值看起来有点小。选择突发值并不容易,可能需要进行测试才能使其正确。另外,如果我没记错的话,3750 不支持出口监管。

Bc 在监管方面的工作方式与在塑造方面的工作方式略有不同。通过整形你缓冲数据包,你有一个令牌桶,其中有 Tc(时间间隔)你有 Bc(承诺突发)字节添加到桶中。公式为 Tc = Bc / CIR。在某些平台上,Tc 也是固定的,因此您无法选择配置它。

当您使用监管时,您不使用固定的时间间隔。相反,当数据包到达时,监管器会计算累积了多少字节。因此,假设您以 10 Mbit/s 的速度进行监管。您已配置了 10000 字节的 Bc。一个突发数据包到达 t0,构成 5000 字节的流量。所以扣除了5000个字节。然后在 t1 5 毫秒后,另一批 5000 字节的数据包到达。监管器设置为 10 Mbit/s,即每秒 1250000 字节。这意味着 1250000 * 0,005 = 6250 个字节已添加到 t0 处第一次运行后剩余的 5000 个字节中。所以数据包被允许通过。

从这个例子你可以看到,在 t1 时,它可以被允许发送 5000 + 6250 = 11250 个字节,但是因为 Bc 被设置为 10000 个字节,监管器会丢弃任何超过这个的字节。如果 6000 字节的数据包已经到达怎么办?然后必须丢弃一些数据包。这就是 Be 发挥作用的地方。Be 将允许从空闲间隔累积一些额外的信用。因此,如果 Be 已配置为 20000 字节,则 6000 字节可能已通过监察器。

Be 为监管器增加了一些公平性,但它也允许更大的流量通过。请记住,最终仍会强制执行 CIR,因此平均而言,发送的数量不可能超过 CIR。

瞻博网络的这篇文章建议将突发流量设置为 5 毫秒,在您的情况下为 6250000 字节。

我不认为出口管制在这个平台上有效,但你需要使用 SRR,并且在可能的情况下坦率地塑造总是可取的。

在 3750 上随意启用“mls qos”可能会导致灾难,默认值很可怕,例如 EF 被监管为 4%。所以你至少应该阅读:

  1. 如何最大化可用缓冲区
  2. Cisco Catalyst 3750 QoS 配置示例
  3. 配置指南

对于入口,您建议的配置应该有效。

我想就 CIR 缓冲区的尺寸提供一些额外的想法,我知道传统的 Cisco CCO 传说谈论 RTT,但 RTT 实际上与策略器无关,因为您的路由器/交换机不关心数据包已经进入了多长时间- 到达时飞行。重要的是入口接口的速率,因为入口接口物理速率决定了你的“桶”被填充的速度,而监管器速率决定了它被清空的速度。

JNPR 公式 (burst_time * interface_rate) 是非常有用的经验法则,因此如果您有 10G 入口接口并且您在接口 A 上有 1Mbps 出口策略器和在接口 B 上有 100Mbps 出口策略器,那么两个 [AB] 策略器应该具有相同的 CIR 缓冲区,说 10G * 5ms 来处理 5ms 突发,只需调整时间以适应您的流量配置文件的突发性。

我正在大量使用“CIR 缓冲区”,因为从技术上讲,监管不会在正常接口缓冲区之外添加任何缓冲。它只是意味着将发送多少字节,而不应用策略器。这是必需的,否则每个单个数据包都会超过监管器速率并且可观察速率将为 0。