TCP (Transmission Control Protocol) is one of the main protocols of the Internet protocol suite. It lies between the Application and Network Layers which are used in providing reliable delivery services. It is a connection-oriented protocol for communications that helps in the exchange of messages between the different devices over a network.
Advantages
- It is a reliable protocol
- It provides an error-checking mechanism as well as one for recovery
- It gives flow control
- It makes sure that the data reaches the proper destination in the exact order that it was sent
- Open Protocol, not owned by any organization or individual
- It assigns an IP address to each computer on the network and a domain name to each site thus making each device site to be distinguishable over the network.
Disadvantages
- TCP is made for Wide Area Networks, thus its size can become an issue for small networks with low resources
- TCP runs several layers so it can slow down the speed of the network
- It is not generic in nature. Meaning, it cannot represent any protocol stack other than the TCP/IP suite. E.g., it cannot work with a Bluetooth connection.
- No modifications since their development around 30 years ago.