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입니다.
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 오프로드 처리를 위해 제공하는 현재 또는 지원되는 기능을 지정합니다.
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 포함) |