NDIS_TCP_IP_CHECKSUM_PACKET_INFO
typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO
{
union
{
struct
{
ULONG NdisPacketChecksumV4:1;
ULONG NdisPacketChecksumV6:1;
ULONG NdisPacketTcpChecksum;
ULONG NdisPacketUdpChecksum;
ULONG NdisPacketIpChecksum;
} Transmit;
struct
{
ULONG NdisPacketTcpChecksumFailed:1;
ULONG NdisPacketUdpChecksumFailed:1;
ULONG NdisPacketIpChecksumFailed:1;
ULONG NdisPacketTcpChecksumSucceeded:1;
ULONG NdisPacketUdpChecksumSucceeded:1;
ULONG NdisPacketIpChecksumSucceeded:1;
ULONG NdisPacketLoopback:1;
} Receive;
ULONG Value;
};
} NDIS_TCP_IP_CHECKSUM_PACKET_INFO, *PNDIS_TCP_IP_CHECKSUM_PACKET_INFO;
|
NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼´Â TCP/IP Àü¼Û °èÃþÀ¸·ÎºÎÅÍ NIC¿¡ üũ¼¶ ŽºÅ©µéÀ» offloadÇϴµ¥ »ç¿ëµÇ´Â Á¤º¸¸¦ ÁöÁ¤ÇÑ´Ù. NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼´Â ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í °ü·ÃµÈ ÆÐŶ ´ç Á¤º¸ÀÇ (È®Àå ´ë¿ª¿Ü Á¤º¸) ºÎºÐÀÌ´Ù.
¸â¹ö
- Transmit
- NdisPacketChecksumV4
- º¸³»±â ÆÐŶÀº IPv4 ÁÖ¼ÒµéÀ» Æ÷ÇÔÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ¸¸¾à Àü¼Û °èÃþÀÌ NdisPacketChecksumV4¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù¸é, ¹Ì´ÏÆ÷Æ®´Â ÆÐŶ¿¡ ´ëÇÑ Ã¼Å©¼¶ ŽºÅ©µéÀ» ÇàÇÒ Çʿ䰡 ¾ø´Ù.
- NdisPacketChecksumV6
- º¸³»±â ÆÐŶÀº IPv6 ÁÖ¼ÒµéÀ» Æ÷ÇÔÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. À©µµ¿ìÁî ÀÌõ Ãʱ⠹èÆ÷ ¹öÀü¿¡¼ TCP/IP Àü¼Û °èÃþÀÌ IPv6 ÆÐŶµéÀ» ó¸®ÇÏ´Â °ÍÀÌ ºÒ°¡´ÉÇÏ´Ù¸é, °áÄÚ NdisPacketChecksumV6¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª, TCP/IP Àü¼Û °èÃþÀÇ ¹Ì·¡ ¹öÀüµé¿¡¼ IPv6 ÆÐŶµéÀ» ó¸®ÇÏ´Â °ÍÀ» Áö¿øÇÒ °ÍÀÌ´Ù.
- NdisPacketTcpChecksum
- NICÀÌ ÆÐŶÀÇ TCP üũ¼¶À» °è»êÇØ¾ß ÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- NdisPacektUdpChecksum
- NICÀÌ ÆÐŶÀÇ UDP üũ¼¶À» °è»êÇØ¾ß ÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- NdisPacketIpChecksum
- NICÀÌ ÆÐŶ¿¡ ù IP Çì´õ¸¦ À§ÇÑ IP üũ¼¶À» °è»êÇØ¾ß ÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ TCP/IP Àü¼Û °èÃþ¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ¸¸¾à ÆÐŶÀÌ ÅͳΠIP Çì´õ¿Í Àü¼Û °èÃþ IP Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù¸é, NICÀº ÅͳΠIP Çì´õ¸¦ À§ÇÑ Ã¼Å©¼¶À» °è»êÇÒ ¼ö ÀÖ´Ù. TCP/IP Àü¼Û °èÃþÀº ±×·¯ÇÑ ÆÐŶÀÇ Àü¼Û °èÃþ IP Çì´õÀÇ Ã¼Å©¼¶À» °è»êÇÑ´Ù.
- Receive
- NdisPacketTcpChecksumFailed
- NIC¿¡ ÀÇÇØ °è»êµÈ TCP üũ¼¶Àº ¼ö½Å ÆÐŶÀÇ TCP Çì´õ¿¡¼ üũ¼¶°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- NdisPacketUdpChecksumFailed
- NIC¿¡ ÀÇÇØ °è»êµÈ UDP üũ¼¶ÀÌ ¼ö½Å ÆÐŶÀÇ UDP Çì´õ¿¡¼ üũ¼¶°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. À©µµ¿ìÁî ÀÌõÀÇ Ãʱ⠹èÆ÷ÆÇÀº UDP üũ¼¶ offloadµéÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª, ¹Ì·¡ ¼ºñ½º ÆÑµé°ú À©µµ¿ìÁî ÀÌõÀÇ ¾÷µ¥ÀÌÆ® ÆÇµéÀº UDP üũ¼¶ offloadµéÀ» Áö¿øÇÒ °ÍÀÌ´Ù.
- NdisPacketIpChecksumFailed
- NIC¿¡ ÀÇÇØ °è»êµÈ IP üũ¼¶Àº ¼ö½Å ÆÐŶÀÇ Ã¹ IP Çì´õ¿¡¼ üũ¼¶°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ¸¸¾à ¼ö½Å ÆÐŶÀº ÅͳΠIP Çì´õ¿Í Àü¼Û °èÃþ IP Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù¸é, NICÀº ÅͳΠIP Çì´õ¸¦ À§ÇÑ Ã¼Å©¼¶À» °Ë»çÇÑ´Ù. TCP/IP Àü¼Û °èÃþÀº ±×·¯ÇÑ ÆÐŶÀÇ Àü¼Û °èÃþ IP Çì´õ¸¦ À§ÇÑ Ã¼Å©¼¶À» °Ë»çÇÑ´Ù.
- NdisPacketTcpChecksumSucceeded
- NIC¿¡ ÀÇÇØ °è»êµÈ TCP üũ¼¶Àº ¼ö½Å ÆÐŶÀÇ TCP Çì´õ¿¡¼ üũ¼¶°ú ÀÏÄ¡ÇÏ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- NdisPacketUdpChecksumSucceeded
- NIC¿¡ ÀÇÇØ °è»êµÈ UDP üũ¼¶Àº ¼ö½Å ÆÐŶÀÇ UDP Çì´õ¿¡¼ üũ¼¶°ú ÀÏÄ¡ÇÏ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù.
- NdisPacketIpChecksumSucceeded
- NIC¿¡ ÀÇÇØ °è»êµÈ IP üũ¼¶Àº ¼ö½Å ÆÐŶÀÇ Ã¹ IP Çì´õ¿¡¼ üũ¼¶ÀÌ ÀÏÄ¡ÇÏ´Ù´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ¸¸¾à ¼ö½Å ÆÐŶÀº ÅͳΠIP Çì´õ¿Í Àü¼Û °èÃþ IP Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù¸é, NICÀº ÅͳΠIP Çì´õ¸¦ À§ÇÑ Ã¼Å©¼¶À» °Ë»çÇÑ´Ù¸é, NICÀº ´ÜÁö ÅͳΠIP Çì´õ¸¦ À§ÇÑ Ã¼Å©¼¶À» °Ë»çÇÑ´Ù. TCP/IP Àü¼Û °èÃþÀº ±×·¯ÇÑ ÆÐŶÀÇ Àü¼Û °èÃþ IP Çì´õ¸¦ À§ÇÑ Ã¼Å©¼¶À» °Ë»çÇÑ´Ù.
- NdisPacketLoopback
- ¼ö½Å ÆÐŶÀÌ NDIS°¡ ´Ù·ç´Â loopback ÆÐŶÀ̶ó´Â °ÍÀ» °¡¸®Å°±â À§ÇØ ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡, ¹Ì´ÏÆ÷Æ®´Â ¸ðµç NdisPacketXxxChecksumSucceeded Ç÷¡±×µéÀ» ¼³Á¤ÇÑ´Ù.
- Value
- üũ¼¶ °ª
ÁÖ¼®
NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼´Â TCP/IP Àü¼Û °èÃþ¿¡¼ NICÀ¸·Î üũ¼¶ ŽºÅ©µéÀ» offloadingÇϴµ¥ »ç¿ëµÇ´Â Á¤º¸¸¦ ÁöÁ¤ÇÑ´Ù. NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼´Â ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í °ü·ÃµÈ ÆÐŶ´ç Á¤º¸(È®Àå ´ë¿ª¿Ü Á¤º¸)ÀÇ ºÎºÐÀÌ´Ù.
TCP/IP Àü¼Û °èÃþÀÌ ¹Ì´ÏÆ÷Æ®°¡ üũ¼¶ ŽºÅ©µéÀ» ÇàÇÒ ÆÐŶÀ» ¹Ì´ÏÆ÷Æ®¿¡ Àü´ÞÇϱâ Àü¿¡, TCP/IP Àü¼Û °èÃþÀº ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í °ü·ÃµÈ NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼¸¦ ¾÷µ¥ÀÌÆ®ÇÑ´Ù. ƯÈ÷, TCP/IP Àü¼Û °èÃþÀº º¸³»±â ÆÐŶÀÌ IPv4 ÁÖ¼ÒµéÀ» Æ÷ÇÔÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ NdisPacketChecksumV4¸¦ ¼³Á¤ÇÑ´Ù. ¸¸¾à TCP/IP Àü¼Û °èÃþÀÌ ÀÌ Ç÷¡±×¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù¸é, ¹Ì´ÏÆ÷Æ®´Â ÆÐŶ¿¡¼ üũ¼¶ ŽºÅ©µéÀ» ÇàÇÏÁö ¾Ê´Â´Ù. ¸¸¾à TCP/IP Àü¼Û °èÃþÀÌ NdisPacketChecksumV4¸¦ ¼³Á¤ÇÑ´Ù¸é, ¹Ì´ÏÆ÷Æ®°¡ ÆÐŶÀ» À§ÇØ °è»êÇØ¾ß Çϴ üũ¼¶ÀÌ ¾î´À °ÍÀÎÁö °¡¸®Å°±â À§ÇØ NdisPacketTcpChecksum ȤÀº NdisPacketIpChecksum¸¦ ¼³Á¤ÇÑ´Ù.
üũ¼¶ ŽºÅ©µéÀ» ÇàÇÏ´Â ¼ö½Å ÆÐŶÀ» °¡¸®Å°±â Àü¿¡, ¹Ì´ÏÆ÷Æ®´Â NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼¿¡¼ Àû´çÇÑ NdisPacketXxxChecksumFailed¿Í NdisPacketXxxChecksumSucceeded Ç÷¡±×µéÀ» ¼³Á¤ÇÑ´Ù.¸¸¾à ÆÐŶÀÌ ·çÇÁ¹é ÆÐŶÀ̸é, ¹Ì´ÏÆ÷Æ®´Â NdisPacketLooback Ç÷¡±×¿Í ¸ðµç NdisPacketXxxChecksumSucceeded Ç÷¡±×µéÀ» ¼³Á¤ÇÑ´Ù.
NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¾ò±â À§ÇØ, µå¶óÀ̹ö´Â TcpIpChecksumPacketInfoÀÇ InfoTypeÀ¸·Î NDIS_PER_PACKET_INFO_FROM_PACKET ¸ÅÅ©·Î¸¦ È£ÃâÇÑ´Ù. ´ë¾ÈÀ¸·Î, µå¶óÀ̹ö´Â ÁÖ¾îÁø ÆÐŶ µð½ºÅ©¸³ÅÍ¿Í °ü·ÃµÈ NDIS_PACKET_EXTENSION ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¾ò±â ¿ìÇØ NDIS_PACKET_EXTENSION_FROM_PACKET ¸ÅÅ©·Î¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¹Ì´ÏÆ÷Æ®´Â ±×¸®°í³ª¼ NDIS_TCP_IP_CHECKSUM_PACKET_INFO ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ¾ò±â À§ÇØ TcpIpCheckSumPacketInfo ¹è¿ À妽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
|