Network Time Protocol (NTP) został opracowany ponad 25 lat temu jako sposób dystrybucji dokładnego czasu w Internecie. Jest to jeden z najstarszych obecnie używanych protokołów internetowych. NTP jest protokołem opartym na kliencie i serwerze, służącym do dystrybucji dokładnych czasów do klientów czasu sieciowego w sieci komputerowej. W tym artykule podjęto próbę opracowania niektórych terminów używanych w taktowaniu komputerowym oraz omówienia niektórych funkcji protokołu NTP. NTP działa głównie na systemach operacyjnych Linux i Unix, ale został również przeniesiony do systemu Microsoft Windows.
Jak skonfigurować serwer NTP (Network Time Protocol) w RHEL / Centos 7
Serwery NTP uzyskują dokładny czas z zewnętrznego źródła czasu, takiego jak transmisje czasu i częstotliwości GPS lub Radio. Serwer NTP zapewnia klientom w sieci przede wszystkim trzy rodzaje informacji: przesunięcie zegara systemowego, opóźnienie sieci i dyspersję względem zewnętrznego zegara referencyjnego.
Network Time Protocol ma strukturę heirachiczną; serwery główne, serwery pomocnicze i klienci czasu. Pierwotne serwery NTP są zsynchronizowane z dokładnym zegarem zewnętrznym i przypisuje się warstwę lub hierarchię na poziomie jeden. Wtórne serwery NTP synchronizują się z serwerami podstawowymi i zapewniają bufor między serwerami głównymi i klientami. Dodatkowe serwery mają przypisaną warstwę większą niż jeden. Wraz ze wzrostem warstwy zmniejsza się dokładność serwera.
Network Time Protocol używa protokołu TCPIP UDP (User Data-gram Protocol). Protokół definiuje liczbę różnych pól w komunikatach: Wskaźnik skoku; Numer wersji; Tryb; Warstwa; Głosowanie; Precyzja; Opóźnienie Root; Rozdrażnienie korzeni; Identyfikator referencyjny; Reference Timestamp; Originate Timestamp; Odbierz datownik; Prześlij datownik; Identyfikator klucza i przegląd wiadomości.
Serwer NTP może działać w trzech trybach: unicast; anycast i multicast. W trybach unicast i anycast klient przesyła komunikat żądania NTP do serwera. Serwer NTP odpowiada znacznikiem czasu, który klient może wykorzystać do dokładnego pomiaru czasu. W trybie multiemisji komunikaty czasu NTP są nadawane w okresowych określonych odstępach czasu.
Obecna wersja NTP to wersja 4. Jedyną istotną modyfikacją protokołu między wersjami 3 i 4 jest niewielka re-interpretacja nagłówka w celu dostosowania IPv6. Wszystkie nowe wydania NTP są wstecznie kompatybilne z poprzednimi wersjami protokołu.
Protokół SNTP lub Simple Network Time Protocol to uproszczenie pełnego protokołu Network Time Protocol. Może być stosowany tam, gdzie złożoność pełnego protokołu nie jest wymagana. Protokół SNTP jest wykorzystywany głównie w systemach operacyjnych Microsoft Windows, które nie mają skomplikowanych algorytmów czasu LINUX.
SNTP może być zaimplementowany, gdy nie jest wymagana wysoka wydajność synchronizacji NTP. Format komunikatów protokołu SNTP jest prawie identyczny jak w przypadku protokołu NTP. Jednak złożone podprocedury zaprojektowane w celu utrzymania bardzo dokładnego zsynchronizowanego czasu są usuwane lub upraszczane. Małe komputery o zmniejszonej mocy obliczeniowej, takie jak mikrokontrolery lub sprzęt monitorujący, najczęściej korzystają z SNTP. Protokoły NTP i SNTP są interoperacyjne i mogą być wymieniane bez problemu. Serwer Ntp do zarządzania komputerami ma wbudowane zegary czasu rzeczywistego, które są ubogie w utrzymywanie dokładnego czasu. W związku z tym czas na wszystkich komputerach i urządzeniach sieciowych może oddalać się od siebie w różnym tempie. Może to być prawdziwy ból głowy podczas próby synchronizacji procesów krytycznych dla czasu. Jednak bardzo proste jest zsynchronizowanie każdego urządzenia w sieci z dokładnym odwołaniem do czasu - serwerem czasu NTP.
Serwery NTP to oparte na Internecie lub lokalnie oparte odniesienia czasowe, które utrzymują bardzo precyzyjny czas i udostępniają ten czas komputerom klienckim. Te serwery czasu uzyskują dokładny czas z zewnętrznych zegarów odniesienia, takich jak GPS, źródła czasu i częstotliwości radiowej lub inne serwery NTP.
Protokół NTP lub Network Time Protocol jest używany przez Internet do dystrybucji dokładnych informacji o czasie do klientów czasu sieciowego. NTP jest ważną częścią Internetu od ponad 25 lat. Protokół został opracowany ze względu na konieczność zapewnienia synchronizacji krytycznych procesów. Większość obecnie używanych systemów operacyjnych, w tym Windows XP, 2003 i LINUX, ma wbudowaną możliwość synchronizacji czasu z serwerem NTP. Ponadto istnieje szereg internetowych serwerów czasu NTP z dostępem publicznym, które mogą być używane do synchronizacji infrastruktury sieciowej.
System Microsoft Windows XP / 2000/2003 ma wstępnie skonfigurowany SNTP, Simple Network Time Protocol, oprogramowanie klienckie, które może synchronizować czas z serwerem czasu. Osiąga się to po prostu wpisując nazwę domeny internetowego serwera NTP na karcie właściwości czasu lub wpisie rejestru. Komputer z systemem Windows skontaktuje się z serwerem NTP i zsynchronizuje czas systemowy z określonym odwołaniem w okresowych odstępach czasu.
Systemy oparte na LINUX mają demona NTP, który jest dostępny z oficjalnej strony internetowej NTP. Demon NTP działa stale w tle i monitoruje określone serwery NTP. Demon odczytuje uporządkowaną listę serwerów NTP z pliku konfiguracyjnego i okresowo synchronizuje czas z wybranym odwołaniem.
Podsumowując, serwery czasu NTP są dedykowanymi serwerami czasu sieciowego, które uzyskują czas z dokładnego zewnętrznego źródła, takiego jak radio lub GPS, i zapewniają dokładne odniesienie do czasu. Serwery czasu są często urządzeniami montowanymi w stelażu z zewnętrznymi antenami i połączeniem Ethernet. Urządzenia uzyskują czas z radia lub punktu odniesienia GPS i utrzymują dokładny czas wewnętrzny. Ten czas jest następnie dystrybuowany do klientów czasowych za pośrednictwem sieci IP. Dedykowane serwery NTP często minimalizują wysiłek konfiguracyjny i konfiguracyjny wymagany do uruchomienia i uruchomienia instalacji serwera czasu NTP.