在 MX、M、vMX 和 T Series 路由器以及 NFX250 上配置流聚合以使用版本 9 流模板
使用版本 9 流模板,您可以定义适用于 IPv4 流量、IPv6 流量、MPLS 流量、IPv4 和 MPLS 流量组合或对等方 AS 计费流量的流记录模板。模板和模板中包含的字段会定期传输到收集器,收集器不会影响路由器配置。
版本 9 要求您在路由器中安装服务 PIC,如自适应服务 PIC 或 MS-PIC。在 MX 系列路由器上,MS-DPC 满足此要求。有关确定哪些服务 PIC 适合您的路由器的详细信息,请参阅 启用服务包 或相应的硬件文档。
如果为特定流量收集器配置了多个协议族,则导出数据包源自多个源 ID,每个源 ID 对应一个特定协议。多个源 ID 并不表示导出数据包来自多个服务 PIC。
配置要抽样的流量
要指定 IPv4、IPv6、MPLS 或对等方 AS 计费流量的采样,请在[edit forwarding-options sampling]层次结构级别包括语句的相应配置family:
[edit forwarding-options]
sampling {
family (inet | inet6 | mpls);
}
您可以包括 family inet 、family inet6 或 family mpls。
如果为对等 AS 计费流量指定采样,则语 family 句仅支持 IPv4 和 IPv6 流量(inet 或 inet6)。对等 AS 计费流量仅在全局实例层次结构级别启用,不适用于每个数据包转发引擎实例。
指定要抽样的流量系列后,配置采样参数,如下:
最大数据包长度(超过该长度,数据包将被截断)。
每秒采样的最大数据包数(超过该值,数据包将被丢弃)。
速率(例如,如果指定 10,则每 10 个数据包进行采样)。
运行长度(指定触发后要采样的数据包数;也就是说,如果设置为
rate10 和run-length5,则对从第 10 个数据包开始的 5 个数据包进行采样)。
[edit forwarding-options sampling]
input {
maximum-packet-length bytes
max-packets-per-second number;
rate number;
run-length number;
}
配置版本 9 模板属性
要定义 V9 模板,请在 [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]。在模板定义中,可以选择包含和
flow-inactive-timeout语句的值flow-active-timeout。这些语句在模板定义中使用时具有特定的默认值和范围值;默认值为 60 秒,范围为 10 到 600 秒。您在模板定义中指定的值将覆盖在[edit forwarding-options sampling family (inet | inet6 | mpls) output flow-server]层次结构级别上配置的全局超时值。还可以在模板定义中包括 和
template-refresh-rate语句的设置option-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 是为模板集、选项模板集和其他集保留的,以供将来使用。数据集的模板 ID 编号为 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(显式 null)。
生成的行为是将 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 策略选项,以收集特定输入接口上 AS 路径入口流量流的使用统计信息,并将防火墙配置层次结构应用为转发表过滤器 (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;
}
}
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。