Transmission Control Protocol and User Datagram Protocol

Both of these protocols reside at the transport layer of the OSI model.

Let’s look at the key differences between both →

TCP is reliable while UDP is not.

When the TCP segments arrive at the destination, the protocol makes sure that all the segments were received and there is no error in the transmission and all segments are organized back into the correct order.

On the other hand, UDP doesn’t even care that datagrams were received by the receiver.

TCP is connection-oriented while UDP is connectionless.

TCP uses a 3-way handshake to establish the connection before the data transmission and on top of that, TCP uses a 4-step procedure to make sure that all the data was actually sent and received by the receiver before closing the connection.

In UDP, no procedure to check on transmission status.

A header checksum is used to ensure error-free data transmission.

A UDP header also has a checksum, but it is optional for IPv4 and only necessary for IPv6. If a bit is flipped, a byte mangled, or some other badness happens to a packet, then it is highly likely that the receiver of that broken packet will notice the problem due to a checksum mismatch.

UDP header

TCP is the dominant protocol and is used in WEB, telnet, FTP and E-mail.

But is UDP any good?

Yes, UDP is faster and is preferred for video calls (guess what causes the dropping frames while buffering!) and VoIP (Voice over IP).



This series of posts is an ongoing effort to lay strong foundations of Cyber Security

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store