分布式防火墙对流量实施有状态的跟踪,所跟踪的流量会经过一系列状态变化。您可以使用 IPFIX 协议导出有关流量状态的数据。跟踪的事件包括流量创建、流量拒绝、流量更新和流量卸载。
由于 IPFIX 基于模板,导出程序必须在导出任何流程之前声明数据格式,以便收集器知道如何分析入站流量记录。格式是在模板中声明的,这是一组 <type,length>,它们依次定义了记录中的每个字段的含义和长度。
下表介绍了在分布式防火墙的 IPFIX 模板中使用的信息元素。
名称 | 数据类型 | 大小(八位字节) | 说明 |
---|---|---|---|
sourceMacAddress | macAddress | 6 | IEEE 802 源 MAC 地址字段。 |
destinationMacAddress | macAddress | 6 | IEEE 802 目标 MAC 地址字段。 |
ethernetType | unsigned16 | 2 | 以太网帧的以太网类型字段,它指定在负载中包含的 MAC 客户端协议。 |
sourceIPv4Address | ipv4Address | 4 | IP 数据包标头中的 IPv4 源地址。 |
destinationIPv4Address | ipv4Address | 4 | IP 数据包标头中的 IPv4 目标地址。 |
sourceIPv6Address | ipv6Address | 16 | IP 数据包标头中的 IPv6 源地址。 |
destinationIPv6Address | ipv6Address | 16 | IP 数据包标头中的 IPv6 目标地址。 |
sourceTransportPort | unsigned16 | 2 | 传输标头中的源端口标识符。 |
destinationTransportPort | unsigned16 | 2 | 传输标头中的目标端口标识符。 |
octetDeltaCount | unsigned64 | 8 | 在上一报告(如果有)后,观察点的流量的入站数据包中的八位字节数。八位字节数包括 IP 标头和 IP 负载。 |
packetDeltaCount | unsigned64 | 8 | 在上一报告(如果有)后,观察点的流量的入站数据包数。 |
flowId | unsigned64 | 8 | 流量标识符,它在观察域中是唯一的。如果不报告流量键(如 IP 地址和端口号),或者在单独的记录中报告流量键,该信息元素有助于区分不同的流量。 |
flowStartSeconds | dateTimeSeconds | 4 | 流量的第一个数据包的绝对时间戳。 |
flowEndSeconds | dateTimeSeconds | 4 | 流量的最后一个数据包的绝对时间戳。 |
protocolIdentifier | unsigned8 | 1 | IP 数据包标头中的协议号值。 |
firewallEvent | unsigned8 | 1 | 有效值为:
|
direction | unsigned8 | 1 | 在观察点应用于筛选器的有效值为:
|
icmpTypeIPv4 | unsigned8 | 1 | IPv4 ICMP 消息类型。 |
icmpCodeIPv4 | unsigned8 | 1 | IPv4 ICMP 消息代码。 |
icmpTypeIPv6 | unsigned8 | 1 | IPv6 ICMP 消息类型。 |
icmpCodeIPv6 | unsigned8 | 1 | IPv6 ICMP 消息代码。 |
ruleId | unsigned32 | 4 | 防火墙规则 ID - 企业特定的 IE。 |
vmUuid | string | 16 | 虚拟机 UUID - 企业特定的 IE。 唯一地标识虚拟机(长度为 16 的八位字节数组)。 |
vnicIndex | unsigned32 | 4 | VNIC 索引 - 企业特定的 IE。 指定虚拟机的 VNIC 的索引。 |
sessionFlags | unsigned8 | 1 | 会话标记 - 企业特定的 IE。有效值为:
|
flowDirection | unsigned8 | 1 | 流量方向 - 企业特定的 IE。有效值为:
|
algControlFlowId | unsigned64 | 8 |
ALG 控制流量 ID - 企业特定的 IE。有效值为:
|
algType | unsigned8 | 1 |
ALG 控制流量 ID - 企业特定的 IE。有效值为:
|
algFlowType | unsigned8 | 1 |
ALG 控制流量 ID - 企业特定的 IE。有效值为:
|
averageLatency | unsigned32 | 4 | 平均 TCP 延迟 - 企业特定的 IE。 单位是微秒。 |
vifUuid | octetArray | 16 | VIF UUID - 企业特定的 IE。 唯一地标识 VIF(长度为 16 的八位字节数组)。 |
仅 UDP 负载支持分布式防火墙的以下 IPFIX 模板。
UDP IPV4 模板
为该模板发送的字段如下所示:
IPFIX_TEMPLATE_FIELD(sourceMacAddress,6) IPFIX_TEMPLATE_FIELD(destinationMacAddress,6) IPFIX_TEMPLATE_FIELD(sourceIPv4Address,4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address,4) IPFIX_TEMPLATE_FIELD(sourceTransportPort,2) IPFIX_TEMPLATE_FIELD(destinationTransportPort,2) IPFIX_TEMPLATE_FIELD(protocolIdentifier,1) IPFIX_TEMPLATE_FIELD(icmpTypeIPv4,1) IPFIX_TEMPLATE_FIELD(icmpCodeIPv4,1) IPFIX_TEMPLATE_FIELD(ethernetType,2) IPFIX_TEMPLATE_FIELD(flowStartSeconds,4) IPFIX_TEMPLATE_FIELD(flowEndSeconds,4) IPFIX_TEMPLATE_FIELD(octetDeltaCount,8) IPFIX_TEMPLATE_FIELD(packetDeltaCount,8) IPFIX_TEMPLATE_FIELD(firewallEvent,1) IPFIX_TEMPLATE_FIELD(direction,1) IPFIX_TEMPLATE_FIELD(ruleId,4) IPFIX_TEMPLATE_FIELD(vmUUId,16) IPFIX_TEMPLATE_FIELD(vnicIndex,4) IPFIX_TEMPLATE_FIELD(sessionFlags,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowDirection,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algControlFlowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algFlowType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(averageLatency,4) /* Introduced in 6.4.4 */
UDP IPV6 模板
为该模板发送的字段如下所示:
IPFIX_TEMPLATE_FIELD(sourceMacAddress,6) IPFIX_TEMPLATE_FIELD(destinationMacAddress,6) IPFIX_TEMPLATE_FIELD(sourceIPv6Address,16) IPFIX_TEMPLATE_FIELD(destinationIPv6Address,16) IPFIX_TEMPLATE_FIELD(sourceTransportPort,2) IPFIX_TEMPLATE_FIELD(destinationTransportPort,2) IPFIX_TEMPLATE_FIELD(protocolIdentifier,1) IPFIX_TEMPLATE_FIELD(icmpTypeIPv6,1) IPFIX_TEMPLATE_FIELD(icmpCodeIPv6,1) IPFIX_TEMPLATE_FIELD(ethernetType,2) IPFIX_TEMPLATE_FIELD(flowStartSeconds,4) IPFIX_TEMPLATE_FIELD(flowEndSeconds,4) IPFIX_TEMPLATE_FIELD(octetDeltaCount,8) IPFIX_TEMPLATE_FIELD(packetDeltaCount,8) IPFIX_TEMPLATE_FIELD(firewallEvent,1) IPFIX_TEMPLATE_FIELD(direction,1) IPFIX_TEMPLATE_FIELD(ruleId,4) IPFIX_TEMPLATE_FIELD(vmUUId,16) IPFIX_TEMPLATE_FIELD(vnicIndex,4) IPFIX_TEMPLATE_FIELD(sessionFlags,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowDirection,1) /* Introduced in 6.4.2 */ IPFIX_TEMPLATE_FIELD(flowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algControlFlowId,8) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(algFlowType,1) /* Introduced in 6.4.4 */ IPFIX_TEMPLATE_FIELD(averageLatency,4) /* Introduced in 6.4.4 */