Advantages of TCP:
1. Reliable Transmission: TCP is designed to provide reliable transmission of data. It ensures that packets are transmitted in order and are not lost or duplicated.
1. Flow Control: TCP regulates the amount of data that can be transmitted between two nodes to avoid congestion on the network.
1. Error Checking: TCP checks for errors in the data transmitted and re-transmits any packet that has errors.
1. Sequencing: TCP ensures that packets are received in the correct sequence so that the data can be reconstructed correctly.
Disadvantages of TCP:
1. Overhead: The reliability and flow control features of TCP add extra overhead to the communication process.
1. Latency: TCP’s flow control mechanism can slow down the transmission rate if network conditions worsen. This delay, referred to as latency, can degrade the performance of applications that require real-time responses.
1. Connection Oriented: TCP requires a connection setup and teardown process, which adds delay and overhead to the communication process.
1. Congestion Control: TCP’s congestion control algorithm can be too conservative, causing underutilization of the network.