摘要:
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.
摘要:
The present invention provides a method and apparatus for handling address resolution protocol requests for a device having multiple interfaces. The method comprises receiving a message transmitted by a remote device to a host. The message includes a request to provide a value representative of an address associated with the host and the message includes a value representative of an address associated with the remote device. The method further comprises comparing at least a portion of the value representative of the address associated with the remote device to a value stored in an address field on a storage unit and discarding the message in response to determining that at least the portion of the value representative of the address associated with the remote device is substantially equal to the value stored in the address field.
摘要:
A last router in the route of a packet determines when a packet is at the last hop prior to reaching its destination, based on information conveyed in the routing table that the destination is a directly-connected host, and can then convey that information to the host by setting the TTL to zero in the packet being forwarded to its final destination. The host, being so informed that the packet is destined for its IP address, can thereby eliminate the IP address table search for the destination IP address of the incoming packet against the list of its allocated IP addresses to determine if the packet is destined for that host, thereby providing significant performance enhancements to the network system by enabling a receiving host to skip the IP address lookup process and immediately consume the received packet.
摘要:
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, system and apparatus for improving data transfer rate over a network are provided. When a piece of data is to be transmitted to a target system, it is divided into a number of packets and a determination is made as to whether the number of packets exceeds a threshold number. If so, the packets are transferred in parallel over a plurality of network connections. The ideal network connections are TCP/IP connections. Thus, each packet has an IP header, which contains an IP identification field. An indicium is placed into the IP identification field for proper reconstruction of the data by the target system.
摘要:
The present invention provides receiving and transmitting devices for providing fragmentation at a transport level along a transmission path. The transmitting device comprises an interface and a control unit coupled to the interface. The control unit is adapted to negotiate a packet size with a remote device. The control unit is also adapted to transmit a data packet of up to the negotiated size. The control unit is further adapted to receive acknowledgments from the remote device associated with one or more fragments, fragmented at the transport-level, of the transmitted data packet. The receiving device comprises an interface and a control unit coupled to the interface. The control unit is adapted to receive two or more fragments of a data packet transmitted by a remote device. The control unit is also adapted to transmit one or more acknowledgments to the remote device based on the received fragments.
摘要:
The present invention provides a method and apparatus for multicast tunneling for mobile devices. The method comprises receiving a multicast packet directed to a plurality of mobile nodes, the mobile nodes being associated with a home subnet and identifying if any of the plurality of the mobile nodes are coupled to a subnet other than the home subnet, wherein each of the identified mobile nodes has an associated transmission path through which that mobile node can be reached. The method further provides that in response to determining that at least some of the mobile nodes are coupled to the subnet other than the home subnet, determining which of the identified mobile nodes has a common next hop in their associated transmission path and generating a packet including at least a portion of the multicast packet and including in the packet a list of mobile nodes that have the common next hop. The method further provides for transmitting the generated packet to the common next hop.
摘要:
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.
摘要:
A TCP/IP retransmission frame contains multiple TCP segments containing non-contiguous missing packets from a data communication. A TCP option in the first segment in the frame indicates the presence of multiple TCP payloads in the frame. Each TCP payload has a corresponding prepended TCP header. An offset address specified in each TCP header within the frame identifies the location of the next TCP header in the frame. Network throughput performance is enhanced by permitting multiple non-contiguous packets to be retransmitted in a single IP packet.
摘要:
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.