Wprowadzenie do Network Time Protocol (NTP)
Wysłane przez Richard N Williams on Stycznia 29th, 2008
Protokół NTP (Network Time Protocol) jest jednym z najstarszych protokołów internetowych, które są nadal używane. Opracowany przez dr Davida Millsa z University of Delaware, był w ciągłym użyciu i stale aktualizowany od 1985. NTP to protokół przeznaczony do synchronizacji zegarów na komputerach i sieciach w Internecie lub w sieciach lokalnych (LAN).
NTP używa algorytmu (algorytmu Marzullo) do synchronizacji czasu w sieci przy użyciu skal czasowych takich jak UTC (Coordinated Universal Time lub Temps Universel Coordonné) i może obsługiwać takie funkcje, jak sekundy przestępne - dodane w celu kompensacji spowolnienia obrotu Ziemi.
NTP (najnowsza wersja 4) może utrzymywać czas w publicznym Internecie z dokładnością do 10 milisekund (1 / 100th of sekunda) i może działać jeszcze lepiej w sieciach LAN z dokładnością mikrosekund 200 (1 / 5000 sekundy) w idealnych warunkach .
Serwery czasu NTP działają w pakiecie TCP / IP i polegają na UDP (User Datagram Protocol). Mniej skomplikowana forma NTP zwana Simple Network Time Protocol (SNTP), która nie wymaga przechowywania informacji o wcześniejszej komunikacji, potrzebnej przez NTP, jest używana w niektórych urządzeniach i aplikacjach, w których synchronizacja z wysoką dokładnością nie jest tak ważna i jest również uwzględniana jako standardowy w oprogramowaniu Windows (chociaż nowsze wersje systemu Microsoft Windows mają zainstalowany pełny NTP, a kod źródłowy jest darmowy i łatwo dostępny w Internecie).
Synchronizacja czasu z NTP jest stosunkowo prosta, synchronizuje czas w odniesieniu do niezawodnego źródła zegara. To źródło może być względne (zegar wewnętrzny komputera lub czas na zegarku) lub bezwzględne (źródło zegara UTC, podobnie jak zegar atomowy, które jest dokładne, jak to tylko możliwe).
Zegary atomowe są najbardziej bezwzględnych czas utrzymywania urządzenia. Działają one na zasadzie, że atom cezu 133 miał ustaloną liczbę cykli promieniowania co drugi (9,192,631,770). Okazało się więc dokładne Międzynarodowy System (SI) jest obecnie definiowane jako drugi okres 9,192,631,770 cykli promieniowania atomu cezu 133.
Jednak zegary atomowe są bardzo drogie i na ogół można znaleźć tylko w dużych laboratoriach fizyki. Jednak NTP może synchronizować sieci do zegara atomowego używając zarówno globalnego systemu pozycjonowania (GPS) lub specjalistycznej sieci transmisji radiowej.
Najpowszechniej stosowany jest system GPS, który składa się z kilku satelitów dostarczających dokładnych informacji niezbędnych do pozycjonowania i lokalizacji. Każdy z satelitów GPS może to zrobić tylko poprzez wykorzystanie zegar atomowy, który z kolei może być może być używany jako odniesienie rozrządu.
Typowy odbiornik GPS może dostarczyć informacji o taktowaniu do kilku nanosekund UTC tak długo, jak jest antena położony z dobrym widokiem nieba.
Istnieje również szereg krajowych transmisji radiowych w czasie i częstotliwościach, które można wykorzystać do synchronizacji serwera NTP. W Wielkiej Brytanii sygnał (zwany MSF) jest nadawany przez National Physics Laboratory w Cumbrii, który służy jako krajowe odniesienie czasowe w Wielkiej Brytanii, istnieją również podobne systemy w Kolorado, USA (WWVB) i we Frankfurcie w Niemczech (DCF-77). Sygnały te zapewniają czas UTC z dokładnością do mikrosekund 100, jednak sygnał radiowy ma skończony zakres i jest podatny na zakłócenia.
Odległość od zegara referencyjnego jest znana jako poziom warstwy i istnieją one, aby zapobiec cyklom w NTP i potwierdzić dokładność. Stratum 0 to urządzenia takie jak zegary atomowe podłączone bezpośrednio do komputera. Stratum 1 to komputery dołączone do urządzeń warstwy 0 (np. Przez odbiornik GPS), natomiast Stratum 2 to komputery, które wysyłają żądania NTP do serwerów Stratum 1. NTP może obsługiwać warstwy do 256.
Wszystkie wersje systemu Microsoft Windows od 2000 obejmują usługę czasu systemu Windows (w32time.exe), która ma możliwość synchronizowania zegara komputera z serwerem NTP. Należy zauważyć, że Microsoft zaleca użycie zewnętrznych odwołań czasowych zamiast opartych na Internecie, ponieważ nie można ich uwierzytelnić. Dostępne są specjalistyczne serwery NTP, które mogą synchronizować czas w sieci przy użyciu MSF (lub odpowiednika) lub sygnału GPS.