Table of Contents
Before, we have talked about TCP and UDP as an overview. In this CCNA Certification Lesson, we will compare these two transport layer protocols and we will learn their main characteristics. In other words, we will compare TCP vs UDP, we will learn what is the difference between TCP and UDP. This comparison is very important in networking world and it is generally a Network Engineering Technical Interview Question. This lesson is also an important lesson for network engineering certification exams. Because, there are critical questions are coming from this lesson on certification exams.
By the way, there is also another transport layer protocol named SCTP (Stream Control Transmission Protocol). After learning the difference between TCP and UDP, we will also compare SCTP and TCP in another lesson. We will learn SCTP vs TCP. But here, our focus is not SCTP but the other two transport protocols.
Below, you can find a table that compares TCP vs UDP. We will also explain each line for you detailly. According to the latest developments on these transport protocols, our comparison table is renewed.
(Below, you can find the previous old comparison tables)
So, what is tcp and udp difference? Let’s explain one by one.
Let’s firstly start with the full name of these transport layer protocols. TCP stands for Transmission Control Protocol while UDP stands for User Datagram Protocol.
The first difference of TCP vs UDP comparison is about connections and sessions. In User Datagram Protocol, you do not need a connection, so it is a connectionless transport protocol. But Transmission Control Protocol needs a connection. In other words, a connection must be established for the communication of this protocol. So, TCP is a connection-oriented protocol. This connection is done with TCP 3-Way Handshake. with SYN, ACK and SYN-ACK messages. And this connection is termianted with TCP 4-Way Handshake, with FIN and ACK messages from both sides.
How about TCP vs UDP speed comparison? If we compare speeds, whatis the difference between TCP and UDP?If we compare the speeds of these two protocols, this time UDP (User Datagram Protocol) wins, because it is faster than TCP. It needs less actions to send data, because it is connectionless and it has no ACK mechanism for guaranteed transfer. TCP is slower than UDP because of its additional mechanisms. So, if you need a fast communication and if some losses are not important for you, you can use User Datagram Protocol. But if guaranteed transfer is the number one case for you, then you should use Transmission Control Protocol even it is slower than UDP.
Now, let’s talk about reliability and compare TCP vs UDP. TCP is a reliable protocol. Because, TCP guarantees the delivery of the data with ACK mechanism. If any segment does not reach to the destination and the sender does not receive an ACK in a certain time, it resends the segment again. UDP has no such an ACK mechanism. So, UDP does not guarantee the data delivery. This means that, UDP is a little an unreliable transport protocol.
Another difference between TCP and UDP is about ordering mechanism. In TCP session, sometimes packets can be sent in different orders. So, if we do not do anything, the inordered packets will be meaningful at the other end. We should reorder these packets. Transmission Control Protocol has a mechanism that reorders these packets at the receiver end. But UDP has no such a reorder mechanism. By using reordering mechanism, TCP makes this message meaningful.
Beside reordering mechanism, TCP also has Flow Control, Window scaling. It dynamically sets the window size for the optimum transmission. There is no such a flow control in UDP.
TCP provides extensive error checking mechanism which are not used in User Datagram Protocol. In other words, TCP uses error checking and recovery mechanism together. But UDP uses basic checksums for error checking. So, it is susceptible to the data loses. Generally, applications that uses UDP, provide its own error-recovery.
How about the headers? How about their sizes? When we compare TCP vs UDP, there is a big difference also about the length of the headers. TCP Header is 20 Bytes long and this value can be increased up to 60 bytes with option fields. But UDP Header is fixed 8 Bytes long.
As security mechanims, SSL/TLS (Transport Layer Security) is used by TCP. While DTLS (Datagram Transport Layer Security) is used by UDP. With these mechanism both protocols can be secure at a level.
By the way, TCP is used in Critical applications like file transfers, secure web etc because it is slower but there is guaranteed transfer. But User Datagram Protocol has no guranteed transfer mechanism butit is faster. So, UDP is used in real-time applications like voice services, live conferences, online games.
Beside these differences, different protocols and applications use different TCP and UDP Port Numbers. For example, HTTP, HTTPS and FTP use TCP ports while DHCP, TFTP and SNMP use UDP ports by default. These default port numbers are also asked too much in the network engineering job interviews and in the network certification exams. Now, let’s talk about these default ports and learn them detailly.
In networking, different ports are used for various purposes. Generally, these network port ranges can be divided into three categories. Below, you can find these port ranges:
The applications which use TCP Protocol (Transmission Control Protocol) and UDP Protocol (User Datagram Protocol) use some of these Well-Known Ports. They use only TCP ports, only UDP port or they use ports of both.
Let’s see, some of these Well-Known Network Ports and compare TCP vs UDP ports.
We have compared TCP vs UDP and we have learned the differences between these two protocols. Now, let’s do UDP vs TCP for ports. For UDP and TCP default port comparison, let’s firstly learn the protocols which use only TCP ports. In other words, there are some Applications that use Transmission Control Protocol (TCP) . Some of these protocols are given below:
Beside these protocols, Gopher, Finger, NNTP, IMAP, LDAP, Quick Mail Transfer protocols use also TCP ports by default. Gopher uses port 70, Finger uses port 79 by default. Network News Transfer Protocol (NNTP) uses port 119, Internet Message Access Protocol (IMAP) uses port 143, Lightweight Directory Access Protocol (LDAP) uses port 389 and Quick Mail Transfer Protocol uses port 209 by default.
Secondly, let’s talk about the protocols which use only User Datagram Protocol (UDP) Ports. Some of these protocols are given below:
There are also other protocol that uses UDP ports by default. One of the old but well-known routing protocols, Routing Information Protocol (RIP), uses UDP port 520 by default.
The other important protocol for clock synchronization, PTP (Precision Time Protocol). PTP uses UDP 319, 320 ports by default.
Now, let’s talk about the protocol that use both UDP and TCP ports. There are different protocols and applications use both TCP and UDP ports. One of the well-known network protocols which use both TCP and UDP ports is DNS. DNS uses TCP and UDP port 53. It uses the same port of both of these protocols.
There are also other application which use both of these protocols according to the need. Here, we have talked about some of these well-known protocols only.
You can find the whole list of these ports at the IANA Website. In this list you can also see the ports of other Trasport Layer protocols, Stream Control Transmission Protocol (SCTP) and Datagram Congestion Control Protocol (DCCP) beside UDP and TCP.
In this lesson, we have compared the most improtant transport layer protocols, we have compared TCP vs UDP. To learn more about these transport layer protocols, you can also check the specific lessons of these protocols.
Below, you can find some key questions about the difference of TCP and UDP. You can access also the lesson questions at the end of this page below.
One of the key difference between TCP and UDP is about their headers. TCP header and UDP header has different header length and different parts. The length of TCP header is variable and 20-60 bytes while the length of UDP header is fixed 8 bytes. Let’s check also these header parts one by one to see the difference.
TCP Header Format:
UDP Header Format:
a) 4/16
b) 16/4
c) 8/20
d) 20/8
e) 8/16
a) TCP
b) UDP
a) There is no ACK mechanism
b) Secure transport protocol
c) Provide guaranteed transfer
d) Fast protocol
e) Has 8 bytes header
a) Slow protocol
b) Secure transport protocol
c) No Reorder mechanism
d) There is no ACK mechanism
e) Has 20 bytes header
a) 1-1024
b) 1025-49151
c) 49152-65535
Answers: 1)d 2)b 3)c 4)c,d 5)a
Leave a Reply