TCP/IP

How do TCP and IP differ?

IP is the part that obtains the address to which data is sent. TCP is responsible for data delivery once that IP address has been found. It's possible to separate them, but there isn’t really a point in making a difference between TCP and IP. Because they're so often used together, “TCP/IP” and the “TCP/IP model” are now recognized terminology. Think of it this way: The IP address is like the phone number assigned to your smartphone. TCP is all the technology that makes the phone ring, and that enables you to talk to someone on another phone. They are different from one another, but they are also meaningless without one another.

What does TCP and IP do? And how does it work?

TCP/IP was developed by the U.S. Department of Defense to specify how computers transfer data from one device to another. TCP/IP puts a lot of emphasis on accuracy, and it has several steps to ensure that data is correctly transmitted between the two computers. Here’s one way it does that. If the system were to send the whole message in one piece, and if it were to encounter a problem, the whole message would have to be re-sent. Instead, TCP/IP breaks each message into packets, and those packets are then reassembled on the other end. In fact, each packet could take a different route to the other computer, if the first route is unavailable or congested. In addition, TCP/IP divides the different communications tasks into layers. Each layer has a different function. Data goes through four individual layers before it is received on the other end (as explained in the following section). TCP/IP then goes through these layers in reverse order to reassemble the data and to present it to the recipient. The purpose of the layers is to keep things standardized, without numerous hardware and software vendors having to manage communication on their own. It’s like driving a car: All the manufacturers agree on where the pedals are, so that’s something we can count on between cars. It also means that certain layers can be updated, such as to improve performance or security, without having to upgrade the entire thing.