When Transmission Control Protocol (TCP) most appropriate?
TCP(Transmission Control Protocol) is a protocol of the Transport layer. TCP is a connection-oriented, reliable, and secured protocol. To provide reliable service TCP implements Error control, Congestion control, Flow control.
Services provide by TCP :
- The process to process communication –
It is achieved using the port number.
- Stream Delivery Service –
It allows the sending process to deliver data as a stream of bytes.
- Full Duplex services –
It performs multiplexing and demultiplexing.
- Reliable protocol –
It uses an acknowledgement mechanism to check and sound arrival of data.
- Connection oriented Services.
TCP uses Go back N and Selective Data and Selective Repeat protocol for reliable data transfer. Two types of acknowledgment are used by TCP, which are as follows:-
Features of TCP :
1. Flow Control –
Flow Control is provided by TCP. The amount of data that is to be sent by the sender is being controlled by the receiver. This is done to prevent the receiver from being overloaded with data. TCP uses byte-oriented flow control.
2. Error Control –
The transport layer needs to be reliable because the underlying protocol IP is unreliable. Reliability can be achieved through error control. Error control at the transport layer includes:
- Detecting and discarding the corrupted packets.
- Keeping track of lost and discarded packets.
- Recognizing duplicate packets and discard them.
- Buffering out of order packet until the missing packet arrives.
Error control involves sending and receiving the transport layer.
3. Congestion Control –
Congestion in a network occurs if the load of the network is greater than the capacity of the network. The amount of data sent by the sender is not received by the receiver but is also determined by the level of congestion in the network. TCP takes into account congestion in the network.
When is Using the Transmission Control Protocol (TCP) Most Appropriate?
Hence, TCP is most appropriate when we need reliability and also when we have to send a small amount of data and we are expecting its immediate response.