JustPaste.it

Serwer Czasu NTP – Sztuka Synchronizacji

Artykuł wyjaśniający podstawy synchronizacji czasu w sieciach komputerowych

Artykuł wyjaśniający podstawy synchronizacji czasu w sieciach komputerowych

 

Jeszcze gdy Internet nie był tak rozpowszechniony, z nie więcej niż kilkoma komputerami związanymi ze sobą, stało się oczywiste, że niezbędna będzie synchronizacja czasu. Komputery łatwo dezorientują się w czasie, zwłaszcza, że płynie on tylko w jednym kierunku.

Kiedy komunikat wysyłany jest z jednego komputera i odbierany przez drugi komputer, może okazać się, że dotarł wcześniej niż został wysłany i może to wywołać nieprzewidziane problemy.

Pomyśl o sytuacji kiedy kupujesz bilet lotniczy i chwilę po pojawieniu się na lotnisku dowiadujesz się, że ktoś kupił to samo miejsce, ponieważ zabukował bilet z komputera z wolniejszym zegarem.

Dr David Mills z Uniwersytetu Delaware, dostrzegł potrzebę synchronizacji urządzeń i zajął się rozwojem Protokołu Synchronizacji Czasu (NTP).  Chociaż to nie pierwszy i jedyny protokół synchronizacji czasu, to bez wątpienia najbardziej rozpowszechniony. Prawdopodobnie dzięki swoim zasługom Milles jest już profesorem i wraz z grupą współpracowników prowadzi nieprzerwane badania. 

Protokół zapoczątkowała synchronizacja z dokładnością do kilku milisekund, teraz jest w stanie synchronizować każdy komputerowy zegar z dokładnością do kilku nanosekund (mili = 1/tysięczna część; nano = 1/miliardowa).

NTP jest hierarchiczne i dzieli się na Stratum. Zegar pierwotny to Stratum 0, podczas gdy serwer czasu NTP jest Stratum 1. Komputery i urządzenia pobierające czas od serwera Stratum 1 stają się Stratum 2 itd.

Ta hierarchiczna struktura oznacza, że dziesiątki tysięcy urządzeń mogą synchronizować się do tego samego czasu nie przeciążając serwera NTP i nie spowalniając pracy sieci.

Serwery NTP są powiązane ze wzorcem czasu, którym może być nawet zegarek na rękę bądź zegar systemu komputerowego, jednak bez sensu byłoby używanie jako wzorca czasu zegara, który sam nie jest dokładny.

Większość sieci, które korzystają z serwera czasu NTP, wykorzystuje źródło czasu UTC. UTC lub Uniwersalny Czas Koordynowany Greenwich jest oparty na czasie odbieranym z niewiarygodnie dokładnego i drogiego zegara atomowego. Chociaż sygnały czasu zegarów atomowych mogą być odbierane nawet z Internetu (ich dokładność zmienia się i zależy od odległości), to specjalne nadajniki radiowe emitują sygnał z kilku krajów włączając USA, Wielką Brytanię, Niemcy, Francję i Japonię) bądź poprzez amerykańskie GPS (System Nawigacji  Satelitarnej).

Serwery czasu NTP dystrybuują ten wzorzec czasu Stratum 0 pomiędzy wszystkie urządzenia w sieci podłączone do serwera czasu NTP. NTP przyspieszy lub zwolni zegar systemowy aby odpowiadał wzorcowi czasu. 

NTP posiada również wbudowane systemy bezpieczeństwa nazywane uwierzytelnieniem. Jest to szereg kluczy zaszyfrowanych i używanych w celu identyfikacji klienta i serwera. Niestety uwierzytelnienie nie jest dostępne w internetowych wzorcach, dlatego zarówno Microsoft jak i Novell sugerują używanie autonomicznych rozwiązań jako wzorca czasu.

NTP obecnie funkcjonuje w wersji 4 z wersją 5 w przygotowaniu. Jest to otwarte źródło z możliwością pobrania przez ntp.

 

Paweł Piontek jest specjalistą i autorem tekstów w dziedzinie zegarów atomowych, telekomunikacji, NTP oraz sieciowej synchronizacji czasu (serwer ntp). Pracuje w zakresie rozwoju zegarów dedykowanych NTP.