NTP

NTP (Network Time Protokol)

 

NTP - protokół? czasu sieciowego - jest stosowany w Internecie do korekty zegarów lokalnych i synchronizacji klienta lub serwera z serwerem albo z wzorcowym ź?ródł?em czasu. Tym celom został?a podporzą?dkowana architektura NTR algorytmy, obiekty, protokoł?y pomocnicze i mechanizmy bezpieczeń?stwa. Pierwsza wersja tego protokoł?u został?a opisana w RFC 958. Póź?niej powstał?y 3 kolejne wersje NTP: RFC 1059 (wersja 1), RFC 1119 (v2) i RFC 1305 (v3). Protokoł?em transportowym dla NTP jest UDP.

NTP umoż?liwia synchronizację? z dokł?adnoś?cią? rzę?du nanosekund. Dysponuje on ś?rodkami dla okreś?lania charakterystyk i oceny bł?ę?du czasu lokalnego oraz serwera czasu sieciowego, obsł?ugują?cego synchronizację? zegarów. Moż?e funkcjonować? w hierarchicznej strukturze, rozsył?ają?c wzorce czasu, takie jak wskazania zegarów atomowych. Dokł?adnoś?ć? osią?gana za poś?rednictwem NTP silnie zależ?y od dokł?adnoś?ci zegarów lokalnych i charakterystyk opóź?nień?, zwł?aszcza niespodziewanych. Algorytm przeliczania opóź?nień?, korekcji czę?stotliwoś?ci zegarów i parę? innych mechanizmów pozwalają? uzyskać? dokł?adnoś?ci wynoszą?cą? w wię?kszych sieciach parę? milisekund, nawet podczas dł?uż?szej utraty ł?ą?cznoś?ć? ze ź?ródł?em synchronizacji. Dokł?adnoś?ć? czasu NTP w sieciach lokalnych nie przekracza 1 ms, a w sieciach WAN jest rzę?du dziesią?tek ms.

UTC (Universal coordinated Time) - uniwersalny czas skoordynowany - to w NTP liczba sekund wyraż?ona 64-bitową? liczbą? ze stał?ym przecinkiem (w formacie ang. - ze stał?ą? kropką?), znana jako stempel czasowy. Pierwsze 32 bity oznaczają? sekundy, a pozostał?e 32 czę?ś?ci sekundy. Dokł?adnoś?ć? wynosi wię?c 232 ns. Stemple czasowe pokazują? czas, jaki upł?yną?ł? od 1 stycznia 1900. Najstarszy bit prowadzi do 1968 L, przepeł?nienie nastą?pi w 2036 L Zero oznacza czas nieokreś?lony.

Obsł?ugiwane klasy usł?ug NTP:

  • ?Multicast. W szybkiej sieci lokalnej - z duż?ą? liczbą? stacji klient - serwer NTP rozgł?asza wiadomoś?ć?, na podstawie której stacje mogą? korygować? swoje zegary. Serwer nie przyjmuje zapytań?. W wię?kszej sieci moż?e być? kilka serwerów NTP.
  • ?Procedure-call. Kiedy jest wymagana duż?a dokł?adnoś?ć? czasu, a multicast nie wystę?puje, klient wysył?a do serwera zapytanie i czeka na odpowiedź?. Serwer niezwł?ocznie podaje czas, ale nie synchronizuje się? z klientem.
  • ?Symetric. Dynamiczna rekonfiguracji serwerów, gdzie każ?dy z nich synchronizuje lub jest synchronizowany przez są?siada wybranego na zasadach okreś?lonych w protokole. Tryb aktywny symetryczny jest przewidziany dla serwerów niż?szego poziomu hierarchii (wyż?szy numer stratum) z prekonfigurowanymi adresami są?siedztwa. Z kolei z pasywnego trybu symetrycznego korzystają? serwery bliskie korzenia hierarchii i współ?pracują?ce z serwerami o począ?tkowo nieznanych adresach. Dla każ?dej pary serwerów wymieniają?cych mię?dzy sobą? komunikaty tworzy się? asocjację?. Jest ona okreś?lona adresami IP i 16-bitowymi numerami portów danego serwera i są?siada.
  • Rysunek przedstawia ramkę? wiadomoś?ci NTR umieszczaną? za nagł?ówkiem protokoł?u UDP (User Datagram Protocol). Zawiera ona nastę?pują?ce pola:
  •  

  • ?LI (Leap Indicator) - wskaź?nik wyrównania, informują?cy odbiorę? o korekcji skali czasu NTP: 00 - nie ma, 01 - ostatnia minuta ma 61 sekund. 10 - ostatnia minuta ma 59 sekund, 11 - sygnał? awarii;
  • ?VN - numer wersji (teraz 3);
  • ?Statrum - kod poziomu lokalnego zegara; 0- nieosią?galny lub nie. istnieją?cy, 1 - wzorzec pierwotny (czas radiowy), 2-15 - wzorce wtórne (czas przez NTP);
  • ?Poll interval- zmienna cał?kowita ze znakiem, okreś?lają?ca minimaln1 (wł?asny lub są?siada) czas mię?dzy zapytaniami. Jest ona interpretowana jako_ wykł?adnik potę?gowy liczby 2. Wynik stanowi liczbę? sekund. Na przykł?ad liczba 5 w tym polu bę?dzie oznaczał?a 32 sekundy;
  • ?Precision - zmienna cał?kowita ze znakiem, okreś?lają?ca dokł?adnoś?ć? zegarów w sekundach, ale jest interpretowana jako najbliż?sza potę?ga liczby 2. Wynik bę?dzie zaokrą?glony w górę?. Na przykł?ad czę?stotliwoś?ci sieciowej 50 Hz odpowiada okres 20 ms, wobec czego w tym polu bę?dzie wpisana liczba" -5" (0,03125 s):
  • ?Synchronilation distance -liczba stał?oprzecinkowa (mię?dzy 15. a 1ó. bitem) okreś?lają?ca w sekundach peł?ną? wartoś?ć? opóź?nienia przy wymianie wiadomoś?ci z pierwotnym wzorcem czasu;
  • ?Synchronilation dispersion -liczba stał?oprzecinkowa wię?ksza od zera, wyraż?ają?ca w sekundach maksymalną? wartoś?ć? bł?ę?du czasu w odniesieniu do ź?ródł?a pierwotnego;
  • ?Reference clock identitier - 32-bitowy kod identyfikują?cy konkretny zegar wzorcowy. Dla ź?ródeł? zerowego i pierwszego poziomu hierarchii są? to 4-bajtowe cią?gi ASCII, a dla poziomu drugiego i wyż?szych (liczbowo) - adres IP serwera wybranego do synchronizowania;
  • ?Reference Timestamp - czas lokalny w formacie stempla czasowego, odpowiadają?cy chwili ostatniej korekty wskazań? zegara. Jeś?li lokalne serwery nie był?y synchronizowane, w to pole bę?dą? wpisane same zera;
  • ?Orginate timestamp - lokalny czas w formacie stempla czasowego, odpowiadają?cy czasowi wysł?ania do serwera ostatniej wiadomoś?ci NTP, nadejś?cia od są?siada ostatniej wiadomoś?ci NTP;
  • ?Transmit Timestamp - lokalny czas w formacie stempla czasowego odpowiadają?cy chwili wysł?ania bież?ą?cej wiadomoś?ci NTP;
  • ?Authenticator:= pole opcjonalne, zawierają?ce w razie potrzeby klucz i szyfrowaną? sumę? kontrolną?.
  • Serwis administratora sieciowego moż?e korzystać? z publicznych serwerów NTP albo ustanowić? wł?asny serwer NCP - wyposaż?ony w adapter radiowy, satelitarny czy dedykowany modem - i wykorzystać? go do synchronizacji urzą?dzeń? w swojej sieci.
  •  

    by Krzysztof Pietrzak 2004

    [TCP/IP] [FTP] [TFTP] [HTTP] [TELNET] [NTP]