摘要:
A method, system, and program for efficient packet desegmentation on a network adapter are provided. Multiple data packet segments received at a network adapter from a single connection are buffered at the network adapter. The single connection is identified by addresses and ports extracted from the header of each data packet segment. Responsive to detecting a buffering release condition, the data packet segments are released from the network adapter as a desegmented group to a network stack, such that the data packets segments received for the single connection are efficiently passed to the network stack together. In particular, the single connection is a TCP connection identified by a four-tuple of source and destination addresses and ports extracted from each TCP header of each of said plurality of data packet segments.
摘要:
A method, computer program product, and data processing system for efficiently discovering and storing path MTU information in a sending host are disclosed. In a preferred embodiment, two path MTU tables are maintained. One path MTU table contains MTU values corresponding to the first-hop routers associated with the sending host. The other path MTU table contains MTU values corresponding to individual destination hosts. When the sending host needs to send information to a destination, it first consults the MTU table associated with individual destination hosts. If an entry for that destination host is found in the table, the sending host uses that MTU value. If not, the sending host consults the MTU table for the first-hop router on the path to the destination host and uses that MTU value. If that MTU value is too high, a new entry is made in the host-specific MTU table for the destination host.
摘要:
A host enables any adapter of multiple adapters of the host to concurrently support any VIPA of the multiple VIPAs assigned to the host. Responsive to a failure of at least one particular adapter from among the multiple adapters, the host triggers the remaining, functioning adapters to broadcast a separate hardware address update for each VIPA over the network, such that for a failover in the host supporting the multiple VIPAs the host directs at least one other host accessible via the network to address any new packets for the multiple VIPAs to one of the separate hardware addresses of one of the remaining adapters.
摘要:
A graphic user interface of a network client (106) includes a stock ticker from a stock server (110) and a news sidebar from a news server (112) over the IP addresses advertised to the client (106) in its list of multi-homed addresses from the video server (104) specified under Stream Control Transmission Protocol (SCTP). The client accepts real-time data from the stock exchange server and the news agency server on the multi-homed IP addresses designated in the association with the video server (104) without knowing that the data is coming from a different source than the video server (104). The real-time data feeds from the video, stock and news servers are aggregated on the client (106) with enhanced speed because the feeds come directly to the client and not via the video server. The operating systems of the home server and remote servers utilize SCTP and specialized commands to implement the enhanced speed of real-time data aggregation being streamed to network clients without requiring modifications to existing client systems.
摘要:
The server side Transfer Control Protocol is modified so that the server returns a SYNACK message with the window size equal to zero if the server is busy. When a client sends a TCP connection request and receives a synchronization acknowledgement message with the window size equal to zero, the client knows that the server received the connection request and that the server is busy. The client may then send an acknowledgement message to complete the three-way synchronization handshake, thus successfully completing the connection. Thereafter, the client side TCP may probe the server side TCP until a window update message is received from the server. When the server sends a window update message to set the window size to a non-zero size, the client knows that the server is no longer busy and the client application may then use the TCP connection.
摘要:
A graphic user interface of a network client (106) includes a stock ticker from a stock server (110) and a news sidebar from a news server (112) over the IP addresses advertised to the client (106) in its list of multi-homed addresses from the video server (104) specified under Stream Control Transmission Protocol (SCTP). The client accepts real-time data from the stock exchange server and the news agency server on the multi-homed IP addresses designated in the association with the video server (104) without knowing that the data is coming from a different source than the video server (104). The real-time data feeds from the video, stock and news servers are aggregated on the client (106) with enhanced speed because the feeds come directly to the client and not via the video server. The operating systems of the home server and remote servers utilize SCTP and specialized commands to implement the enhanced speed of real-time data aggregation being streamed to network clients without requiring modifications to existing client systems.
摘要:
A method for improving the efficiency of Internet Protocol Control Block (INPCB) lookup operations at a TCP receiver and TCP sender. The TCP/IP stack is modified such that every data packet generated includes both data and INPCB address information. Specifically, the TCP/IP stacks of a sending device and a receiving device are modified to provide a contemporaneous transmission of INPCB addresses along with each data packet. The TCP/IP stack of the receiver is also modified such that the receiver echoes this INPCB address along with each TCP packet sent back to the sender to eliminate the necessity of an INPCB address lookup operation at the sending device. Contemporaneous transmission of data and INPCB addresses facilitates direct delivery of data packets to the corresponding sockets.
摘要:
A method, system and apparatus for maintaining a two-byte identification field of IP headers when a Gigabit Ethernet is in use are provided. Since the IP identification field is of two bytes, there is a limited number of identification numbers that may be used. Due to the high data transfer rate of the Gigabit Ethernet, this number may be reached within one second. Hence, there may be a possibility that two or more packets may have the same identification number while in transit. In a representative embodiment, one identification number is used for packets that may not be fragmented; thus, freeing the rest of the numbers for packets that may be fragmented.
摘要:
Administering acknowledgment messages (‘ACKs’) in the Transmission Control Protocol (“TCP”) that include establishing a TCP connection between a sender and a receiver, receiving by the receiver one or more TCP messages from the sender, and transmitting an ACK from the receiver to the sender only when necessary. Administering ACKs in TCP according to embodiments of the present invention may include measuring by the sender a round trip time for transmission of TCP messages between the sender and the receiver and transmitting to the receiver a data-bearing TCP message once per round trip time. Establishing a TCP connection between a sender and a receiver may include measuring by the receiver a round trip time for transmission of TCP messages between the receiver and the sender. Transmitting an ACK only when necessary may include transmitting an ACK when no message from the sender arrives at the receiver for two round trip times.
摘要:
An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK). In the TCP output processing, when the SP_MSGWAITALL flag is set and the amount of data in the socket receive buffer is less than so_rcvlen, the full window is advertised. Once the TCP input processing determines that there is at least an amount of data in the socket receive buffer equal to the value of so_rcvlen, the TCP input processing will wake up the recv( ) thread and the SP_MSGWAITALL flag is reset.