NDIS_TASK_TCP_IP_CHECKSUM
typedef struct _NDIS_TASK_TCP_IP_CHECKSUM
{
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
ULONG IpChecksum:1;
} V4Transmit;
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
ULONG IpChecksum:1;
} V4Receive;
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
} V6Transmit;
struct
{
ULONG IpOptionsSupported:1;
ULONG TcpOptionsSupported:1;
ULONG TcpChecksum:1;
ULONG UdpChecksum:1;
} V6Receive;
} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
|
OID_TCP_TASK_OFFLOADÀÇ Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ Á¦°øµÉ ¶§, NDIS_TASK_TCP_IP_CHECKSUM ±¸Á¶Ã¼´Â º¸³»±â ÆÐŶµéÀ» À§ÇÑ IP, TCP, UDP üũ¼¶µéÀ» °è»êÇÏ°í ¼ö½Å ÆÐŶµéÀ» À§ÇÑ ±×·¯ÇÑ Ã¼Å©¼¶À» °Ë»çÇϱâ À§ÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ NICÀÇ ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù. OID_TCP_TASK_OFFLOADÀÇ ¼³Á¤À¸·Î ¹Ì´ÏÆ÷Æ®¿¡ Àü´ÞµÉ ¶§, ±× ±¸Á¶Ã¼´Â TCP/IP Àü¼Û °èÃþÀÌ NICÀ» À§ÇØ °¡´ÉÀ¸·Î Çϴ üũ¼¶ ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù.
¸â¹ö
- V4Transmit
- IpOptionsSupported
- NICÀÌ IP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv4 º¸³»±â ÆÐŶÀ» À§ÇÑ IP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpOptionsSupported
- NICÀÌ TCP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv4 º¸³»±â ÆÐŶÀ» À§ÇÑ TCP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpChecksum
- NICÀÌ IPv4 º¸³»±â ÆÐŶÀ» À§ÇÑ TCP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- UdpChecksum
- NICÀÌ IPv4 º¸³»±â ÆÐŶÀ» À§ÇÑ UDP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- IpChecksum
- NICÀÌ IPv4 º¸³»±â ÆÐŶÀ» À§ÇÑ IP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- V4Receive
- IpOptionsSupported
- NICÀÌ IP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv4 ¼ö½Å ÆÐŶÀ» À§ÇÑ IP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpOptionsSupported
- NICÀÌ TCP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv4 ¼ö½Å ÆÐŶÀ» À§ÇÑ TCP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpChecksum
- NICÀÌ IPv4 ¼ö½Å ÆÐŶÀ» À§ÇÑ TCP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- UdpChecksum
- NICÀÌ IPv4 ¼ö½Å ÆÐŶÀ» À§ÇÑ UDP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- IpChecksum
- NICÀÌ IPv4 ¼ö½Å ÆÐŶÀ» À§ÇÑ IP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- V6Transmit
- IpOptionsSupported
- NICÀÌ IP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv6 º¸³»±â ÆÐŶÀ» À§ÇÑ IP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpOptionsSupported
- NICÀÌ TCP ¿É¼ÇµéÀ» Æ÷ÇÔÇÏ´Â IPv6 º¸³»±â ÆÐŶÀ» À§ÇÑ TCP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpChecksum
- NICÀÌ IPv6 º¸³»±â ÆÐŶÀ» À§ÇÑ TCP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- UdpChecksum
- NICÀÌ IPv6 º¸³»±â ÆÐŶÀ» À§ÇÑ UDP üũ¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û°èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- V6Receive
- IpOptionsSupported
- NICÀÌ IP Çì´õµéÀÌ IP ¿É¼Çµé¿¡ Æ÷ÇÔÇÏ´Â IPv6 ¼ö½Å ÆÐŶÀ» À§ÇÑ IPüũ¼¶µéÀ» °Ë»çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpOptionsSupported
- NICÀÌ TCP Çì´õ°¡ TCP ¿É¼Çµé¿¡ Æ÷ÇÔÇÏ´Â IPv6 ¼ö½Å ÆÐŶÀ» À§ÇØ Ã¼Å©¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- TcpChecksum
- NICÀÌ IPv6 ¼ö½Å ÆÐŶÀÇ TCPÀÇ Ã¼Å©¼¶À» °Ë»çÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- UdpChecksum
- NICÀÌ IPv6 ¼ö½Å ÆÐŶÀ» À§ÇØ UDP üũ¼¶À» °Ë»çÇÒ ¼ö ÀÖ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ ´É·ÂÀ» °¡´ÉÇÏ°Ô Çϱâ À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
ÁÖ¼®
OID_TCP_TASK_OFFLOADÀÇ Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î, ¹Ì´ÏÆ÷Æ®´Â Çϳª ȤÀº ±× ÀÌ»óÀÇ Ã¼ÀÎÈµÈ NDIS_TASK_OFFLOAD ±¸Á¶Ã¼µéÀÌ Áï½Ã µû¸£´Â NDIS_TASK_OFFLOAD_HEADER ±¸Á¶Ã¼¸¦ InformationBuffer¿¡ ¸®ÅÏÇÑ´Ù. °¢ NDIS_TASK_OFFLOAD ±¸Á¶Ã¼´Â ¹Ì´ÏÆ÷Æ® NIC¿¡ ÀÇÇØ Áö¿øµÈ ŽºÅ© offload ´É·ÂÀ» ÁöÁ¤ÇÑ´Ù.
NDIS_TASK_OFFLOAD ±¸Á¶Ã¼ÀÇ Task ¸â¹ö°¡ TcpIpChecksumNdisTask¸¦ ÁöÁ¤ÇÒ ¶§, NDIS_TASK_OFFLOAD ±¸Á¶Ã¼ÀÇ TaskBufferÀº ¼Û½Å°ú ¼ö½Å ÆÐŶµé¿¡¼ üũ¼¶ ŽºÅ©µéÀ» ÇàÇϱâ À§ÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù.
OID_TCP_TASK_OFFLOADÀÇ TCP/IP Àü¼Û °èÃþÀÇ ¼³Á¤¿¡ ÀÇÇØ ¹Ì´ÏÆ÷Æ®¿¡ Àü´ÞµÉ ¶§, NDIS_TASK_TCP_IP_CHECKSUM ±¸Á¶Ã¼´Â Àü¼Û °èÃþÀÌ °¡´ÉÇÏ°Ô Çϴ üũ¼¶ ´É·ÂµéÀ» ÁöÁ¤ÇÑ´Ù.
NDIS_TASK_TCP_IP_CHECKSUM ±¸Á¶Ã¼´Â ¹Ì´ÏÆ÷Æ®¿¡°Ô UDP üũ¼¶ ´É·ÂµéÀ» °¡¸®Å°´Â °ÍÀ» Çã¶ôÇÑ´Ù. À©µµ¿ìÁî ÀÌõÀÇ Ãʱ⠹èÆ÷¹öÀüÀº UDP üũ¼¶ offloadµéÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª, ¹Ì·¡ À©µµ¿ìÁî ÀÌõ ¼ºñ½º ÆÑµé°ú ¾÷µ¥ÀÌÆ® ¹èÆ÷ÆÇµéÀº UDP üũ¼¶ offloadµéÀ» Áö¿øÇÒ °ÍÀÌ´Ù.
NDIS_TASK_TCP_IP_CHECKSUM ±¸Á¶Ã¼´Â ¶ÇÇÑ IPv6 ÆÐŶµéÀ» À§ÇÑ Ã¼Å©¼¶ ´É·ÂµéÀ» °¡¸®Å°´Â °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô Çã¶ôÇÑ´Ù. ±×·¯³ª, À©µµ¿ìÁî ÀÌõÀÇ Ãʱ⠹èÆ÷ÆÇ¿¡¼ TCP/IP Àü¼Û °èÃþÀº ´ÜÁö IPv4 ÆÐŶµéÀ» ó¸®ÇÒ ¼ö ÀÖ°í ±×·¡¼ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ º¸°íµÈ ¾î¶°ÇÑ IPv6ÀÇ Ã¼Å©¼¶ ´É·ÂµéÀ» °¡´ÉÇÏ°Ô ÇÒ ¼ö ¾ø´Ù. TCP/IP Àü¼Û °èÃþÀÇ ¹Ì·¡ ¹öÀüÀº IPv6ÀÇ Ã³¸®¸¦ Áö¿øÇÒ °ÍÀÌ´Ù.
|