diumenge, 26 d’octubre del 2008

Actualitzar data i hora amb servidor NTP

El canvi d'hora d'horari d'estiu a d'hivern, a part de ser un maldecap per a les persones, pot ser l'excusa ideal per a posar al dia l'hora dels sistemes.

Amb aquesta senzilla instrucció:
sudo ntpdate -u ptbtime2.ptb.de
aconseguim sincronitzar el rellotge del nostre servidor amb el rellotge atòmic de la Physikalisch-Technischen Bundesanstalt.

El protocol emprat és el Network Time Protocol o NTP.

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'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 disenyat originàriament per Dave Mills, de la Universitat de Delaware, qui encara encapçala el grup de manteniment amb diferents voluntaris.

El dimoni NTP es 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àndar implementant en el kernel del sistema operatiu, enlloc 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 232 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 a: 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, tot i que, fins l'any 2005, només s'ha documentat fins la versió 3 dins dels RFC. El Grup de Treball sobre NTP de la IETF té com a objectiu estandaritzar el treball de la comunitat NTP des del RFC 1305.

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ó, veure els RFC 1361, RFC 1769, i RFC 2030.

La pàgina més important d'informació relacionada amb la implementació del protocol NTP sobre diferents plataformes és NTP homepage. Existeixen altres empreses que ofereixen solucions per a servidors de temps, com ELPROMA,EndRun Technologies, Spectracom, Symmetricom, Meinberg i FEI-Zyfer.