Le protocole UDP est un protocole simple offrant des fonctions de couche transport de base. Il crée beaucoup moins de surcharge que le protocole TCP car il n'est pas orienté connexion et ne propose pas de mécanismes sophistiqués de fiabilité (retransmission, séquençage et contrôle de flux).
Cela ne signifie pas que les applications utilisant le protocole UDP ne sont jamais fiables, ni que le protocole UDP n'est pas efficace. Cela signifie simplement que ces fonctions ne sont pas fournies par le protocole de couche transport et qu'elles doivent être implémentées à un autre niveau, le cas échéant.
Bien que le volume total de trafic UDP d'un réseau standard soit relativement faible, des protocoles importants de couche application utilisent le protocole UDP, notamment :
- Système de noms de domaine (DNS)
- SNMP (Simple Network Management Protocol)
- Protocole DHCP (Dynamic Host Configuration Protocol)
- Protocole RIP (Routing Information Protocol)
- TFTP (Trivial File Transfer Protocol)
- Téléphonie IP ou voix sur IP (VoIP)
- Jeux en ligne
Certaines applications, comme les jeux en ligne ou la VoIP, peuvent tolérer la perte d'une certaine quantité de données. Si ces applications utilisaient le protocole TCP, elles risqueraient d'être confrontées à des retards importants lorsque le protocole TCP détecterait les pertes de données et retransmettrait les données. Ces délais seraient plus préjudiciables à l'application que la perte d'une petite quantité de données. Certaines applications, comme le système DNS, renvoient simplement la requête si aucune réponse n'est reçue. Par conséquent, elles n'ont pas besoin du protocole TCP pour garantir l'acheminement des messages.
La faible surcharge qu'engendre le protocole UDP rend celui-ci très intéressant pour de telles applications.