在 MX、M、vMX 和 T 系列路由器和 NFX250 上配置流聚合,以使用版本 9 流模板
使用版本 9 流模板,您可以定义适用于 IPv4 流量、IPv6 流量、MPLS 流量、IPv4 和 MPLS 流量组合或对等 AS 计费流量的流记录模板。模板和模板中包含的字段会定期传输到收集器,收集器不会影响路由器配置。
版本 9 要求您安装服务 PIC,例如在路由器中安装自适应服务 PIC 或 MS-PIC。在 MX 系列路由器上,MS-DPC 可以满足这一要求。有关确定哪些服务 PIC 适合您的路由器的更多信息,请参阅 启用服务包 或相应的硬件文档。
如果为特定的流收集器配置了多个协议家族,则导出数据包会源自多个源 ID,每个源 ID 都对应一个特定协议。多个源标识并不表示导出数据包来自多个服务 PIC。
配置要取样的流量
要指定 IPv4、IPv6、MPLS 或对等方 AS 计费流量的family
[edit forwarding-options sampling]
采样,请在层级包括语句的相应配置:
[edit forwarding-options] sampling { family (inet | inet6 | mpls); }
您可以包括 family inet
、family inet6
或 family mpls
。
如果为对等 AS 计费流量指定采样,则 family
语句仅支持 IPv4 和 IPv6 流量(inet 或 inet6)。对等 AS 计费流量仅在全局实例层次结构级别启用,每个数据包转发引擎实例不提供。
指定要采样的流量系列后,配置采样参数,例如:
最大数据包长度(超过该长度,数据包将被截短)。
每秒要采样的最大数据包数(超过此数,数据包将被丢弃)。
速率(例如,如果指定 10 个,则每采样第 10 个数据包)。
运行长度(指定触发器后要采样的数据包数;也就是说,如果
rate
设置为 10 和run-length
5,则从第 10 个数据包开始采样 5 个数据包)。
[edit forwarding-options sampling] input { maximum-packet-length bytes max-packets-per-second number; rate number; run-length number; }
配置版本 9 模板属性
要定义版本 9 模板,在层次结构级别使用以下语句 [edit services flow-monitoring version9]
:
[edit services flow-monitoring version9] template template-name { options-template-id template-id source-id flow-active-timeout seconds; flow-inactive-timeout seconds; option-refresh-rate packets packets seconds seconds; template-refresh-rate packets packets seconds seconds; (ipv4-template | ipv6-template | mpls-ipv4-template | mpls-template | peer-as-billing-template) { label-position [ positions ]; } }
以下详细信息适用于配置语句:
通过包含
template template-name
语句,您可以为每个模板分配一个唯一名称。然后,您可以为适当的流量类型指定每个模板,
ipv4-template
包括 、ipv6-template
、mpls-ipv4-template
或mpls-template
。如果模板用于 MPLS 流量,您还可以通过包含
label-position
语句为 MPLS 标头标签数据指定最多三个标签位置;默认值为[1 2 3]
。在模板定义中,您可以选择包括 and
flow-inactive-timeout
语句的值flow-active-timeout
。这些语句在模板定义中使用时具有特定的默认值和范围值;默认为 60 秒,范围为 10 到 600 秒。在模板定义中指定的值将覆盖在[edit forwarding-options sampling family (inet | inet6 | mpls) output flow-server]
层次结构级别上配置的全局超时值。您还可以在
option-refresh-rate
模板定义中包含 andtemplate-refresh-rate
语句的设置。对于这两个属性,您可以包括一个计时器值(以秒为单位)或一个数据包计数(以数据包数为单位)。seconds
对于选项,默认值为 60,范围从 10 到 600。packets
对于选项,默认值为 4800,范围为 1 到 480,000。要过滤媒体接口上的 IPv6 流量,支持以下配置:
interfaces interface-name { unit 0 { family inet6 { sampling { input; output; } } } }
自定义版本 9 流模板的模板 ID、观察域 ID 和源 ID
从 Junos OS 14.1 版开始,您可以定义一个适用于 IPv4 流量、IPv6 流量、MPLS 流量、IPv4 和 MPLS 流量组合或对等 AS 计费流量的版本 9 流记录模板。模板和模板中包含的字段会定期传输到收集器,收集器不会影响路由器配置。您可以为版本 9 和 IPFIX 模板指定唯一标识符。在传输会话和观察域中,模板的标识符在本地是唯一的。模板 ID 0 到 255 保留用于模板集、选项模板集和其他集,供将来使用。数据集的模板编号为 256 到 65535。通常,模板中的此信息元素或字段用于定义模板中其他信息元素的特征或属性。执行模板导出过程重新启动后,可以重新分配模板 ID。
所有具有 MPC 的路由器均支持此功能,用于配置模板 ID、选项模板 ID、观察域 ID 和源 ID。
包括 MPLS 和 MPLS-IPv4 模板 ID 的模板 ID 仅适用于 IPFIX。V9 格式具有不同的模板 ID。
相应的数据集和选项数据集分别在 set ID 字段中包含模板 ID 和选项模板 ID 的值。此方法使收集器能够将数据记录与模板记录匹配。
有关为版本 9 和 IPFIX 流指定源 ID、观察域 ID、模板 ID 和选项模板 ID 的详细信息,请参阅 为版本 9 和 IPFIX 流配置观察域 ID 和源 ID 以及 为版本 9 和 IPFIX 流配置模板 ID 和选项模板 ID。
限制
以下限制适用于版本 9 模板:
您不能同时应用两种不同类型的流聚合配置。
基于模板的
mpls-ipv4
流导出假定 IPv4 报头跟随 MPLS 标头。在第 2 层 VPN 的情况下,提供商路由器(P 路由器)上的数据包如下所示:MPLS | Layer 2 Header | IPv4
在这种情况下,
mpls-ipv4
流不会在 PIC 上创建,因为 IPv4 报头不会直接跟随 MPLS 标头。数据包在 PIC 上被丢弃,并被视为解析器错误。不采样出站路由引擎流量。防火墙过滤器作为出口接口上的输出应用,用于对数据包进行采样并导出数据。对于传输流量,出口采样工作正常。对于内部流量,下一跃点安装在数据包转发引擎中,但不导出取样数据包。
只有在路由记录重新同步操作完成后(即 PIC 出现后 60 秒)才会在监控 PIC 上创建流。发送到 PIC 的任何数据包都一直被丢弃,直到同步过程完成。
由于收到的带有 MPLS 标签的数据包的转发是基于 MPLS 标签而不是数据包中包含的 IP 地址执行的,因此在采样时,会使用弹出的 MPLS 标签在输出接口对数据包进行采样。在这种情况下,根据传入接口 (IIF),会识别 VRF 索引,并在 VRF 表中确定取样数据包的路由。由于 VRF 中不提供与接收数据包的 VRF 不同的特定路由,因此无法正确填写输出接口索引、源掩码和目标掩码字段。如果 IPv4 模板作为防火墙过滤器应用于以示例作为操作的出口接口上,将会发生此行为。
每种模板类型中包含的字段
以下字段适用于所有模板类型:
输入接口
输出接口
字节数
数据包数
流开始时间
流结束时间
IPv4 模板包括以下特定字段:
IPv4 源地址
IPv4 目标地址
L4 源端口
L4 目标端口
IPv4 ToS
IPv4 协议
ICMP 类型和代码
TCP 标志
IPv4 下一跳地址
源自治系统 (AS) 编号
目标 AS 编号
IPv6 模板包括以下特定字段:
IPv6 源地址和掩码
IPv6 目标地址和掩码
L4 源端口
L4 目标端口
IPv6 ToS
IPv6 协议
TCP 标志
IP 协议版本
IPv6 下一跳地址
出口接口信息
源自治系统 (AS) 编号
目标 AS 编号
MPLS 模板包括以下特定字段:
MPLS 标签 #1
MPLS 标签 #2
MPLS 标签 #3
MPLS EXP 信息
FEC IP 地址
MPLS-IPv4 模板包括 IPv4 和 MPLS 模板中的所有字段。
对等 AS 计费模板包括以下特定字段:
IPv4 服务等级 (ToS)
入口接口
BGP IPv4 下一跃点地址
BGP 对等目标 AS 编号
MPLS 采样行为
本节介绍在各种情况下(标签弹出或交换)的提供商路由器(P 路由器)的出口接口上使用 MPLS 采样时的行为。有关 MPLS 应用程序专用的配置和背景的更多信息,请参阅《 MPLS 应用程序用户指南》。
您可以在 P 路由器的出口接口上配置 MPLS 采样并配置 MPLS 流聚合模板。路由操作为标签 弹出 ,因为倒数第二跃点弹出 (PHP) 已启用。
利用当前应用 MPLS 模板的功能,可以创建 MPLS 流。
与第一种情况一样,您可以在 P 路由器的出口接口上配置 MPLS 采样,并配置 MPLS 流聚合模板。路由操作为标签交换,交换的标签为 0(显式空值)。
由此产生的行为是,MPLS 数据包被发送到 PIC。要取样的流与交换前的标签相对应。
您可以配置第 3 层 VPN 网络,其中客户边缘路由器 (CE-1) 通过 P 路由器将流量发送到提供商边缘路由器 (PE-A),再发送到远程上的类似提供商边缘路由器 (PE-B) 和客户边缘路由器 (CE-2)。
由此产生的行为是,您无法在 PE-A 到 P 路由器链路上对 MPLS 数据包进行采样。
验证
要验证配置属性,您可以使用 show services accounting aggregation template template-name name
操作模式命令。
所有其他show services accounting
命令还支持版本 9 模板,和show services accounting flow-detail
show services accounting aggregation aggregation-type
。有关操作模式命令的更多信息,请参阅 CLI 浏览器。
示例:配置版本 9 流模板
以下示例显示了版本 9 模板配置:
services { flow-monitoring { version9 { template ip-template { flow-active-timeout 20; flow-inactive-timeout 120; ipv4-template; } template mpls-template-1 { mpls-template { label-position [1 3 4]; } } template mpls-ipv4-template-1 { mpls-ipv4-template { label-position [1 5 7]; } } template vpls-template-1 { vpls-template; } } } } }
以下示例显示了 MPLS 流量的防火墙过滤器配置:
firewall { family mpls { filter mpls_sample { term default { then { accept; sample; } } } } }
以下示例在网络接口上应用 MPLS 采样过滤器,并将 AS PIC 配置为同时接受 IPv4 和 MPLS 流量:
interfaces { at-0/1/1 { unit 0 { family mpls { filter { input mpls_sample; } } } } sp-7/0/0 { unit 0 { family inet; family mpls; } } }
以下示例将 MPLS 第 9 版模板应用于采样输出,并将其发送至 AS PIC:
forwarding-options { sampling { input { family mpls { rate 1; } } family mpls { output { flow-active-timeout 60; flow-inactive-timeout 30; flow-server 192.0.2.4 { port 2055; version9 { template mpls-ipv4-template-1; } } interface sp-7/0/0 { source-address 198.51.100.1; } } } } }
以下示例显示了对等 AS 计费流量的防火墙过滤器配置:
firewall { family inet { filter peer-as-filter { term 0 { from { destination-class dcu-1; interface ge-2/1/0; forwarding-class class-1; } then count count_team_0; } } term 1 { from { destination-class dcu-2; interface ge-2/1/0; forwarding-class class-1; } then count count_team_1; } term 2 { from { destination-class dcu-3; interface ge-2/1/0; forwarding-class class-1; } then count count_team_2; } } } }
以下示例将对等 AS 防火墙过滤器应用于 CoS 级数据流量使用信息收集的转发选项层次结构下的过滤器属性:
forwarding-options { family inet { filter output peer-as-filter; } }
以下示例应用对等 AS DCU 策略选项,以收集特定输入接口上作为转发表过滤器 (FTF) 的作为路径入口流量的使用统计信息。具有 CoS 功能的配置功能可通过 FTF 来实现目标类使用,并针对特定输入接口提供转发类:
policy-options { policy-statement P1 { from { protocol bgp; neighbor 10.2.25.5; #BGP router configuration; as-path AS-1; #AS path configuration; } then destination-class dcu-1; #Destination class configuration; } policy-statement P2 { from { neighbor 203.0.113.5; as-path AS-2; } then destination-class dcu2; } policy-statement P3 { from { protocol bgp; neighbor 192.0.2.129; as-path AS-3; } then destination-class dcu3; } as-path AS-1 3131:1111:1123; as-path AS-2 100000; as-path AS-3 192:29283:2; }
以下示例应用 vpls 第 9 版模板,以启用用于计费目的的流量采样:
forwarding-options { sampling { } input { rate 1; } family inet { output { flow-server 10.209.15.58 { port 300; version9 { template { peer-as; } } } interface sp-5/2/0 { source-address 203.0.113.133; } } } } } family inet { filter { output peer-as-filter; } }