NTP
Jest skrótem od „Network Time Protocol”. NTP to protokół używany do synchronizowania zegarów komputerowych w wielu systemach. Obsługuje synchronizację w sieciach lokalnych oraz w Internecie.
Dopasowanie znaczników czasu dwóch lub większej liczby systemów może wydawać się prostym zadaniem, ale obejmuje wiele etapów. Ponieważ w każdej sieci występuje pewne opóźnienie, należy uwzględnić czas między wysłaniem żądania a otrzymaniem odpowiedzi. NTP korzysta z modelu klient-serwer i oblicza opóźnienie podróży w obie strony za pomocą czterech wartości:
- znacznik czasu wysłania żądania przez klienta
- znacznik czasu odebrania żądania przez serwer
- znacznik czasu wysłania odpowiedzi przez serwer
- znacznik czasu odebrania odpowiedzi przez klienta
Czas między wartościami 1 i 2 powyżej jest dodawany do czasu między wartościami 3 i 4, aby obliczyć całkowite opóźnienie podróży w obie strony. Odejmując połowę tego opóźnienia, można oszacować dokładny czas na zdalnym serwerze, zwykle z dokładnością do kilku milisekund.
Ponieważ warunki sieciowe mogą wpływać na czas przesyłania lub odbierania pakietów NTP, pojedyncze żądanie może nie dać dokładnego wyniku. Dlatego często wysyła się kilka żądań NTP i oblicza średnie opóźnienie, aby uzyskać dokładniejszy znacznik czasu. Znaczniki czasu można również uśredniać na wielu komputerach, aby zapewnić spójny czas na wszystkich urządzeniach w sieci. Podczas jednoczesnej synchronizacji wielu zegarów NTP działa jako protokół równorzędny, w którym każdy system jest źródłem czasu.
Przykłady NTP
Protokół czasu sieciowego jest używany przez różne narzędzia do synchronizacji czasu, w tym narzędzia wbudowane w systemy Windows i macOS. W systemie Windows Panel sterowania datą i godziną zawiera funkcję „Czas internetowy”, która używa NTP do pobierania bieżącego czasu z serwera czasu. W systemie macOS preferencje systemowe daty i czasu używają NTP do pobierania bieżącego czasu, gdy zaznaczona jest opcja „Ustawiaj datę i czas automatycznie”. Systemy Windows i macOS używają uproszczonej wersji NTP o nazwie Simple Network Time Protocol (SNTP).
Sprawdź swoją wiedzę
