Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 MX、M 和 T 系列路由器上配置流量采样

通过流量采样,您可以将流量复制到物理接口卡 (PIC),当路由器将数据包转发至原始目标时,该物理接口卡会执行流量核算。您可以将路由器配置为在以下三个位置之一执行采样:

  • 在路由引擎上,使用取样进程。要选择此方法,请使用过滤器(输入或输出)与包含语句的 then sample 匹配术语。

  • 在监控服务、自适应服务或多服务 PIC 上。

  • 在内联数据路径上,无需服务密集端口集中器 (DPC)。要实现内联主动采样,请定义一个具有特定属性的采样实例。一个灵活的 PIC 集中器 (FPC) 仅支持一个实例:对于每个实例,每个系列都支持基于服务 PIC 的采样或内联采样。内联采样支持版本 9 和 IPFIX 流收集模板。

注意:

VPN 路由和转发 (VRF) 实例不支持基于路由引擎的采样。

配置防火墙过滤器进行流量采样

要为流量采样配置防火墙过滤器,必须执行以下任务:

  • 创建一个防火墙过滤器,通过在层次结构级别包含 filter 语句来应用于要取样的 [edit firewall family family-name] 逻辑接口。在 filter then 语句中,必须指定操作修改符 sample 和操作 accept

有关防火墙过滤器操作和操作修改器的详细信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南

  • 在层次结构级别包括 address and filter 语句,从而将过滤器应用于要采样流量的 [edit interfaces interface-name unit logical-unit-number family family-name] 接口:

当您在接口和防火墙过滤器中配置流量采样时,以下先决条件适用于 M、MX 和 T 系列路由器:

  • 如果在接口上的防火墙过滤器中为 inet 或 inet6 系列配置示例操作,而未配置转发选项设置,则如果同时配置端口镜像或流分流功能,则可能会发生操作问题。在这种情况下,与防火墙过滤器匹配的所有数据包都会被错误地发送到服务 PIC。

  • 如果在层次结构级别包含then sample语句[edit firewall family inet filter filter-name term term-name]以在防火墙过滤器中为 IPv4 数据包指定示例操作,则还必须在[edit forwarding-options sampling]层次结构级别或instance instance-name family inet层次结构级别包括family inet语句[edit forwarding-options sampling]。同样,如果在层次结构级别包含 then sample 语句[edit firewall family inet6 filter filter-name term term-name]以在防火墙过滤器中为 IPv6 数据包指定示例操作,则还必须在[edit forwarding-options sampling]层次结构级别或层次结构级别instance instance-name family inet6包含family inet6语句[edit forwarding-options sampling]。否则,当您尝试提交配置时,将发生提交错误。

  • 此外,如果在逻辑接口上配置流量采样,包括层次结构级别的采样输入或采样输出语句[edit interface interface-name unit logical-unit-number],则还必须在family inet | inet6[edit forwarding-options sampling]层次结构级别或instance instance-name family inet | inet6层次结构级别包含语句[edit forwarding-options sampling]

在逻辑接口上配置流量采样

要在任何逻辑接口上配置流量采样,请在层级包含采样语句 [edit forwarding-options] ,以启用采样并指定非零采样速率:

使用基于路由引擎的采样时,请通过包含 max-packets-per-second 语句来指定阈值流量值。值是要采样的最大数据包数,超过此数,采样机制开始丢弃数据包。范围从 0 到 65,535。值 0 指示数据包转发引擎不采样任何数据包。默认值为 1000。

注意:

配置活动监控并在语句中 output 指定监控服务、自适应服务或多服务 PIC 时,或者配置内联采样时, max-packets-per-second 将忽略该值。

通过设置和 run-length 的值rate来指定采样率(请参阅图 1)。

图 1:配置采样率 Configuring Sampling Rate
注意:

请勿在启用了基于 PIC 的流监控的逻辑接口上 ms- 配置入口采样,这会导致不希望的流监控行为,并可能导致对单个数据包进行重复采样。从 Junos OS 15.1 版开始,当您尝试在此接口上配置入口流量采样时,将发生提交错误。在 Junos OS 14.2 及更早版本中,不会发生提交错误,但不应在此接口上配置入口流量采样。

如果在 ms-fpc/pic/port.logical-unit 接口上启用了基于 PIC 的流监控,则当您尝试在此接口上配置入口流量采样时,将发生提交检查错误。之所以出错,是因为逻辑接口上的 ms- 入口采样和基于 PIC 的流监控操作组合会导致意外的流监控行为,并可能导致对单个数据包进行重复采样。您不得在启用了基于 PIC 的流监控的逻辑接口上 ms- 配置入口采样。

rate 语句指定要采样的数据包比例。例如,如果配置速率为 10, x 则每 10 个中的数据包数将取样,其中 x=运行长度 + 1。默认情况下,速率为 0,这意味着不会对流量进行采样。

run-length 语句指定初始单数据包触发事件后要取样的匹配数据包数。默认情况下,运行长度为 0,这意味着在触发事件后不再采样流量。范围从 0 到 20。配置大于 0 的运行长度后,您就可以根据已取样的数据包进行取样。

注意:

run-length MX80 路由器不支持和maximum-packet-length配置语句。

如果未包含语句 input ,则禁用采样。

要收集文件中的取样数据包,请将语句file[edit forwarding-options sampling output]包含在层次结构级别。输出文件格式在本章后面将讨论。

禁用流量采样

要显式禁用路由器上的流量采样,请在层次结构级别包含语句disable[edit forwarding-options sampling]

采样一次

要仅对数据包进行显式采样一次用于主动监控,请将语句sample-once[edit forwarding-options sampling]包含在层次结构级别:

设置此选项可避免在入口接口和出口接口均启用采样的情况下重复数据包,并简化对取样流量的分析。

保留出口取样或镜像数据包的预写 ToS 值

从 Junos OS 14.1 版开始,您可以在出口取样或镜像数据包中保留预规范化服务类型 (ToS) 值。在 pre-rewrite-tos 层次结构级别包括语句 [edit forwarding-options sampling]

在基于 MPC 的接口上,您可以配置 ToS 重写,包括使用服务类 (CoS) 配置在 rewrite-rules dscp rule_name 层次结构级别包含语句 [edit class-of-service interfaces interface-name unit logical-unit-number] ,或者在层次结构级别包含该 dscp 语句 [edit firewall family family-name filter filter-name term term-name then] 来使用防火墙过滤器配置。如果配置了 ToS 重写,则默认情况下,出口镜像或取样副本将包含重写后的 ToS 值。 pre-rewrite-tos 通过配置,您可以在取样或镜像的数据包中保留预写 ToS 值。

注意:
  • 如果在出口接口上同时使用 CoS 和防火墙过滤器配置配置 ToS 重写,并且 pre-rewrite-tos 同时配置了语句,则出口取样数据包将包含使用防火墙过滤器配置设置的 DSCP 值。但是,如果未配置语句 pre-rewrite-tos ,则出口取样数据包将包含由 CoS 配置设置的 DSCP 值。

  • pre-rewrite-tos使用语句,您可以配置保留预规范化 ToS 值,仅用于在和 family inet6family inet完成的采样。

  • 无法在层级配置 [edit logical-systems] 此功能。只能在配置下的 forwarding-option 全局级别进行配置。

  • 在入口接口和出口接口上使用防火墙过滤器配置 ToS 重写时,出口取样数据包包含入口 ToS 重写配置(如果配置了语句)设置的 pre-rewrite-tos DSCP 值。但是,如果未配置语句 pre-rewrite-tos ,则出口取样数据包将包含由出口防火墙过滤器的 ToS 重写配置设置的 DSCP 值。

  • 如果配置了 pre-rewrite-tos 语句,并在层次结构级别执行 [edit forwarding-options] 停用或删除操作, pre-rewrite-tos 则配置仍将处于活动状态。要禁用此类情况的配置 pre-rewrite-tos ,必须在层次结构级别上显式停用或删除 pre-rewrite-tos 语句 [edit forwarding-options sampling] ,然后才能在 [edit forwarding-options] 层次结构级别执行停用或删除操作。

配置流量采样输出

要配置流量采样输出,请在层级添加 [edit forwarding-options sampling family (inet | inet6 | mpls) output] 以下语句:

要配置 MX 系列路由器上的内联流监控,请在inline-jflow层级添加语句[edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]。内联采样仅支持一种称为 IP_FIX 的新格式,该格式使用 UDP 作为传输协议。配置内联采样时,必须在层次结构级别和[edit services flow-monitoring]层次结构级别包括version-ipfix语句[edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]。有关配置内联流监控的更多信息,请参阅使用路由器、交换机或 NFX250 配置内联活动流监控

要将取样流量定向到流监控接口,请添加语句 interfaceengine-idengine-type 语句指定接口的标识和类型编号;它们基于灵活 PIC 集中器 (FPC)、PIC 和插槽编号以及机箱类型动态生成。语句 source-address 用于指定流量源。

从 Junos OS 19.3R1 版开始,要配置瞻博网络 Sky Advanced Threat Prevention (ATP) 的内联流监控,请将语句flow-server[edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]包含在层次结构级别。内联采样仅支持一种称为 IP_FIX 的新格式,该格式使用 UDP 作为传输协议。配置内联采样时,必须在层次结构级别和[edit services flow-monitoring]层次结构级别包括version-ipfix语句[edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]

要配置流采样第 9 版输出,需要在层次结构级别包含 template 语句 [edit forwarding-options sampling output version9] 。有关 cflowd 的信息,请参阅 启用流聚合

配置aggregate-export-interval丢弃核算介绍了该语句,配置流监控中介绍了 flow-active-timeoutflow-inactive-timeout语句。

流量采样结果会自动保存到/var/tmp 目录中的文件中。要收集文件中的取样数据包,请将语句file[edit forwarding-options sampling family inet output]包含在层次结构级别:

流量采样输出格式

流量采样输出保存到 ASCII 文本文件中。以下是保存到/var/tmp 目录中文件的流量采样输出的示例。输出文件中的每一行都包含一个取样数据包的信息。您可以选择为每行显示时间戳。

每组 1000 个数据包之后重复列标头。

要为文件 my-sample设置时间戳选项,请输入以下内容:

每当切换时间戳选项时,文件中会包含一个新标头。如果设置选项 stamp ,将显示 Time 字段。

跟踪流量采样操作

跟踪操作跟踪所有流量采样操作,并将其记录在/var/log 目录中的日志文件中。默认情况下,此文件名为 /var/log/sampled。默认文件为 128K,10 个文件先创建,第一个文件将被覆盖。

要跟踪流量采样操作,请将语句traceoptions[edit forwarding-options sampling]包含在层次结构级别:

流量采样示例

示例:对单个 SONET/SDH 接口进行采样

以下配置从单个 SONET/SDH 接口上所有流量的一小部分收集统计抽样信息,并收集到名为的 sonet-samples.txt文件中。

创建过滤器:

将过滤器应用于 SONET/SDH 接口:

最后,配置流量采样:

示例:对来自单个 IP 地址的所有流量进行采样

以下配置会收集有关进入特定千兆以太网端口(源自单一源 IP 地址)上路由器的每个数据包的 172.16.92.31统计信息,并将其收集到名为的 samples-172-16-92-31.txt文件中。

创建过滤器:

将过滤器应用于千兆以太网接口:

最后,收集所有候选样本的统计数据;在本案例中,请收集所有统计数据:

示例:对所有 FTP 流量进行采样

以下配置在特定 T3 接口的输出路径中使用 FTP 数据传输协议收集一定百分比的数据包统计信息,并在名为 t3-ftp-traffic.txt的文件中收集信息。

创建过滤器:

将过滤器应用于 T3 接口:

最后,收集 10% 的候选样本的统计数据:

版本历史记录表
释放
描述
14.1
从 Junos OS 14.1 版开始,您可以在出口取样或镜像数据包中保留预规范化服务类型 (ToS) 值。在 pre-rewrite-tos 层次结构级别包括语句 [edit forwarding-options sampling]