NDIS_TASK_IPSEC

typedef struct _NDIS_TASK_IPSEC

{

  struct

  {

    ULONG   AH_ESP_COMBINED:1;

    ULONG   TRANSPORT_TUNNEL_COMBINED:1;

    ULONG   V4_OPTIONS:1;

    ULONG   RESERVED:1;

  } Supported;

 

  struct

  {

    ULONG   MD5:1;

    ULONG   SHA_1:1;

    ULONG   Transport:1;

    ULONG   Tunnel:1;

    ULONG   Send:1;

    ULONG   Receive:1;

  } V4AH;

 

  struct

  {

    ULONG   DES:1;

    ULONG   RESERVED:1;

    ULONG   TRIPLE_DES:1;

    ULONG   NULL_ESP:1;

    ULONG   Transport:1;

    ULONG   Tunnel:1;

    ULONG   Send:1;

    ULONG   Receive:1;

  } V4ESP;

 

} NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;

OID_TCP_TASK_OFFLOADÀÇ Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ Á¦°øµÉ ¶§, NDIS_TASK_IPSEC ±¸Á¶Ã¼´Â ÆÐŶ¿¡ ´ëÇÑ IP Security ŽºÅ©µéÀ» ÇàÇÏ´Â ¹Ì´ÏÆ÷Æ®ÀÇ NICÀÇ ´É·ÂÀ» ÁöÁ¤ÇÑ´Ù. OID_TCP_TASK_OFFLOADÀÇ ¼­··¿¡¼­ ¹Ì´ÏÆ÷Æ®¿¡ Àü´ÞµÉ ¶§, ±¸Á¶Ã¼´Â TCP/IP Àü¼Û °èÃþÀÌ NICÀ» À§ÇØ °¡´ÉÇÏ°Ô ÇÏ´Â IP Security ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù.

¸â¹ö

AH_ESP_COMBINDED
NICÀº º¸³»±â¿¡¼­ IP Security¿¡¼­ ÇàÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°°í ÀÎÁõÇì´õ(Authentication header(AH) º¸¾È payload¿Í ĸ½¶È­ÇÑ º¸¾È payload(ESP)µéÀ» Æ÷ÇÔÇÏ´Â ÆÐŶµéÀ» ¼ö½ÅÇÏ´Â °ÍÀ» °¡¸®Å°´Â ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

TRANSPORT_TUNNEL_COMBINDED
NICÀº º¸³»±â ¹Þ±â ÆÐŶµéÀÇ Àü¼Û ¸ðµå ºÎºÐ°ú ÅͳΠ¸ðµå ºÎºÐÀ» À§ÇÑ security payload¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. (ÆÐŶÀÇ Àü¼Û ¸ðµå ºÎºÐÀº end-to-end ¿¬°á¿¡ ¼ÓÇÑ´Ù. ÆÐŶÀÇ ÅͳΠ¸ðµå ºÎºÐÀº ÅͳΠ¿¬°á¿¡ ¼ÓÇÑ´Ù.) ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

V4_OPTIONS
NICÀÌ IP Çì´õ°¡ IP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv4 ¼Û½Å ±×¸®°í ¼ö½Å ÆÐŶµé¿¡ ´ëÇÑ IP º¸¾È ¿¬»êµéÀ» ÇàÇÒ ¼ö ÀÖ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

RESERVED
À̰ÍÀº ¿¹¾àµÇ¾ú´Ù.

V4AH

MD5
NICÀÌ AH payload¿Í(ȤÀº) ESP payload¸¦ À§ÇÑ ¾Ïȣȭ üũ¼¶À» °è»êÇϰí(°Å³ª) À¯È¿È­Çϱâ À§ÇØ Å°È­µÈ MD5 ¾Ë°í¸®ÁòÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

SHA_1
NICÀÌ AH payload¿Í(ȤÀº) ESP payload¸¦ À§ÇÑ ¾Ïȣȭ üũ¼¶À» °è»êÇϰí(°Å³ª) À¯È¿È­Çϱâ À§ÇØ SHA 1 ¾Ë°í¸®ÁòÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

Transport
end-to-end ¿¬°á¿¡ ¼ÓÇÑ ÆÐŶÀÇ ºÎºÐÀ» À§ÇØ NICÀº ¾Ïȣȭ üũ¼¶À» °è»êÇÒ ¼ö ÀÖ°í À¯È¿È­¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ ¼³Á¤µÈ´Ù.

Tunnel
ÅͳΠ¿¬°á¿¡ ¼ÓÇÑ ÆÐŶÀÇ ºÎºÐÀ» À§ÇØ NICÀº ¾Ïȣȭ üũ¼¶À» °è»êÇÒ ¼ö ÀÖ°í À¯È¿È­¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ ¼³Á¤µÈ´Ù.

Send
º¸³»±â ÆÐŶµéÀ» À§ÇØ NICÀÌ ¾Ïȣȭ üũ¼¶À» °è»êÇÒ ¼ö ÀÖ°í À¯È¿È­¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

Receive
¼ö½Å ÆÐŶµéÀ» À§ÇØ NICÀÌ ¾Ïȣȭ üũ¼¶À» °è»êÇÒ ¼ö ÀÖ°í À¯È¿È­¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

V4ESP

DES
ESP payloadµéÀ» ¾ÏȣȭÇÏ°í ¾Ïȣȭ ÇØÁ¦Çϱâ À§ÇØ NICÀÌ DES ¾Ë°í¸®ÁòÀ» Áö¿øÇÑ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

RESERVED
À̰ÍÀº ¿¹¾àµÇ¾ú´Ù.

TRIPLE_DES
ESP payload¸¦ ¾ÏȣȭÇÏ°í ¾Ïȣȭ ÇØÁ¦Çϱâ À§ÇØ triple-DES ¾Ë°í¸®ÁòÀ» NICÀÌ Áö¿øÇÑ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

NULL_ESP
NICÀº authentication Á¤º¸Áö¸¸ ¾Ïȣȭ ¾øÀÌ ESP payloadÀÎ null ¾Ïȣȭ¸¦ Áö¿øÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

Transport
NICÀÌ end-to-end ¿¬°á¿¡ ¼ÓÇÑ ÆÐŶÀÇ ºÎºÐÀ» À§ÇÑ ESP µ¥ÀÌÅ͸¦ ¾ÏȣȭÇÒ ¼ö ÀÖ°í ¾Ïȣȭ ÇØÁ¦ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

Tunnel
NICÀÌ ÅͳΠ¿¬°á¿¡ ¼ÓÇÑ ÆÐŶÀÇ ºÎºÐÀ» À§ÇÑ ESP µ¥ÀÌÅ͸¦ ¾ÏȣȭÇÒ ¼ö ÀÖ°í ¾Ïȣȭ ÇØÁ¦ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

Send
NICÀÌ º¸³»±â ÆÐŶµé¿¡¼­ ESP payloadµéÀ» ¾ÏȣȭÇÒ ¼ö ÀÖ°í ¾Ïȣȭ ÇØÁ¦ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

Receive
NICÀÌ ¼ö½Å ÆÐŶµé¿¡¼­ ESP payloadµéÀ» ¾ÏȣȭÇÒ ¼ö ÀÖ°í ¾Ïȣȭ ÇØÁ¦ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.

ÁÖ¼®

OID_TCP_TASK_OFFLOADÀÇ Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î, ¹Ì´ÏÆ÷Æ®´Â Çϳª ȤÀº ±× ÀÌ»óÀÇ NDIS_TASK_OFFLOAD ±¸Á¶Ã¼µé Àü¿¡ NDIS_TASK_OFFLOAD_HEADER ±¸Á¶Ã¼·Î InformationBuffer¿¡ ¸®ÅÏÇÑ´Ù. °¢ NDIS_TASK_OFFLOAD ±¸Á¶Ã¼´Â ¹Ì´ÏÆ÷Æ®ÀÇ NIC¿¡ ÀÇÇØ Áö¿øµÈ task-offload ´É·ÂÀ» ÁöÁ¤ÇÑ´Ù.

NDIS_TASK_OFFLOAD ±¸Á¶Ã¼ÀÇ Task ¸â¹ö°¡ IpSecNdisTask¸¦ ÁöÁ¤ÇÒ ¶§, NDIS_TASK_OFFLOAD ±¸Á¶Ã¼ÀÇ TaskBuffer´Â NDIS_TASK_IPSEC ±¸Á¶Ã¼¸¦ Æ÷ÇÔÇÑ´Ù. NDIS_TASK_IPSEC ±¸Á¶Ã¼°¡ OID_TCP_TASK_OFFLOADÀÇ TCP/IP Àü¼Û °èÃþÀÇ Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ä¿öÁú ¶§, ÆÐŶµé¿¡¼­ IP Security ŽºÅ©µéÀ» ÇàÇϱâ À§ÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ NICÀÇ ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù. NDIS_TASK_IPSEC ±¸Á¶Ã¼°¡ OID_TCP_TASK_OFFLOADÀÇ TCP/IP Àü¼Û °èÃþÀÇ ¼³Á¤À» ÅëÇØ ¹Ì´ÏÆ÷Æ®¿¡ Àü´ÞµÉ ¶§, Àü¼Û °èÃþÀÌ °¡´ÉÇÏ°Ô ÇÏ´Â IP Security ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù.