Welcome to tcpipworld.com Blog Post # 1
Good artists borrow, great artists steal— Pablo Picasso
In this blog post, we will discuss Introduction to TCP.
Key Take-Away :
- TCP Byte Stream Protocol
- What features TCP provides
Let’s begin with the list of Topics.
1 Why TCP is important?
TCP is a connection-oriented protocol and why it is called Bytestream Protocol. TCP is a widely used protocol and the entire internet protocol stack called TCP/IP Suite.
1.1 What is connection-oriented means?
Connection to be build before the data goes from one place to another.
1.2 What is a byte stream protocol means?
Message exchange between the application process and transported via bytes. Bytes means a collection of bits. By a collection of bytes, it creates a segment and these segments are transported across the end host.
Typically the application process writes bytes into TCP send buffer. At the receiving side, these segments receive at TCP receive buffer. Assemble these byte segments and pass them to the application process to read the data.
2. Let’s Discuss TCP Services.
Here are the service offered by TCP like any other transport protocol.
2.1 Multiplexing & Demultiplexing
Sockets are between the Application Layer and the Transport layer. Processes communicate with the help of Sockets. A Socket defines client IP Address, Port Number, Server IP address, and Port Number.
Multiplexing is something pushing up in one channel, Demultiplexing is taking them out and separating the channels.
Gathering data from multiple application processes of the sender, encapsulating that data with header and sending them as a whole to the intended receiver called Multiplexing.
The segment at the receiver side demultiplexes those data, segregating them and delivering them to the respective application.
TCP provides point-to-point reliability as this is a connection-oriented protocol and data ACK after it reaches the receiver.
2.3 Full Duplex
TCP worked on full-duplex mode. What do I mean? If you want to send data between A to B and B to A. They can send data in either direction. No need to have two separate connections.
2.4 Flow Control
TCP provides flow control where the receiver is going to control the sending data rate of the sender. What is this means?
2.4.1 For Example: If you have a fast sender, whereas the receiver processor not reading the data as fast from the receive buffer. The receiver buffer will overflow. TCP uses flow control, where the receiver stops the sender from sending too much data. Flow control stops senders by overwhelming the receiver.
This speed matching service : (Matching the send rate to receiving application drain rate)
2.5 Congestion Control
TCP sender will ensure data rate should match receivers receiving rate, this ensures that TCP stops the sender from overwhelming the network. This intern can lead to buffer overflow at the router and the dropping of packets. Congestion control ensures such things don’t happen to the extent possible.
TCP Introduction TCP Connection-Oriented Byte Stream Protocol TCP Features
1. Multiplexing & Demultiplexing
2. Reliable Point to Point data transfer
3. Full duplex
4. Flow control
5. Congestion Control