NDIS_IPSEC_OFFLOAD_V2 구조체(ntddndis.h)

[IPsec 작업 오프로드 기능은 더 이상 사용되지 않으며 사용해서는 안 됩니다.]

NDIS_IPSEC_OFFLOAD_V2 구조는 NDIS_OFFLOAD 구조에서 IPsec(인터넷 프로토콜 보안) 버전 2 태스크 오프로드 기능에 대한 정보를 제공합니다.

구문

typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
  ULONG   Encapsulation;
  BOOLEAN IPv6Supported;
  BOOLEAN IPv4Options;
  BOOLEAN IPv6NonIPsecExtensionHeaders;
  BOOLEAN Ah;
  BOOLEAN Esp;
  BOOLEAN AhEspCombined;
  BOOLEAN Transport;
  BOOLEAN Tunnel;
  BOOLEAN TransportTunnelCombined;
  BOOLEAN LsoSupported;
  BOOLEAN ExtendedSequenceNumbers;
  ULONG   UdpEsp;
  ULONG   AuthenticationAlgorithms;
  ULONG   EncryptionAlgorithms;
  ULONG   SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;

멤버

Encapsulation

IPsec 오프로드에 지원되는 MAC 캡슐화 형식입니다. 이 멤버에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.

IPv6Supported

IPv6 트래픽에서 IPsec 오프로드 처리가 지원되는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

IPv4Options

NIC가 IPv4 옵션을 사용하여 패킷의 IPsec 오프로드를 지원하는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

IPv6NonIPsecExtensionHeaders

NIC가 IPsec 헤더 외에 IPsec IPv6 확장 헤더가 아닌 패킷에 대한 IPsec 오프로드 처리를 지원하는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

Ah

NIC가 AH(인증 헤더) 보안 페이로드를 포함하는 패킷 보내기 및 수신에 대해 IPsec 오프로드 작업을 수행할 수 있는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

Esp

NIC가 ESP(보안 페이로드)를 포함하는 송신 및 수신 패킷에서 IPsec 오프로드 작업을 수행할 수 있는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

AhEspCombined

NIC가 AH 페이로드와 ESP 페이로드를 모두 포함하는 송신 및 수신 패킷에서 IPsec 오프로드 작업을 수행할 수 있는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

Transport

NIC가 송신 및 수신 패킷의 전송 모드 부분에 대한 보안 페이로드를 처리할 수 있는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 패킷의 전송 모드 부분은 엔드투엔드 연결과 관련이 있습니다. 그렇지 않으면 이 멤버는 FALSE입니다.

Tunnel

NIC가 패킷 보내기 및 수신의 터널 모드 부분에 대한 보안 페이로드를 처리할 수 있는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 패킷의 터널 모드 부분은 터널 연결과 관련이 있습니다. 그렇지 않으면 이 멤버는 FALSE입니다.

참고 IPsec 계층이 IPsec 작업 오프로드 인터페이스를 통해 터널 패킷을 보내는 경우 IPsec 계층은 해당 패킷에 LSO(대규모 송신 오프로드)가 사용되지 않도록 합니다.
 

TransportTunnelCombined

NIC가 전송 모드 부분과 송신 및 수신 패킷의 터널 모드 부분에 대한 보안 페이로드를 처리할 수 있는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다. 패킷의 전송 모드 부분은 엔드투엔드 연결과 관련이 있습니다. 패킷의 터널 모드 부분은 터널 연결과 관련이 있습니다.

LsoSupported

NIC가 LSO(대규모 송신 오프로드)를 지원하는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다. NIC의 LSO 기능은 NDIS_OFFLOAD 구조체의 LsoV1 또는 LsoV2 멤버에 지정됩니다. LsoSupported 플래그는 해당 멤버에 지정된 기능이 IPsec을 사용하여 연결을 보호하는 경우에도 유효하다는 것을 나타냅니다.

ExtendedSequenceNumbers

NIC가 IPsec 확장 시퀀스 번호를 지원하는 경우 TRUE 로 설정된 BOOLEAN 값입니다. 그렇지 않으면 이 멤버는 FALSE입니다.

UdpEsp

NIC가 구문 분석할 수 있는 UDP 캡슐화된 ESP 데이터 패킷의 형식입니다. UDP 캡슐화 형식에 대한 설명은 UDP-ESP 캡슐화 형식을 참조하세요. 이 멤버는 다음 플래그 중 하나 이상일 수 있습니다.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

IPsec 오프로드 처리는 UDP 캡슐화 형식에 사용할 수 없습니다.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

IPsec 오프로드는 UDP로 캡슐화된 ESP 캡슐화된 전송 모드 패킷에 대해 지원됩니다.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

IPsec 오프로드는 UDP 캡슐화된 패킷의 터널 모드 부분에 대해 지원됩니다. 패킷의 전송 모드 부분은 UDP 캡슐화되지 않으며 ESP로 보호되지 않습니다.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

IPsec 오프로드는 UDP 캡슐화된 패킷의 터널 모드 부분에 대해 지원됩니다. 패킷의 전송 모드 부분은 UDP 캡슐화되지 않지만 ESP로 보호됩니다.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

IPsec 오프로드는 UDP 캡슐화되지 않은 패킷의 터널 모드 부분에 대해 지원됩니다. 패킷의 전송 모드 부분은 UDP 캡슐화 및 ESP로 보호됩니다.

AuthenticationAlgorithms

NIC에서 지원하는 IPsec 인증 알고리즘을 식별하는 비트 마스크입니다. 미니포트 드라이버는 다음 값의 비트 OR을 지정합니다.

IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5

NIC는 암호화 체크섬을 계산하거나 유효성을 검사하기 위해 MD5(키 메시지 다이제스트 5) 알고리즘을 사용할 수 있습니다.

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1

NIC는 SHA(보안 해시 알고리즘) 1 알고리즘을 사용하여 암호화 체크섬을 계산하거나 유효성을 검사할 수 있습니다.

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256

NIC는 SHA 256 알고리즘을 사용하여 암호화 체크섬을 계산하거나 유효성을 검사할 수 있습니다.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128

NIC는 AES-GMAC(Advanced Encryption Standard - Galois/Counter Mode) 128 알고리즘을 사용하여 암호화 체크섬을 계산하거나 유효성을 검사할 수 있습니다.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192

NIC는 AES-GMAC 192 알고리즘을 사용하여 암호화 체크섬을 계산하거나 유효성을 검사할 수 있습니다.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256

NIC는 AES-GMAC 256 알고리즘을 사용하여 암호화 체크섬을 계산하거나 유효성을 검사할 수 있습니다.

EncryptionAlgorithms

NIC에서 지원하는 IPsec 암호화 알고리즘을 식별하는 비트 마스크입니다. 이 비트 마스크는 다음 값의 비트 OR입니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_NONE

NIC는 null 암호화를 사용할 수 있습니다. 즉, 암호화 없이 인증 정보가 포함된 ESP 페이로드입니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC

NIC는 ESP 페이로드를 암호화하고 해독하는 데 DES 알고리즘을 사용할 수 있습니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC

NIC는 ESP 페이로드를 암호화하고 해독하는 데 삼중 DES 알고리즘을 사용할 수 있습니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128

NIC는 AES-GCM 128 알고리즘을 사용하여 암호화 체크섬을 암호화 및 컴퓨팅하거나 ESP 페이로드에 대한 암호화 체크섬의 암호를 해독하고 유효성을 검사할 수 있습니다. 이 알고리즘은 결합된 모드 알고리즘입니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192

NIC는 AES-GCM 192 알고리즘을 사용하여 암호화 체크섬을 암호화 및 컴퓨팅하거나 ESP 페이로드에 대한 암호화 체크섬의 암호를 해독하고 유효성을 검사할 수 있습니다. 이 알고리즘은 결합된 모드 알고리즘입니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256

NIC는 AES-GCM 256 알고리즘을 사용하여 암호화 체크섬을 암호화 및 컴퓨팅하거나 ESP 페이로드에 대한 암호화 체크섬의 암호를 해독하고 유효성을 검사할 수 있습니다. 이 알고리즘은 결합된 모드 알고리즘입니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128

NIC는 고급 암호화 표준 - AES-CBC(암호 블록 체인 모드) 128 알고리즘을 사용하여 ESP 페이로드를 암호화하고 해독할 수 있습니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192

NIC는 AES-CBC 192 알고리즘을 사용하여 ESP 페이로드를 암호화하고 해독할 수 있습니다.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256

NIC는 AES-CBC 256 알고리즘을 사용하여 ESP 페이로드를 암호화하고 해독할 수 있습니다.

SaOffloadCapacity

NIC로 오프로드할 수 있는 ESP 또는 AH 또는 둘 다를 포함할 수 있는 SA 번들의 수입니다. TCP/IP는 오프로드된 SA 번들 수를 유지 관리하며 미니포트 드라이버가 보고한 최대 SA 번들 수를 초과해서는 안 됩니다.

설명

NDIS 6.1 이상 버전에서는 NDIS_IPSEC_OFFLOAD_V2 구조체가 NDIS_OFFLOAD 구조체IPsecV2 멤버에 사용됩니다. NDIS_IPSEC_OFFLOAD_V2 구조는 미니포트 어댑터가 IPsec 오프로드 처리를 위해 제공하는 현재 또는 지원되는 기능을 지정합니다.

참고 IPsec 작업 오프로드를 지원하려면 미니포트 드라이버가 Tunnel 멤버에서 TRUE를 지정해야 합니다.
 
NDIS_OFFLOAD 에 사용됩니다. NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 구조체, NDIS_BIND_PARAMETERS 구조체, NDIS_FILTER_ATTACH_PARAMETERS 구조, OID_TCP_OFFLOAD_CURRENT_CONFIG OID 및 상태 표시를 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG.

OID_TCP_OFFLOAD_CURRENT_CONFIG 경우 NDIS_OFFLOAD 구조는 미니포트 어댑터가 지원하는 작업 오프로드 기능을 지정합니다. 현재 오프로드 기능이 변경되면 미니포트 드라이버는 의 새 기능을 보고합니다. 상태 표시를 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG.

NDIS_IPSEC_OFFLOAD_V2 캡슐화 멤버는 미니포트 어댑터가 IPsec 오프로드에 대해 지원하는 MAC 캡슐화를 정의합니다.

에 대한 응답으로쿼리 요청에 OID_TCP_OFFLOAD_CURRENT_CONFIG NDIS는 캡슐화 멤버에서 지원되는 캡슐화 설정을 나타내는 캡슐화 플래그의 비트 OR을 제공합니다. 미니포트 드라이버는 이더넷 캡슐화(NDIS_ENCAPSULATION_IEEE_802_3)를 제공해야 합니다. 다른 유형의 캡슐화는 선택 사항입니다.

의 경우 상태 표시를 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 미니포트 드라이버는 캡슐화 멤버에서 현재 기능을 나타내는 캡슐화 플래그의 비트 OR을 제공합니다.

다음 플래그는 캡슐화 멤버에 대해 정의됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.1 이상에서 지원됩니다.
머리글 ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG