Wprowadzenie do protokołu NTP
Podstawowe pojęcia
- Protokół NTP (Network Time Protocol) umożliwia synchronizacje czasu lokalnego urządzenia sieciowego, z zgarami innych bardziej zaufanych urządzeń. Działa on zgodnie z podziałem hierarchicznym, w którym najbardziej zaufane są źródła bazują na zegarach atomowych oraz systemie GPS, a mniej zaufane należą do dostawców usług internetowych jak i innych urządzeń znajdujących się w sieci lokalnej. Poszczególne poziomy zaufania (Stratum), są numerowane od 1 do 16 z czego niższy numer ma największy priorytet (Wartość 16 nie może być przypisana do urządzenia, ponieważ oznacza źródło nieosiągalne nie brane pod uwagę przy aktualizacji zegara).
- Serwer protokołu NTP odpowiada na zapytania klientów, odsyłając im informację o własnych ustawieniach zegara.
- W przypadku podstawowej konfiguracji protokołu NTP, skonfigurowane urządzenie oprócz roli serwera pełni również rolę klienta. Dzięki czemu jednocześnie może aktualizować swój czas z innymi bardziej zaufanymi źródłami (np. zegarem atomowym) jak i odpowiadać na zapytania NTP innych urządzeń sieciowych.
- Aby uniknąć synchronizacji z urządzeniami niezaufanymi, protokół NTP odrzuca serwery, których czas nie jest synchronizowany z urządzeniami zaufanymi (Np. stratum 1). Ponadto porównywany jest pomiędzy sobą czas otrzymany z wielu serwerów NTP, dzięki czemu możliwe staje się wykrycie serwera podającego wartość czasu znacząco różniącą się od innych (Nawet jeśli mają one mniejszą wartość Stratum).
- Klient protokołu NTP:
- Odpytuje serwer w odstępach czasowych od 64 do 1024 sekund. Odstępy te mogą ulec zmianie w zależności od warunków sieciowych panujących w sieci pomiędzy klientem a serwerem NTP.
- Może mieć zapisanych w pamięci wiele serwerów NTP, będzie on jednak korzystał tylko z jednego posiadającego najniższą wartości Stratum.
NTP wykorzystuje protokół UDP na porcie 123 w celu dostarczania aktualizacji dotyczących ustawień czasu.
Wartość Stratum 1 przypada serwerom NTP, których czas jest synchronizowany z zegarem atomowym bądź GPS-em.
Działanie protokołu NTP
Tryby pracy protokołu NTP
- NTP Server – Stanowi zaufane źródło informacji związanych z ustawieniami zegara, umożliwiające synchronizację własnego czasu z innymi urządzeniami sieciowymi, za pomocą protokołu NTP.
- Stratum 1 server – Urządzenie bezpośrednio czerpiące informację o czasie zegara, z zaufanego źródła np. zegara atomowego bądź zegara wykorzystującego system GPS.
- Stratum 2 server – Urządzenie czerpiące informację o czasie zegara od urządzenia Stratum 1.
Domyślna konfiguracja protokołu NTP w systemie IOS nie stanowi zaufanego źródła informacji o czasie zegara.
Domyślnie Klient protokołu NTP działa również jako serwer protokołu NTP, jeżeli aktualizuje swój czas z innym bardziej zaufanym serwerem, bądź działa w trybie Master.
- NTP Master server (Domyślnie Stratum 8) – Stanowi zaufane źródło informacji o ustawieniach zegara, umożliwiające synchronizację własnego czasu z innymi urządzeniami sieciowymi, nawet jeżeli samo nie aktualizuje ustawień zegara z innymi bardziej zaufanymi źródłami. W komunikacji z samym sobą Master Server wykorzystuje lokalny adres IP 127.127.1.1 (W starszych wersja systemu Cisco IOS będzie to adres 127.127.7.1).
- NTP Client – Synchronizuje czas zegara z serwerem NTP.
- NTP Peer – Wymienia informacje na temat czasu zegara z innymi urządzeniami, zachowując nadmiarowość.
- NTP Broadcast / Multicast – Działa na zasadzie serwera NTP, rozgłaszając informacje na temat własnego czasu zegara do wszystkich nasłuchujących urządzeń (Komunikacja ta działa jedynie w jedną stronę i nie jest zaufana).
Przykładowe topologie z wykorzystaniem protokołu NTP
- Zegar atomowy -> NTP Master (Stratum 8) -> Client / Serwer (Stratum 9) -> Client (Stratum 10).
- NTP Master (Stratum 1) -> Client / Serwer (Stratum 2) -> Client (Stratum 3).
Wersje protokołu NTP
- Wersja 3 (NTP 3 – RFC 1305) oraz wersja 4 (NTP 4 – RFC 5905).
- Wersja 3 (NTP 3) wysyła wiadomości broadcast, natomiast wersja 4 (NTP 4) multicast.
- Wersja 4 (NTP 4) wspiera protokół IPv4 oraz protokół IPv6 jak i umożliwia uwierzytelnianie serwera NTP.
- Simplified Network Time Protocol (SNTP – RFC 4330).
Pozostałe tematy związane z protokołem NTP
Dodaj komentarz