Differences between TCP and UDP
Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are the major protocols operating at Transport Layer. Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) operate very differently and you can choose Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) depending on your requirement.
TCP stands for Transmission Control Protocol and it guarantees delivery of data packets. This protocol provides extensive error checking mechanisms such as flow control and acknowledgment of data. Transmission Control Protocol (TCP) is a connection oriented protocol. Before transmitting data, a connection must be established between the devices participating in data transmission. If your Application require guaranteed delivery of data, then you must choose TCP as the Transport layer protocol.
UDP stands for User Datagram Protocol and it operates in Datagram mode. The main difference you should notice here is User Datagram Protocol (UDP) is a connection-less protocol. User Datagram Protocol (UDP) has only the basic error checking mechanism using checksums.
Difference between Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
Transmission Control Protocol (TCP)
1) Transmission Control Protocol (TCP) is a connection oriented protocol, which means the devices should open a connection before transmitting data and should close the connection gracefully after transmitting the data.
2) Transmission Control Protocol (TCP) assure reliable delivery of data to the destination.
3) Transmission Control Protocol (TCP) protocol provides extensive error checking mechanisms such as flow control and acknowledgment of data.
4) Sequencing of data is a feature of Transmission Control Protocol (TCP).
5) Delivery of data is guaranteed if you are using Transmission Control Protocol (TCP).
6) Transmission Control Protocol (TCP) is comparatively slow because of these extensive error checking mechanisms
7) Multiplexing and Demultiplexing is possible in Transmission Control Protocol (TCP) using TCP port numbers.
8) Retransmission of lost packets is possible in Transmission Control Protocol (TCP).
User Datagram Protocol (UDP)
1) User Datagram Protocol (UDP) is Datagram oriented protocol with no overhead for opening a connection (using three-way handshake), maintaining a connection, and closing (terminating) a connection.
2) User Datagram Protocol (UDP) is efficient for broadcast/multicast type of network transmission.
3) User Datagram Protocol (UDP) has only the basic error checking mechanism using checksums.
4) There is no sequencing of data in User Datagram Protocol (UDP).
5) The delivery of data cannot be guaranteed in User Datagram Protocol (UDP).
6) User Datagram Protocol (UDP) is faster, simpler and more efficient than TCP. However, User Datagram Protocol (UDP) it is less robust then TCP
7) Multiplexing and Demultiplexing is possible in User Datagram Protocol (UDP) using UDP port numbers.
8) There is no retransmission of lost packets in User Datagram Protocol (UDP).