<

Pozycjonowanie stron www i SEO / SEM

Czym charakteruzuje się linkami tekstowymi, w którym umieścić swoją stronę tak, aby miała wysokie pozycjonowanie wymaga czasu

Młodość, kreatywność i hobbistyczne podejście do wszystkiego czym sie zajmujemy - to właśnie nasze atuty. Wykonywanie powierzonych nam zadań jest dla nas problemem.

Pozycjonującej ?1) Ważne jest zaistnienie logotypów (logo), wizytówek, ulotek i plakatów itp.Czy twój wizerunek firmy wyróżnia się z oferty pozycjonowanie?

Network Time Protocol

Ujednoznacznienie Ten artykuł dotyczy protokołu synchronizacji czasu. Sprawdź też: inne znaczenia skrótu NTP.

Network Time Protocol (w skrócie: NTP) – protokół synchronizacji czasu, którego najnowsza wersja jest zdefiniowana w RFC 5905.

Spis treści

Wprowadzenie

NTPprotokół umożliwiający precyzyjną synchronizację czasu pomiędzy komputerami. Wzorcowy czas UTC może pochodzić bezpośrednio z zegarów atomowych albo pośrednio ze specjalizowanych serwerów czasu (ang. Time Server NTP). Protokół NTP jest coraz powszechniej uznawany za światowy standard synchronizacji czasu w urządzeniach teleinformatycznych oraz telekomunikacyjnych. Ma swoją implementację dla większości współczesnych systemów operacyjnych, z Microsoft Windows NT/2K/XP/2003/VISTA/7 włącznie.

Implementacja protokołu NTP dla konkretnych systemów operacyjnych wymaga sprzęgnięcia na niskim poziomie jądra systemu operacyjnego. Czas lokalny tworzony jest przez system poprzez dodanie stosownego przesunięcia uwzględniającego lokalną strefę czasową. Dla systemów operacyjnych Linux oraz FreeBSD są specjalne nakładki na jądro systemowe umożliwiające obsługę biegu zegarów ze zwiększoną precyzją. Nakładki dopuszczają płynną regulację czasu systemowego poprzez przyspieszenie albo spowolnienie programowego zegara systemowego.

Historia

Badania nad protokołem prowadzone są na Uniwersytecie w Delaware od 1988 roku pod kierunkiem prof. Davida L. Millsa oraz są nieustannie rozwijane w ramach projektu NTP.

Oryginalnie protokół NTP stał się zaprojektowany dla wybranych systemów operacyjnych rodziny Unix oraz rozwijany był w kierunku zastosowań do synchronizacji czasu przez Internet. Jednak aktualnie NTP jest z powodzeniem wykorzystywany także poza Internetem oraz to zarówno w małych sieciach lokalnych (LAN), jak oraz w dużych sieciach korporacyjnych (WAN).

Rozwój protokołu ilustrują dokumenty RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305, RFC 5905, RFC 5906, RFC 5907, RFC 5908, RFC 5909. Aktualnie mimo zmian oraz uzupełnień RFC dostępna jest nadal wersja 4 protokołu. Wersja stabilna to 4.2.6, wersja deweloperska oznaczona jest jako 4.2.7. Precyzyjnie ujmując jest to już 5 generacja protokołu NTP (wersja pierwsza oznaczona była numerem 0).

Istnieje także uproszczona wersja protokołu NTP znana pod nazwą SNTP (ang. Simple Network Time Protocol – RFC 4330). Wersja ta znajduje powszechne zastosowanie w prostych systemach operacyjnych oraz rozwiązaniach, w urządzeniach przenośnych oraz w telefonach komórkowych.

Zalety synchronizacji za pomocą protokołu NTP

NTP dopuszcza na synchronizację czasu z bardzo dużą precyzją, jest rozwiązaniem bardzo stabilnym oraz bezpiecznym. NTP kalibruje czas płynnie – bez skoków czasu oraz konieczności przestawiania zegara (wykorzystuje technikę przyspieszania oraz spowalniania). Już przy zastosowaniu standardowego sprzętu komputerowego klasy PC, precyzja ta może wynosić parę milisekund. Aktualnie protokół ma swoje implementacje dla większości współczesnych systemów operacyjnych oraz urządzeń sieciowych. Stosowanie wielu źródeł czasu równocześnie znacząco poprawia precyzje synchronizacji, dostarcza wielopoziomową redundancję oraz dopuszcza wychwytywać oraz eliminować dostawców fałszywego czasu (ang. falstickers).

Zaletą protokołu NTP jest możliwość jednoczesnej synchronizacji bardzo dużej liczby komputerów (rzędu dziesiątek tysięcy) bez przeciążenia łączy oraz procesorów. Implementacja protokołu nie wymaga wydajnych komputerów, procesorów ani szybkich łączy transmisyjnych.

Ogólnie dostępny kod źródłowy napisany w języku C dopuszcza rozszerzać NTP dla kolejnych nowych systemów operacyjnych oraz powstających nowych urządzeń. Protokół NTP przerwał wieloletnią rywalizację pomiędzy producentami sprzętu komputerowego oraz oprogramowania, lansującymi własne standardy na rynku IT.

Czas wzorcowy UTC

W protokole NTP do synchronizacji czasu wykorzystywany jest czas uniwersalny UTC. Wzorcowy czas powinien pochodzić z atomowych zegarów cezowych. Jednak w związku z rozwojem technologii zezwala się na stosowanie czasu referencyjnego pochodzącego ze wzorców STRATUM 0 takich jak:

  • cezowe zegary atomowe
  • masery wodorowe
  • zegary wykorzystujące generatory rubidowe
  • czasowe wzorce laserowe
  • satelitarne wzorce radiowe GPS, GLONASS, EGNOS, WAAS, Beidou a w przyszłości Galileo oraz system Compass (Beidou-2)
  • naziemne nadajniki radiowe AM (np. niemiecki DCF77)
  • wysokiej jakości zegary kwarcowe wykorzystujące oscylatory OCXO, TCXO, VCXO

Powyższe zegary dołączane są do komputera pełniącego dalej funkcję serwera NTP dla innych urządzeń. Dostawa czasu UTC przebiega się przez łącza:

  • RS-232 (dostarcza stempel czasu UTC oraz może także dostarczać wzorzec częstotliwości)
  • 1PPS (dostarcza jedynie wzorzec częstotliwości)
  • IRIG-B (dostarcza stempel czasu oraz wzorzec częstotliwości)
  • SYSPLEX (dostarcza stempel czasu)
  • IEEE1588 PTPv1 Ethernet (dostarcza tylko stempel czasu)
  • IEEE1588 PTPv2 Ethernet (dostarcza stempel czasu oraz wzorzec częstotliwości)
  • WR White Rabbit (dostarcza wzorzec częstotliwości)

Istnieje także możliwość uzyskiwania referencyjnego czasu wzorcowego łącząc się do serwisu zegarynki (tzw. serwis "dial-up"), co w wielu krajach, w tym w Polsce nadal jest rekomendowanym źródłem oficjalnego czasu urzędowego.

Struktura warstw STRATUM 0-15

Żółte strzałki oznaczają bezpośrednie połączenie; czerwone strzałki to połączenia sieciowe

Wszystkie komputery uczestniczące w procesie synchronizacji NTP da się uporządkować w strukturze gałęziowej STRATUM. Zasada przekazywania informacji o czasie jest następująca: komputery warstwy STRATUM N bywają serwerami czasu dla warstwy STRATUM N+1, ale nie na odwrót. Komputery STRATUM N bywają równocześnie klientami komputerów warstwy STRATUM N-1 itd. Wielowarstwowa struktura STRATUM prowadzi do uporządkowanie oraz wprowadzenie pewnej hierarchii ważności komputerów, zgodnie z ich rzeczywistym przeznaczeniem oraz funkcją. Aby ograniczyć dodatkowe opóźnienia w propagacji czasu, wynikające z rozgałęzionej struktury NTP, wprowadzono ograniczenie łącznej liczby warstw do 16 (STRATUM 0-15).

Niektórym warstwom przypisano specjalne znaczenie. Warstwa STRATUM 0 jest zarezerwowana jedynie dla pierwotnych wzorców czasu, którymi są bezpośrednio zegary czasu UTC.

Warstwy STRATUM 1 oraz STRATUM 2 stanowią wierzchołek drzewa NTP oraz powinny być zarezerwowane dla dużych serwerów korporacyjnych, wysokiej jakości serwerów, superkomputerów albo dedykowanych sprzętowych serwerów czasu.

Warstwy STRATUM 3 oraz kolejne są przeznaczone dla lokalnych serwerów oraz komputerów komunikujących się z nimi.

Numer STRATUM informuje nas o tym, jak bardzo odległy jest synchronizowany komputer od zegara wzorcowego w strukturze synchronizacji NTP. W sieci o bardzo dużej liczbie komputerów poziom STRATUM nie ma znaczącego wpływu na jakość synchronizacji oraz precyzję uzyskiwanego czasu.

Zasada synchronizacji NTP

Implementacja protokołu NTP dla konkretnego systemu operacyjnego wymaga sprzęgnięcia go na niskim poziomie z jądrem systemu operacyjnego.

NTP jest protokołem wydatnie różniącym się od typowych protokołów komunikacyjnych. Nie dotyczy on bowiem transmisji absolutnej wartości czasu, lecz stale przekazuje pełne statystyki opóźnień oraz korelacji czasowych, jakie zachodzą w sieci TCP/IP. W prostych konfiguracjach z 1-2 serwerami NTP nie oferuje specjalnie żadnej przewagi w porównaniu do innych protokołów. Technologia NTP nabiera dopiero szczególnego znaczenia przy stosowaniu wielu źródeł czasu jednocześnie. Uruchamiany jest wtenczas specjalny algorytm analizy statystycznej czasu oparty o metodę DTS opracowaną pod koniec lat 70 na Uniwestytecie w Daleware dla potrzeb obronnych USA oraz NASA. Algorytm ten dopuszcza na statystyczne obliczenie czasu wypadkowego pochodzącego z wielu źródeł oraz uwzględnia asymetrię łącz telekomunikacyjnych oraz związanego z tym czasu transportu protokołu TCP/IP. W latach 90 metoda ta była rozszerzona oraz nazwana metodą NTP wprowadzając funkcjonalność automatycznego wykrywania oraz eliminowania dostawców tzw. fałszywego czasu (ang. falsetickers).

Do wymiany statystyk stosowane są pakiety UDP o długości 72 bajtów wymieniane okresowo w przedziale od 4 s do 17 min (zwykle okres wymiany wynosi 64 sekundy). Protokół NTP używa w tym celu portu 123 (jest też wersja z SSL korzystająca z portu 563). Przesyłane dane pozwalają każdemu z komputerów, tzw. klientów NTP, samodzielnie wyliczyć własne opóźnienie względem idealnego czasu UTC. Znając bieżące opóźnienie względem czasu UTC, każdy klient NTP sam kalibruje wskazania własnego, lokalnego zegara systemowego. Kalibracja opiera się na płynnym przyspieszaniu albo spowalnianiu pracy lokalnego zegara programowego. Przy dużych różnicach czasu, większych od 128ms, NTP stosuje jednorazową synchronizację skokową. W wyniku tego każdy z klientów NTP asymptotycznie zmierza ku wskazaniom wzorcowego zegara czasu UTC.

Pierwotne wzorcowe wskazania czasu UTC powinny stale pochodzić z wzorców STRATUM 0. Komputery bezpośrednio synchronizujące czas własny z wymienionymi wzorcami stają się serwerami NTP STRATUM 1. Kolejne komputery synchronizują swój czas korzystając z protokołu TCP/IP oraz stają się klientami NTP warstwy N-1, pełniąc równocześnie funkcję serwerów warstwy N dla kolejnych komputerów uczestniczących w synchronizacji NTP.

NTP - format komunikatu

Opis komunikatu NTP
LI VN Mode Stratum Pool
interval
Precision
Root Delay
Root Dispersion
Reference Identifier
Reference Timestamp
Orginate Timestamp
Receive Timestamp
Transmit Timestamp
Authenticator
  • LI – wskaźnik sekund przestępnych
  • VN – (Version Number) numer wersji protokołu
  • Mode – tryb pracy (m.in. tryb klienta, serwera, symetryczny pasywny, symetryczny aktywny, rozgłoszeniowy – serwer czasu okresowo rozsyła do wszystkich podległych klientów komunikat o czasie)
  • Stratum – warstwa, w której funkcjonuje komputer będący nadawcą komunikatu
  • Poll interval – okres pomiędzy kolejnymi aktualizacjami czasu
  • Precision – określenie dokładności zegara komputera wysyłającego dany komunikat
  • Root Delay - opoźnienie pomiędzy nadawcą a serwerem warstwy 1
  • Root Dispersion – maksymalny błąd pomiędzy zegarem lokalnym a serwera warstwy 1
  • Reference Identifier – identyfikator źródła czasu, względem którego następuje synchronizacja
  • Reference Timestamp – pole zawierające pomocnicze informacje o czasie poprzedniej synchronizacji
  • Originate Timestamp – pole zawierające czas wysłania żądania przez klienta
  • Receive Timestamp – czas odebrania komunikatu od klienta (ustawiane przez serwer odpowiadający na żądanie klienta)
  • Transmit Timestamp – czas wysłania odpowiedzi do klienta (ustawiane przez serwer odpowiadający na żądanie klienta)
  • Authenticator – informacje uwierzytelniające zarówno klienta jak oraz serwer czasu

Sprawdź też

Linki zewnętrzne

międzyzdroje noclegi | plaża | ogrzewanie podłogowe | Skuteczne Pozycjonowanie Rybnik Tanio, solidnie, pewnie! | tani kredyt dla firm