| TCP (Transmission Control Protocol) is a connection-oriented protocol. The communicating devices should create a connection before transmitting data and close the connection after transmitting the data, according to connection orientation. | The User Datagram Protocol (UDP) is a datagram oriented protocol. This is due to the lack of expense associated with creating, maintaining, and terminating connections. For BROADCAST and MULTICAST network transmission, UDP is a good choice. |
| TCP is dependable because it ensures data delivery to the destination router. | In UDP, data delivery to the destination cannot be assured and hence, it is not dependable. |
| TCP has a number of error checking methods. It is because it allows for data flow control and acknowledgement. | UDP only provides a checksum-based error checking mechanism. |
| There is an acknowledgement segment in TCP. | There is no acknowledgement segment in UDP. |
| TCP is slower, more complicated, and inefficient than UDP. | UDP is faster, simple and more efficient than TCP. |
| The Transmission Control Protocol has a function that allows data to be sequenced. This means that packets arrive at the receiver in the sequence they were sent. | In UDP, there is no data sequencing. The application layer MUST control the order if it is required. |
| TCP uses a variable-length (20-60) bytes header. | UDP has a fixed-length header of 8 bytes. |
| TCP allows for the retransmission of dropped packets. | UDP does not allow for the retransmission of dropped packets. |
| Broadcasting is not supported by TCP. | Broadcasting is supported by UDP. |
| Handshakes such as SYN, ACK, and SYN-ACK are used in TCP. | It is a connectionless protocol, which means it does not require a handshake. |
| TCP is a heavy-weight protocol. | UDP is a lightweight protocol. |
| HTTP, HTTPs, FTP, SMTP, and Telnet all use TCP. | DNS, DHCP, TFTP, SNMP, RIP, and VoIP all use UDP. |