Network Time Protocol (NTP), Understanding Synchronization.

Network Time Protocol wydaje się istnieć od zawsze. W rzeczywistości jest to jeden z najstarszych protokołów internetowych opracowany w 1980 przez profesora Davida Millsa i jego zespół z Uniwersytetu Delaware.

W wyluzowanym świecie być może nie ma znaczenia, czy sieci komputerowe nie są zsynchronizowane. Jedyną konsekwencją błędów w czasie może być wysłanie wiadomości e-mail przed jej wysłaniem, ale w branżach takich jak rezerwacja miejsc w terminalach lotniczych, giełda lub komunikacja satelitarna, ułamki sekund mogą spowodować poważne błędy, takie jak sprzedaż miejsc więcej niż raz, strata milionów dolarów, a nawet oszustwa.

Komputery są maszynami logicznymi, a ponieważ czas jest liniowy dla komputera, każde zdarzenie zachodzące na jednej maszynie musi nastąpić, zanim wiadomości o tym zdarzeniu dotrą do innego. Gdy sieci nie są zsynchronizowane, komputery mają problemy z zajęciem się zdarzeniami, które w oczywisty sposób miały miejsce (np. Wysyłanie e-maili), ale zgodnie z ich zegarem i znacznikiem czasu jeszcze nie, po prostu pomyśl o błędzie tysiąclecia, gdzie obawiano się zegarów wróć do 1900!

Z tego właśnie powodu opracowano NTP. NTP używa algorytmu (algorytmu Marzullo) do synchronizowania czasu z bieżącą wersją NTP może utrzymywać czas w publicznym Internecie w ciągu 10 milisekund i może wykonywać jeszcze lepsze połączenia przez LAN. Serwery czasu NTP działają w pakiecie TCP / IP i polegają na UDP (User Datagram Protocol).

Serwerów NTP są zwykle dedykowanymi urządzeniami NTP, które używają pojedynczego odwołania czasowego do synchronizacji sieci. Odniesienie do tego czasu jest najczęściej źródłem UTC (Coordinated Universal Time). UTC to globalna skala czasowa dystrybuowana przez zegary atomowe za pośrednictwem Internetu, specjalistycznych transmisji radiowych fal długich lub za pośrednictwem sieci GPS (Global Positioning System).

Algorytm NTP korzysta z tego odniesienia czasowego, aby określić ilość do wyprzedzenia lub wycofania zegara systemowego lub sieciowego. NTP analizuje wartości datownika, w tym częstotliwość błędów i ich stabilność. Serwer NTP będzie utrzymywał szacunkową jakość zarówno zegarów referencyjnych, jak i samej siebie.

NTP jest hierarchiczny. Odległość od punktu odniesienia jest podzielona na warstwy. Stratum 0 jest atomowym odniesieniem zegarowym; Stratum 1 jest serwerem NTP, podczas gdy Stratum 2 jest serwerem, który odbiera informacje o taktowaniu z serwera NTP. NTP może obsługiwać prawie nieograniczone warstwy, ale im dalej od odniesienia do czasu, tym mniej dokładna będzie.

Ponieważ każdy poziom warstwy może zarówno odbierać, jak i wysyłać sygnały taktowania, zaletą tego hierarchicznego systemu jest to, że tysiące komputerów można zsynchronizować tylko z potrzebą jednego serwera NTP.

NTP zawiera miarę bezpieczeństwa zwaną uwierzytelnianiem. Uwierzytelnianie weryfikuje, czy każdy znacznik czasu pochodzi z zamierzonego odniesienia do czasu, analizując zestaw kluczy szyfrowania, które są wysyłane z odwołaniem do czasu. NTP analizuje go i potwierdza, czy pochodzi on ze źródła czasu, sprawdzając go w zestawie zaufanych kluczy w plikach konfiguracyjnych.

Jednak uwierzytelnianie jest niedostępne ze źródeł czasowych z Internetu, dlatego Microsoft i Novell zalecają między innymi stosowanie zewnętrznych odniesień czasowych, takich jak dedykowane Serwer NTP GPS lub taki, który otrzymuje krajową transmisję fal długich i częstotliwościowych.

Ten post został napisany przez

Richard N Williams

Richard N Williams jest autorem techniczny i specjalista w branży Server i synchronizacji czasu NTP. Richard N Williams na Google+

Powiązane artykuły