Network protocol processing device
View Patent ↗Providing a network protocol processing device by which a server connected to a network logically parted on a user basis can offload TCP protocol processing. In a server having a network protocol processing function including: a host processor that processes user requests received through a network; and TOE equipment including a network port that is connected with the host processor, and connected with the network, a processor that performs TCP/IP protocol processing, and a memory that holds TCP connection identification information, information indicating a source IP address, a destination IP address, a source port number, and a destination port number, and frame information including VLAN-ID defined by IEEE802.1Q are used as TCP connection identification information.
1. A server having a network protocol processing function, comprising:
a host processor that processes user requests received through a network;
a host memory storing, on a user basis, network setting information including: a port list in which network ports available to a user are described; an ARP table that indicates correspondences between IP addresses of other hosts connected to the same VLAN and MAC addresses; a routing table showing a next host to which a packet is to be transferred, with respect to an IP address of a given destination host; a TCP connection table including a source IP address, a destination IP address, a source port number, a destination port number, and VLAN-ID defined by IEEE802.1Q; and a connection list storing a pointer indicating the TCP connection table; and
TOE equipment including: a network port connected to the network; a TOE processor for performing TCP/IP protocol processing; and a TOE memory holding at least information for identifying TCP connections,
wherein the host processor creates the TCP connection table in network setting information of a certain user, registers a pointer to the TCP connection table in the connection list, establishes a TOP connection for the user, and passes a connection information block including at least a source P address, a destination IP address, a source port number, and a destination port number, and VLAN-ID defined by IEEE802.1Q, which are stored in the TOP connection information table, to the TOE equipment,
wherein the TOE processor, based on information of the connection information block, newly creates a connection table in the TOE memory, registers a pointer to the connection table in the connection list, if data exists in a send socket buffer registered in the connection table, creates a TCP/IP packet from the data, stores VLAN-ID defined by IEEE802.1Q in a specific field of the packet, and sends the packet, and
wherein, when receiving a packet, the TOE processor determines whether the pointer to the connection table is registered in the connection list, checks whether VLAN-ID, a source IP address, a destination IP address, a source port number, and a destination port number within the received packet match values registered in the connection table, and if all match, performs TCP receive processing for the received packet.