About UDP – User Datagram Protocol
– UDP or the User Datagram Protocol is among the important members of the IPS (i.e., internet protocol suite).
– User data gram protocol provides the facility to the computer applications of sending messages to the other hosts on the IP networks.
– These messages are commonly referred to as the datagrams.
– All this, it does before making any communication for setting up special data paths or transmission channels.
– This is the major characteristic of the user data gram protocol.
– Second characteristic feature of the UDP is its simple transmission model.
– Special thing about this is that it operates on very less of the protocol mechanism which has not got any of the handshaking dialogues.
– This also contributes in exposing the unreliability of the network underlying the operating network to the program being run by the user.
– This is termed as the IP over unreliable media and it does not guarantee the delivery, duplicating protection or ordering the data grams.
– UDP suits much for the situations where there is zero or less requirement of the error checking and correction.
– This is done in order to avoid the processing overhead at the level of network interface.
– Time sensitive applications make use of the user data gram protocol because usually dropping packets is preferred over waiting for the packets that have been delayed.
– Further, the real – time systems do let us use this option.
– If at all error correction facilities might be required at the network interface level, then the application might use the SCTP (stream control transmission protocol) and TCP (transmission control protocol) which have been designed especially for the purpose.
Some Important Characteristics of UDP
1. Port Numbers: UDP provides these numbers for the addressing of the functions both at the data gram’s source and destination.
2. Check-sums: These are a way of UDP for maintaining the data integrity.
Transaction oriented: UDP proves suitable for the query–response protocols that are quite simple such as the network time protocol or the domain name system.
3. Data grams: Datagrams offered by UDP are quite perfect when it comes to modeling other protocols as in the following:
– Network file system
– Remote procedure call
– IP tunneling
4. Simple: It can be used for bootstrapping and in other purposes that don’t require a full protocol stack like trivial file transfer protocol and DHCP.
5. Stateless: UDP can handle a large number of clients in applications such as IPTV (i.e., streaming media applications).
6. Lack of re-transmission delays: This characteristic makes the UDP perfect to be used in the real – time applications (including only games and voice over IP) and other protocols that are built over the real time streaming protocol.
7. Unidirectional: UDP is known to work quite well in the unidirectional communication, thus making it suitable for broadcasting information as in service discovery and routing information protocol.
8. Data gram sockets: These are used by UDP applications for establishing the host–to–host communications. The socket is bounded to the end – point of the data transmission by some application that combines both the service port and the IP address.
9. Packet structure: UDP is a transport layer protocol and that too minimal message – oriented. Therefore it does not guarantee the message delivery for the upper layers of the protocol and so state of the messages that have been sent is retained. This is one reason why UDP if often called the ‘unreliable’ data-gram protocol.
10. Multiplexing: UDP offers this through some port numbers.
11. Integrity verification: The check-sums about which we stated above are used for this purpose. If there’s a requirement of transmission reliability, UDP needs to be implemented in the application of the user.
12. Pseudo – headers
13. IPv4 pseudo header: When there’s a situation of UDP over IPv4, pseudo header is used for computing the checksum. This header consists of info same as that of the real IPv4 header. Pseudo header is not the real one and is only used in computations.
14. IPv6 pseudo header: In this case it becomes mandatory to calculate the check-sum.