使用 IPFIX 模板可查看 VXLAN 和非 VXLAN 流量。该模板有一些额外参数可提供有关封装流量的详细信息。
vSphere Distributed Switch(导出程序)支持这类模板。通过 vSphere Distributed Switch 上的 IPFIX 支持,可以查看虚拟机流量和 VXLAN 流量。如果您使用任何第三方收集器工具,则可以使用模板中提供的额外信息来在内外部流量与端口连接之间建立关联。
下表介绍了在逻辑交换机的 IPFIX 模板中使用的信息元素。
名称 | 数据类型 | 大小(八位字节) | 说明 |
---|---|---|---|
sourceIPv4Address | ipv4Address | 4 | IP 数据包标头中的 IPv4 源地址。 |
destinationIPv4Address | ipv4Address | 4 | IP 数据包标头中的 IPv4 目标地址。 |
sourceIPv6Address | ipv6Address | 16 | IP 数据包标头中的 IPv6 源地址。 |
destinationIPv6Address | ipv6Address | 16 | IP 数据包标头中的 IPv6 目标地址。 |
octetDeltaCount | unsigned64 | 8 | 在上一报告(如果有)后,观察点的流量的入站数据包中的八位字节数。八位字节数包括 IP 标头和 IP 负载。 |
packetDeltaCount | unsigned64 | 8 | 在上一报告(如果有)后,观察点的流量的入站数据包数。 |
flowStartSysUpTime | unsigned32 | 8 | 流量的第一个数据包的相对时间戳。它表示在上次重新初始化 IPFIX 设备 (sysUpTime) 后经过的毫秒数。 |
flowEndSysUpTime | unsigned32 | 8 | 流量的最后一个数据包的相对时间戳。它表示在上次重新初始化 IPFIX 设备 (sysUpTime) 后经过的毫秒数。 |
sourceTransportPort | unsigned16 | 2 | 传输标头中的源端口标识符。 |
destinationTransportPort | unsigned16 | 2 | 传输标头中的目标端口标识符。 |
ingressInterface | unsigned32 | 4 | 接收流量的数据包的 IP 接口的索引。 |
egressInterface | unsigned32 | 4 | 发送流量的数据包的 IP 接口的索引。 |
vxlanId | unsigned64 | 8 | 覆盖网络中的第 2 层网络分段的标识符。最高有效字节指定第 2 层网络覆盖网络封装类型:
最低三个有效字节保存第 2 层覆盖网络分段标识符值。
例如:
|
protocolIdentifier | unsigned8 | 1 | IP 数据包标头中的协议号值。 |
flowEndReason | unsigned8 | 1 | 终止流量的原因。有效值为:
|
tcpFlags | unsigned8 | 1 | 观察到的流量数据包的 TCP 控制位。 该信息编码为一个位字段。对于每个 TCP 控制位,在该集合中具有一个位。如果任何观察到的流量数据包将相应的 TCP 控制位设置为 1,则该位设置为 1。否则,该位清除为 0。 |
IPv4TOS | unsigned8 | 1 | IPv4 数据包标头中的 TOS 字段值。 |
IPv6TOS | unsigned8 | 1 | IPv6 数据包标头中的流量类字段值。 |
maxTTL | unsigned8 | 1 | 观察到的任何流量数据包的最大 TTL 值。 |
flowDir | unsigned8 | 1 | 在观察点观察到的流量方向。有效值为:
|
ingressInterfaceAttr | unsigned16 | 2 | 根据端口的类型,输入接口属性可以使用以下值:
|
egressInterfaceAttr | unsigned16 | 2 | 根据端口的类型,输出接口属性可以使用以下值:
|
vxlanExportRole | unsigned8 | 1 | 定义导出程序是 ESXi 主机,还是任何其他网络设备。 IPFIX_END_POINT 0X01 表示由主机导出数据。 如果由其他设备导出 IPFIX 模板,则此字段可能具有不同的值(尚未定义)。 |
paddingOctets | OctetArray | 1 | 一系列 0x00 值。 |
tenantSourceIPv4 | ipv4Address | 4 | 租户数据包(位于 IP 数据包内)的 IP 标头中的 IPv4 源地址。 |
tenantDestIPv4 | ipv4Address | 4 | 租户数据包(位于 IP 数据包内)的 IP 标头中的 IPv4 目标地址。 |
tenantSourceIPv6 | ipv6Address | 16 | 租户数据包(位于 IP 数据包内)的 IP 标头中的 IPv6 源地址。 |
tenantDestIPv6 | ipv6Address | 16 | 租户数据包(位于 IP 数据包内)的 IP 标头中的 IPv6 目标地址。 |
tenantSourcePort | unsigned16 | 2 | 租户数据包(位于 IP 数据包内)的传输标头中的源端口标识符。 |
tenantDestPort | unsigned16 | 2 | 租户数据包(位于 IP 数据包内)的传输标头中的目标端口标识符。 |
tenantProtocol | unsigned8 | 1 | 租户数据包(位于 IP 数据包内)的 IP 标头中的协议号值。 |
IPv4 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv4) IPFIX_TEMPLATE_FIELD(sourceIPv4Address, 4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address, 4) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(sourceTransportPort, 2) IPFIX_TEMPLATE_FIELD(destinationTransportPort, 2) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(vxlanId, 8) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(tcpFlags, 1) IPFIX_TEMPLATE_FIELD(IPv4TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) // Specify the Interface port- Uplink Port, Access port,N.A IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_PADDING(paddingOctets, 1) IPFIX_TEMPLATE_END()
IPv4 VXLAN 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv4_VXLAN) IPFIX_TEMPLATE_FIELD(sourceIPv4Address, 4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address, 4) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(sourceTransportPort, 2) IPFIX_TEMPLATE_FIELD(destinationTransportPort, 2) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(tcpFlags, 1) IPFIX_TEMPLATE_FIELD(IPv4TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) IPFIX_TEMPLATE_FIELD(vxlanId, 8) IPFIX_VMW_TEMPLATE_FIELD(tenantSourceIPv4, 4) IPFIX_VMW_TEMPLATE_FIELD(tenantDestIPv4, 4) IPFIX_VMW_TEMPLATE_FIELD(tenantSourcePort, 2) IPFIX_VMW_TEMPLATE_FIELD(tenantDestPort, 2) IPFIX_VMW_TEMPLATE_FIELD(tenantProtocol, 1) // Specify the Interface port- Uplink Port, Access port,N.A IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) // TUNNEL-GW or no. IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_END()
IPv4 ICMP VXLAN 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv4_ICMP_VXLAN) IPFIX_TEMPLATE_FIELD(sourceIPv4Address, 4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address, 4) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(sourceTransportPort, 2) IPFIX_TEMPLATE_FIELD(destinationTransportPort, 2) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(IPv4TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) IPFIX_TEMPLATE_FIELD(vxlanId, 8) IPFIX_VMW_TEMPLATE_FIELD(tenantSourceIPv4, 4) IPFIX_VMW_TEMPLATE_FIELD(tenantDestIPv4, 4) IPFIX_VMW_TEMPLATE_FIELD(tenantProtocol, 1) // Specify the Interface port- Uplink Port, Access port,N.A IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) // TUNNEL-GW or no. IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_PADDING(paddingOctets, 1) IPFIX_TEMPLATE_END()
IPv4 ICMP 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv4_ICMP) IPFIX_TEMPLATE_FIELD(sourceIPv4Address, 4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address, 4) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(IPv4TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) IPFIX_TEMPLATE_FIELD(vxlanId, 8) // Specify the Interface port- Uplink Port, Access Port,or NA. IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_PADDING(paddingOctets, 2) IPFIX_TEMPLATE_END()
IPv6 ICMP VXLAN 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv6_ICMP_VXLAN) IPFIX_TEMPLATE_FIELD(sourceIPv4Address, 4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address, 4) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_VMW_TEMPLATE_FIELD(sourceTransportPort, 2) IPFIX_VMW_TEMPLATE_FIELD(destinationTransportPort, 2) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(IPv6TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) //VXLAN Specific IPFIX_TEMPLATE_FIELD(vxlanId, 8) IPFIX_VMW_TEMPLATE_FIELD(tenantSourceIPv6, 16) IPFIX_VMW_TEMPLATE_FIELD(tenantDestIPv6, 16) IPFIX_VMW_TEMPLATE_FIELD(tenantProtocol, 1) // Specify the Interface port- Uplink Port, Access Port, or NA. IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) // TUNNEL-GW or no. IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_PADDING(paddingOctets, 1) IPFIX_TEMPLATE_END()
IPv6 ICMP 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv6_ICMP) IPFIX_TEMPLATE_FIELD(sourceIPv6Address, 16) IPFIX_TEMPLATE_FIELD(destinationIPv6Address, 16) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(IPv6TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) IPFIX_TEMPLATE_FIELD(vxlanId, 8) // Specify the Interface port- Uplink Port, Access Port,or NA. IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_PADDING(paddingOctets, 2) IPFIX_TEMPLATE_END()
IPv6 模板
IPFIX_TEMPLATE_START(IPFIX_FLOW_TYPE_IPv6) IPFIX_TEMPLATE_FIELD(sourceIPv6Address, 16) IPFIX_TEMPLATE_FIELD(destinationIPv6Address, 16) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(sourceTransportPort, 2) IPFIX_TEMPLATE_FIELD(destinationTransportPort, 2) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(vxlanId, 8) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(tcpFlags, 1) IPFIX_TEMPLATE_FIELD(IPv6TOS,1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) // Specify the Interface port- Uplink Port, Access Port, or NA. IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_PADDING(paddingOctets, 1) IPFIX_TEMPLATE_END()
IPv6 VXLAN 模板
IPFIX_TEMPLATE_FIELD(sourceIPv4Address, 4) IPFIX_TEMPLATE_FIELD(destinationIPv4Address, 4) IPFIX_TEMPLATE_FIELD(octetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(packetDeltaCount, 8) IPFIX_TEMPLATE_FIELD(flowStartSysUpTime, 8) IPFIX_TEMPLATE_FIELD(flowEndSysUpTime, 8) IPFIX_TEMPLATE_FIELD(sourceTransportPort, 2) IPFIX_TEMPLATE_FIELD(destinationTransportPort, 2) IPFIX_TEMPLATE_FIELD(ingressInterface, 4) IPFIX_TEMPLATE_FIELD(egressInterface, 4) IPFIX_TEMPLATE_FIELD(protocolIdentifier, 1) IPFIX_TEMPLATE_FIELD(flowEndReason, 1) IPFIX_TEMPLATE_FIELD(tcpFlags, 1) IPFIX_TEMPLATE_FIELD(IPv6TOS, 1) IPFIX_TEMPLATE_FIELD(maxTTL, 1) IPFIX_TEMPLATE_FIELD(flowDir, 1) //VXLAN specific IPFIX_TEMPLATE_FIELD(vxlanId, 8) IPFIX_VMW_TEMPLATE_FIELD(tenantSourceIPv6, 16) IPFIX_VMW_TEMPLATE_FIELD(tenantDestIPv6, 16) IPFIX_VMW_TEMPLATE_FIELD(tenantSourcePort, 2) IPFIX_VMW_TEMPLATE_FIELD(tenantDestPort, 2) IPFIX_VMW_TEMPLATE_FIELD(tenantProtocol, 1) // Specify the Interface port- Uplink Port, Access Port,or NA. IPFIX_VMW_TEMPLATE_FIELD(ingressInterfaceAttr, 2) IPFIX_VMW_TEMPLATE_FIELD(egressInterfaceAttr, 2) // TUNNEL-GW or no. IPFIX_VMW_TEMPLATE_FIELD(vxlanExportRole, 1) IPFIX_TEMPLATE_END()