Network Time Protocol este un mijloc de sincronizare precisă a timpului între mai multe computere dintr-o rețea. Majoritatea ceasurilor computerelor pierd cel puțin o secundă întreagă de timp în fiecare zi, ceea ce nu este atât de important pentru utilizatorul obișnuit. Multe sisteme de securitate și de înregistrare a evenimentelor trebuie să urmărească computerele pe mai multe rețele, inclusiv pe Internet. Aceste sisteme se bazează pe sincronizarea ceasului computerelor lor conectate cu Network Time Protocol. Acest protocol actualizează frecvent ora exactă pe clienții săi de pe servere care mențin standardul internațional de timp atomic.
Cunoscut și sub acronimul NTP, Network Time Protocol a fost stabilit pentru prima dată ca standard la sfârșitul anilor 1980. Au fost făcute mai multe revizuiri de-a lungul anilor 1990 pentru a îmbunătăți autentificarea, algoritmii, precizia și sincronizarea externă. În 2010, versiunea 4 a NTP a fost propusă de Internet Engineering Task Force (IETF) în Request For Comments (RFC) 5905. Versiunea 4 include criptografia cu cheie publică, precizia în timp în nanosecunde și o metodă de localizare automată a unui server de timp. Include, de asemenea, algoritmi și precizie îmbunătățiți, precum și suport pentru noile ceasuri de referință hardware și sisteme de operare.
Un utilizator dintr-o rețea locală mică poate fi doar ușor enervat atunci când marcajele de timp pentru modificarea e-mailului sau a fișierelor nu sunt în ordine. Cu toate acestea, rețelele cu mulți utilizatori și resurse partajate pe Internet vor fi afectate semnificativ de acest lucru. Pentru bazele de date de tranzacții financiare, aplicațiile de control industrial și software-ul de monitorizare a rețelei, timpul precis este de obicei critic, nu numai pentru sistemul de înregistrare a tranzacției, ci și pentru toate computerele care raportează date, 24 de ore pe zi. Network Time Protocol și serverele internaționale de timp care îl acceptă pot răspunde acestor nevoi.
Un administrator de rețea ar putea actualiza manual ora zilnică pe fiecare client de pe un server de timp. De asemenea, sistemele pot fi configurate pentru a reîncărca timpul la fiecare repornire. Deviația de timp de la oră la oră este semnificativă, totuși, din cauza multor factori, inclusiv problemele legate de temperatură și sistemul de operare. Cea mai bună soluție este de obicei să resetați automat fiecare ceas în trepte foarte mici de mai multe ori pe zi cu Network Time Protocol. Folosind această metodă, sistemele și utilizatorii nu sunt „surprinși” de salturi relativ mari, bruște, înainte sau înapoi în timp.
Un client care utilizează Network Time Protocol poate obține ora exactă de la un server bazat pe Internet sau de la o sursă de timp externă conectată. În cele din urmă, ambele surse obțin ora universală coordonată (UTC) de la un server de timp internațional. O sursă cablată o poate primi direct sau indirect printr-un semnal radio special. O sursă de rețea o obține de obicei indirect prin mai multe straturi de servere care rulează software NTP. Deși există doar câteva servere de timp conectate direct la ceasurile atomice, zeci de mii de servere din întreaga lume transmit ora către sistemele locale.
Software-ul legat de timpul rețelei care rulează pe fiecare client NTP își menține ceasul actualizat cu acuratețe și regularitate extremă. Când un client nu este conectat la Internet, algoritmii NTP estimează timpul curent pe baza performanțelor anterioare. Sistemele care nu au nevoie de capabilitățile complete ale NTP pot utiliza o versiune redusă numită Simple Network Time Protocol (SNTP).