Comme le protocole UDP n'est pas orienté connexion, les sessions ne sont pas établies avant que la communication n'ait lieu comme c'est le cas avec le protocole TCP. On dit que le protocole UDP est basé sur les transactions : en d'autres termes, quand une application doit envoyer des données, elle les envoie tout simplement.
De nombreuses applications utilisant le protocole UDP envoient de petites quantités de données pouvant tenir dans un seul segment. Cependant, certaines applications envoient des volumes de données plus importants qui doivent être découpés en plusieurs segments. L'unité de données de protocole UDP est appelée un datagramme, bien que les termes segment et datagramme soient parfois utilisés indifféremment pour décrire une unité de données de protocole de la couche transport.
Quand plusieurs datagrammes sont envoyés vers une destination, ils peuvent emprunter des chemins différents et arriver dans le désordre. Le protocole UDP n'effectue pas de suivi des numéros d'ordre comme le fait le protocole TCP. Le protocole UDP ne peut pas réassembler les datagrammes dans leur ordre de transmission, comme illustré dans la figure.
Le protocole UDP se contente donc de réassembler les données dans l'ordre dans lequel elles ont été reçues, puis de les transmettre à l'application. Si l'ordre des données est important pour l'application, cette dernière doit identifier l'ordre correct et déterminer le mode de traitement des données.