The network operating protocols are based on the open internet interconnection model OSI (Open System Interconnection). It is valid to clarify that the OSI model does not establish an architecture for a network. Rather, it is established as a series of standards for interconnection.
Internet protocol allows systems from different sources to connect without any problem. One of these protocols is the User Datagram Protocol (UDP). If you want to know the characteristics of this protocol and its operation, I invite you to continue reading. We have already started.
What is UDP Protocol?
The UDP protocol ( User Datagram Protocol ) provides a point-to-point communication service that is not connection-oriented but transactions in the transport layer, allowing the connectionless transmission of datagrams in networks based on IP. In addition, UDP is characterized by not guaranteeing the delivery of packets.
This protocol was designed by David P. Reed around the year 1980 to work over IP with datagram schemes. UPD is written in RFC 768 document.
Applications that transmit small amounts of data and typically local networks and real-time applications use the UDP protocol. The UDP protocol is also used by applications that use the user datagram protocol as a best-effort tool, programs that have their mechanisms for reliable transmission, and simulcasting, among others. Thus, the UDP protocols can be used for VPN connections, RIP (Routing Information Protocol), video or audio streaming, and DNS queries.
How does UDP work?
The operation of the UDP protocol is very simple. It only has to encapsulate the data in datagrams and send them to the destination without establishing a connection with it. UDP does not have any flow control or error recovery mechanisms. So, it is up to the application to ensure that the data transfer arrives correctly at its destination.
UDP uses a checksum for data integrity verification. This is used to detect errors in the data. In addition, UDP datagrams have a header with the following fields:
- Source port number.
- Destination port number.
- Length in bytes of the data field.
UDP port numbers allow different applications to be distinguished that use UDP as a transport layer. The source port is used to identify the sending application, and the destination port is used to identify the receiving application.
The length field indicates the length of the UDP header and data. The checksum is used to detect errors in the message. This field is optional, but if it is used, the header field must be increased by two bytes.
Use of the UDP protocol
Most key Internet applications use the UDP protocol for data transmission. This protocol is used, for example, in DNS domain name servers since queries to these servers are fast. These servers are of great importance since they contain the necessary addresses to reach the different clients connected to the Internet.
Another important application that uses the UDP protocol is audio and video streaming. This is because UDP has no control mechanisms that would slow these transmissions.
The UDP protocol is also used in virtual private network ( VPN ) connections since it allows a faster connection than the TCP (Transmission Control Protocol).
In single words, the UDP protocol is very important for the proper functioning of the Internet.
Characteristics of User Datagram Protocol (UDP)
This protocol works connectionless, thus allowing the sending of datagrams even before a connection has been established between sender and receiver. Datagrams are sent to the IP address established by the sequence, specifying which will be the destination port. It is not necessary for the computer associated with the destination to give a response to the source port. However, if a packet must be returned to the sender, the source port information can be included in the UDP header.
Another characteristic of this protocol is that it uses ports to facilitate the process of transferring datagrams to the correct protocols and the TCP protocol. The UDP ports do not have control mechanisms. So, the header is much simpler. The port numbers are defined from values from 0 to 1023 and correspond to fixed services.
In addition, the UDP protocol allows the establishment of agile communication, which always seeks to avoid delays. The fast transmission of data is possible thanks to the fact that in this protocol, it is not necessary to configure the connection. It also influences that if the loss of an individual UDP packet occurs, this situation only affects the quality of the transmission.
The datagram of the UDP protocol can be graphed as follows:
Source Port or source port refers to the point of origin of the datagram. This field is optional, so if it is not necessary to locate the sourcing process, it must be filled with zeros. The receiver will need this information to be able to respond to the sent packet.
For Destination, the Port or destination port is the datagram receiver where the requested service is indicated. It will be where the process to receive the message is identified.
Also, UDP Length refers to the length of the UDP datagram in bytes, which includes the message data. The maximum datagram size can be 64 kb.
Finally, the UDP Checksum refers to the verification or verification sum and is used for possible errors during the transmission process. For this sum, parts of the header, user data, and the pseudo-header are used. This verification is not mandatory; like the source port, it must be filled with zeros if it is not included.
What is the difference between UDP and TCP?
The UDP protocol is unreliable since the information added for communication is minimal. This is mostly used to control and transmit a network’s video and audio. This protocol does not add latency to a network since no connection state is established, and the transmitted information is not tracked.
In this way, a server that uses the UDP protocol can have more clients active simultaneously than one that uses TCP. In summary, with this protocol, the transmission speed is given more importance than the integrity of the transmitted data.
On the other hand, the TCP protocol provides reliability to the transmitted data. However, this reliability comes at a high cost in terms of performance. This protocol guarantees that there is no loss or duplication of packets and that the order in which they arrive at the destination is correct.
This is achieved by adding much more information to the header of the packets. And, since the data packets to be sent have a maximum size, if the information about the packet is large, the size of the useful information is reduced. This causes many more packets to be required to send a complete file.
For all this, when the transmission speed is more important than the physical integrity of the data, UDP is used. On the other hand, if you want to ensure the integrity of the data and that they reach the destination, the TCP protocol is used.
The UDP protocol is a simple and efficient way to transmit data over a network. Although it does not provide reliability, it is perfect for tasks that do not require this type of guarantees, such as audio or video transmission.
UDP has its advantages and disadvantages, but generally, it is an agile and fast way to establish communication between two devices in a network.