IPFIX 템플릿은 VXLAN 및 비 VXLAN 흐름에 대한 가시성을 제공합니다. 템플릿에는 캡슐화된 트래픽에 대한 자세한 정보를 제공하는 추가 매개 변수가 있습니다.

템플릿은 vSphere Distributed Switch(내보내기)에서 지원됩니다. vSphere Distributed Switch에 대한 IPFIX 지원은 가상 시스템 흐름 및 VXLAN 흐름에 대한 필수 가시성을 제공합니다. 다른 타사 수집기 도구를 이용하는 경우, 템플릿에서 사용할 수 있는 추가 정보를 사용하여 내부 및 외부 흐름 간 상관 관계와 포트 연결을 제공할 수 있습니다.

다음 표에서는 논리적 스위치 IPFIX 템플릿에서 사용되는 정보 요소에 대해 설명합니다.

표 1. IPFIX 정보 요소
이름 데이터 유형 크기(8진수) 설명
sourceIPv4Address ipv4Address 4 IP 패킷 헤더의 IPv4 소스 주소입니다.
destinationIPv4Address ipv4Address 4 IP 패킷 헤더의 IPv4 대상 주소입니다.
sourceIPv6Address ipv6Address 16 IP 패킷 헤더의 IPv6 소스 주소입니다.
destinationIPv6Address ipv^Address 16 IP 패킷 헤더의 IPv6 대상 주소입니다.
octetDeltaCount unsigned64 8 관찰 시점의 흐름에 대한 수신 패킷에서 이전 보고서(있는 경우) 이후의 8진수 개수입니다. 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 네트워크 오버레이 네트워크 캡슐화 유형을 식별합니다.
  • 0x00 예약됨
  • 0x01 VxLAN
  • 0x02 NVGRE

3개의 가장 덜 중요한 바이트가 계층 2 오버레이 네트워크 세그먼트 식별자의 값을 포함합니다.

예:
  • 24비트 세그먼트 ID VNI(VXLAN 네트워크 식별자)
  • NVGRE용 24비트 TNI(테넌트 네트워크 식별자)
protocolIdentifier unsigned8 1 IP 패킷 헤더의 프로토콜 번호 값입니다.
flowEndReason unsigned8 1 흐름을 종료하는 이유입니다. 사용 가능한 값:
  • 0x01 - 유휴 시간 초과
  • 0x02 - 활성 시간 초과
  • 0x03 - 흐름 끝이 감지됨
  • 0x04 - 강제 종료
  • 0x05 - 리소스 부족
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 관찰 지점에서 확인된 흐름의 방향입니다. 사용 가능한 값:
  • 0x00 - 수신 흐름
  • 0x01 - 송신 흐름
ingressInterfaceAttr unsigned16 2 수신 인터페이스 특성은 포트 유형을 기준으로 다음 값을 사용할 수 있습니다.
  • IPFIX_UPLINK_PORT 0X01
  • IPFIX_ACCESS_PORT 0X02
  • IPFIX_VXLAN_TUNNEL_PORT 0X03
egressInterfaceAttr unsigned16 2 송신 인터페이스 특성은 포트 유형을 기준으로 다음 값을 사용할 수 있습니다.
  • IPFIX_UPLINK_PORT 0X01
  • IPFIX_ACCESS_PORT 0X02
  • IPFIX_VXLAN_TUNNEL_PORT 0X03
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()