将流量采样输出定向到运行 cflowd 应用程序的服务器
您可以收集采样流的聚合,并将聚合发送到运行互联网数据分析合作协会 (CAIDA) (http://www.caida.org) 提供的 cflowd 应用程序的指定主机。通过使用 cflowd,您可以通过路由器获取各种类型的流字节和数据包计数。
cflowd 应用程序在 1 分钟内收集采样流。在一分钟结束时,要导出的样本数在另一分钟的时间段内划分,并在同一分钟内导出。
在执行流聚合之前,路由协议进程必须将自治系统 (AS) 路径和路由信息导出到采样进程。为此,请包含以下 route-record
语句:
route-record;
您可以在以下层次结构级别包含此语句:
[edit routing-options]
[edit routing-instances routing-instance-name routing-options]
默认情况下,流聚合处于禁用状态。若要启用流聚合的集合,请在层次结构级别包含 flow-server
语句 [edit forwarding-options sampling output]
:
[edit forwarding-options sampling family (inet | inet6 | mpls) output ] flow-server hostname { aggregation { autonomous-system; destination-prefix; protocol-port; source-destination-prefix { caida-compliant; } source-prefix; } autonomous-system-type (origin | peer); (local-dump | no-local-dump); port port-number; source-address address; version format; }
在 cflowd 语句中,指定收集流聚合的主机的名称、标识符和源地址。还必须在主机上包含 UDP 端口号和 版本,以提供导出的 cflowd 聚合的格式。要指定 IPv4 源地址,请包含 source-address
该语句。要在导出之前收集日志文件中的 cflowd 记录,请包含该 local-dump
语句。要指定 cflowd 版本号,请包含该 version
语句。cflowd 版本为 5 或 8。
您可以在同一配置中同时指定主机 (cflowd) 采样和端口镜像。您可以同时执行重新采样和端口镜像操作。但是,不能同时执行 PIC 采样和端口镜像操作。
要指定特定类型流量的聚合,请包含 aggregation
该语句。这样可以节省内存和带宽,使 cflowd 能够导出目标流,而不是所有聚合流
仅当指定了 cflowd 版本 8 时,聚合才有效。
要指定流类型,请在层次结构级别包含 aggregation
语句 [edit forwarding-options sampling output cflowd hostname]
:
[edit forwarding-options sampling family (inet | inet6 | mpls) output hostname] aggregation { source-destination-prefix; }
您可以使用以下选项之一指定聚合类型:
自治系统 — 按 AS 编号聚合;可能需要将单独的 cflowd
autonomous-system-type
语句设置为包含 源 或 对等 AS 编号。 origin 选项指定在源自治系统 cflowd 字段中使用数据包源地址的源 AS。 对等 方选项指定使用对等 AS,数据包在源自治系统 cflowd 字段中通过该 AS。默认情况下, cflowd 导出源 AS 编号。目标前缀 - 按目标前缀聚合(仅限)。
协议端口 — 按协议和端口号聚合;需要设置单独的
cflowd port
语句。源-目标前缀 - 按源和目标前缀聚合。CADA 的 cflowd 应用程序版本 2.1b1 未根据 CADA 1999 年 8 月 30 日的 cflowd 配置指南记录源和目标掩码长度值。如果配置该
caida-compliant
语句,Junos OS 将符合 cflowd 版本 2.1b1。如果未在配置中包含该caida-compliant
语句,Junos OS 将根据 cflowd 配置指南记录源掩码和目标掩码长度值。源前缀 - 按源前缀聚合(仅限)。
收集本地 ASCII 文件中的采样数据包不受该 cflowd
语句的影响。
调试 cflowd 流聚合
要在导出 cflowd 流之前将其收集到日志文件中,请在层次结构级别包含 本地转储 选项 [edit forwarding-options sampling output cflowd hostname]
:
[edit forwarding-options sampling family (inet | inet6 | mpls) output flow-server hostname] local-dump;
默认情况下,流收集在 /var/log/sampled 中;要更改文件名,请在层次结构级别包含filename
[edit forwarding-options sampling traceoptions]
语句。有关更改文件名的更多信息,请参阅在文件中收集流量采样输出。
由于 本地转储 选项会增加额外的开销,因此应仅在调试 cflowd 问题时使用它,而不是在正常操作期间使用它。
以下是流信息的示例。导出的 AS 编号是源 AS 编号。属于 cflowd 标头下的所有流都将被转储,后跟标头本身:
Jun 27 18:35:43 v5 flow entry Jun 27 18:35:43 Src addr: 10.53.127.1 Jun 27 18:35:43 Dst addr: 10.6.255.15 Jun 27 18:35:43 Nhop addr: 192.168.255.240 Jun 27 18:35:43 Input interface: 5 Jun 27 18:35:43 Output interface: 3 Jun 27 18:35:43 Pkts in flow: 15 Jun 27 18:35:43 Bytes in flow: 600 Jun 27 18:35:43 Start time of flow: 7230 Jun 27 18:35:43 End time of flow: 7271 Jun 27 18:35:43 Src port: 26629 Jun 27 18:35:43 Dst port: 179 Jun 27 18:35:43 TCP flags: 0x10 Jun 27 18:35:43 IP proto num: 6 Jun 27 18:35:43 TOS: 0xc0 Jun 27 18:35:43 Src AS: 64496 Jun 27 18:35:43 Dst AS: 64511 Jun 27 18:35:43 Src netmask len: 16 Jun 27 18:35:43 Dst netmask len: 0
[...另外 41 个 v5 流 条目;然后是以下标头:]
Jun 27 18:35:43 cflowd header: Jun 27 18:35:43 Num-records: 42 Jun 27 18:35:43 Version: 5 Jun 27 18:35:43 Flow seq num: 118 Jun 27 18:35:43 Engine id: 0 Jun 27 18:35:43 Engine type: 3