均衡 MPLS 流量负载
基于 MPLS 标签配置负载均衡
对于受支持平台上的 MPLS 流,将按数据包进行负载均衡。熵或随机分布对于数据包均匀分布到下一跃点至关重要。默认情况下,当使用负载平衡来帮助分配流量时,Junos OS 会使用散列算法来选择要安装到转发表中的下一跃点地址。每当目标的下一跃点集发生变化时,就会通过散列算法重新选择下一跃点地址。您可以配置如何使用散列算法在一组等价标签交换路径 (LSP) 上均衡流量负载。
为了确保 VPLS 和 VPWS 流量的熵,Junos OS 可以根据 IP 报头和多达三个 MPLS 标签(即所谓的顶部标签)中的数据创建散列。
在某些情况下,随着使用标签的网络功能数量的增加(如 MPLS 快速重新路由和 RFC 3107、RSVP 和 VPN),前三个标签中的数据可能会变为静态,因此不足以为熵源。因此,负载平衡可能会变得扭曲,或者数据包传递无序的发生率可能会上升。对于这些情况,可以使用标签堆栈底部的标签(有关资格,请参阅下面的表 1)。顶部标签和底部标签不能同时使用。
MPC 卡不支持常规哈希密钥配置。要使基于 MPC 的哈希密钥配置有效,您需要进行配置 enhanced-hash-key 。
当满足以下条件时,负载平衡用于均匀分配流量:
-
有多个通过不同接口到同一目标的等价下一跃点。
-
聚合接口上有一个下一跃点。
LSP 倾向于通过随机选择一个等价下一跃点并专门使用它来平衡其放置的负载。随机选择在每个传输路由器独立进行,仅比较内部网关协议 (IGP) 指标。不考虑带宽或拥塞水平。
此功能适用于聚合以太网和聚合 SONET/SDH 接口,以及多个等价 MPLS 下一跃点。此外,仅在 T Series、MX 系列、M120 和 M320 路由器上,您只能为通过第 2 层 以太网伪线的 IPv4 流量配置负载平衡。您还可以根据 IP 信息为以太网伪线配置负载平衡。在哈希密钥中包含 IP 信息的选项支持以太网电路交叉连接 (CCC) 连接。
要根据 MPLS 标签信息进行负载均衡,请配置以下 family mpls 语句:
[edit forwarding-options hash-key] family mpls { all-labels; bottom-label-1; bottom-label-2; bottom-label-3; label-1; label-2; label-3; no-labels; no-label-1-exp; payload { ether-pseudowire; ip { disable; layer-3-only; port-data { destination-lsb; destination-msb; source-lsb; source-msb; } } } }
您可以在以下层级包含此语句:
-
[edit forwarding-options hash-key]
表 1 提供了有关所有可能的 MPLS LSP 负载平衡选项的详细信息。
|
声明 |
支持的平台 |
MPLS LSP 负载平衡选项 |
|---|---|---|
|
|
MX 系列和 PTX 系列 |
在 Junos OS 19.1R1 版本之前,散列密钥中最多包含 8 个 MPLS 标签,用于识别数据包转发引擎中流的唯一性。在 PTX 系列路由器上,默认设置此值。 从 Junos OS 19.1R1 版开始,对于带有 MPC 和 MIC 接口的 MX 系列路由器,散列密钥中最多包含 16 个传入 MPLS 标签。 |
|
|
采用 DPC(I 芯片)的 MX 系列。M10i、M7i 和 M120 不支持。 |
使用最底部的标签来计算哈希密钥,例如,如果顶部标签未为所需的熵级别提供足够的变量。 |
|
|
采用 DPC(I 芯片)的 MX 系列。M10i、M7i 和 M120 不支持。 |
使用底部的第二个标签来计算哈希键,例如,如果顶部标签没有为所需的熵水平提供足够的变量。 |
|
|
采用 DPC(I 芯片)的 MX 系列。M10i、M7i 和 M120 不支持。 |
使用从底部开始的第三个标签来计算哈希键,例如,如果顶部标签没有为所需的熵水平提供足够的变量。 |
|
|
M 系列、MX 系列、T 系列 |
在哈希密钥中包含第一个标签。对单标签数据包使用此选项。 |
|
|
M 系列、MX 系列、T 系列 |
在哈希密钥中包含第二个标签。您还必须配置该 |
|
|
M 系列、MX 系列、T 系列 |
在哈希密钥中包含第三个标签。还必须配置选项 |
|
|
全部 |
从哈希密钥中排除 MPLS 标签。 |
|
|
M 系列、MX 系列、T 系列 |
从散列密钥中排除顶部标签的 EXP 位。您还必须配置该 对于第 2 层 VPN,路由器可能会遇到数据包重新排序问题。当猝发流量推动客户流量带宽超出其限制时,流量可能会在流量中受到影响。因此,数据包可能会被重新排序。通过从哈希密钥中排除 EXP 位,可以避免此重新排序问题。 |
|
|
全部 |
允许您配置要包含在散列密钥中的 IP 数据包有效负载的哪些部分。对于 PTX 系列数据包传输路由器,默认设置此值。
注意:在 ACX5448 系列路由器上,
payload该子选项不受支持,现在已隐藏,以防止出现不受支持的配置。如果现有配置中包含命令set forwarding-options hash-key family mpls payload ip,则平台将显示以下警告:
Warning: configuration block ignored: unsupported platform (acx5448) |
|
|
PTX 系列 |
从哈希密钥中排除 IP 有效负载。 |
|
|
M120、M320、MX 系列、T 系列 |
通过第 2 层 以太网伪线负载均衡 IPv4 流量。 |
|
|
全部 |
在散列密钥中包含 IPv4 或 IPv6 地址。您还必须配置 |
|
|
全部 |
散列密钥中仅包含第 3 层 IP 信息。从哈希密钥中排除所有 |
|
|
M 系列、MX 系列、T 系列 |
包括源端口和目标端口字段信息。默认情况下,哈希密钥中使用源端口和目标端口字段的最高有效字节和最低有效字节。要选择要在哈希密钥中使用的特定字节,请在层次结构级别包括 |
|
|
M 系列、MX 系列、T 系列 |
在哈希密钥中包含目标端口的最低有效字节。可与任何其他 |
|
|
M 系列、MX 系列、T 系列 |
在散列密钥中包含目标端口的最有效字节。可与任何其他 |
|
|
M 系列、MX 系列、T 系列 |
在哈希密钥中包含源端口的最低有效字节。可与任何其他 |
|
|
M 系列、MX 系列、T 系列 |
在哈希密钥中包含源端口的最有效字节。可与任何其他 |
以下示例说明了配置 MPLS LSP 负载平衡的方法:
-
要在哈希密钥中包括 IP 地址和第一个标签:
-
对于 M 系列、MX 系列和 T 系列路由器,在层次结构级别配置
label-1[edit forwarding-options hash-key family mpls]语句和ip语句选项payload:[edit forwarding-options hash-key family mpls] label-1; payload { ip; } -
对于 PTX 系列数据包传输路由器,
all-labels默认情况下会配置和ip payload选项,因此无需配置。
-
-
(仅限 M320 和 T Series 路由器)要在哈希密钥中包括 IP 地址以及第一个和第二个标签,请在层次结构级别配置
label-1[edit forwarding-options hash-key family mpls]语句的payloadandlabel-2options 和ipoption:[edit forwarding-options hash-key family mpls] label-1; label-2; payload { ip; }注意:您只能在 M320 和 T Series 路由器上包含此语句组合。如果将它们包含在 M Series 多服务边缘路由器上,则散列密钥中仅使用第一个 MPLS 标签和 IP 有效负载。
-
对于 T Series 路由器,可在层次结构级别包括
label-1[edit forwarding-options hash-key family mpls]、label-2和label-3选项,以确保适当的负载平衡:[edit forwarding-options hash-key family mpls] label-1; label-2; label-3;
-
(仅限 M 系列、MX 系列和 T 系列路由器)对于第 2 层 VPN,路由器可能会遇到数据包重新排序问题。当猝发流量推动客户流量带宽超出其限制时,流量可能会在流量中受到影响。因此,数据包可能会被重新排序。通过从哈希密钥中排除 EXP 位,可以避免此重新排序问题。要从散列计算中排除第一个标签的 EXP 位,请在
[edit forwarding-options hash-key family mpls]层次结构级别包含该no-label-1-exp语句:[edit forwarding-options hash-key family mpls] label-1; no-label-1-exp; payload { ip; }
示例:负载平衡 MPLS 网络
将多个 RSVP LSP 配置到同一出口路由器时,将选择指标最低的 LSP 并承载所有流量。如果所有 LSP 都具有相同的指标,则会随机选择其中一个 LSP,并通过该 LSP 转发所有流量。要在所有 LSP 之间平均分配流量,可以根据配置的负载平衡类型在入口路由器或中转路由器上配置负载平衡。
图 1 展示了一个 MPLS 网络,其中四个 LSP 配置到同一出口路由器 (R0)。负载均衡在入口路由器 R1 上配置。示例网络使用开放最短路径优先 (OSPF) 作为内部网关协议 (IGP),OSPF 区域为 0.0.0.0。受限最短路径优先 (CSPF) LSP 需要 IGP,这是 Junos OS 的默认设置。此外,示例网络还使用策略创建 BGP 流量。
图 1 所示的网络由以下组件组成:
-
全网状内部 BGP (IBGP) 拓扑,使用 AS 65432
-
在所有路由器上启用 MPLS 和 RSVP
-
路由器 R1 和 R0 上的发送静态策略,允许在网络中通告新路由
-
R1 和 R0 之间有四个单向 LSP,R0 和 R1 之间有一个反向 LSP,支持双向流量
-
在入口路由器 R1 上配置的负载均衡
图 1 所示的网络是 BGP 全网状网络。由于路由反射器和联合不用于传播 BGP 获知的路由,因此每个路由器都必须与运行 BGP 的所有其他路由器有一个 BGP 会话。
负载均衡 MPLS 网络的路由器配置
目的
本主题中的配置适用于负载 平衡网络拓扑中所示的示例网络中的六台负载均衡路由器。
行动
要显示路由器的配置,请使用以下 Junos OS CLI 操作模式命令:
user@host> show configuration | no-more
示例输出 1
以下配置输出适用于边缘路由器 R6。
user@R6> show configuration | no-more
[...Output truncated...]
interfaces {
fe-0/1/2 {
unit 0 {
family inet {
address 10.0.16.14/30;
}
family mpls; #MPLS enabled on relevant interfaces
}
}
fe-1/3/0 {
unit 0 {
family inet {
address 10.10.12.1/24;
}
}
}
fxp0 {
unit 0 {
family inet {
address 192.168.70.148/21;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.6.1/32;
}
}
}
}
routing-options {
static {
[...Output truncated...]
router-id 192.168.6.1; #Manually configured RID
autonomous-system 65432; #Full mesh IBGP
}
}
protocols {
rsvp {
interface fe-0/1/2.0;
interface fxp0.0 {
disable;
}
}
mpls {
interface fe-0/1/2.0;
interface fxp0.0 {
disable;
}
}
bgp {
group internal {
type internal;
local-address 192.168.6.1;
neighbor 192.168.1.1;
neighbor 192.168.2.1;
neighbor 192.168.4.1;
neighbor 192.168.9.1;
neighbor 192.168.0.1;
}
}
ospf { #IGP enabled
traffic-engineering;
area 0.0.0.0 {
interface fe-0/1/2.0;
interface fe-1/3/0.0;
interface lo0.0 {
passive; #Ensures protocols do not run over this interface
}
}
}
}
示例输出 2
以下配置输出用于入口路由器 R1。
user@R1> show configuration | no-more
[...Output truncated...]
interfaces {
fe-0/1/0 {
unit 0 {
family inet {
address 10.0.12.13/30;
}
family mpls; #MPLS enabled on relevant interfaces
}
}
fe-0/1/2 {
unit 0 {
family inet {
address 10.0.16.13/30;
}
family mpls;
}
}
fxp0 {
unit 0 {
family inet {
address 192.168.70.143/21;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.1.1/32;
}
}
}
}
routing-options {
static {
[...Output truncated...]
route 100.100.1.0/24 reject; #Static route for send-statics policy
}
router-id 192.168.1.1; #Manually configured RID
autonomous-system 65432; #Full mesh IBGP
forwarding-table {
export lbpp; #Routes exported to forwarding table
}
}
protocols {
rsvp {
interface fe-0/1/0.0;
interface fe-0/1/2.0;
interface fxp0.0 {
disable;
}
}
mpls {
label-switched-path lsp 1 { #First LSP
to 192.168.0.1; # Destination of the LSP
install 10.0.90.14/32 active; # The prefix is installed in the
primary via-r4; # inet.0 routing table
}
label-switched-path lsp2 {
to 192.168.0.1;
install 10.0.90.14/32 active;
primary via-r2;
}
label-switched-path lsp3 {
to 192.168.0.1;
install 10.0.90.14/32 active;
primary via-r2;
}
label-switched-path lsp4 {
to 192.168.0.1;
install 10.0.90.14/32 active;
primary via-r4;
}
path via-r2 { #Primary path to spread traffic across interfaces
10.0.29.2 loose;
}
path via-r4 {
10.0.24.2 loose;
}
interface fe-0/1/0.0;
interface fe-0/1/2.0;
interface fxp0.0 {
disable;
}
}
bgp {
export send-statics; #Allows advertising of a new route
group internal {
type internal;
local-address 192.168.1.1;
neighbor 192.168.2.1;
neighbor 192.168.4.1;
neighbor 192.168.9.1;
neighbor 192.168.6.1;
neighbor 192.168.0.1;
}
}
ospf { #IGP enabled
traffic-engineering;
area 0.0.0.0 {
interface fe-0/1/0.0;
interface fe-0/1/2.0;
interface lo0.0 {
passive; #Ensures protocols do not run over this interface
}
}
}
}
policy-options { #Load balancing policy
policy-statement lbpp {
then {
load-balance per-packet;
}
}
policy-statement send-statics { #Static route policy
term statics {
from {
route-filter 100.100.1.0/24 exact;
}
then accept;
}
}
}
示例输出 3
以下配置输出用于中转路由器 R2。
user@R2> show configuration | no-more
[...Output truncated...]
interfaces {
so-0/0/1 {
unit 0 {
family inet {
address 10.0.24.1/30;
}
family mpls; #MPLS enabled on relevant interfaces
}
}
so-0/0/2 {
unit 0 {
family inet {
address 10.0.29.1/30;
}
family mpls;
}
}
fe-0/1/0 {
unit 0 {
family inet {
address 10.0.12.14/30;
}
family mpls;
}
}
fxp0 {
unit 0 {
family inet {
address 192.168.70.144/21;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.2.1/32;
}
}
}
}
routing-options {
static {
[...Output truncated...]
router-id 192.168.2.1; #Manually configured RID
autonomous-system 65432; #Full mesh IBGP
}
}
protocols {
rsvp {
interface so-0/0/1.0;
interface fe-0/1/0.0;
interface so-0/0/2.0;
interface fxp0.0 {
disable;
}
}
mpls {
interface fe-0/1/0.0;
interface so-0/0/1.0;
interface so-0/0/2.0;
interface fxp0.0 {
disable;
}
}
bgp {
group internal {
type internal;
local-address 192.168.2.1;
neighbor 192.168.1.1;
neighbor 192.168.4.1;
neighbor 192.168.9.1;
neighbor 192.168.6.1;
neighbor 192.168.0.1;
}
}
ospf { #IGP enabled
traffic-engineering;
area 0.0.0.0 {
interface fe-0/1/0.0;
interface so-0/0/1.0;
interface so-0/0/2.0;
interface lo0.0 {
passive; #Ensures protocols do not run over this interface
}
}
}
}
示例输出 4
以下配置输出用于中转路由器 R4。
user@R4> show configuration | no-more
[...Output truncated...]
interfaces {
so-0/0/1 {
unit 0 {
family inet {
address 10.0.24.2/30;
}
family mpls; # MPLS enabled on relevant interfaces
}
}
so-0/0/3 {
unit 0 {
family inet {
address 10.0.49.1/30;
}
family mpls;
}
}
fxp0 {
unit 0 {
family inet {
address 192.168.70.146/21;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.4.1/32;
}
}
}
}
routing-options {
static {
[...Output truncated...]
router-id 192.168.4.1; #Manually configured RID
autonomous-system 65432; #Full mesh IBGP
}
protocols {
rsvp {
interface so-0/0/1.0;
interface so-0/0/3.0;
interface fxp0.0 {
disable;
}
}
mpls {
interface so-0/0/1.0;
interface so-0/0/3.0;
interface fxp0.0 {
disable;
}
}
bgp {
group internal {
type internal;
local-address 192.168.4.1;
neighbor 192.168.1.1;
neighbor 192.168.2.1;
neighbor 192.168.9.1;
neighbor 192.168.6.1;
neighbor 192.168.0.1;
}
}
ospf { #IGP enabled
traffic-engineering;
area 0.0.0.0 {
interface so-0/0/1.0;
interface so-0/0/3.0;
interface lo0.0 {
passive; #Ensures protocols do not run over this interface
}
}
}
}
示例输出 5
以下配置输出适用于中转路由器 R9。
user@R9> show configuration | no-more
[...Output truncated...]
interfaces {
so-0/0/2 {
unit 0 {
family inet {
address 10.0.29.2/30;
}
family mpls; #MPLS enabled on relevant interfaces
}
}
so-0/0/3 {
unit 0 {
family inet {
address 10.0.49.2/30;
}
family mpls;
}
}
fe-0/1/0 {
unit 0 {
family inet {
address 10.0.90.13/30;
}
family mpls;
}
}
fxp0 {
unit 0 {
family inet {
address 192.168.69.206/21;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.9.1/32;
}
}
}
}
routing-options {
static {
[...Output truncated...]
router-id 192.168.9. 1; #Manually configured RID
autonomous-system 65432; #Full mesh IBGP
}
protocols {
rsvp {
interface so-0/0/2.0;
interface so-0/0/3.0;
interface fe-0/1/0.0;
interface fxp0.0 {
disable;
}
}
mpls {
interface so-0/0/2.0;
interface so-0/0/3.0;
interface fe-0/1/0.0;
interface fxp0.0 {
disable;
}
}
bgp {
group internal {
type internal;
local-address 192.168.9.1;
neighbor 192.168.1.1;
neighbor 192.168.2.1;
neighbor 192.168.4.1;
neighbor 192.168.0.1;
neighbor 192.168.6.1;
}
}
ospf { #IGP enabled
traffic-engineering;
area 0.0.0.0 {
interface so-0/0/2.0;
interface so-0/0/3.0;
interface fe-0/1/0.0;
interface lo0.0 {
passive; #Ensures protocols do not run over this interface
}
}
}
}
示例输出 6
以下配置输出用于出口路由器 R0。
user@R0> show configuration | no-more
[...Output truncated...]
interfaces {
fe-0/1/0 {
unit 0 {
family inet {
address 10.0.90.14/30;
}
family mpls; #MPLS enabled on relevant interfaces
}
}
fe-1/3/0 {
unit 0 {
family inet {
address 10.10.11.1/24;
}
}
fxp0 {
unit 0 {
family inet {
address 192.168.69.207/21;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.1/32;
}
}
}
}
routing-options {
static {
[...Output truncated...]
route 100.100.10.0/24 reject; #Static route for send-statics policy
}
router-id 192.168.0.1; #Manually configured RID
autonomous-system 65432; #Full mesh IBGP
}
protocols {
rsvp {
interface fe-0/1/0.0;
interface fe-1/3/0.0;
interface fxp0.0 {
disable;
}
}
mpls {
label-switched-path r0-r6 {
to 192.168.6.1;
}
interface fe-0/1/0.0;
interface fe-1/3/0.0;
interface fxp0.0 {
disable;
}
}
bgp {
group internal {
type internal;
local-address 192.168.0.1;
export send-statics; #Allows advertising of a new route
neighbor 192.168.9.1;
neighbor 192.168.6.1;
neighbor 192.168.1.1;
neighbor 192.168.2.1;
neighbor 192.168.4.1;
}
}
ospf { #IGP enabled
traffic-engineering;
area 0.0.0.0 {
interface fe-0/1/0.0;
interface fe-1/3/0.0;
interface lo0.0 {
passive; #Ensures protocols do not run over this interface
}
}
}
}
policy-options {
policy-statement send-statics {
term statics {
from {
route-filter 100.100.10.0/24 exact;
}
then accept;
}
}
}
意义
示例输出 1 到 6 显示了示例网络中所有六台路由器的基本接口、路由选项、协议和策略选项配置,如 示例:负载均衡 MPLS 网络中所示。
网络中的所有路由器都启用了 MPLS、RSVP 和 BGP。OSPF配置为IGP,相关接口具有基本IP信息和MPLS支持。
此外,所有路由器都在层次结构级别手动 [edit routing-options] 配置路由器 ID (RID),以避免重复的 RID 问题。该 passive 语句包含在 OSPF 配置中,可确保协议不会在环路 (lo0) 接口上运行,并确保环路 (lo0) 接口在整个网络中正确播发。
R6、R2、R4 和 R9 的示例输出 1、3、4 和 5 显示了中转标签交换路由器的基本配置。基本配置包括为 MPLS 启用的所有接口、手动配置的 RID 以及相关协议(RSVP、MPLS、BGP 和 OSPF)。
入口路由器 R1 的示例输出 2 显示了基本配置以及配置为 R0 的四个 LSP(lsp1 到 lsp4)。四个 LSP 配置了不同的主路径,这些路径为 lsp1 和 lsp4 指定通过 R4 的松散跃点,为 lsp2 和 lsp3 指定通过 R2 的松散跃点。
要创建流量,R1 在层次结构级别配置[edit routing-options static route]了静态路由 (100.100.1.0/24)。前缀包含在层次结构级别的[edit policy-options send statics]发送静态策略中,因此路由可以成为 BGP 路由。
此外,在入口路由器 R1 上,使用 按数据包 选项配置负载平衡,并在层次结构级别导出 [edit routing-options forwarding-table] 策略。
出口路由器 R0 的示例输出 6 显示了一个 LSP (r0-r6) 到 R6 ,用于创建双向流量。OSPF 需要双向 LSP 可达性,然后才能将 LSP 播发到 IGP。尽管 LSP 已播发到 IGP,但不会通过 LSP 发送 hello 消息或路由更新,仅通过 LSP 发送用户流量。路由器使用其 IGP 数据库的本地副本来验证双向可访问性。
此外,R0 在层次结构级别配置[edit routing-options static route]了静态路由 (100.100.10.0/24)。前缀包含在层次结构级别的[edit policy-options send statics]发送静态策略中,因此路由可以成为 BGP 路由。
在 ACX 系列路由器上根据 MPLS 标签配置负载均衡
表 2 提供了有关所有可能的 MPLS LSP 负载平衡选项的详细信息。
ACX 系列路由器可以在 MPLS 中按数据包进行负载均衡。可以对 IP 报头和最多三个 MPLS 标签中的信息执行负载均衡,从而将 MPLS 流量更均匀地分配到下一跃点。默认情况下,此功能在支持的平台上启用,无需配置。
当聚合接口或 LAG 束上存在单个下一跃点时,负载均衡用于均匀分配流量。仅 LAG 接口支持使用 MPLS 标签进行负载均衡,等价多路径 (ECMP) 链路不支持。
默认情况下,当使用负载平衡来帮助分配流量时,Junos OS 会使用散列算法来选择要安装到转发表中的下一跃点地址。每当目标的下一跳点集以任何方式发生变化时,就会通过散列算法重新选择下一跳地址。您可以配置如何使用散列算法在聚合以太网 (ae) 接口中的接口之间均衡流量负载。
LSP 倾向于通过随机选择接口包中的 ae- 一个接口并专门使用它来平衡其放置的负载。随机选择在每个传输路由器独立进行,仅比较内部网关协议 (IGP) 指标。不考虑带宽或拥塞水平。
要根据 MPLS 标签信息进行负载均衡,请配置以下 family mpls 语句:
[edit forwarding-options hash-key] family mpls { all-labels; label-1; label-2; label-3; no-labels; payload { ether-pseudowire; ip { layer-3-only; port-data { destination-lsb; destination-msb; source-lsb; source-msb; } } } }
您可以在层次结构级别包含 [edit forwarding-options hash-key] 此语句。
配置有效负载 ip (user@host# set forwarding-options hash-key family mpls payload ip) 时,配置 layer-3-only 和 port-data 是必需的。
如果没有适当的哈希密钥配置,负载平衡功能可能会导致不可预测的行为。
ACX7000 系列设备不支持 port-data.
对于第 2 层 VPN/伪线隧道终止,最多使用两个标签进行散列处理,并且可以随意选择有效负载 MAC 目标地址和源地址。这些控件可用于在上述哈希密钥配置下支持 MPLS 家族中的以太伪线旋钮。但是,由于 ACX2000 和 ACX4000 也支持 TDM 伪线,因此仅在不使用 TDM 伪线时才需要使用以太伪线旋钮。
对于第 3 层 VPN 隧道终端,最多使用两个标签来设置和有效负载 IP 源和目标地址,并且可以随意选择第 4 层源和目标端口。这些控件可用于在上面所示的哈希密钥配置下支持 MPLS 系列中的 IP 端口数据旋钮。但是,由于无法单独选择第 4 层端口 MSB 和 LSB,因此 destination-lsb 或 destination-msb 旋钮之一,或者 source-lsb 或 source-msb 旋钮之一将分别选择第 4 层目标或源端口。
对于标签交换路由器的情况,最多使用三个标签进行散列。如果在解析前三个标签时看到 BOS,则 BCM 会检查有效负载的第一个半字节 - 如果半字节为 4,则有效负载被视为 IPv4,如果第一个半字节为 6,则有效负载被视为 IPv6,在这种情况下,有效负载源和目标 IP 地址可以推测地用于散列。这些控件可用于在哈希密钥配置下支持家族 mpls 中的 ip 端口数据旋钮。但是,在标签交换路由器情况下,第 4 层端口不能用于散列,并且仅第 3 层旋钮适用。BCM 不声明支持对三个 MPLS 标签之外的字段进行哈希处理。如果使用 标签交换路由器,则不会对单个伪线会话进行负载均衡,因为特定于该会话的所有流量都将携带同一组 MPLS 标签。
对于较多的 MPLS 会话(即至少 10 个会话),可以实现标签交换路由器 AE 接口上的负载均衡。该方法适用于 CCC/VPLS/L3VPN。如果采用第 3 层 VPN,流量可能不会在成员链路上均匀分布,因为散列输入函数也会考虑第 3 层地址(连同标签)。
对于 LER 场景,在 ACX5048 和 ACX5096的情况下,通过在“家族 MPLS”层次结构下配置有效负载选项,可以基于第 3 层和第 4 层字段进行散列。LER 上的散列不是基于标签。对于第 3 层服务,必须将有效负载提及为“仅限第 3 层”,如果是第 4 层服务,则必须指定“port-data”。在 LER 路由器上配置散列密钥时,您还可以提及标签计数。
LER 和标签交换路由器负载平衡行为适用于 CCC/VPLS/第 3 层 VPN 和其他 IP MPLS 场景。
此功能适用于聚合以太网和聚合 SONET/SDH 接口。此外,您还可以为第 2 层 以太网伪线上的 IPv4 流量配置负载平衡。您还可以根据 IP 信息为以太网伪线配置负载平衡。在哈希密钥中包含 IP 信息的选项支持以太网电路交叉连接 (CCC) 连接。
|
声明 |
MPLS LSP 负载平衡选项 |
|---|---|
|
|
在哈希密钥中包含第一个标签。对单标签数据包使用此选项。 |
|
|
在哈希密钥中包含第二个标签。您还必须配置该 |
|
|
在哈希密钥中包含第三个标签。还必须配置选项 |
|
|
从哈希密钥中排除 MPLS 标签。 |
|
|
允许您配置要包含在散列密钥中的 IP 数据包有效负载的哪些部分。对于 PTX 系列数据包传输交换机,默认设置此值。 |
|
|
从哈希密钥中排除 IP 有效负载。 |
|
|
通过第 2 层 以太网伪线负载均衡 IPv4 流量。 |
|
|
在散列密钥中包含 IPv4 或 IPv6 地址。您还必须配置 |
|
|
散列密钥中仅包含第 3 层 IP 信息。从哈希密钥中排除所有 |
|
|
包括源端口和目标端口字段信息。默认情况下,哈希密钥中使用源端口和目标端口字段的最高有效字节和最低有效字节。要选择要在哈希密钥中使用的特定字节,请在层次结构级别包括 |
|
|
在哈希密钥中包含目标端口的最低有效字节。可与任何其他 |
|
|
在散列密钥中包含目标端口的最有效字节。可与任何其他 |
|
|
在哈希密钥中包含源端口的最低有效字节。可与任何其他 |
|
|
在哈希密钥中包含源端口的最有效字节。可与任何其他 |
要在哈希密钥中包括 IP 地址和第一个标签,请在层次结构级别配置label-1[edit forwarding-options hash-key family mpls]语句和ip语句选项payload:
[edit forwarding-options hash-key family mpls]
label-1;
payload {
ip;
}
要在哈希密钥中包括 IP 地址以及第一个和第二个标签,请在层次结构级别配置label-1[edit forwarding-options hash-key family mpls]语句的 payload and label-2 options 和 ip option:
[edit forwarding-options hash-key family mpls]
label-1;
label-2;
payload {
ip;
}
通过在层次结构级别包括 label-1[edit forwarding-options hash-key family mpls] 、 label-2和label-3选项来确保适当的负载平衡:
[edit forwarding-options hash-key family mpls] label-1; label-2; label-3;
MPLS 封装有效负载负载平衡概述
路由器可以在 MPLS 中按数据包进行负载均衡。可以对 IP 报头和最多三个 MPLS 标签中的信息执行负载均衡,从而将 MPLS 流量更均匀地分配到下一跃点。
当满足以下条件时,负载平衡用于均匀分配流量:
-
有多个通过不同接口到同一目标的等价下一跃点。
-
聚合接口上有一个下一跃点。
默认情况下,当使用负载平衡来帮助分配流量时,散列算法用于选择要安装到转发表中的下一跳地址。每当目标的下一跳点集以任何方式发生变化时,就会通过散列算法重新选择下一跳地址。
在多个传输层网络(如基于 MPLS 的以太网或以太网伪线)的情况下,散列算法需要超越有效负载的外部报头并进入内部报头,以生成均匀分布。为了确定内部封装,PFE 依赖于固定有效载荷偏移处是否存在某些代码或数字;例如,是否存在有效负载类型 0X800 或 IPv4 数据包是否存在协议编号 4。在 Junos OS 中,您可以配置 zero-control-word 选项来指示 MPLS 以太币伪线有效负载中以太网帧的开始。看到此控制字(4 个字节,数值均为零)后,散列生成器会假定以太网帧的开头位置是 MPLS 以太币伪线数据包中控制字的末尾。
对于基于 DPC I 芯片的卡,在层次结构级别配置[edit forwarding-options hash-key family mpls ether-pseudowire]该zero-control-word选项;对于 MPC 卡,在层次结构级别配置[edit forwarding-options enhanced-hash-key family mpls ether-pseudowire]该zero-control-word选项。
配置 MPLS 封装有效负载以实现负载平衡
默认情况下,当使用负载平衡来帮助分配流量时,散列算法用于选择要安装到转发表中的下一跳地址。每当目标的下一跳点集以任何方式发生变化时,就会通过散列算法重新选择下一跳地址。配置该 zero-control-word 选项以指示 MPLS 以太币伪线有效负载中以太网帧的开始。看到此控制字(四个字节的数值均为零)后,散列生成器会假定以太网帧的开头位置为 MPLS 以太币伪线数据包中控制字的末尾。
开始配置 MPLS 封装有效负载以实现负载平衡之前,请先配置路由和信令协议。
要配置 MPLS 封装有效负载以实现负载平衡:
zero-control-word选项以指示 MPLS 以太币伪线有效负载中以太网帧的开始。
-
对于基于 DPC I 芯片的卡,请在层次结构级别配置
[edit forwarding-options hash-key family mpls ether-pseudowire]该zero-control-word选项。[edit forwarding-options hash-key family mpls ether-pseudowire] user@host# set zero-control-word
-
对于 MPC 卡,请在层次结构级别配置
[edit forwarding-options enhanced-hash-key family mpls ether-pseudowire]该zero-control-word选项。[edit forwarding-options enhanced-hash-key family mpls ether-pseudowire] user@host# set zero-control-word
基于策略的多路径路由概述
分段路由网络的核心可以有多个传输协议。您可以组合分段路由 SR-流量工程 LDP 或 RSVP 路由和 SR-流量工程 IP 路由,并在路由信息库(也称为路由表)中安装多路径路由。然后,您可以通过策略配置使用多路径路由来引导选择性服务流量。
- 了解基于策略的多路径路由
- 基于策略的多路径路由的优势
- 用于路由解析的基于策略的多路径路由
- 使用基于策略的多路径路由的路由解析示例
- 服务等级 (CoS) 转发策略增强
- 策略匹配协议的增强功能
- 配置基于策略的多路径路由对网络性能的影响
了解基于策略的多路径路由
网络中存在不同的传输协议,例如 IGP、标记 IGP、RSVP、LDP 和分段路由流量工程 (SR-流量工程) 协议,它们用于解析服务流量。但是,不能使用传输协议的组合来解析服务流量。引入基于策略的多路径功能后,您可以组合分段路由流量工程 (SR-流量工程) LDP 或 RSVP 路由与 SR-流量工程 IP 路由,以创建安装在路由信息库中的多路径路由。您可以通过策略配置解析多路径路由上的 BGP 服务路由,并针对不同的前缀以不同的方式引导流量。
多路径路由具有用于负载平衡的路由条目的下一跃点组合。多路径路由条目的所有支持路由必须位于同一路由信息库中。当支持路由位于不同的路由信息库下时,可以使用 rib-group 配置语句将路由条目添加到特定的路由信息库。
您可以使用策略配置多路径路由,以选择下一跃点要组合在一起的路由列表。在层次结构级别将[edit routing-options rib routing-table-name]该policy-multipath语句与policy该语句一起包含在内时,将创建基于策略的多路径路由。
IP 和 IPv6 协议都支持基于策略的多路径功能,并且可以在层次结构级别下 [edit routing-instances] 配置。
例如:
[edit routing-options] user@host# set rib inet.3 policy-multipath policy example-policy [edit policy-options] user@host# set policy-statement example-policy from example-conditions user@host# set policy-options policy-statement example-policy then accept
配置的策略将应用于给定前缀的每个路由条目。仅当多个路由(包括活动路由)通过策略时,才会创建多路径路由。在策略中配置的任何操作命令(如应用)都将使用活动路由进行评估。对于非活动路由,将应用该策略来检查路由是否可以参与多路径路由。多路径路由继承活动路由的所有属性。可以使用多路径策略配置修改这些属性。
policy-multipath路由,Junos OS 和 Junos OS 演化版会在符合条件的路由中分配最不首选(最高数字)路由的优先级值,而不是使用活动路由的优先级。它会忽略通过路由策略policy-multipath应用的任何用户配置的优先级,并始终应用合格路由条目中的最高优先级值。
对于使用 配置的 BGP 路由,Junos OS 和 Junos OS 演化版会正确报告指标 policy-multipath2 值。当路由的活动前缀为 SR-流量工程并正在解析时,系统会准确反映路由指标中的指标 2 值。此修改可确保路由决策基于准确的指标,从而提高整体网络性能和可靠性。
基于策略的多路径路由的优势
-
提供组合核心网络协议以引导选择性流量的灵活性。
-
使用多路径路由,通过加权等价多路径优化网络性能。
用于路由解析的基于策略的多路径路由
您可以组合分段路由、流量工程 (SR-流量工程) LDP 或 RSVP 路由和 SR-流量工程 IP 路由,并在路由信息库中安装多路径路由。基于策略的多路径路由不是路由信息库中的活动条目。当策略配置生成多路径路由时,它用于解析协议下一跃点,而不是活动路由。通过合并每个组成路由的下一跃点的网关来创建多路径路由下一跃点。
为路由解析配置基于策略的多路径路由时,请考虑以下事项:
-
如果多路径路由的成员路由指向路由器下一跃点以外的下一跃点,或者指向将下一跃点转发到路由器下一跃点的间接下一跃点,则忽略此类下一跃点。
-
如果组成路由指向间接下一跃点,则将合并转发下一跃点中的网关,并忽略间接下一跃点。
-
如果网关总数超过
maximum-ecmp设备支持的网关总数,则仅保留网maximum-ecmp关,忽略所有其他网关。 -
权重较低的网关将获得优先权。当其中一个成员路由具有单列表间接下一跃点,并且每个下一跃点都指向转发下一跃点时,间接下一跃点和转发下一跃点都可以有权重值。在这种情况下,网关的权重值将更新,以反映两个级别的权重的综合效果。
使用基于策略的多路径路由的路由解析示例
举例来说,我们假设目标 10.1.1.1/32 存在分段路由流量工程 LSP、标签 IS-IS 路由和 LDP LSP,如下输出所示:
10.1.1.1/32 *[SPRING-TE/8] 00:00:58, metric 1, metric2 30
> to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top)
[L-ISIS/14] 1w0d 00:15:57, metric 10
> to 10.12.1.1 via ge-0/0/0.1
to 10.22.1.1 via ge-0/0/0.2
to 10.23.1.1 via ge-0/0/0.3
to 10.24.1.1 via ge-0/0/0.4
to 10.25.1.1 via ge-0/0/0.5
to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
[LDP/19] 1w0d 00:09:27, metric 1
> to 10.12.1.1 via ge-0/0/0.1
to 10.22.1.1 via ge-0/0/0.2
to 10.23.1.1 via ge-0/0/0.3
to 10.24.1.1 via ge-0/0/0.4
to 10.25.1.1 via ge-0/0/0.5
to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
此处,分段路由 LSP 是到 10.1.1.1 目标的活动路由条目,默认情况下,仅使用此路由用于解析通过 10.1.1.1 解析的任何服务。
当需要使用多个协议来解析服务路由时,可以通过配置 策略多路径 来合并这些协议来实现这一点。例如,如果服务解析需要分段路由和 LDP 路径,则必须配置 policy-multipath 前缀 10.1.1.1 的分段路由和 LDP 路由组合。
例如:
[edit policy-options] user@host# set rib inet.3 policy-multipath policy example-policy user@host# set policy-statement abc term 1 from protocol spring-te user@host# set policy-statement abc term 1 from protocol ldp user@host# set policy-statement abc term 1 from route-filter 10.1.1.1/32 exact user@host# set policy-statement abc term 1 then accept
使用此配置,您可以为前缀 10.1.1.1/32 创建基于策略的多路径路由,该路由使用分段路由和 LDP 协议的组成路由条目。
您可以使用命令输出查看 show route 多路径路由,如下所示:
10.1.1.1/32 *[SPRING-TE/8] 00:10:28, metric 1, metric2 30
> to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top)
[L-ISIS/14] 1w0d 00:25:27, metric 10
> to 10.12.1.1 via ge-0/0/0.1
to 10.22.1.1 via ge-0/0/0.2
to 10.23.1.1 via ge-0/0/0.3
to 10.24.1.1 via ge-0/0/0.4
to 10.25.1.1 via ge-0/0/0.5
to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
[LDP/19] 1w0d 00:18:57, metric 1
> to 10.12.1.1 via ge-0/0/0.1
to 10.22.1.1 via ge-0/0/0.2
to 10.23.1.1 via ge-0/0/0.3
to 10.24.1.1 via ge-0/0/0.4
to 10.25.1.1 via ge-0/0/0.5
to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
[Multipath/8] 00:03:13, metric 1, metric2 30
> to 10.12.1.1 via ge-0/0/0.1
to 10.22.1.1 via ge-0/0/0.2
to 10.23.1.1 via ge-0/0/0.3
to 10.24.1.1 via ge-0/0/0.4
to 10.25.1.1 via ge-0/0/0.5
to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top)
to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
从命令输出中可以看到,多路径路由结合了分段路由和 LDP 路径的下一跃点。多路径路由 它不处于活动状态,默认情况下,路由首选项和度量与活动路由的首选项和度量相同。
您可以对基于 poilcy 的多路径路由使用以下组合: 但是,我们无法创建 LDP/L-IS-IS 的多路径,因为活动路由不是多路径的一部分。
-
分段路由流量工程 LSP 和 LDP LSP。
-
分段路由、流量工程 LSP 和标签 IS-IS 路径。
-
分段路由流量工程 LSP、LDP LSP 和标签 IS-IS 路径。
但是,无法创建 LDP 的多路径路由并标记 IS-IS,因为活动路由不属于多路径路由。
在相同的配置下,假设静态路由 1.2.3.4/32 配置了协议下一跃点 10.1.1.1,则通过分段路由流量工程 LSP 和 LDP LSP 上的多路径路由解析此路由。
例如:
10.1.3.4/32 *[Static/5] 00:00:12, metric2 1
to 10.12.1.1 via ge-0/0/0.1
> to 10.22.1.1 via ge-0/0/0.2
to 10.23.1.1 via ge-0/0/0.3
to 10.24.1.1 via ge-0/0/0.4
to 10.25.1.1 via ge-0/0/0.5
to 10.13.1.2 via ge-0/0/1.1, Push 33333, Push 801005, Push 801006(top)
to 10.13.1.2 via ge-0/0/1.1, Push 801001, Push 801005(top)
服务等级 (CoS) 转发策略增强
对于基于服务等级的转发,必须使用 forwarding-policy next-hop-map 配置语句。
在 Junos OS 19.1R1 之前,基于服务等级的转发支持的匹配条件包括:
-
next-hop— 根据传出接口或下一跃点地址匹配下一跃点。
-
lsp-next-hop— 使用 LSP 名称的正则表达式匹配命名 LSP。
-
non-lsp-next-hop— 匹配所有没有 LSP 名称的 LSP。
借助基于策略的多路径路由功能,您还可以匹配所有下一跃点,而不为某些前缀添加标签。为此,您必须在层次结构级别启用[edit class-of-service forwarding-policy next-hop-map map-name forwarding-class forwarding-class-name该non-labelled-next-hop选项。
例如:
[edit]
class-of-service {
forwarding-policy {
next-hop-map abc {
forwarding-class best-effort {
non-labelled-next-hop;
}
}
}
}
策略匹配协议的增强功能
在 Junos OS 19.1R1 版之前,当您使用策略在层次结构级别使用[edit policy-options policy-statement statement-name]语句来from protocol匹配协议时,将匹配所有协议路由(带标签和未标记)。使用基于策略的多路径路由功能,您可以专门匹配带标签的协议路由。
用于匹配标记协议)的选项包括:
-
l-isis— 匹配标记的 IS-IS 路由。该
isis选项匹配 IS-IS 路由,不包括标签 IS-IS 路由。 -
l-ospf— 匹配标记的 OSPF 路由。该
ospf选项匹配所有 OSPF 路由,包括 OSPFv2、OSPFv3 和标签 OSPF。
例如:
[edit]
policy-options {
policy-statement abc {
from protocol [ l-ospf l-isis ];
}
}
配置基于策略的多路径路由对网络性能的影响
配置基于策略的多路径路由时,路由信息库中的路由更改会导致对策略进行评估,以检查是否需要创建多路径路由。由于此功能要求成员路由必须位于同一路由信息库中, rib-group 因此该语句用于合并来自不同路由信息库的路由。在应用程序级别配置该 rib-group 语句会增加系统中的路由数量。
当路由信息库中存在多个路由时,路由的不断变化会导致重新评估多路径策略。这可能会影响网络性能。建议仅在需要时配置基于策略的多路径路由功能。
了解基于 IP 的 MPLS 流量过滤和选择性端口镜像
在 MPLS 数据包中,IP 报头紧接在 MPLS 报头之后。基于 IP 的过滤功能提供了一种深度检查机制,最多可检查内部有效负载的八个 MPLS 标签,以便基于 IP 参数过滤 MPLS 流量。过滤后的 MPLS 流量也可以端口镜像到监控设备,以便在核心 MPLS 网络中提供基于网络的服务。
基于 IP 的 MPLS 流量过滤
在 Junos OS 18.4R1 版之前,MPLS 系列过滤器不支持基于 IP 参数的过滤。引入基于 IP 的过滤功能后,您可以根据 IP 参数(例如源地址和目标地址、第 4 层协议类型以及源端口和目标端口)对带有 MPLS 标记的 IPv4 和 IPv6 数据包应用入站和出站过滤。
基于 IP 的过滤功能使您能够在接口入口处过滤 MPLS 数据包,其中过滤是使用 MPLS 数据包内部有效负载上的匹配条件完成的。然后,可以使用逻辑隧道将选择性 MPLS 流量端口镜像到远程监控设备。
为了支持基于 IP 的过滤,添加了其他匹配条件,允许在应用适当的过滤器之前,对 MPLS 数据包进行深度检测,以解析带有第 3 层和第 4 层标头的内部有效负载。
仅 MPLS 标记的 IPv4 和 IPv6 数据包支持基于 IP 的过滤功能。换句话说,只有当 IP 有效负载紧跟在 MPLS 标签之后时,MPLS 过滤器才会匹配 IP 参数。
在其他场景中,如果 MPLS 有效负载包括伪线、inet 和 inet6 以外的协议或其他封装(如第 2 层 VPN 或 VPLS),则不支持基于 IP 的过滤功能。
为基于 IP 的 MPLS 流量过滤添加了以下匹配条件:
-
IPv4 源地址
-
IPv4 目标地址
-
IPv6 源地址
-
IPv6 目标地址
-
协议
-
源端口
-
目标端口
-
源 IPv4 前缀列表
-
目标 IPv4 前缀列表
-
源 IPv6 前缀列表
-
目标 IPv6 前缀列表
对于基于 IP 的 MPLS 流量过滤,支持以下匹配组合:
-
源地址和目标地址匹配条件与 IPv4 和 IPv6 前缀列表。
-
源和目标端口地址及协议类型与 IPv4 和 IPv6 前缀列表匹配条件。
MPLS 流量的选择性端口镜像
除了对数据包进行正常处理和转发之外,端口镜像还是一种将数据包镜像到配置目标的功能。端口镜像可作为防火墙过滤器的操作来应用,该过滤器可应用于任何接口的入口或出口。同样,选择性端口镜像功能提供了使用逻辑隧道将 MPLS 流量镜像到镜像目标的功能,该流量根据 IP 参数进行过滤。
要启用选择性端口镜像,除了现有counter的 、 accept和 discard 操作外,还在层次结构级别上[edit firewall family mpls filter filter-nameterm term-name then]配置其他操作:
-
port-mirror -
port-mirror-instance
Port Mirroring
该 port-mirror 操作会在设备上启用全局端口镜像,该功能适用于所有数据包转发引擎 (PFE) 和关联接口。
对于 MPLS 系列过滤器,将为全局端口镜像启用该 port-mirror 操作。
Port Mirroring Instance
通过此 port-mirror-instance 操作,您可以使用输入采样和端口镜像输出目标的不同属性自定义每个实例,而不必使用单个系统范围的配置进行端口镜像。
通过在层次结构级别包含instance port-mirror-instance-name[edit forwarding-options port-mirror]该语句,只能为每个灵活 PIC 集中器 (FPC) 配置两个端口镜像实例。然后,您可以将各个端口镜像实例与 FPC、PIC 或(转发引擎板 (FEB))相关联,具体取决于设备硬件。
对于 MPLS 系列过滤器,仅为端口镜像实例启用该 port-mirror-instance 操作。
对于这两种 port-mirror and port-mirror-instance 操作,输出接口必须启用第 2 层家族,而非家族 MPLS(第 3 层),选择性端口镜像功能才能正常工作。
示例配置
基于 IP 的过滤配置
[edit firewall family mpls filter mpls-filter]
term ipv4-term {
from {
ip-version {
ipv4 {
source-address {
10.10.10.10/24;
}
destination-address {
20.20.20.20/24;
}
protocol tcp {
source-port 100;
destination-port 200;
}
soure-prefix-list ipv4-source-users;
destination-prefix-list ipv4-destination-users;
}
}
exp 1;
}
then port-mirror;
then accept;
then count;
}
term ipv6-term {
from {
ip-version {
ipv6 {
source-address {
2000::1/128;
}
destination-address {
3000::1/128;
}
protocol tcp {
source-port 100;
destination-port 200;
}
source-prefix-list ipv6-source-users;
destination-prefix-list ipv6-destination-users;
}
}
exp 1;
}
then port-mirror-instance port-mirror-instance1;
then accept;
then count;
}
[edit policy-options]
prefix-list ipv4-source-users {
172.16.1.16/28;
172.16.2.16/28;
}
prefix-list ipv6-source-users {
2001::1/128;
3001::1/128;
}
[edit interfaces]
xe-0/0/1 {
unit 0 {
family inet {
address 100.100.100.1/30;
}
family mpls {
filter {
input mpls-filter;
}
}
}
}
选择性端口镜像配置
[edit forwarding-options]
port-mirroring {
input {
rate 2;
run-length 4;
maximum-packet-length 500;
}
family any {
output {
interface xe-2/0/2.0;
}
}
}
[edit forwarding-options]
port-mirroring {
instance {
port-mirror-instance1 {
input {
rate 3;
run-length 5;
maximum-packet-length 500;
}
family any {
output {
interface xe-2/0/2.0;
}
}
}
}
}
输出接口 xe-2/0/2.0 配置为第 2 层家族,而非家族 MPLS。
对于这两种 port-mirror and port-mirror-instance 操作,输出接口必须启用第 2 层家族,而非家族 MPLS(第 3 层),选择性端口镜像功能才能正常工作。
镜像目标配置
[edit interfaces]
xe-2/0/2 {
vlan-tagging;
encapsulation extended-vlan-bridge;
unit 0 {
vlan-id 600;
}
}
[edit bridge-domains]
bd {
domain-type bridge;
interface xe-2/0/2.0;
}
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。