Wprowadzenie do Network Time Protocol

Network Time Protocol (NTP) jest jednym z najstarszych protokołów Internetu w użyciu. 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 lub szerszych (LAN / WANS).

W nowoczesnej gospodarce światowej synchronizacja czasu jest niezbędna do realizacji transakcji czasochłonnych, takich jak rezerwacja biletu lotniczego do licytacji na stronie aukcji internetowej. Jeśli zegary nie zostały zsynchronizowane w tym samym czasie, może się okazać, że twoje gniazdo lotnicze zostało sprzedane po jego zakupie, a administratorzy Ebaya nie byliby w stanie odkryć, która oferta była ostatnia.

NTP to wielopoziomowy system, z którego każdy poziom nazywany jest warstwą. Serwery na każdym poziomie komunikują się ze sobą (peer) i zapewniają czas na obniżenie warstw. Serwery w górnej warstwie, warstwa 1, łączą się z zegarem atomowym za pośrednictwem Internetu lub radia lub odbiornika GPS, natomiast serwer warstwy 2 łączy się z warstwą 1.

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 ramach pakietu 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).

Program NTP (znany jako demon w systemie UNIX i usługa w systemie Windows) działa w tle i nie chce uwierzyć w czas, w jaki jest on przekazywany, dopóki kilka wymian nie będzie miało miejsca, a każdy z nich przejdzie zestaw testów. Jeśli odpowiedzi serwera spełniają te "specyfikacje protokołu", serwer jest akceptowany. Zwykle potrzeba około pięciu dobrych próbek (pięć minut), dopóki serwer NTP nie zostanie zaakceptowany jako źródło synchronizacji.

Synchronizacja z NTP jest stosunkowo prosta, to synchronizuje czas z odniesieniem do wiarygodnego źródła zegara, takie jak zegar atomowy, chociaż są one bardzo drogie i zazwyczaj można znaleźć tylko w dużych laboratoriach fizyki, jednak NTP można użyć Global Positioning System (GPS) lub specjalista sieć transmisji radiowej, aby otrzymać czas UTC z tych zegarów.

Dostępna jest uproszczona wersja NTP o nazwie Simple Network Time Protocol (SNTP), która nie wymaga przechowywania informacji o wcześniejszych połączeniach wymaganych przez NTP. Jest używany w niektórych urządzeniach i aplikacjach, w których synchronizacja z wysoką dokładnością nie jest tak ważna i jest instalowana w starszych wersjach systemu Microsoft Windows. Windows od 2000 zawiera usługę czasu systemu Windows (w32time.exe), która używa SNTP do synchronizacji zegara komputera. NTP jest również dostępny w UNIX i LINUX (pobierz przez NTP.org).

Ten post został napisany przez

Stuart

Powiązane artykuły