内联监控服务配置
了解内联监控服务
内联监控服务的优势
灵活 — 与传统采样技术不同,内联监控服务允许将不同的内联监控实例映射到不同的防火墙过滤器术语,传统采样技术中的所有实例都映射到灵活的 PIC 集中器 (FPC)。这使您能够灵活地在单个接口上以不同的速率对不同的流量流进行采样。
不受数据包格式限制 — 传统的流量收集技术依赖于网络元素的数据包解析和聚合。借助内联监控服务,数据包标头被导出到收集器进行进一步处理,但不需要聚合。因此,您可以使用任意数据包字段在收集器处理受监控的数据包。
内联监控服务功能概述
服务提供商和内容提供商通常需要了解流量,以便评估对等协议、检测流量异常和策略违规行为,以及监控网络性能。为了满足这些要求,传统上会使用内联主动流量监控或 IPFIX 变体导出聚合流量统计信息。
作为替代方法,您可以对数据包内容进行采样,添加元数据信息,并将受监控的数据包导出到收集器。内联监控服务使您能够在运行 Junos OS 演化版的 MX 系列路由器和 PTX 路由器上执行此操作。
借助内联监控服务,您可以监控接口入口和出口方向上的每个 IPv4 和 IPv6 数据包。从 MX304 路由器的 Junos OS 26.2R1 版开始,您可以选择 IPFIX 或 sFlow 版本 5 (RFC 3176) 导出格式。IPFIX 是默认导出格式。IPFIX 导出格式支持所有流量家族。sFlow 版本 5 导出格式仅 family inet 支持 和 family inet6。
内联监控服务实例可以支持 IPFIX 导出版本或 sFlow 版本 5 导出版本。一个内联监控服务实例不能支持两个版本。我们也不建议您在一个实例上的导出格式之间切换。您应该为每种导出格式配置不同的实例。
您仅为 IPFIX 导出格式配置模板。为内联监控服务实例配置 export format 语句时 sflow-v5 ,无法配置模板。
有关 sFlow 标准的更多信息,请参阅 RFC3176。有关 sFlow 版本 5 格式的详细信息,请参阅 sFlow 版本 5。
内联监控服务 IPFIX 导出格式概述
借助内联监控服务,您可以监控接口入口和出口方向上的每个 IPv4 和 IPv6 数据包。软件以 IPFIX 格式封装受监控流量,并将配置的剪辑长度为限的实际数据包导出到收集器以进行进一步处理。默认情况下,Junos OS 支持从以太网标头开始的最大裁剪长度为 126 个字节,而 Junos OS 演化版支持从以太网标头开始的最大裁剪长度为 256 个字节。
图 1 展示了 IPFIX 格式规范。
IPFIX 报头和 IPFIX 有效负载使用 IP 或 UDP 传输层进行封装。导出的 IPFIX 格式包括两个数据记录和两个导出到每个收集器的数据模板:
-
数据记录 — 包括传入和传出接口、流量方向、数据链路帧部分和数据链路帧大小。仅当导出采样数据包时,此信息才会发送到收集器。
图 2 是 IPFIX 数据记录数据包的示例图示。
-
选项数据记录 — 包括系统级信息,例如导出进程 ID 和采样间隔。无论是否导出采样数据包,此信息都会定期发送到收集器。
图 3 是 IPFIX 选项数据记录数据包的示例图示。
表 1:IPFIX 选项数据包中的信息元素字段 数量
信息元素 ID
信息元素长度
详情
1
144
4B
观察域 ID - 每个 IPFIX 设备的导出进程的唯一标识符。此字段的目的是限制其他信息元素字段的范围。
2
34
4B
对数据包进行采样的采样间隔。1000 表示对 1000 个数据包中的一个进行采样。
-
数据模板 — 包括五个信息元素:
-
入口接口
-
出口接口
-
流动方向
-
数据链路帧大小
-
可变数据链路帧选择
图 4 是 IPFIX 数据模板数据包的示例图示。
-
-
选项数据模板 — 包括流导出器和采样间隔信息。
图 5 是 IPFIX 选项数据模板数据包的示例图示。
当有新的或更改的内联监控服务配置时,数据模板和选项数据模板的定期导出会立即发送到相应的收集器。
内联监控服务 sFlow 版本 5 导出格式概述
借助内联监控服务 (IMON),您可以监控接口入口和出口方向上的每个 IPv4 和 IPv6 数据包。该软件以 sFlow 版本 5 格式封装受监控流量,并将配置的剪辑长度为限的实际数据包导出到 IPv4 可寻址收集器进行进一步处理。默认情况下,Junos OS 支持的最大裁剪长度为 126 个字节(从以太网标头开始)。
对于此导出格式,每个 IMON 实例下最多可以有 4 个收集器。由于导出格式是在实例级别配置的,而不是在收集器级别配置的,因此导出格式适用于该实例下的所有收集器。每个物理接口只能在一个逻辑接口上对流量进行采样。对该逻辑接口下的所有流量进行采样。您可以通过非默认 VRF 导出 sFlow 数据报。
sFlow 版本 5 报头和有效负载使用 IP 或 UDP 传输层进行封装。此 sFlow 版本 5 数据报包括:
-
IPv4 数据报报头
-
UDP 数据报头
-
版本 5 的示例数据报头
-
流示例标头
-
原始数据包标头
IPv4 数据报头包含以下字段:
| 字段 | 描述 |
|---|---|
|
|
4 |
|
|
20 |
|
|
使用 CLI 命令 set services inline-monitoring instance name collector name dscp配置。 |
|
|
由软件计算。 |
|
|
使用 LFSR 随机生成的值。 |
|
|
始终为 0。 |
|
|
始终为 0。 |
|
|
250 |
|
|
UDP |
|
|
由软件计算。 |
|
|
使用 CLI 命令 set services inline-monitoring instance name collector name source-address address配置。 |
|
|
使用 CLI 命令 set services inline-monitoring instance name collector name destination-address address配置。 |
UDP 数据报包含以下字段:
| 字段 | 描述 |
|---|---|
|
|
50151 |
|
|
使用 CLI 命令 set services inline-monitoring instance name collector name destination-port port-number配置。 |
|
|
由软件计算。 |
|
|
始终为 0。 |
您可以在收集器上查看这些数据报中的信息,参见 图 6 获取样本。
导出数据报的sample_datagram_v5头中的字段如表 4 所示。该标头在图 9 所示的样本捕获中进行了InMon sFlow标记。
| 字段 | 描述 |
|---|---|
|
|
5 |
|
|
1 - 表示 IPv4。 |
|
|
使用 CLI 命令 set services inline-monitoring instance name collector name source-address address配置。 |
|
|
使用内联监控服务实例索引、收集器索引、FPC 插槽编号和数据包转发引擎实例生成,如 图 7 所示。 |
|
|
递增的序列号,每个数据报递增 1。每个 SubAgentId 此编号都是唯一的。 |
|
|
自设备上次启动以来的时间(以毫秒为单位)。 |
|
|
始终 1.每个采样的数据包都会触发一个 sFlow 数据报到收集器。 |
导出数据报的 Flow Sample 标头的字段如表 5 所示。该标头在图 9 所示的样本捕获中进行了Flow Sample标记。
| 字段 | 描述 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
值 1 表示flow_sample。 |
||||||||||||||||||
|
|
根据 sFlow 标准计算。 |
||||||||||||||||||
|
|
递增序列号。此源 ID 生成的每个流样本递增 1。在收集器级别维护。 |
||||||||||||||||||
|
|
使用内联监控服务实例索引和收集器索引生成,如 图 8 所示。 |
||||||||||||||||||
|
|
使用 CLI 命令 set services inline-monitoring instance name collector name sampling-rate配置。 |
||||||||||||||||||
|
|
在每个采样数据包上计算,如下表所示:
|
||||||||||||||||||
|
|
始终为 0。 |
||||||||||||||||||
|
|
入口接口的 SNMP 索引。如果是聚合以太网接口,则会报告 AE 接口的 SNMP 索引。
注意:
SNMP 索引用于物理接口,而非逻辑接口。 |
||||||||||||||||||
|
|
对于入口采样,该值始终为 0。 对于出口采样,出口接口的 SNMP 索引。如果是聚合以太网接口,则会报告 AE 接口的 SNMP 索引。 对于 ECMP,应报告准确的物理接口索引。
注意:
SNMP 索引用于物理接口,而非逻辑接口。 |
||||||||||||||||||
|
|
始终为 1,因为仅 |
导出数据报的sampled_header头字段如表 7 所示。该标头在图 9 所示的样本捕获中进行了Raw Packet Header 标记。
| 字段 | 描述 |
|---|---|
|
|
根据 sFlow 标准计算。 |
|
|
根据 sFlow 标准,始终为 1。值 1 表示以太网流量。 |
|
|
数据包的原始长度,从以太网标头开始 |
|
|
始终为 4,因为 FCS 已被剥离,并且不会作为采样帧的一部分进行报告 |
|
|
报告的采样数据包的大小,包括以太网标头的大小 |
|
|
采样数据包最多 126 个字节,从以太网标头开始,最小长度为 126 字节或数据包的原始长度。报告 126 字节的采样数据包足以获取第 4 层的信息。例如,对于未标记的 VLAN 或单个带有 MPLS 标签的 MPLSoUDP 数据包,110 字节就足够了, 示例 1: 以太网 (18)+V4(20)+UDP(8)+MPLS(4)+InnerV4(20)+TCP(20) = 90 字节 示例 2: 以太网 (18)+V4(20)+UDP(8)+MPLS(4)+InnerV6(40)+TCP(20) = 110 字节 |
您可以在收集器上查看这些报头中的信息,有关示例,请参见 图 9 。
的样本捕获
内联监控服务配置概述
您最多可以配置 16 个 (Junos OS) 或 7 个 (Junos OS 演化版) 内联监控实例,这些实例支持特定于模板和收集器的配置参数。每个内联监控实例最多支持四个收集器(总共最多 64 个收集器),仅对于 Junos OS 和 IPFIX 导出格式,您可以在每个收集器配置下指定不同的采样率。由于这种灵活性,内联监控服务克服了传统采样技术(如内联主动流监控、sFlow 和端口镜像)的局限性。
要配置内联监控:
-
您必须在层次结构级别包含
[edit services]该inline-monitoring语句。在这里,您可以指定模板和内联监控实例参数。您必须在内联监控实例下指定收集器参数。 -
使用防火墙过滤器术语和操作指定任意匹配条件,以接受配置的内联监控实例。这会将内联监控实例映射到防火墙术语。
-
在层次结构级别使用 [edit firewall filter name then] 语句将
inline-monitoring-instance防火墙过滤器映射到家族inet或inet6语句下。从 Junos OS 21.1R1 版开始,对于 IPFIX 导出格式,您还可以在家族any, bridge, ccc, mpls,或vpls语句下映射防火墙过滤器。对于 Junos OS 演化版,不支持 和bridgevpls家族;请改用ethernet-switch家族。Junos OS Evolved 也支持any、inet6cccinet和mpls家族。您也可以使用输入或输出语句将防火墙过滤器应用于转发表过滤器,以分别过滤入口或出口数据包。
记住:
-
设备必须支持 126 字节 (Junos OS) 或 256 字节 (Junos OS 演化版) 的最大数据包长度(裁剪长度),才能启用内联监控服务。
-
由于转发路径中数据包中的可用位数稀缺,因此配置的内联监控实例不能超过 16 个 (Junos OS) 或 7 个 (Junos OS 演化版)。
-
仅在收集器接口(即可访问收集器的接口)上应用内联监控服务。您不得对 IPFIX 流量应用内联监控,因为这会生成另一个 IPFIX 数据包进行采样,从而形成环路。这包括内联监控服务生成的流量,例如使用 IPFIX 导出格式的模板和记录数据包、选项模板和选项记录数据包,以及使用 sFlow 版本 5 导出格式的数据报。
-
在聚合以太网 (AE) 接口上启用内联监控服务后,IPFIX 导出格式的信息元素值如下所示:
表 8:聚合以太网接口的信息元素值 AE接口上的内联监控服务方向
信息元素 10(传入接口)
信息元素 14(传出接口)
入口
AE 的 SNMP ID
0
出口
AE 的 SNMP ID
成员链路的 SNMP ID
-
在 IRB 接口上启用内联监控服务后,IPFIX 导出格式的信息元素值如下所示:
表 9:IRB 接口的信息元素值 IRB 接口上的内联监控服务方向
信息元素 10(传入接口)
信息元素 14(传出接口)
入口
IRB 的 SNMP ID
0
出口
IRB 的 SNMP ID
VLAN 网桥封装接口的 SNMP ID
-
(仅限 IPFIX 导出格式)对于基于 XL-XM 的设备(带有查找芯片 (XL) 和缓冲 ASIC (XM)),即使出口数据包长度大于裁剪长度,导出数据包中数据链路帧部分信息元素的长度也可以短于裁剪长度。
数据链路帧部分信息元素的长度减少为“N”字节数,其中“N”=(入口数据包第 2 层封装长度 - 出口数据包第 2 层封装长度)。
例如,当入口数据包具有 MPLS 标签且出口数据包为 IPv4 或 IPv6 类型时,入口数据包的第 2 层封装长度大于出口数据包的封装长度。当流量从提供商边缘 (PE) 设备流向客户边缘 (客户边缘) 设备时,入口数据包具有 VLAN 标记,而出口数据包未标记。
在这种情况下,剪辑长度可能会超过数据包头的最后一个地址位置,从而生成系统
PKT_HEAD_SIZE日志消息。这可能会导致设备的数据包转发性能降级。 -
在入口方向上,IPFIX
egressInterface(信息元素 ID 14)或 sFlowflow_sample.output_interface字段不报告输出接口的 SNMP 索引。如果是入口方向,这些字段始终报告值零。对于 IPFIX 导出格式,接收收集器进程应根据(信息元素 ID 61)标识flowDirection此字段的有效性。 -
(仅限 sFlow 导出格式)某些转发方案可能会在数据包的生存期内覆盖入口逻辑或物理接口信息。对于这些情况,无法报告实际的介质 WAN 端口 (ge-/xe-/et-/ae-)。例如:
-
在 MPLS 隧道尾端,当收到 MPLS 数据包时,将使用 VPN 标签识别目标 VRF,并使用与客户 VRF 关联的 LSI 接口数据包从默认 VRF 切换到客户 VRF。因此,LSI 接口索引会覆盖数据路径中的入口逻辑或物理接口索引。内联监控服务始终报告最新的接口信息,在本例中为 LSI 接口。
-
通过动态隧道传输的数据包报告 FTI 接口,而不是入口接口。
-
-
(仅限 sFlow 导出格式)在出口方向上,如果数据包在通过以太网封装下一跃点
sampled_header.sampled_pkt之前被捕获或丢弃,则数据报字段报告不带以太网标头,sampled_header.protocol而数据报字段报告值 1(以太网)。 -
(仅限 sFlow 导出格式)您无法通过管理界面导出 sFlow 数据报。收集器必须能够通过 WAN 端口访问。
内联监控服务支持和不支持的功能
内联监控服务支持:
-
平滑路由引擎切换
-
不中断服务的软件升级 (ISSU)、不间断软件升级 (NSSU) 和不间断主动路由 (NSR)
-
以太网接口以及集成路由和桥接 (IRB) 接口
-
Junos 节点切片
-
从 Junos OS 演化版 22.4R1 开始,可为收集器配置 DSCP、转发类或路由实例。
-
从 Junos OS 演化版 22.4R1 开始,配置模板 ID 或选项模板 ID。
内联监控服务目前不支持:
-
配置超过 16 个 (Junos OS) 或 7 个以上 (Junos OS 演化版) 内联监控实例。
-
Junos Traffic Vision
-
在 Junos OS 21.1R1 版之前,只有 和
inet6系列防火墙过滤器支持inetinline-monitoring-instance 术语操作。从 Junos OS 21.1R1 版开始,仅针对 IPFIX 导出格式,和vpls系列防火墙过滤器才支持any, bridge, ccc, mpls,该格式。 -
IPv6 可寻址收集器
-
虚拟平台
-
逻辑系统
-
(仅限 IPFIX 导出格式)同时配置观察域 ID 和观察云 ID。您必须只选择其中一个。
-
用于异常报告的内联监控实例操作不能用于任何其他目的,例如防火墙重定向操作或常规内联监控操作。
-
用于防火墙重定向操作的内联监控实例不能用于任何其他目的,例如异常报告或常规内联监控操作。
-
在 Junos OS 演化版 22.4R1 之前,可为收集器配置 DSCP、转发类或路由实例。
-
在 Junos OS 演化版 22.4R1 之前,配置模板 ID 或选项模板 ID。系统会为您生成这些内容。
-
(Junos OS 演化版)在同一防火墙过滤器术语下配置端口镜像和内联监控服务。
-
(Junos OS 演化版)在出口方向上,同时配置 sFlow 和异常报告;您只能选择其中一个。
使用 IPFIX 导出格式配置内联监控服务
配置之前
配置内联监控服务时,您可以:
-
配置多达 16 个 (Junos OS) 或 7 个 (Junos OS 演化版) 内联监控实例。在每个实例下,您可以配置特定的收集器和模板参数。
-
在每个内联监控实例下配置最多 4 个 IPv4 可寻址收集器。总共最多可配置 64 个收集器。收集器可以位于远程,也可以位于不同位置。
对于每个收集器,您可以配置特定参数,例如源地址和目标地址等。收集器的默认路由实例名称为
default.inet。 -
对于 Junos OS,您可以使用
inet术语 操作inline-monitoring-instance inline-monitoring-instance-name配置或inet6家族防火墙过滤器。从 Junos OS 21.1R1 版开始,对于 IPFIX 导出格式,您可以使用any, bridge, ccc, mpls,术语 actioninline-monitoring-instance inline-monitoring-instance-name配置或vpls系列防火墙过滤器。对于 Junos OS 演化版,您可以使用any, ccc, ethernet-switch, inet, inet6,术语 action inline-monitoring-instance inline-monitoring-instance-name配置 ormpls系列防火墙过滤器。每个术语可以支持不同的内联监控实例。
-
在接口逻辑单元的家族下附加内联监控防火墙过滤器。
成功提交配置后,可以通过从 CLI 发出 show services inline-monitoring statistics fpc-slot 命令来验证内联监控服务的实施情况。
如果数据包需要将内联监控服务与任何传统采样技术(如内联主动流监控或 sFlow)一起应用,则数据包转发引擎会对该数据包执行内联监控服务和传统采样技术。目前,端口镜像必须使用 Junos OS Evolved 的不同术语进行配置。
图 10 是内联监控服务的示例图示,其中,流量在设备接口上以两种不同的采样率进行监控,并以 IPFIX 封装格式导出到四个远程收集器。对于 Junos OS,您可以在每个收集器上配置采样速率,为每个收集器提供不同的速率。对于 Junos OS 演化版,您可以在内联监控实例上配置采样率,该采样率将应用于为该实例配置的所有收集器。
在此示例中,设备的 et-1/0/0 接口配置了内联监控服务。配置详情如下:
-
有两个内联监控实例 — 实例 1 和实例 2。
-
有四个收集器,每个内联监控实例下有两个收集器。
-
实例 1 有 Collector-1 和 Collector-2。
-
实例 2 有 Collector-101 和 Collector-102。
-
-
实例 1 上的收集器的采样率为 1:10000。
-
实例 2 上的收集器的采样率为 1:1。
-
实例 1 收集器的源地址和目标地址分别为 10.1.1.1 和 10.2.2.1。
-
实例 2 收集器的源地址和目标地址分别为 10.11.1.1 和 10.12.2.1。
-
数据包以 IPFIX 封装格式导出到收集器。
要配置内联监控服务:
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。
family inet 和 family inet6 采样数据包。IPFIX 格式是默认设置。 export-format sflow-v5 在层次结构级别配置 [edit inline-monitoring instance instance-name] 该语句以更改导出格式。无需配置 sFlow(set protocols sflow CLI 命令)即可激活此功能。
any, ccc, ethernet-switch, inet, inet6,使用术语 action inline-monitoring-instance inline-monitoring-instance-name配置 or mpls 系列防火墙过滤器。
any, ccc, ethernet-switch, inet, inet6,使用术语 action inline-monitoring-instance inline-monitoring-instance-name配置 or mpls 系列防火墙过滤器。
any, ccc, ethernet-switch, inet, inet6,使用术语 action inline-monitoring-instance inline-monitoring-instance-name配置 or mpls 系列防火墙过滤器。
any, bridge, ccc, mpls,术语 action inline-monitoring-instance inline-monitoring-instance-name配置 or vpls 系列防火墙过滤器。