(T) Teoria protokołu NTP

Wprowadzenie do protokołu NTP

Podstawowe pojęcia

  • Protokół NTP (Network Time Protocol) umożliwia synchronizacje czasu, 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 LAN. Poszczególne poziomy zaufania (Stratum), są numerowane od 1 do 16 z czego niższy numer ma wię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 lokalnego zegara).
  • Serwer protokołu NTP odpowiada na zapytania klientów, odsyłając im informację o własnych ustawieniach czasu.
  • 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 (Na przykład urządzeniami posiadającymi poziom stratum 1). Ponadto istnieje możliwość porównania czasów, otrzymanych z wielu niezależnych serwerów NTP, dzięki czemu możliwe staje się wykrycie serwera podającego wartość czasu, znacząco różniącą się od innych urządzeń (Nawet jeśli są one mniej zaufane (osiadają 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 na łączu 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.
  • 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 własnego 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).
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 NTP, jeżeli aktualizuje swój czas z innym bardziej zaufanym serwerem, bądź działa w trybie Master.

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 3RFC 1305) oraz wersja 4 (NTP 4RFC 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

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz