Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently
First Claim
1. A method of reliably constructing TCP/IP datagrams for transmission from a local node on one computer network to a remote node on another computer network comprising the steps of:
- generating a message, which forms a portion of a transport layer of a communications protocol;
buffering said message in at least one of a plurality of buffers between said transport layer of said communications protocol and a network layer of said communications protocol;
forwarding said message from said at least one of said plurality of buffers to a buffer in said network layer of said communications protocol executing on a network card;
monitoring said forwarding step in order to calculate a TCP segment checksum;
composing a TCP header including said TCP segment checksum, said composing step being executed on said network card;
pre-pending said TCP header to said message thereby creating an IP datagram in a buffer on said network card;
calculating an IP checksum;
composing in protocol logic executing on said network card an IP header including said IP checksum;
pre-pending said IP header to said IP datagram thereby creating datalink data in said buffer on said network card;
forwarding said datalink data to a datalink layer protocol interface on said network card;
composing a datalink routing header in said datalink layer protocol interface on said network card, said datalink routing header including an address of a next intermediate node in a network transmission path to a destination;
pre-pending said datalink routing header to said datalink data to create a final datagram; and
transmitting said final datagram over at least one physical medium to said remote node.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for sending and receiving data with a reliable communication protocol. The system includes a computer at a node having a backplane, a CPU board plugged into the backplane, software instructions for the CPU, and a special network board plugged into the backplane. The CPU board, software, and network card act to implement the TCP/IP protocol suite. The network card or board includes an interface to receive data packets from the physical layer, and circuitry to verify the TCP checksum before de-encapsulation and routing of the TCP segment by the network layer software. It also includes circuitry to automatically prepare the acknowledgement signal to be sent by the receiving computer to the sending computer. It additionally includes circuitry to calculate the error detecting code on outgoing signals from the sending computer to the receiving computer.
-
Citations
38 Claims
-
1. A method of reliably constructing TCP/IP datagrams for transmission from a local node on one computer network to a remote node on another computer network comprising the steps of:
-
generating a message, which forms a portion of a transport layer of a communications protocol; buffering said message in at least one of a plurality of buffers between said transport layer of said communications protocol and a network layer of said communications protocol; forwarding said message from said at least one of said plurality of buffers to a buffer in said network layer of said communications protocol executing on a network card; monitoring said forwarding step in order to calculate a TCP segment checksum; composing a TCP header including said TCP segment checksum, said composing step being executed on said network card; pre-pending said TCP header to said message thereby creating an IP datagram in a buffer on said network card; calculating an IP checksum; composing in protocol logic executing on said network card an IP header including said IP checksum; pre-pending said IP header to said IP datagram thereby creating datalink data in said buffer on said network card; forwarding said datalink data to a datalink layer protocol interface on said network card; composing a datalink routing header in said datalink layer protocol interface on said network card, said datalink routing header including an address of a next intermediate node in a network transmission path to a destination; pre-pending said datalink routing header to said datalink data to create a final datagram; and transmitting said final datagram over at least one physical medium to said remote node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. In a system having a plurality of computer networks, each network having a plurality of nodes, and selected ones of said nodes having a processing subsystem comprising:
-
a mechanical backplane backplane further comprising a plurality of parallel conductors for connecting and electrically coupling a PCI bus to bus interface circuitry; RAM memory connected to said mechanical backplane; a disk controller card connected to said mechanical backplane; an AC to DC converter connected to said mechanical backplane; a processor connected to said mechanical backplane; a keyboard connected to said mechanical backplane; a network processor connected to said mechanical backplane; said bus interface circuitry residing in each of said RAM memory, said processor, said keyboard, said disk controller card, and said network processor; said bus interface circuitry recognizes a bus address of a unit in which it resides; said network processor further comprises an asynchronous transfer mode (ATM) interface unit connected and electrically coupled to ATM switches, a first bridging means connected and electrically coupled to said ATM interface, said bridging means further connected and electrically coupled to a second bridging means and to protocol logic, said second bridging means further connected and electrically coupled to said bus interface, said protocol logic connected and electrically coupled to a memory unit; said processor and said network processor combine to implement the entire TCP/IP protocol suite within said processing subsystem; said memory unit stores a command list and acts as a buffer for TCP acknowledgement (ACK) commands and for a disposition queue of datagrams require further processing by the processor if they are inbound and transmission to the ATM switches via the ATM interface if they are outbound; and said protocol logic implements a portion of the TCP protocol and a portion of the IP protocol. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. In a system having a plurality of computer networks, each network having a plurality of nodes, and selected ones of said nodes having a processing subsystem comprising:
-
a mechanical backplane backplane further comprising a plurality of parallel conductors for connecting and electrically coupling a PCI bus to bus interface circuitry; RAM memory connected to said mechanical backplane; a disk controller card connected to said mechanical backplane; an AC to DC converter connected to said mechanical backplane; a processor connected to said mechanical backplane; a keyboard connected to said mechanical backplane; a network processor connected to said mechanical backplane; said bus interface circuitry residing in each of said RAM memory, said processor, said keyboard, said disk controller card, and said network processor; said bus interface circuitry recognizes a bus address of a unit in which it resides; said network processor further comprises a wide area network (WAN) interface unit connected and electrically coupled to WAN switches, a first bridging means connected and electrically coupled to said WAN interface, said bridging means further connected and electrically coupled to a second bridging means and to protocol logic, said second bridging means further connected and electrically coupled to said bus interface, said protocol logic connected and electrically coupled to a memory unit; said processor and said network processor combine to implement the entire TCP/IP protocol suite within said processing subsystem; said memory unit stores a command list and acts as a buffer for TCP acknowledgement (ACK) commands and for a disposition queue of datagrams require further processing by the processor if they are inbound and transmission to the WAN switches via the WAN interface if they are outbound; and said protocol logic implements a portion of the TCP protocol and a portion of the IP protocol. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification