User Datagram Protocol (UDP)
User Datagram Protocol (UDP) supports the network at the transport layer. User Datagram Protocol (UDP) is an unreliable connection-less protocol and is defined by RFC 768 and 1122. It is a datagram service. There is no guarantee that the data will reach its destination. UDP is meant to provide service with very little transmission overhead. It adds very little to IP datapackets except for some error checking and port direction (Remember, UDP encapsulates IP packets). The following protocols or services use UDP:
- DNS
- SNMP
- BOOTP
- TFTP
- NFS
- RPC
- RIP
UDP Message Format
The UDP header includes:
1. Source port number (16 bits) – An optional field
2. Destination port number (16 bits)
3. UDP length (16 bits)
4. UDP checksum (16 bits)
This is followed by data. The UDP checksum includes UDP data, not just the header as with IP message formats. For UDP and TCP checksum calculation a 12 byte pseudo header is included which contains some fields form the IP message header. This header is not transmitted as part of UDP or TCP, but is only used to help compute the checksum as a means of being sure that the data has arrived at the correct IP address. This is the TCP/UDP pseudo header:
1. Source IP address (32 bits)
2. Destination IP address (32 bits)
3. blank filler(0) (8 bits)
4. Protocol (8 bits)
5. UDP length (16 bits)