TCP/IP Overview
Charles Tillmon
Founder | Full Stack Web Developer | IT Support | DevOps Engineer
Have you ever wondered how data is transmitted between computers? Well just like us they must establish a common language before they can communicate. While we may use languages, computers use protocols which are a set of agreements on how they should communicate. These protocols were developed into what is now known as the OSI model; formed in 1984 by the International Standards Organization also known as ISO. While the OSI model has 7 layers our focus will be on the transportation layer and more specifically the TCP/IP protocol.
Typically, data that is rendered to your computer is too large for transport as is. This is where the TCP protocol also known as Transmission Control Protocol comes into play. This splits data into segmented packets for transport and reassembles them at a predetermined location. Each data packet has an associated header that will have contain information on the origin computer, destination computer, and how the packets should be reassembled. IP or Internet Protocol are numbers that are unique to every computer that act like addresses. Computers communicate through numbers and this is the protocol that helps the header determine the origin and destination computer. The main purpose of this is to allow the packets to travel independently with each packet determining the best route to the destination. This minimizes the time it takes to send data so that this process can be as efficient as possible.
TCP also comes with some added measures to ensure that transport runs as smoothly as possible. The first is flow control, which checks the capabilities of both computers to ensure data is not being sent at a speed that exceeds the capabilities of the device it is being sent to. This is communicated in the header and will establish a speed of data transmission that is suitable for both devices. The second measure is error control. Since the data packets arrive to their location independently there is a chance some of the packets can get lost. In these cases, once it is recognized a packet is missing there will be an automatic repeat request. This will start the process over again until all the packets are received.
The transportation layer contains another protocol for a different type of data transmission, but we will cover that later. TCP/IP is the more common protocol on this layer and should be emphasized as such. While this is a brief overview of the protocol we encourage exploring the whole OSI model in depth for a better understanding of what make computers the powerful tools we use everyday.