在路由器上配置 MPLS 防火墙过滤器和监管器
您可以配置 MPLS 防火墙过滤器,根据数据包中顶级 MPLS 标签的 EXP 位对数据包进行 MPLS 计数。您还可以为 MPLS LSP 配置监管器。
以下部分讨论 MPLS 防火墙过滤器和监管器:
配置 MPLS 防火墙过滤器
您可以配置 MPLS 防火墙过滤器,根据数据包中顶级 MPLS 标签的 EXP 位对数据包进行 MPLS 计数。然后,可以将此过滤器应用于特定接口。您还可以为 MPLS 过滤器配置监管器,以对过滤器连接到的接口上的流量进行监管(即速率限制)。
您可以在层次结构级别为 [edit firewall family mpls filter filter-name term term-name from] MPLS 过滤器配置以下匹配标准属性:
-
exp -
exp-except
这些属性可以接受 0 到 7 范围内的 EXP 位。您可以配置以下选项:
-
单个 EXP 位,例如
exp 3; -
多个 EXP 位,例如
exp 0, 4; -
一系列 EXP 位,例如
exp [0-5];
如果未指定匹配标准(即,未配置 from 该语句,而仅 then 将该语句与 action 关键字一起使用 count ),则通过应用过滤器的接口的所有 MPLS 数据包都将被计算在内。
您还可以在层次结构级别配置 [edit firewall family mpls filter filter-name term term-name then] 以下任何操作关键字:
-
count -
accept -
discard -
next -
policer
有关如何配置防火墙过滤器的详细信息,请参阅路由 策略、防火墙过滤器和流量监管器用户指南。有关如何配置接口的更多信息,请参阅 适用于路由设备的 Junos OS 网络接口库 和 适用于路由设备的 Junos OS 服务接口库。
示例:配置 MPLS 防火墙过滤器
以下示例说明如何配置 MPLS 防火墙过滤器,然后将过滤器应用于接口。此过滤器配置为对 EXP 位设置为 0 或 4 的 MPLS 数据包进行计数。
下面显示了 MPLS 防火墙过滤器的配置:
[edit firewall]
family mpls {
filter expf {
term expt0 {
from {
exp 0,4;
}
then {
count counter0;
accept;
}
}
}
}
下面说明如何将 MPLS 防火墙过滤器应用于接口:
[edit interfaces]
so-0/0/0 {
mtu 4474;
encapsulation ppp;
sonet-options {
fcs 32;
}
unit 0 {
point-to-point;
family mpls {
filter {
input expf;
output expf;
}
}
}
}
MPLS 防火墙过滤器应用于接口的输入和输出(请参阅 input 上例中的 and output 语句)。
为 LSP 配置监管器
通过 MPLS LSP 管制,您可以控制通过特定 LSP 转发的流量。管制有助于确保通过 LSP 转发的流量永远不会超过请求的带宽分配。常规 LSP、配置了 DiffServ 感知流量工程的 LSP 和组类 LSP 支持 LSP 监管。您可以为每个组类 LSP 配置多个监管器。对于常规 LSP,每个 LSP 监管器都应用于遍历 LSP 的所有流量。一旦通过 LSP 的流量总和超过配置的限制,监管器的带宽限制就会生效。
在过滤器中配置组播 LSP 和 DiffServ 感知流量工程 LSP 监管器。过滤器可以配置为区分不同的类类型,并将相关监管器应用于每种类类型。监管器根据 EXP 位区分类类型。
您可以在过滤器下 family any 配置 LSP 监管器。 family any 使用过滤器是因为监管器应用于进入 LSP 的流量。此流量可能来自不同的系列:IPv6、MPLS 等。只要匹配条件适用于所有类型的流量,您无需知道进入 LSP 的流量类型即可。
您只能配置适用于所有流量类型的匹配条件。以下是 LSP 监管器支持的匹配条件:
-
forwarding-class -
packet-length -
interface -
interface-set
要在 LSP 上启用监管器,首先需要配置监管过滤器,然后将其包含在 LSP 配置中。有关如何配置监管器的信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
要为 LSP 配置监管器,请通过在语句中policing包含filter以下选项来指定过滤器:
policing { filter filter-name; }
您可以在以下层级包含该 policing 语句:
-
[edit protocols mpls label-switched-path lsp-name] -
[edit protocols mpls static-label-switched-path lsp-name] -
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name] -
[edit logical-systems logical-system-name protocols mpls static-label-switched-path lsp-name]
LSP 监管器限制
配置 MPLS LSP 监管器时,请注意以下限制:
-
LSP 监管器仅支持数据包 LSP。
-
LSP 监管器仅支持单播下一跃点。不支持组播下一跃点。
-
聚合接口不支持 LSP 监管器。
-
LSP 监管器在任何输出过滤器之前运行。
-
源自路由引擎的流量(例如 ping 流量)与中转流量不采用相同的转发路径。无法监管这种类型的流量。
-
LSP 监管器适用于所有 T Series 路由器和具有互联网处理器 II 应用特定集成电路 (ASIC) 的 M Series 路由器。
- 点对多点 LSP 不支持 LSP 监管器。
示例:配置 LSP 监管器
以下示例说明如何为 LSP 配置监管过滤器:
[edit firewall]
policer police-ct1 {
if-exceeding {
bandwidth-limit 50m;
burst-size-limit 1500;
}
then {
discard;
}
}
policer police-ct0 {
if-exceeding {
bandwidth-limit 200m;
burst-size-limit 1500;
}
then {
discard;
}
}
family any {
filter bar {
term discard-ct0 {
then {
policer police-ct0;
accept;
}
}
}
term discard-ct1 {
then {
policer police-ct1;
accept;
}
}
}
配置自动监管器
通过 LSP 的自动监管,可以为网络流量提供严格的服务保证。此类保证在为流量工程 LSP 提供差异化服务的环境中尤其有用,可为 MPLS 网络上的 ATM 线提供更好的仿真。有关 LSP 差异化服务的更多信息,请参阅 DiffServ 感知流量工程简介。
流量工程 LSP 的差异化服务允许您基于 EXP 位对 MPLS 流量提供差异处理。要确保这些流量保证,仅仅适当标记流量是不够的。如果流量遵循拥塞路径,则可能无法满足要求。
保证沿有足够资源可用于满足要求的路径建立 LSP。但是,即使沿此类路径建立 LSP 并正确标记,也无法保证这些要求,除非您确保发送到 LSP 的流量不会超过可用带宽。
可以通过手动配置适当的过滤器并将其应用于配置中的 LSP,来监管 LSP 流量。但是,对于大型部署,配置数千个不同的过滤器很麻烦。配置组也无法解决此问题,因为不同的 LSP 可能有不同的带宽要求,需要不同的过滤器。要监管众多 LSP 的流量,最好配置自动监管器。
为 LSP 配置自动监管器时,监管器将应用于路由器上配置的所有 LSP。但是,您可以禁用特定 LSP 上的自动管制。
为 DiffServ 感知流量工程 LSP 配置自动监管器时,不支持 GRES。
无法为承载 CCC 流量的 LSP 配置自动管制。
以下部分介绍如何为 LSP 配置自动监管器:
为 LSP 配置自动监管器
要为标准 LSP(既不是 DiffServ 感知流量工程 LSP,也不是组类 LSP)配置自动监管器,请将语句class all policer-action与 auto-policing option 或 optionclass ct0 policer-action:
auto-policing { class all policer-action; class ct0 policer-action; }
您可以在以下层级包含此语句:
-
[edit protocols mpls] -
[edit logical-systems logical-system-name protocols mpls]
您可以为自动监管器配置以下监管器操作:
-
drop— 丢弃所有数据包。 -
loss-priority-high— 将数据包丢弃优先级 (PLP) 设置为高。 -
loss-priority-low- 将 PLP 设置为低。
这些监管器操作适用于所有类型的 LSP。默认监管器操作是不执行任何操作。
LSP 的自动监管器根据为 LSP 配置的带宽量对流量进行监管。在层次结构级别使用[edit protocols mpls label-switched-path lsp-path-name]语句配置 bandwidth LSP 的带宽。如果已在路由器上启用自动监管器,更改为 LSP 配置的带宽,并提交修订后的配置,则更改不会对活动 LSP 产生影响。要强制 LSP 使用新的带宽分配,请发出命令clear mpls lsp。
无法为遍历聚合接口或多链路点对点协议 (MLPPP) 接口的 LSP 配置自动监管器。
为 DiffServ 感知流量工程 LSP 配置自动监管器
要为 DiffServ 感知流量工程 LSP 和组类 LSP 配置自动监管器,请包含以下 auto-policing 语句:
auto-policing { class all policer-action; class ctnumber policer-action; }
您可以在以下层级包含此语句:
-
[edit protocols mpls] -
[edit logical-systems logical-system-name protocols mpls]
您可以为一个或多个类中的每一个类添加 class all policer-action 语句或语 class ctnumber policer-action 句(您可以为每个类配置不同的监管器操作)。有关可替代 policer-action 变量的操作列表,请参阅 为 LSP 配置自动监管器。默认监管器操作是不执行任何操作。
无法为遍历聚合接口或 MLPPP 接口的 LSP 配置自动监管器。
为点对多点 LSP 配置自动监管器
您可以通过将语句与 option 或 class ct0 policer-action option 一起class all policer-action包含auto-policing,为点对多点 LSP 配置自动监管器。您只需在主点对多点 LSP 上配置该auto-policing语句(有关主点对多点 LSP 的更多信息,请参阅配置主点对多点 LSP)。对于点对多点 LSP,无需在子 LSP 上进行额外配置。点对多点自动管制应用于点对多点 LSP 的所有分支。此外,自动管制会应用于与点对多点分支具有相同转发条目的任何本地 VRF 接口。
点对多点 LSP 的自动监管器配置与标准 LSP 的自动监管器配置相同。有关更多信息,请参阅 为 LSP 配置自动监管器。
禁用 LSP 上的自动管制
启用自动管制后,路由器或逻辑系统上的所有 LSP 都会受到影响。要在已启用自动管制的路由器上禁用特定 LSP 上的自动管制,请将该语句与以下选项一起包含在policing内:no-auto-policing
policing no-auto-policing;
您可以在以下层级包含此语句:
-
[edit protocols mpls label-switched-path lsp-name] -
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
示例:为 LSP 配置自动监管
为多类 LSP 配置自动管制,为类类型 ct0、 ct1、 ct2和 ct3指定不同的操作。
[edit protocols mpls]
diffserv-te {
bandwidth-model extended-mam;
}
auto-policing {
class ct1 loss-priority-low;
class ct0 loss-priority-high;
class ct2 drop;
class ct3 loss-priority-low;
}
traffic-engineering bgp-igp;
label-switched-path sample-lsp {
to 3.3.3.3;
bandwidth {
ct0 11;
ct1 1;
ct2 1;
ct3 1;
}
}
interface fxp0.0 {
disable;
}
interface t1-0/5/3.0;
interface t1-0/5/4.0;
在 MPLS 标记的 IP 数据包中写入不同的 DSCP 和 EXP 值
在不影响输出队列分配的情况下,您可以选择性地将带有 MPLS 标记的 IPv4 和 IPv6 数据包的 DiffServ 代码点 (DSCP) 字段设置为 0,并继续根据基于转发类的配置重写表设置 MPLS EXP 字段。为此,您可以为 MPLS 标记的数据包配置防火墙过滤器。