Transmission Control Protocol
It's commonly called TCP. It is one of the most important protocols in the Internet Protocol Suite. TCP operates at the Transport Layer of the OSI Model. (We will discuss the OSI Model later).
TCP is primarily used by applications that use the internet or other IP networks for web Browse, email, and file transfers. The main reason is that TCP is reliable. When a computer sends data to another computer using TCP, it can deliver the data reliably.
After the transfer is complete, it can confirm that the data was successfully sent with an acknowledgement, and if any data packets are missing, it has the ability to resend them. Think of an acknowledgement as similar to signing for a package upon delivery.
Therefore, TCP is often referred to as providing Reliable Delivery, Ordered Delivery, and Error-Checked Delivery. Ordered Delivery means it can receive packets in the correct sequence, for example, Packet 1, 2, and 3. In receiving files, the error-checking mechanism checks the packets and can automatically request a resend of any missing packets. These are TCP's advantages.
TCP Header
Looking at the top of the TCP Header, you will see the **Source Port** and **Destination Port**. They indicate which port on the source is communicating and which port on the server is being contacted.
The **Sequence Number** can be described as numbers originating from the TCP stack of the source machine. It's used to place packets in order and to make them reusable.
The **Acknowledgement Number** is a type of sequence number that the receiving system sends back. It's a message that says, "I have received these sequence numbers and packets." This way, the sender can know if the packets it sent have arrived. If an acknowledgement number is not received within an expected timeframe, the sender will assume the packet did not arrive and will retransmit it. This is why a TCP connection is considered more certain and reliable than UDP.
Below that, there are other basic required information fields. Since reading about them might be boring, I will skip the details. I assume you now have a rough idea of what is included in the TCP Header. You can refer back to Figure
In summary, before sending data, TCP establishes a connection between the sender and the receiver. (For a simple example, it's like calling someone far away on the phone. You first establish a connection to be able to talk. Then you send the data, which is the conversation). After a connection is established, large messages (data) are broken into smaller packets to make them easier to transport through the network. To avoid things getting mixed up when reassembling, the fragmented packets are given a sequence number. So, if packets 1 to 10 are sent, and packet 9 doesn't reach the other side (no ack is received for seq 9), TCP will resend that packet. This ensures that the other side receives a complete set of packets. And it's not enough for the packets to be complete; they are also checked for errors.
Additionally, TCP manages the transmission speed of the data based on how much information the receiver can handle. This is to prevent the system from slowing down due to data overload.
Another thing to understand is TCP's **Three-Way Handshake**, which will be explained in the next section.
0 Comments