In questa sezione vedremo in maggior dettaglio il protocollo NTP, mostrando come consenta la sincronizzazione del tempo; faremo comunque maggior riferimento al protocollo Simple (S)NTP, in quanto è da questo che è stato preso spunto per l'implementazione che discuteremo in seguito: diverse parti dei protocolli sono in comune ed una discussione delle differenze è presente nel seguito di questa sezione.
In quanto segue cercheremo di utilizzare le informazioni più aggiornate possibile: in questo momento ci troviamo nel pieno sviluppo nella nuova versione NTPv4 ancora non rilasciata ufficialmente, ma il cui sviluppo continua alacremente, quindi nuove feature possono essere aggiunte o possono essere modificate quelle presenti (come successo per il campo Reference Identifier e per l'autenticazione); per informazioni più dettagliate su NTP/SNTP, si consultino [RFC 2030], [RFC 1305], [RFC XXXX].