Network Time Protocol


El Network Time Protocol (NTP) és un protocol de sincronització de rellotges sobre una xarxa de dades de latència variable i mitjançant transmissió de paquets.

El protocol NTP utilitza el port 123 d'User datagram protocol (UDP) com a capa de transport i està dissenyat especialment per resistir els efectes d'una latència variable.

NTP utilitza l'Algorisme de Marzullo, a partir de l'escala de temps UTC. NTPv4 pot mantenir la sincronització fins als centisegons (1/100s), sobre la xarxa pública d'Internet, i pot tenir una precisió de fins a 200 microsegons (1/5000 s).

NTP és un dels protocols més antics d'Internet que encara es mantenen operatius (des d'abans de 1985). NTP va ser dissenyat originàriament per Dave Mills, de la Universitat de Delaware, qui encara encapçala el grup de manteniment amb diferents voluntaris.

El dimoni NTP és un procés d'usuari que s'executa constantment en una màquina que suporta el protocol NTP. Per aconseguir la màxima eficàcia d'aquest protocol és important tenir el bucle de fase tancat (en anglès, Phase-Locked Loop) del rellotge NTP estàndard implementant en el kernel del sistema operatiu, en lloc d'utilitzar només els events del dimoni NTP extern. Totes les versions recents dels sistemes Linux i Solaris ho porten implementat.

Les trames de 64 bits que utilitza NTP estan formades per una part de 32 bits que emmagatzema els segons i una altra part de 32 bits que emmagatzema les fraccions de segon. D'aquesta manera, NTP té una escala de temps de 2³² segons (uns 136 anys), amb una resolució teòrica de 2−32 segons (0.233 nanosegons).

Els detalls pràctics del protocol NTP estan explicats als RFC 778, RFC 891, RFC 956, RFC 958, i RFC 1305. (NTP no s'ha de confondre amb el protocol daytime (RFC 867) ni amb el protocol Time (RFC 868).) La versió d'NTP actual és la 4, RFC 5905 (any 2010).

Un protocol més senzill que NTP, que no necessita emmagatzemar la informació d'anteriors comunicacions és el Simple Network Time Protocol, o SNTP. Per a més informació, vegeu els RFC 1361, RFC 1769, i RFC 2030.


Developed by StudentB