TCP/IP

TCP/IP is the glue that holds the Internet together. Without it, or an equivalent standard, the Internet as we know it today could not exist.

TCP/IP is actually two separate protocols, although TCP depends on IP. IP (Internet Protocol) is responsible for addressing, enabling long data streams to be divided into separate packages that are then sent separately through the network. It operates in a best effort manner; thus, packets may be lost enroute and/or they may arrive out of sequence. TCP addresses these issues.

TCP (Transmission Control Protocol) uses IP to exchange acknowledgments and other messages between sender and receiver. Thus, a sender can send a designated packet and wait for an acknowledgment. When the sender knows the packet has arrived safely, it can send the next packet, etc. However, if the acknowledgment does not come in a reasonable length of time, the sender assumes it was lost and resends it. Actually, the process is much more efficient and much more involved than this oversimplified scenario, but it suggests the flavor of interaction supported by TCP.

The result is that TCP is able to provide the illusion that sender and receiver are connected to one another, similar to a telephone connection. However, that illusion does not include any guarantee about how quickly packets will be delivered. Thus, it is not particularly well-suited for applications that require low latency, such as real-time audio and video. Proposed extensions to IP will address some of these concerns, but whether a next-generation TCP/IP will prove to be all-inclusive in its capabilities is yet to be demonstrated.


Background


Internet Protocol (IP)


Transmission Control Protocol (TCP)