Utrzymywanie czasu dzięki Network Time Protocol
Wysłane przez Richard N Williams on Kwiecień 30th, 2012
Jeśli chodzi o synchronizacja czasu sieci, Network Time Protocol (NTP) jest zdecydowanie najszerzej stosowanym protokołem programowym. Niezależnie od tego, czy chodzi o utrzymywanie sieci setek lub tysięcy komputerów zsynchronizowanych, czy też utrzymywanie prawdziwego działania maszyny, NTP oferuje rozwiązanie. Bez NTP i Serwer NTPwiele zadań, które wykonujemy w Internecie, od zakupów po bankowość online, po prostu nie byłoby możliwe.
Synchronizacja ma zasadnicze znaczenie dla sieci działających w Internecie. Bez synchronizacji zapanowałby chaos. Wyobraź sobie otrzymywanie wiadomości e-mail od osoby pięć minut przed jej wysłaniem lub przesłanie pieniędzy do użytkownika, którego urządzenie mówi, ile pieniędzy pozostało do przybycia.
Coordinated Universal Time
Aby uniknąć wszystkich tych problemów, w Internecie stosuje się jedną, uniwersalną skalę czasową, która jest taka sama, bez względu na strefę czasową, w której znajduje się komputer. Coordinated Universal Time (UTC) jest sterowany przez zegary atomowe, więc jest bardzo dokładny i stabilny.
Aby sieci komputerowe mogły odbierać UTC, używają serwerów NTP, które odbierają źródło czasu z sieci GPS (Globalny System Pozycjonowania), transmisji radiowych lub samego internetu. Po otrzymaniu, do NTP należy pobranie źródła czasu nadrzędnego i rozprowadzenie go po sieci, aby zapewnić synchronizację.
Objaśnienie protokołu czasu sieciowego
Protokół NTP jest jednym z najstarszych protokołów obliczeniowych. Jego początki sięgają czasów, gdy internet był jeszcze w powijakach, ale został zmodyfikowany i dostosowany, aby zapewnić, że nadal jest odpowiedni. W istocie, NTP jest algorytmem zaprojektowanym do oceny czasu na poszczególnych komputerach i porównywania ich ze źródłem czasu UTC. Jeśli NTP znajdzie i rozbieżności, dostosowuje zegar na urządzeniu naruszającym zasady, aby upewnić się, że pasuje. NTP robi to z taką dokładnością, że sieć tysięcy komputerów może być zsynchronizowana w ciągu kilku milisekund od siebie.
NTP przyjmuje system hierarchiczny. Zamiast sprawdzać każde urządzenie w sieci za pomocą serwera NTP i jego źródła czasu UTC, protokół pozwala tym maszynom najbliższym serwera, aby były używane jako odniesienie do maszyn znajdujących się niżej. Pozwala to uniknąć napływu ruchu do serwera NTP i pozwala jednemu urządzeniu utrzymywać synchronizację w sieci składającej się z setek lub nawet tysięcy urządzeń.
Sekundy przestępne
Jednym z największych wyzwań stojących przed NTP w korzystaniu z UTC jako źródła czasu jest to, że ten czas uniwersalny jest czasami dostosowywany, aby utrzymać swoją korelację z obrotem Ziemi. Ponieważ planeta jest tak lekko spowolniona, zegary atomowe, które rządzą UTC są mory dokładne, że sama planeta, więc sporadyczne sekundy są dodawane raz lub dwa razy w roku, aby zapewnić, że nie będzie dryfu od dnia w noc (chociaż taki proces zajęłoby to miliony lat).
Te przyrostowe zmiany są znane jako Seksu skok i są identyfikowane w sygnałach wysyłanych do większości serwerów NTP. Gdy NTP wykryje sekund przestępny jest dodawany, automatycznie dostosowuje wszystkie urządzenia w sieci, powtarzając sekundę. Nie dostosowanie się do tych sekund przestępnych spowodowałoby, że sieć stopniowo oddalała się od UTC i nie była zsynchronizowana z resztą społeczności internetowej.