Pod pojęciem "synchronizacji czasu" rozumiemy proces uzgadniania czasu wskazywanego przez zegar synchronizowany z czasem zegara synchronizującego. Jeśli zegary są zsynchronizowane, zdarzenia są przez zegary jednakowo datowane.
Zegary synchronizujemy do zapewniających wymaganą dokładność zegarów odtwarzających skalę czasu UTC.
Skala czasu UTC (Universal Time Coordinated) jest powszechnie przyjęta na całym świecie do datowania zdarzeń w relacjach publicznych.
Skala czasu UTC jest pochodną międzynarodowej atomowej skali czasu TAI. Atomowa skala czasu TAI jest ważoną średnią wskazań światowego zespołu zegarów atomowych. Wyznaczaniem TAI zajmuje się BIPM. BIPM podaje z kilkutygodniowym opóźnieniem różnice wskazań poszczególnych zegarów tworzących TAI w stosunku do TAI.
Najwyższą dokładność odtwarzania skali czasu UTC zapewniają zegary laboratoriów metrologicznych. Ich skale czasu oznacza się jako UTC(X), gdzie X jest zazwyczaj skrótem nazwy laboratorium. Wskazania skal czasu UTC(X) utrzymywanych przez najlepsze światowe laboratoria nie różnią się zazwyczaj o więcej niż kilkadziesiąt nanosekund od skali czasu UTC. Do najbardziej znanych realizacji skal czasu UTC należą: UTC(USNO), UTC(PTB).
Ze skalą czasu UTC koordynowana jest skala czasu GPS a z nią z kolei koordynowane są zegary satelitów GPS. Odbiornik sygnałów GPS wyznacza poprawkę własnego zegara w stosunku do zegarów satelitów GPS. Dysponując transmitowanymi przez satelity wartościami poprawek ich zegarów w stosunku do skali UTC, odbiornik odtwarza tą skalę z dokładnością zazwyczaj lepszą od 100ns / jednej dziesięciomilionowej sekundy/. W przyszłości podobne możliwości oferować będzie system GALILEO.
Skalę czasu UTC(PL) stanowiącą podstawę czasu urzędowego na obszarze Rzeczpospolitej Polskiej utrzymuje Prezes Głównego Urzędu Miar.
Dostęp do skal czasu odtwarzających UTC uzyskuje się powszechnie za pośrednictwem:
Wymaga dostępu do Internetu, charakteryzuje się dokładnością rzędu milisekund, zależną od stałości i symetrii opóźnień w transmisji pakietów. Liczba laboratoriów metrologicznych dysponujących zegarami dobrze odtwarzającymi skalę UTC i ich serwerów NTP jest ograniczona. Często ograniczona jest również dostępność tych serwerów i zakres oferowanych przez nie usług. O dokładności synchronizacji decyduje przede wszystkim jakość połączenia sieciowego. Z tych względów powszechnie korzysta się z dostępnych publicznie serwerów współpracujących w ramach NTP Pool Project.
GPS zapewnia globalny dostęp do skali czasu UTC. Gwarantuje wysoką pewność transmisji i wysoką dokładność, znacznie lepsze od charakteryzujących inne powszechne systemy dystrybucji czasu. Do odbioru sygnału GPS niezbędna jest instalacja anteny w miejscu zapewniającym dobrą widoczność sfery niebieskiej. System jest odporny na zakłócenia przemysłowe. Istnieją dwa zagrożenia dla odbioru sygnałów GPS: lokalne wyłączenie systemu w sytuacji globalnego konfliktu zbrojnego oraz celowe lub przypadkowe zagłuszanie.
Na terenie Polski możliwy jest odbiór sygnału DCF 77. Dokładność synchronizacji czasu przy użyciu DCF 77 jest o kilka rzędów gorsza niż przy użyciu GPS, nie lepsza niż kilka milisekund. Ramka sygnału DCF zawiera tylko 3 bity kontroli parzystości na 45 bitów informacyjnych. Polska znajduje się w strefie, w której fala przyziemna DCF 77 interferuje z falą jonosferyczną co prowadzi do okresowych przekłamań i zaników sygnału. Do odbioru sygnału DCF 77 niezbędna jest antena zlokalizowana w miejscu, w którym horyzont w kierunku do stacji nadawczej jest stosunkowo mało przesłonięty. W odróżnieniu od sygnałów GPS bezpośrednia widoczność w tym kierunku nie jest niezbędna, jednak grube mury, zabudowa miejska, zakłócenia przemysłowe utrudniają lub uniemożliwiają odbiór sygnału.
Komputer lub sieć komputerowa mogą synchronizować się do UTC przy pomocy każdej z opisanych powyżej metod dostępu.
Bezpośrednia synchronizacja czasu systemowego do sygnału GPS lub DCF 77 za pomocą dedykowanych sterowników systemu operacyjnego jest najprostsza jednak nie gwarantuje wysokiej niezawodności i pewności z uwagi na brak redundancji i mechanizmów kontrolnych.
Najwyższą niezawodność i pewność datowania gwarantuje Klient NTP korzystający z kilku różnych sposobów dostępu oraz dysponujący własnym zegarem o wymaganej dokładności i wysokiej niezawodności.
Pojedynczy komputer połączony z Internetem. Wystarczy zainstalować Klienta NTP i wskazać jako źródło czasu najbliższe serwery NTP o dobrych statystykach należące do NTP Pool.
Lokalna sieć komputerowa połączona z Internetem. Zazwyczaj na jednym z komputerów wchodzących w skład sieci lokalnej instaluje się Serwer NTP synchronizowany do serwerów wchodzących w skład NTP Pool, na pozostałych instaluje się Klientów NTP korzystających z zainstalowanego w sieci lokalnej serwera.
Sieć lokalna nie dołączona do Internetu z uwagi na bezpieczeństwo. Na wydzielonym z sieci komputerze instaluje się Serwer NTP dystrybuujący komunikat czasowy bezpiecznym kanałem, np. łączem szeregowym do Serwera NTP zainstalowanego na jednym z komputerów sieci lokalnej.
Komputer lub sieć lokalna nie dołączone do Internetu z uwagi na brak możliwości technicznych. Na komputerze lub jednym z komputerów wchodzących w skład sieci instaluje się Serwer NTP. Dostęp do skal odtwarzających UTC uzyskuje on za pomocą:
Zarówno NTPv4 jak i NTPv3 umożliwiają zabezpieczenie przesyłanej informacji przy pomocy funkcji haszującej MD5 ze 128 bitowym kluczem prywatnym przy użyciu 32 bitowego identyfikatora klucza. Każda ze stron musi posiadać ten sam prywatny klucz umożliwiający stronie odbiorczej weryfikację przesłanych danych.
NTPv4 oferuje ponadto mechanizm Autokey. Jest to architektura bezpieczeństwa umożliwiająca autentyfikację serwerów NTP, bazująca w głównej mierze na kryptografii klucza publicznego. W zależności od użytego schematu tożsamości można tworzyć rozwiązania podobne do mechanizmu występującego w NTPv3 (schemat prywatnego certyfikatu) jak też rozwiązania zakładające rozdział parametrów kryptograficznych pomiędzy hosty pełniące rolę Klientów i Serwerów (np. schemat IFF). Możliwe jest również rozdzielenie parametrów kryptograficznych Klientów w taki sposób aby każdy Klient posiadał inny klucz deszyfrujący (schemat MV).
Bezpieczeństwo serwera.Bezpieczeństwo serwera zapewnia się poprzez:
Pierwszym etapem projektowania systemu synchronizacji czasu powinno być sformułowanie wymagań na:
W procesie projektowania należy:
Są one gotowym rozwiązaniem sprzętowym do synchronizacji komputerów i sieci komputerowych. Rozwiązują szczegółowe zagadnienia związane z synchronizacją sieci komputerowych i pozwalają administratorowi sieci na skupienie uwagi na najważniejszych, ogólnych aspektach synchronizacji, istotnych dla niezawodnego dostarczania dokładnego czasu użytkownikom sieci.
Zapewniają:
Karty PCI firmy Meinberg posiadają wbudowany zegar, synchronizowany do sygnału GPS lub DCF. Mogą posłużyć do budowy własnego serwera NTP w oparciu o istniejącą stację roboczą. W przypadku przerw w odbiorze sygnału radiowego karty zapewniają podtrzymanie skali czasu z dużą dokładnością - oscylator zastosowany na karcie jest znacznie wyższej jakości niż oscylatory stosowane na płytach głównych, dodatkowo jest on dostrajany do sygnału radiowego. Karty dostarczane są z antenami i kablem antenowym.
NTP (Network Time Protocol) to protokół przeznaczony do synchronizacji zegarów systemów komputerowych za pośrednictwem sieci. NTP zawiera mechanizmy zapewniające wysoką niezawodność oraz odporność na zmienne opóźnienia w przesyłaniu pakietów. Standardy NTP opisują między innymi: hierarchiczną architekturę struktury dystrybucji czasu, protokoły transmisji stempli czasowych, algorytmy synchronizacji, algorytmy szyfrowania transmisji. Dokładność NTP ograniczana jest głównie na etapie transmisji pakietów i zwykle nie jest lepsza od kilku ms. Siła NTP tkwi w dostępności i pewności datowania jaką zapewniają serwery współpracujące w rozproszonym zespole zgodnie z regułami NTP. Standard PTP definiuje metody synchronizacji z dokładnością mikrosekundową, wymagają one stosowania routerów wyposażonych w dedykowane funkcje. W chwili obecnej praktyczne zastosowania standardu PTP ograniczone są do sieci lokalnych.
Przy pomocy NTP można synchronizować komputery, kamery, drukarki i inne urządzenia wyposażone w złącze sieciowe i oprogramowanie zgodne ze standardem NTP.
NTP Project to organizacja publiczna, prowadzi badania i rozwija standard NTP. Publikuje oficjalne zalecenia dotyczące stosowania standardu NTP i udostępnia bezpłatnie oprogramowanie umożliwiające implementację NTP.
http://www.ntp.org/NTP Pool Project to organizacja publiczna, wydaje zalecenia i administruje światowym internetowym zespołem serwerów NTP należących do wolontariuszy.
http://www.pool.ntp.org/Zgodnie ze standardem, Klient NTP wysyła maksymalnie jedno zapytanie na 64 sekundy. Serwer obsługujący np. 2000 zapytań na sekundę pozwala obsłużyć 128 tysięcy klientów. Jeżeli synchronizacja czasu jest stabilna, Klient NTP zwiększa ten interwał z 64 do 1024 sekund. Przy możliwości obsługi przez serwer 2000 zapytań na sekundę, liczba wszystkich Klientów stosujących się do powyższej reguły wynosi ponad 2 miliony.
Stawiając wymagania na serwer czasu, zawsze należy określić wymaganą dokładność datowania.
Prawie każdy odbiornik GPS z wyjściem impulsu sekundowego jest w stanie zapewnić synchronizację do skali czasu UTC z dokładnością lepszą niż jedna milionowa część sekundy. W praktyce, wyjąwszy systemy czasu rzeczywistego, wymaga się dokładności znacznie mniejszej, zwykle nie lepszej niż ułamek sekundy.
Przykładowo, zakładając iż np. system bilingowy rozlicza rozmowy z rozdzielczością 1s, zawsze musimy liczyć się z ewentualnością, iż to samo zdarzenie w innym podobnym systemie będzie datowane o sekundę wcześniej lub później, nawet jeśli różnica wskazań zegarów wynosi tylko 1 milionową część sekundy. Procedura postępowania w przypadku wystąpienia takiej różnicy, jeśli jest ona niedopuszczalna, musi zostać opracowana bez względu na to jaka jest maksymalna możliwa różnica we wskazaniach zegarów. W przypadku rejestracji z rozdzielczością 1 sekundy wystarczające jest utrzymywanie zgodności zegarów lepszej od 1 sekundy. Zdarzenia możemy wtedy zawsze podzielić na jednoczesne ? datowane tak samo lub z datami różniącymi się o sekundę i niejednoczesne, gdy daty różnią o więcej niż sekundę.
Załóżmy teraz, iż oba powyższe systemy nie synchronizują się wzajemnie lecz są synchronizowane do zewnętrznego wzorca. W takim przypadku, każdy z systemów, dla zapewnienia wzajemnej zgodności zegarów lepszej od 1 sekundy, powinien być synchronizowany z dokładnością lepszą od ? sekundy w stosunku do wzorca zewnętrznego.
Zdolność do autonomicznego odtwarzania skali czasu UTC zależna jest od jakości wewnętrznego wzorca i stałości temperatury otoczenia.
Typowa stałość dobowa oscylatorów kwarcowych stosowanych na płytach głównych stacji roboczych jest rzędu 10E-5. Oznacza to, iż po upływie 24 godzin, zawierających orientacyjnie 10E+5 sekund, odtwarzanie skali czasu UTC będzie obarczone niedokładnością około 10E-5 x 10E+5 = 1 sekundy.
Oscylatory kwarcowe nieco wyższej jakości, stosowane np. w odbiornikach GPS zapewniają stałość o około rząd wielkości lepszą.
Zdolność do odtwarzania skali czasu UTC w warunkach braku zewnętrznej synchronizacji dla różnego typu oscylatorów przedstawiono na wykresie. Podane wyniki ważne są tylko dla pracy w warunkach stałej temperatury otoczenia. Dla bezpieczeństwa należy przyjąć 10-krotny margines.
Wielu producentów sprzętu opartego o odbiorniki GPS starało się, aby ich urządzenia mogły prawidłowo współpracować z wewnętrznymi, montowanymi na oknach antenami GPS. Miało to na celu uniknięcie trudności związanych z montażem anten GPS na dachu lub w innym miejscu zapewniającym dobrą widoczność nieba. Jednak z naszych doświadczeń wynika, że używanie wewnętrznej anteny GPS nie jest najlepszym rozwiązaniem. Bardzo często podobne instalacje nie zapewniają prawidłowego funkcjonowania urządzeń w sposób ciągły co bezpośrednio przekłada się na zredukowanie dokładności i niezawodności. Ponieważ mamy złe doświadczenia z takim typem instalacji, nie oferujemy podobnych rozwiązań i kładziemy duży nacisk na montaż anten GPS w miejscu, gdzie będzie zapewniona pełna widoczność sfery niebieskiej. Dotyczy to również anten DCF, nie zalecamy stosowania anten instalowanych w pomieszczeniach.
Serwery NTP posługują się czasem UTC i nie obsługują stref czasowych. Obsługa stref czasowych leży po stronie systemu operacyjnego komputera Klienta NTP.
Zmiana czasu z letniego na zimowy i odwrotnie dotyczy czasu urzędowego. Ponieważ NTP posługuje się wyłącznie czasem UTC, za zmianę czasu odpowiedzialny jest wyłącznie system operacyjny komputera Klienta NTP.
Oba protokoły: STNP (Simple Network Time Protocol) oraz NTP (Network Time Protocol), używają takich samych pakietów sieciowych.
SNTP weryfikuje czas względem jednego serwera NTP a jeśli jest on niedostępny wybierany jest jeden z serwerów zapasowych. NTP weryfikuje czas względem wielu serwerów NTP i odrzuca serwery o małej wiarygodności.
SNTP dopasowuje czas przy pomocy pojedynczych korekt co może powodować duże skoki czasu.
NTP dokonuje dopasowania czasu w taki sposób, aby upływ czasu był w miarę możliwości monotoniczny oraz by nie zdarzały się sytuacje cofania w czasie.
Wykorzystanie protokołu SNTP do synchronizacji czasu zaleca się tylko w ostateczności. Serwer SNTP może funkcjonować nadrzędnie tylko w podsieci i tylko w sytuacji, gdy nie ma innych niezawodnych źródeł synchronizacji. Klienci SNTP powinni pracować wyłącznie podrzędnie i tylko w takiej konfiguracji, w której inni Klienci będą niezależni od Klienta SNTP.
Czas urzędowy i zakres jego stosowania określa Ustawa z dnia 10 grudnia 2003 r. o czasie urzędowym na obszarze Rzeczypospolitej Polskiej, Dziennik Ustaw z 2004 r. Nr 16 poz. 144.
Sposób dystrybucji czasu urzędowego określa Rozporządzenie Ministra Gospodarki, Pracy i polityki Społecznej z dnia 19 marca 2004 r. w sprawie sposobów rozpowszechniania sygnałów czasu urzędowego i uniwersalnego czasu koordynowanego UTC(PL). Tekst ustawy i rozporządzenia zamieszczono poniżej.
USTAWA
z dnia 10 grudnia 2003 r.
o czasie urzędowym na obszarze Rzeczypospolitej Polskiej
(Dz. U. z dnia 4 lutego 2004 r.)
Art. 1. Na obszarze Rzeczypospolitej Polskiej wprowadza się czas urzędowy.
Art. 2. 1. Czasem urzędowym na obszarze Rzeczypospolitej Polskiej jest czas środkowoeuropejski albo czas letni środkowoeuropejski w okresie od jego wprowadzenia do odwołania.
2. Czas środkowoeuropejski jest czasem zwiększonym o jedną godzinę w stosunku do uniwersalnego czasu koordynowanego UTC(PL).
3. Czas letni środkowoeuropejski jest czasem zwiększonym o dwie godziny w stosunku do uniwersalnego czasu koordynowanego UTC(PL).
4. Uniwersalny czas koordynowany UTC(PL) jest polską realizacją międzynarodowego uniwersalnego czasu koordynowanego UTC i wyznaczany jest przez państwowy wzorzec jednostek miar czasu i częstotliwości.
Art. 3. Prezes Rady Ministrów wprowadza i odwołuje czas letni środkowoeuropejski, w drodze rozporządzenia, ustalając na okres co najmniej jednego roku kalendarzowego dokładne daty, od których następuje wprowadzenie lub odwołanie czasu letniego, uwzględniając istniejące standardy międzynarodowe w tym zakresie.
Art. 4. 1. Organem uprawnionym do utrzymywania czasu urzędowego i uniwersalnego czasu koordynowanego UTC(PL) oraz do rozpowszechniania sygnałów tych czasów jest Prezes Głównego Urzędu Miar.
Art. 5. Traci moc ustawa z dnia 18 stycznia 1996 r. o czasie letnim (Dz. U. Nr 29, poz. 128).
Art. 6. Ustawa wchodzi w życie po upływie 14 dni od dnia ogłoszenia. Dziennik Ustaw z 2004 r. Nr 56 poz. 548
ROZPORZĄDZENIE MINISTRA GOSPODARKI, PRACY I POLITYKI SPOŁECZNEJ
z dnia 19 marca 2004 r.
w sprawie sposobów rozpowszechniania sygnałów czasu urzędowego i uniwersalnego czasu koordynowanego UTC(PL)
(Dz. U. z dnia 7 kwietnia 2004 r.)
Na podstawie art. 4 ust. 2 ustawy z dnia 10 grudnia 2003 r. o czasie urzędowym na obszarze Rzeczypospolitej Polskiej (Dz. U. z 2004 r. Nr 16, poz. 144) zarządza się, co następuje:
§ 1. Sygnały czasu urzędowego i uniwersalnego czasu koordynowanego UTC(PL) są rozpowszechniane z Głównego Urzędu Miar następującymi sposobami:
1) całodobowo za pośrednictwem sieci Internet z dwóch serwerów czasu o adresach: tempus1.gum.gov.pl i tempus2.gum.gov.pl z zastosowaniem protokołu transmisyjnego NTP (Network Time Protocol);
2) całodobowo za pośrednictwem sieci telekomunikacyjnej z wykorzystaniem modemu telefonicznego numer (0-prefix-22) 6548872 i zastosowaniem kodu sygnałów czasu European Telephone Time Code;
3) metodą radiodyfuzyjną za pośrednictwem jednostek radiofonii publicznej co każdą pełną godzinę.
§ 2. Rozporządzenie wchodzi w życie po upływie 14 dni od dnia ogłoszenia.
Zgodnie z ustawą i w oparciu tekst druku nr 2180 Sejmu Rzeczpospolitej Polskiej IV Kadencji zawierającego projekt tejże ustawy wraz z uzasadnieniem należy przyjąć, iż ustawodawca wskazał polską realizację międzynarodowego uniwersalnego czasu koordynowanego UTC(PL) za jedyne źródło czasu urzędowego na terenie Rzeczypospolitej Polskiej. Ta skala czasu jest dostępna powszechnie na terenie Polski za pośrednictwem Internetu z dokładnością rzędu kilkunastu milisekund (tysięcznych części sekundy).
Dla tych, którzy chcą korzystać z serwerów tempus1.gum.gov.pl, tempus2.gum.gov.pl Głównego Urzędu Miar jako jedynego źródła czasu, firma Meinberg opracowała model serwera NTP, który może dostarczać czas z dużą dokładnością korzystając wyłącznie z protokołu NTP. Algorytm pracy serwera M300 MRS został specjalnie zaprojektowany dla tych potrzeb. Urządzenie to może być wyposażone w nadajnik kodu czasowego IRIG-B, którym można synchronizować serwer NTP pracujący w sieci odizolowanej od Internetu. Wbudowany odbiornik GPS lub DCF może służyć do kontroli poprawności transmisji czasu przy pomocy protokołu NTP.
W Polsce równie powszechny jest dostęp do dwu innych skal czasu: UTC(USNO) ? za pośrednictwem sygnałów GPS, z dokładnością rzędu 100ns (jednej dziesięciomiliardowej części sekundy) oraz UTC(PTB) - za pośrednictwem sygnału DCF, z dokładnością rzędu kilkunastu milisekund.
Wszystkie wymienione trzy realizacje skali UTC realizują ją ze zgodnością zdecydowanie lepszą od 1 mikrosekundy (jednej miliardowej części sekundy).
Nie wdając się w zawiłą dyskusję na temat pryncypiów można stwierdzić, iż każdy kto synchronizuje swój zegar do jednej ze wskazanych realizacji skal UTC, zapewnia zgodność swego zegara ze skalą czasu urzędowego, w granicach błędu nie większego niż występujący przy dostępie do skali czasu urzędowego za pośrednictwem serwerów NTP Głównego Urzędu Miar, a w przypadku korzystania z sygnału GPS, z błędem znacznie mniejszym.
Na przestrzeni ostatnich lat realizacja skali czasu koordynowanego UTC(PL) nie różniła się od skali UTC o więcej niż kilkadziesiąt ns (miliardowych części sekundy). Można rozważać hipotetyczną sytuację, w której czas urzędowy dystrybuowany przez Internet różni się od innych realizacji czasu UTC w sposób istotny dla odbiorcy, a więc o więcej niż kilkanaście ms. Wydaje się jednak bardzo prawdopodobne, iż taka sytuacja, chociażby z uwagi na uwarunkowania międzynarodowe, zostanie określona jako stan awaryjny a za prawidłowe uznane zostaną datowania zgodne ze skalą czasu UTC.