IPFIX-Vorlagen bieten einen Einblick in die VXLAN- und Nicht-VXLAN-Datenflüsse. Die Vorlagen verfügen über zusätzliche Parameter, die weitere Informationen zum gekapselten Datenverkehr bereitstellen.

Die Vorlagen werden in vSphere Distributed Switch (Exporteur) unterstützt. Die IPFIX-Unterstützung auf vSphere Distributed Switch bietet die erforderliche Transparenz der virtuellen Maschinen- und VXLAN-Datenflüsse. Wenn Sie ein beliebiges Collector-Tool eines Drittanbieters verwenden, können Sie zusätzliche Informationen in den Vorlagen verwenden, um eine Korrelation zwischen den internen und externen Datenflüssen und den Port-Verbindungen herzustellen.

Die folgende Tabelle beschreibt die Informationselemente, die in den IPFIX-Vorlagen des logischen Switch verwendet werden.

Tabelle 1. IPFIX-Datenelemente
Name Datentyp Größe (Oktett) Beschreibung
sourceIPv4Address ipv4Address 4 Die IPv4-Quelladresse in der IP-Paketkopfzeile.
destinationIPv4Address ipv4Address 4 Die IPv4-Zieladresse in der IP-Paketkopfzeile.
sourceIPv6Address ipv6Address 16 Die IPv6-Quelladresse in der IP-Paketkopfzeile.
destinationIPv6Address ipv^Address 16 Die IPv6-Zieladresse in der IP-Paketkopfzeile.
octetDeltaCount unsigned64 8 Die Anzahl der Oktette seit dem letzten Bericht (sofern vorhanden) in eingehenden Paketen für den Flow am Beobachtungspunkt. Die Anzahl der Oktette enthält IP-Kopfzeilen und die IP-Nutzlast.
packetDeltaCount unsigned64 8 Die Anzahl der eingehenden Pakete seit dem letzten Bericht (sofern vorhanden) für den Flow am Beobachtungspunkt.
flowStartSysUpTime unsigned32 8 Der relative Zeitstempel des ersten Pakets des Flows. Er gibt die Anzahl der Millisekunden seit der letzten Reinitialisierung des IPFIX-Geräts an (sysUpTime).
flowEndSysUpTime unsigned32 8 Der relative Zeitstempel des letzten Pakets des Flows. Er gibt die Anzahl der Millisekunden seit der letzten Reinitialisierung des IPFIX-Geräts an (sysUpTime).
sourceTransportPort unsigned16 2 Der Quellportbezeichner in der Transportkopfzeile.
destinationTransportPort unsigned16 2 Der Zielportbezeichner in der Transportkopfzeile.
ingressInterface unsigned32 4 Der Index der IP-Schnittstelle, an der die Pakete des Flows empfangen werden.
egressInterface unsigned32 4 Der Index der IP-Schnittstelle, an der die Pakete des Flows gesendet werden.
vxlanId unsigned64 8 Bezeichner eines Schicht-2-Netzwerksegments in einem Überlagerungsnetzwerk. Das wichtigste Byte identifiziert die Art der Kapselung des Schicht-2-Überlagerungsnetzwerks:
  • 0x00 – reserviert
  • 0x01 – VxLAN
  • 0x02 – NVGRE

Die drei Bytes mit niedrigster Wichtigkeit beinhalten den Wert des Segmentbezeichners des Schicht-2-Überlagerungsnetzwerks.

Beispiel:
  • 24-Bit-Segment-ID-VNI (VXLAN Network Identifier)
  • 24-Bit-TNI (Tenant Network Identifier) für NVGRE
protocolIdentifier unsigned8 1 Der Wert der Protokollnummer in der IP-Paketkopfzeile.
flowEndReason unsigned8 1 Der Grund für die Beendigung des Flows. Gültige Werte sind:
  • 0x01 – Leerlaufzeitüberschreitung
  • 0x02 – aktive Zeitüberschreitung
  • 0x03 – Ende des Flows erkannt
  • 0x04 – erzwungenes Ende
  • 0x05 – Mangel an Ressourcen
tcpFlags unsigned8 1 Für die Pakete des Flows beobachtete TCP-Kontrollbits.

Diese Informationen wird als Bitfeld verschlüsselt. Für jedes TCP-Kontrollbit gibt es ein Bit in diesem Set. Das Bit ist auf 1 festgelegt, wenn bei einem beobachteten Paket des Flows das entsprechende TCP-Kontrollbit auf 1 festgelegt ist. Anderenfalls wird das Bit wird auf 0 zurückgesetzt.

IPv4TOS unsigned8 1 Der Wert des TOS-Felds in der IPv4-Paketkopfzeile.
IPv6TOS unsigned8 1 Der Wert des Felds für die Datenverkehrsklasse in der IPv6-Paketkopfzeile.
maxTTL unsigned8 1 Maximaler beobachteter TTL-Wert für jedes Paket im Flow.
flowDir unsigned8 1 Die am Beobachtungspunkt beobachtete Richtung des Flows. Gültige Werte sind:
  • 0x00 – Flow des eingehenden Datenverkehrs
  • 0x01 – Flow des ausgehenden Datenverkehrs
ingressInterfaceAttr unsigned16 2 Die Attribute für die Schnittstelle des eingehenden Datenverkehrs basieren je nach Port-Typ auf den folgenden Werten:
  • IPFIX_UPLINK_PORT 0X01
  • IPFIX_ACCESS_PORT 0X02
  • IPFIX_VXLAN_TUNNEL_PORT 0X03
egressInterfaceAttr unsigned16 2 Die Attribute für die Schnittstelle des ausgehenden Datenverkehrs basieren je nach Port-Typ auf den folgenden Werten:
  • IPFIX_UPLINK_PORT 0X01
  • IPFIX_ACCESS_PORT 0X02
  • IPFIX_VXLAN_TUNNEL_PORT 0X03
vxlanExportRole unsigned8 1 Definiert, ob der Exporteur ein ESXi-Host oder ein anderes Netzwerkgerät ist.

IPFIX_END_POINT 0X01 bedeutet, dass der Host die Daten exportiert.

Wenn andere Geräte die IPFIX-Vorlagen exportieren, kann dieses Feld einen anderen Wert (noch nicht definiert) haben.

paddingOctets OctetArray 1 Eine Sequenz von 0x00-Werten.
tenantSourceIPv4 ipv4Address 4 Die IPv4-Quelladresse in der IP-Kopfzeile des Mandantenpakets innerhalb des IP-Pakets.
tenantDestIPv4 ipv4Address 4 Die IPv4-Zieladresse in der IP-Kopfzeile des Mandantenpakets innerhalb des IP-Pakets.
tenantSourceIPv6 ipv6Address 16 Die IPv6-Quelladresse in der IP-Kopfzeile des Mandantenpakets innerhalb des IP-Pakets.
tenantDestIPv6 ipv6Address 16 Die IPv6-Zieladresse in der IP-Kopfzeile des Mandantenpakets innerhalb des IP-Pakets.
tenantSourcePort unsigned16 2 Der Quellportbezeichner in der Transportkopfzeile des Mandantenpakets innerhalb des IP-Pakets.
tenantDestPort unsigned16 2 Der Zielportbezeichner in der Transportkopfzeile des Mandantenpakets innerhalb des IP-Pakets.
tenantProtocol unsigned8 1 Der Wert der Protokollnummer in der IP-Kopfzeile des Mandantenpakets innerhalb des IP-Pakets.

IPv4-Vorlage

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-Vorlage

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-Vorlage

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-Vorlage

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-Vorlage

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-Vorlage

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-Vorlage

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-Vorlage

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()