Qu'est-ce que l'UDP ?

En tant que protocole de communication de la couche transport, UDP est un protocole très courant pour le trafic voix et vidéo.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir UDP/IP
  • Décrire quelques cas d'utilisation pour UDP

Copier le lien de l'article

Qu'est-ce que l'User Datagram Protocol (UDP/IP) ?

Le protocole de datagramme utilisateur, ou UDP, est un protocole de communication utilisé sur Internet pour les transmissions particulièrement sensibles au temps, telles que la lecture de vidéos ou les recherches DNS. Il accélère les communications en n'établissant pas formellement une connexion avant le transfert des données. Cela permet de transférer des données très rapidement, mais cela peut également entraîner la perte de paquets en transit - et créer des opportunités d'exploitation sous la forme d'attaques DDoS.

Comment fonctionne l'UDP ?

Comme tous les protocoles de mise en réseau, UDP est une méthode normalisée de transfert de données entre deux ordinateurs sur un réseau. Par rapport à d'autres protocoles, UDP accomplit ce processus de manière simple : il envoie des paquets (unités de transmission de données) directement à un ordinateur cible, sans établir de connexion préalable, sans indiquer l'ordre de ces paquets ni vérifier s'ils sont arrivés comme prévu. (Les paquets UDP sont appelés « datagrammes »).

UDP est plus rapide mais moins fiable que TCP, un autre protocole de transport courant. Dans une communication TCP, les deux ordinateurs commencent par établir une connexion via un processus automatisé appelé « poignée de main ». Ce n'est qu'une fois cette poignée de main terminée qu'un ordinateur transfère effectivement des paquets de données à l'autre.

Les communications UDP ne passent pas par ce processus. Au lieu de cela, un ordinateur peut simplement commencer à envoyer des données à l'autre :

Communication TCP vs UDP

En outre, les communications TCP indiquent l'ordre dans lequel les paquets de données doivent être reçus et confirment que les paquets arrivent comme prévu. Si un paquet n'arrive pas, par exemple en raison de l'encombrement des réseaux intermédiaires, le protocole TCP exige qu'il soit envoyé à nouveau. Les communications UDP ne comportent aucune de ces fonctionnalités.

Ces différences créent certains avantages. Comme l'UDP ne nécessite pas de « poignée de main » ni de vérification de l'arrivée des données, il est capable de transférer des données beaucoup plus rapidement que le TCP.

Toutefois, cette rapidité entraîne des inconvénients. Si un datagramme UDP est perdu en transit, il ne sera pas renvoyé. Par conséquent, les applications qui utilisent le protocole UDP doivent être capables de tolérer les erreurs, les pertes et les doublons.

(Techniquement, cette perte de paquets est moins un défaut de l'UDP qu'une conséquence de la façon dont Internet est construit. La plupart des routeurs de réseau n'effectuent pas l'ordonnancement des paquets et la confirmation de leur arrivée par conception, car cela nécessiterait une quantité irréalisable de mémoire supplémentaire. TCP est un moyen de combler cette lacune lorsqu'une application le requiert).

Quels types de services dépendent de l'UDP ?

Le protocole UDP est couramment utilisé dans les communications sensibles au temps, où il est préférable de laisser tomber des paquets de temps en temps plutôt que d'attendre. Le trafic vocal et vidéo est envoyé à l'aide de ce protocole car il est sensible au temps et conçu pour supporter un certain niveau de perte. Par exemple, le protocole VOIP (voix sur IP), utilisé par de nombreux services téléphoniques sur Internet, fonctionne avec UDP. En effet, une conversation téléphonique statique est préférable à une conversation claire mais fortement retardée.

Cela fait également d'UDP le protocole idéal pour les jeux en ligne. De même, comme les serveurs DNS doivent être rapides et efficaces, ils fonctionnent également via UDP.

Comment l'UDP est-il utilisé dans les attaques DDoS ?

Les « risques » de l'UDP, comme la perte de paquets, ne constituent pas un problème grave dans la plupart des cas d'utilisation. Cependant, l'UDP peut être exploité à des fins malveillantes. Étant donné que le protocole UDP ne nécessite pas de poignée de main, les attaquants peuvent « inonder » un serveur cible de trafic UDP sans avoir obtenu au préalable l'autorisation de ce serveur de commencer la communication.

Une attaque par inondation UDP typique envoie un grand nombre de datagrammes UDP à des ports aléatoires sur son ordinateur cible. Cela oblige la cible à répondre par un nombre tout aussi important de paquets ICMP, qui indiquent que ces ports sont inaccessibles. Les ressources informatiques nécessaires pour répondre à chaque datagramme frauduleux peuvent épuiser la cible, ce qui entraîne un déni de service pour le trafic légitime. (Pour en savoir plus, lisez notre article sur les attaques par inondation UDP.) Les organisations peuvent se défendre contre les attaques par inondation UDP à l'aide de diverses méthodes. La première consiste à limiter le taux de réponse des paquets ICMP, bien que cette approche puisse également filtrer les paquets légitimes. Une autre méthode consiste à recevoir et à répondre au trafic UDP par le biais d'un réseau intermédiaire composé de nombreuxdatacenters distribués, afin d'éviter qu'un seul serveur d'origine ne soit submergé par des demandes frauduleuses. Découvrez comment Cloudflare utilise cette stratégie pour aider les entreprises à atténuer les attaques DDoS.

Service commercial