최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0038297 (2013-09-26) |
등록번호 | US-8805948 (2014-08-12) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 0 인용 특허 : 257 |
A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly acc
A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC or CPD provides a fast-path that avoids host protocol processing for most large multipacket messages, greatly accelerating data communication. The INIC or CPD also assists the host for those message packets that are chosen for processing by host software layers. A communication control block (CCB) for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The CCB can be passed back to the host for message processing by the host. The INIC or CPD contains hardware circuits configured for protocol processing that can perform that specific task faster than the host CPU. One embodiment includes a processor providing transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.
1. A method for network communication by a host computer having a network interface that is connected to the host by an input/output bus, the method comprising: running, on the host computer, a protocol processing stack including an Internet Protocol (IP) layer and a Transmission Control Protocol (T
1. A method for network communication by a host computer having a network interface that is connected to the host by an input/output bus, the method comprising: running, on the host computer, a protocol processing stack including an Internet Protocol (IP) layer and a Transmission Control Protocol (TCP) layer, with an application layer running above the TCP layer;initializing, by the host computer, a TCP connection that is defined by source and destination IP addresses and source and destination TCP ports;receiving, by the network interface, first and second packets, wherein the first packet has a first TCP header and contains first payload data for the application, and the second packet has a second TCP header and contains second payload data for the application;checking, by the network interface, whether the packets have certain exception conditions, including checking whether the packets are IP fragmented, checking whether the packets have a FIN flag set, and checking whether the packets are out of order;if the first packet has any of the exception conditions, then protocol processing the first TCP header by the protocol processing stack;if the second packet has any of the exception conditions, then protocol processing the second TCP header by the protocol processing stack;if the packets do not have any of the exception conditions, then bypassing host protocol processing of the TCP headers and storing the first payload data and the second payload data together in a buffer of the host computer, such that the payload data is stored in the buffer in order and without any TCP header stored between the first payload data and the second payload data. 2. The method of claim 1, including allocating the buffer by the application, prior to storing the first payload data and the second payload data together in the buffer. 3. The method of claim 1, wherein storing the first payload data and the second payload data together in a buffer of the host computer is performed by a direct memory access (DMA) unit of the network interface. 4. The method of claim 1, including accumulating the payload data in a memory on the network interface, such that the payload data is stored in the memory in order and without any TCP header stored between the first payload data and the second payload data, prior to storing the first payload data and the second payload data together in the buffer. 5. The method of claim 1, including sending an identification of the TCP connection from the host computer to the network interface, the identification including the source and destination IP addresses and source and destination TCP ports that define the TCP connection, prior to checking whether the packets have certain exception conditions. 6. The method of claim 1, including comparing, by the network interface, the IP addresses and TCP ports of the packets with the source and destination IP addresses and source and destination TCP ports that define the TCP connection. 7. The method of claim 1, wherein checking whether the packets have certain exception conditions includes checking whether the packets have a RST flag set. 8. The method of claim 1, wherein checking whether the packets have certain exception conditions includes checking whether the packets have a SYN flag set. 9. A method for network communication by a host computer having a network interface that is connected to the host by an input/output bus, the method comprising: receiving, by the network interface, a first packet having a header including source and destination Internet Protocol (IP) addresses and source and destination Transmission Control Protocol (TCP) ports;protocol processing, by the host computer, the first packet, thereby initializing a TCP connection that is defined by the source and destination IP addresses and source and destination TCP ports;receiving, by the network interface, a second packet having a second header and payload data, wherein the second header has IP addresses and TCP ports that match the IP addresses and TCP ports of the TCP connection;receiving, by the network interface, a third packet having a third header and additional payload data, wherein the third header has IP addresses and TCP ports that match the IP addresses and TCP ports of the TCP connection;checking, by the network interface, whether the second and third packets have certain exception conditions, including checking whether the packets are IP fragmented, checking whether the packets have a FIN flag set, and checking whether the packets are out of order;if the second packet has any of the exception conditions, then protocol processing the second packet by the host computer;if the third packet has any of the exception conditions, then protocol processing the third packet by the host computer;if the second and third packets do not have any of the exception conditions, then storing the payload data of the second and third packets together in a buffer of the host computer, such that the payload data is stored in the buffer in order and without any TCP header stored between the payload data of the second and third packets. 10. The method of claim 9, including allocating the buffer by an application running on the host computer, prior to storing the payload data of the second and third packets together in the buffer. 11. The method of claim 9, wherein storing the payload data of the second and third packets together in a buffer of the host computer is performed by a direct memory access (DMA) unit of the network interface. 12. The method of claim 9, including accumulating the payload data of the second and third packets in a memory on the network interface, such that the payload data of the second and third packets is stored in the memory in order and without any TCP header stored between the payload data of the second and third packets, prior to storing the payload data of the second and third packets together in the buffer. 13. The method of claim 9, including sending an identification of the TCP connection from the host computer to the network interface, the identification including the source and destination IP addresses and source and destination TCP ports that define the TCP connection, prior to checking whether the second and third packets have certain exception conditions. 14. The method of claim 9, including comparing, by the network interface, the IP addresses and TCP ports of the second and third packets with the source and destination IP addresses and source and destination TCP ports that define the TCP connection. 15. The method of claim 9, wherein checking whether the second and third packets have certain exception conditions includes checking whether the packets have a RST flag set. 16. The method of claim 9, wherein checking whether the second and third packets have certain exception conditions includes checking whether the packets have a SYN flag set. 17. An apparatus for network communication, the apparatus comprising: a host computer running a protocol stack including an Internet Protocol (IP) layer and a Transmission Control Protocol (TCP) layer, the protocol stack adapted to establish a TCP connection for an application layer running above the TCP layer, the TCP connection being defined by source and destination IP addresses and source and destination TCP ports;a network interface that is connected to the host computer by an input/output bus, the network interface adapted to parse the headers of received packets to determine whether the headers have the IP addresses and TCP ports that define the TCP connection and to check whether the packets have certain exception conditions, including whether the packets are IP fragmented, have a FIN flag set, or are out of order, the network interface having logic that directs any of the received packets that have the exception conditions to the protocol stack for processing, and directs the received packets that do not have any of the exception conditions to have their headers removed and their payload data stored together in a buffer of the host computer, such that the payload data is stored in the buffer in order and without any TCP header stored between the payload data that came from different packets of the received packets. 18. The apparatus of claim 17, wherein the buffer is controlled by the application. 19. The apparatus of claim 17, wherein the network interface includes a direct memory access (DMA) unit that is adapted to store the payload data in the buffer. 20. The apparatus of claim 17, wherein the network interface includes a memory that is adapted to accumulate the payload data without any TCP header stored between the payload data that came from different packets of the received packets. 21. The apparatus of claim 17, wherein the exception conditions include having a RST flag set. 22. The apparatus of claim 17, wherein the exception conditions include having a SYN flag set.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.