S'appuyant sur la couche IP, NTP se positionne comme un protocole applicatif basé sur la couche de transport UDP. Il a néanmoins été conçu pour ne pas subir les délais de latence d'UDP, grâce à l'emploi d'un tampon de compensation des latences (appelés aussi Jitter Buffer). Il existe des logiciels client NTP pour la plupart des systèmes d'exploitation et ils permettent de se connecter à un serveur NTP (usuellement sur le port UDP 123) afin de récupérer la date et l'heure avec laquelle se synchroniser.
En raison du nombre importants d'équipements (ordinateurs, routeurs, ...) appelés à se synchroniser avec des serveurs NTP, un système en couches hiérarchiques a été mis au point, chaque serveur de la couche N se synchronisant avec un serveur de la couche N-1 (la couche 0 étant la plus haute de la hiérarchie, la couche de référence). Cette hiérarchie évite par ailleurs les problèmes de boucle dans la synchronisation des serveurs.

La composition de la hiérarchie NTP est composée comme suit :

  • Couche 0 : il s'agit principalement de serveurs reliés par interface RS232 à des horloges atomiques, GPS ou Radio.
  • Couche 1 : serveurs connectés à des serveurs de la couche 0, on les nommé souvent "serveurs temps"
  • Couche 2 : serveurs connectés à des serveurs de la couche 1 qui auto-détectent toute défaillence d'un serveur de la couche 1 et se synchronisent aussi avec des serveurs de la même couche
  • Couche 3 : serveurs connectés à des serveurs de la couche 2 qui peuvent supporter de 16 à 256 couches inférieurs (selon la version du protocole NTP)


NTP est l'un des plus vieux protocoles Internet encore en utilisation et David Mills participe toujours activement à ses évolutions.