|
Transmission Control Protocol (TCP) is the transport layer most
commonly used with IP. TCP/IP was originally developed by the
Defense Advanced Research Projects Agency (DARPA) to connect
scientific and research computers. These computers standardized
on the TCP/IP suite of communications protocols
and were joined together to form the Internet. TCP breaks down and reassembles the packets, whereas IP is responsible for making sure the packets are sent to the right destination. TCP/IP is used because the Internet is a packet-switched network. In a packet-switched network, there is no single, unbroken connection between sender and receiver. Instead, when information is sent, it is broken into small packets, sent over many different routes at the same time, and then reassembled at the receiving end. When you send something, TCP breaks up the data. Each packet is given what's called a header. This header has a variety of information that is primarily used to help the packets be reassembled when they reach their destination. As TCP creates each packet, it also calculates and adds to the header a "checksum." This is a number that TCP uses on the receiving end to determine whether any errors have been introduced into the packet during transmission. The checksum is based on the precise amount of information in the packet. These packets are then put into separate IP "envelopes" that contain addressing information that tells the Internet where to send the data. As the packets travel across the Internet, computers called "routers" along the way examine the IP envelopes and look at their addresses. These routers determine the most efficient path for sending each packet to the next router closest to its final destination. After traveling through a series of routers, the packets arrive at their destination. Because the traffic load on the Internet changes constantly, the packets may be sent along different routes and the packets may arrive out of order. As the packets arrive, TCP calculates a checksum for each packet. It then compares this checksum with the checksum that has been sent in the packet. If the checksums don't match, TCP knows that the data in the packet has been corrupted during transmission. It then discards the packet and asks that the original packet be retransmitted. When all the non-corrupt packets are received by the destination computer, TCP assembles them into their original, unified form. |