应用监管器
应用监管器概述
监管器允许您在特定接口或第 2 层 虚拟专用网络 (VPN) 上执行简单的流量监管,而无需配置防火墙过滤器。要应用监管器,请包括以下 policer 语句:
policer { arp policer-template-name; input policer-template-name; output policer-template-name; }
您可以在以下层次结构级别包含这些语句:
[edit interfaces interface-name unit logical-unit-number family family][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family family]
在语句中family,协议家族可以是 ccc、 inet、 inet6、 mplstcc、 或 vpls。
在语 arp 句中,列出当接口上收到地址解析协议 (ARP) 数据包时要评估的一个监管器模板的名称。默认情况下,将安装一个 ARP 监管器,该监管器在配置 family inet 了语句的所有以太网接口之间共享。如果希望对 ARP 数据包进行更严格或更宽松的监管,可以配置特定于接口的监管器并将其应用于接口。配置 ARP 监管器就像在层次结构级别配置 [edit firewall policer] 任何其他监管器一样。如果将此监管器应用于接口,则默认 ARP 数据包监管器将被覆盖。如果删除此监管器,默认监管器将再次生效。
您可以在接口上的每个协议家族上配置不同的监管器,每个家族有一个输入监管器和一个输出监管器。应用监管器时,只能为家族
inet协议配置家族ccc、inet、mplsinet6、tcc或vpls,以及一个 ARP 监管器。每次引用监管器时,都会在该接口的数据包转发组件上安装该监管器的单独副本。如果将监管器和防火墙过滤器同时应用于接口,则输入监管器将在输入防火墙过滤器之前进行评估,输出监管器将在输出防火墙过滤器之后进行评估。在语
input句中,列出接口上收到数据包时要评估的一个监管器模板的名称。在语output句中,列出在接口上传输数据包时要评估的一个监管器模板的名称。对于通过跨越多个 FPC 的聚合以太网 (AE) 接口在 MX 系列路由器上终端的用户,总用户速率可能会超过配置的速率,因为监管器中配置的限制将单独应用于 AE 捆绑包中的每个接口。因此,例如,如果您打算让三成员 AE 接口上的监管器强制实施
bandwidth-limit600m的 ,则需要在监管器200m中配置 ,bandwidth-limit以便考虑 AE 中的三个接口(即,每个接口 200 Mbps,合计 600 Mbps)。如果将监管器应用于接口
lo0,则会将其应用于路由引擎接收或传输的数据包。
应用聚合监管器
应用聚合监管器
默认情况下,如果将监管器应用于同一逻辑接口上的多个协议家族,监管器将单独限制每个协议家族的流量。例如,如果监管器同时将 50 Mbps 的带宽限制应用于 IPv4 和 IPv6 流量,则允许接口接受 50 Mbps 的 IPv4 流量和 50 Mbps 的 IPv6 流量。如果应用聚合监管器,监管器将仅允许接口接收 50 Mbps 的 IPv4 和 IPv6 流量。
要配置聚合监管器,请在层次结构级别包含[edit firewall policer policer-template-name]该logical-interface-policer语句:
[edit firewall policer policer-template-name] logical-interface-policer;
要将监管器视为聚合,您必须将其应用于单个逻辑接口上的多个协议家族,方法是包含以下语 policer 句:
policer { arp policer-template-name; input policer-template-name; output policer-template-name; }
您可以在以下层次结构级别包含这些语句:
[edit interfaces interface-name unit logical-unit-number family family][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family family]
在语句中family,协议家族可以是 ccc、 inet、 inet6、 mplstcc、 或 vpls。
未应用监管器的协议家族不受监管器的影响。例如,如果将单个逻辑接口配置为接受 MPLS、IPv4 和 IPv6 流量,并且仅将逻辑接口监管器 policer1 应用于 IPv4 和 IPv6 协议家族,则 MPLS 流量不受 的 policer1约束。
如果应用于 policer1 其他逻辑接口,则监管器有两个实例。这意味着,即使同一逻辑接口监管器应用于同一物理接口端口上的多个逻辑接口,Junos OS 也会单独监管单独逻辑接口上的流量,而不是作为聚合监管流量。
示例:应用聚合监管器
配置两个逻辑接口监管器: aggregate_police1 和 aggregate_police2。适用于 aggregate_police1 通过逻辑接口 fe-0/0/0.0接收的 IPv4 和 IPv6 流量。适用于 aggregate_police2 通过逻辑接口 fe-0/0/0.0 接收的 CCC 和 MPLS 流量。此配置会导致软件仅创建一个 的实例 aggregate_police1 和一个 的实例 aggregate_police2。
适用于 aggregate_police1 在另一个逻辑接口 fe-0/0/0.1上接收的 IPv4 和 IPv6 流量。此配置会导致软件创建一个新的实例 aggregate_police1,一个适用于单元 0,另一个适用于单元 1。
[edit firewall]
policer aggregate_police1 {
logical-interface-policer;
if-exceeding {
bandwidth-limit 100m;
burst-size-limit 500k;
}
then {
discard;
}
}
policer aggregate_police2 {
logical-interface-policer;
if-exceeding {
bandwidth-limit 10m;
burst-size-limit 200k;
}
then {
discard;
}
}
[edit interfaces fe-0/0/0]
unit 0 {
family inet {
policer {
input aggregate_police1;
}
}
family inet6 {
policer {
input aggregate_police1;
}
}
family ccc {
policer {
input aggregate_police2;
}
}
family mpls {
policer {
input aggregate_police2;
}
}
}
unit 1 {
family inet {
policer {
input aggregate_police1;
}
}
family inet6 {
policer {
input aggregate_police1;
}
}
}
对增强型智能排队 PIC 应用分层监管器
对增强型智能排队 PIC 应用分层监管器
在具有增强型智能排队 (IQE) 的路由器上,PIC 支持入口方向的分层监管器,并允许您将分层监管器应用于接口的高级和聚合(高级加普通)流量级别。分层监管器在配置的物理接口与数据包转发引擎之间提供交叉功能。
开始之前,有一些适用于分层监管器的常规限制:
只能为逻辑接口或物理接口配置一种类型的监管器。例如,不允许同一逻辑接口使用相同方向的分层监管器和常规监管器。
不允许链接监管器,即将监管器同时应用于端口和该端口的逻辑接口。
如果没有 BA 分类,则每个接口限制为 64 个监管器,因此每个 DLCI 提供一个监管器。
物理接口或逻辑接口上只能应用一种监管器。
监管器应独立于 BA 分类。如果不进行 BA 分类,则接口上的所有流量都将根据配置被视为 EF 或非 EF。使用 BA 分类时,一个接口最多可支持 64 个监管器。同样,此处的接口可以是物理接口或逻辑接口(例如 DLCI)。
使用 BA 分类时,其他流量(与任何 BA 分类 DSCP/EXP 位 不 匹配的流量)将作为非 EF 流量进行监管。不会为此流量安装单独的监管器。
层次结构监管器概述
分层监管使用两个令牌桶,一个用于聚合(非 EF)流量,另一个用于高级 (EF) 流量。哪些流量是 EF,哪些流量是非 EF,由服务等级配置决定。从逻辑上讲,分层监管是通过链接两个监管器来实现的。
在 图 1 中的示例中,EF 流量由高级监管器监管,非 EF 流量由聚合监管器监管。这意味着,对于 EF 流量,不合规格的操作将是为高级监管器配置的操作,但符合规格的 EF 流量仍将使用聚合监管器中的令牌。
但是 EF 流量永远不会提交给聚合监管器的不合规格操作。此外,如果高级监管器的不合规格操作未设置为丢弃,则这些不合规格的数据包将不会使用聚合监管器中的令牌。聚合监管器仅监管非 EF 流量。如您所见,如果所有令牌都被非 EF 流量使用,然后您获得 EF 流量突发,则聚合监管器令牌桶可能会变为负数。但这将持续很短的时间,并且在一段时间内会趋于平均。例如:
高级监管器: 带宽 2 Mbps,OOS 操作:丢弃
聚合监管器: 带宽 10 Mbps,OOS 操作:丢弃
在上述情况下,EF 流量保证为 2 Mbps,非 EF 流量将从 8 Mbps 到 10 Mbps,具体取决于 EF 流量的输入速率。
层次结构管制特征
分层令牌桶功能包括:
在应用监管器之前,入口流量首先分为 EF 流量和非 EF 流量:
分类通过 Q 树查找来执行
通道号 选择共享令牌桶监管器:
双令牌桶监管器分为两个单桶监管器:
Policer1 — EF 流量
Policer2 — 非 EF 流量
共享令牌桶用于监管流量,如下所示:
Policer1 设置为 EF 速率(例如,2 Mbps)
Policer2 设置为聚合接口管制速率(例如,10 Mbps)。
EF 流量将应用于 Policer1。
如果流量符合规范,则允许从 Policer1 和 Policer2 传递和递减流量。
如果流量不符合规格,则可以将其丢弃或使用新的光纤通道或丢失优先级进行标记。Policer2 不会对不合规格的 EF 流量执行任何操作。
非 EF 流量仅应用于 Policer2。
如果流量符合规范,则允许其通过并递减 Policer2。
如果流量不符合规格,则会将其丢弃或使用新的光纤通道标记,或设置新的丢弃优先级。
在第 2 层将端口速度限制为所需速率
对 EF 流量进行速率限制
对非 EF 流量进行速率限制
按颜色统计的监管丢弃数
也可以看看
配置分层监管器
要配置分层监管器,请将该 policing-priority 语句应用于相应的转发类,并为聚合和高级级别配置分层监管器。有关服务等级的更多信息,请参阅 Junos OS 路由设备服务等级用户指南。
分层监管器只能在 IQE PIC 上托管的 SONET 物理接口上配置。仅支持聚合和高级级别。
分层监管器转发类的 CoS 配置
[edit class-of-service forwarding-classes] class fc1 queue-num 0 priority high policing-priority premium; class fc2 queue-num 1 priority low policing-priority normal; class fc3 queue-num 2 priority low policing-priority normal; class fc4 queue-num 3 priority low policing-priority normal;
有关服务等级配置和语句的详细信息,请参阅 适用于路由设备的 Junos OS 服务等级用户指南。
分层监管器的防火墙配置
[edit firewall hierarchical-policer foo]
aggregate {
if-exceeding {
bandwidth-limit 70m;
burst-size-limit 1500;
}
then {
discard;
}
premium {
if-exceeding {
bandwidth-limit 50m;
burst-size-limit 1500;
}
then {
discard;
}
}
您可以按如下方式应用分层监管器:
[edit interfaces so-0/1/0 unit 0 layer2-policer] input-hierarchical-policer foo;
您还可以选择在物理端口级别应用监管器,如下所示:
[edit interfaces so-0/1/0 layer2-policer] input-hierarchical-policer foo;
配置单速率双色监管器
您可以按如下方式配置单速率双色监管器:
[edit firewall policer foo]
if-exceeding {
bandwidth-limit 50m;
burst-size-limit 1500;
}
then {
discard;
}
您可以按如下方式应用监管器:
[edit interfaces so-0/1/0 unit 0 layer2-policer] input-policer foo;
您还可以选择在物理端口级别应用监管器,如下所示:
[edit interfaces so-0/1/0 layer2-policer] input-policer foo;
配置单速率色盲监管器
本节介绍单速率色盲和颜色感知监管器。
您可以按如下方式配置单速率色盲监管器:
[edit firewall three-color-policer foo]
single-rate {
color-blind;
committed-information-rate 50m;
committed-burst-size 1500;
excess-burst-size 1500;
}
您可以按如下方式应用单速率色盲监管器:
[edit interfaces so-0/1/0 unit 0 layer2-policer] input-three-color foo;
您可以按如下方式配置单速率颜色感知监管器:
[edit firewall three-color-policer bar]
single-rate {
color-aware;
committed-information-rate 50m;
committed-burst-size 1500;
excess-burst-size 1500;
}
您可以按如下方式应用单速率颜色感知监管器:
[edit interfaces so-0/1/0 unit 0 layer2-policer] input-three-color foo;
您还可以选择在物理端口级别应用监管器,如下所示:
[edit interfaces so-0/1/0 layer2-policer] input-three-color bar;
配置双速率三色标记监管器
入口监管使用双速率三色标记 (trTCM) 来实现。这是通过双令牌桶 (DTB) 完成的,该桶维护两个速率、已提交速率和峰值速率。出口静态监管也会使用令牌桶。
令牌桶执行以下入口监管功能:
(1K) trTCM - 双令牌桶(红、黄、绿标记)
管制基于第 2 层数据包大小:
+/- 字节调整偏移后
标记是颜色感知和色盲:
颜色感知需要通过基于以下条件的 q-tree 查找设置颜色:
ToS
EXP
可编程标记操作:
颜色(红色、黄色、绿色)
丢弃(基于颜色和拥塞配置文件)
根据到达信道编号选择监管器:
通道号 LUT 生成监管器索引和队列索引
多个通道可以共享同一个监管器(LUT 生成相同的监管器索引)
在以下级别支持入口监管和 trTCM:
队列
逻辑接口 (ifl/DLCI)
物理接口 (ifd)
物理端口(控制器 ifd)
逻辑接口、物理接口和端口的任意组合
支持接口速度和位/秒百分比
速率限制可应用于入口处的选定队列和出口处的预定义队列。令牌桶在颜色感知和色盲模式下运行(由 RFC 2698 指定)。
配置色盲 trTCM
[edit firewall three-color-policer foo]
two-rate {
color-blind;
committed-information-rate 50m;
committed-burst-size 1500;
peak-information-rate 100m;
peak-burst-size 3k;
}
您可以按如下方式应用三色双速率色盲监管器:
[edit interfaces so-0/1/0 unit 0 layer2-policer] input-three-color foo;
您还可以选择在物理端口级别应用监管器,如下所示:
[edit interfaces so-0/1/0 layer2-policer] input-three-color foo;
配置颜色感知型 trTCM
[edit firewall three-color-policer bar]
two-rate {
color-aware;
committed-information-rate 50m;
committed-burst-size 1500;
peak-information-rate 100m;
peak-burst-size 3k;
}
您可以按如下方式应用三色双速率颜色感知监管器:
[edit interfaces so-0/1/0 unit 0 layer2-policer] input-three-color bar;
您还可以选择在物理端口级别应用监管器,如下所示:
[edit interfaces so-0/1/0 layer2-policer] input-three-color bar;