Archiwum dla kategorii "zaawansowane NTP"

Utrzymywanie dokładnego czasu w systemie Linux

Friday, October 10th, 2008

Jeśli chcesz mieć pewność, że twój zegar komputerowy jest dokładny, możesz skonfigurować system do użycia NTP (Network Time Protocol), jeden z najstarszych protokołów internetowych i branżowy standard synchronizacji czasu.

NTP on zsynchronizuje zegar twojego komputera z pulą serwery czasu na całym świecie, które są oficjalnymi "chronometrażystami". Najlepiej wybrać najbliższy, aby zminimalizować czas reakcji i użyć więcej niż jednego, na wypadek, gdyby jeden z nich upadł. Do wyboru jest więcej serwerów niż 1.500, ale niektóre obszary są lepiej obsługiwane niż inne. Wiele serwerów w Internecie jest wyjątkowo niedokładnych, a odniesienia do czasu w Internecie nie powinny być używane jako zamiennik dedykowanego serwera czasu.

Jednak dla podstawowych Synchronizacja czasu celów, wystarczą dostawcy Internetu. Pierwszym krokiem powinno być wybranie trzech serwerów znajdujących się w pobliżu - najlepiej w twoim kraju lub, jeśli nie ma ich wystarczająco dużo, w twojej strefie. Przejdź do strony ntp home i przeglądaj drzewo stref i serwerów, aby wybrać najlepsze z nich. Wykonaj następujące polecenia, aby skonfigurować:

1. Skonfiguruj /etc/ntp.conf
Edytuj ten plik za pomocą edytora tekstów. Zastąpić
server <nazwa-serwera-nazwy>
ze swoimi serwerami, takimi jak:

serwer 0.br.pool.ntp.org
serwer 1.br.pool.ntp.org
serwer 2.br.pool.ntp.org

2. Zsynchronizuj swój zegar ręcznie
Jeśli twój zegar dryfuje zbyt, NTP może odmówić synchronizacji, ale można to zrobić ręcznie:

ntpdate 0.br.pool.ntp.org (wybrana nazwa serwera)

3. Wykonaj demona ntp jako plik wykonywalny

chmod + x /etc/rc.d/rc.ntpd

4. Uruchom NTP teraz bez restartu
Ponownie proste polecenie:

/etc/rc.d/rc.ntpd start

Zegar atomowy i serwer czasu NTP

Środa, październik 1st, 2008

Większość osób słyszało zegary atomoweich dokładność i precyzja są dobrze znane. Zegar ato0mic ma potencjał, aby utrzymać czas przez kilkaset milionów lat i nie tracić ani sekundy na dryfowaniu. Dryf to proces, w którym zegary tracą lub zyskują na czasie z powodu niedokładności mechanizmów, które sprawiają, że działają.

Na przykład zegary mechaniczne istnieją od setek lat, ale nawet najdroższe i dobrze zaprojektowane będą dryfować co najmniej sekundę dziennie. Podczas gdy elektroniczne zegary są dokładniejsze, będą również dryfować o około sekundę w tygodniu.

Zegary atomowe nie mają porównania, jeśli chodzi o utrzymanie czasu. Ponieważ zegar atomowy opiera się na oscylacji atomu (w większości przypadków atomu cezu 133), który ma dokładny i skończony rezonans (cez jest 9,192,631,770 co sekundę), czyni to dokładność do jednej miliardowej sekundy (nanosekundy) .

Chociaż ten typ dokładności jest niezrównany, to umożliwił on technologie i innowacje, które zmieniły świat. Komunikacja satelitarna jest możliwa tylko dzięki zegarkom atomowym, podobnie jak nawigacja satelitarna. Gdy prędkość światła (a zatem fale radiowe) docierają do ponad 300,000km, a druga z niedokładnością sekundy, system nawigacyjny może być setki tysięcy mil na zewnątrz.

Precyzyjna dokładność jest również niezbędna w wielu nowoczesnych aplikacjach komputerowych. Globalna komunikacja, w szczególności transakcje finansowe, muszą być wykonywane dokładnie. Na Wall Street lub giełdzie londyńskiej sekunda może zobaczyć wartość wzrostu lub spadku zapasów o miliony. Rezerwacja online wymaga również dokładności i doskonałej synchronizacji, a jedynie zegary atomowe mogą zapewnić, że bilety mogą być sprzedawane więcej niż raz, a bankomaty mogą wypłacić podwójną pensję, jeśli znajdziesz bankomat z wolnym zegarem.

Chociaż może to brzmieć pożądanie dla bardziej nieuczciwych z nas, nie trzeba wiele wyobraźni, aby zrozumieć, jakie problemy może spowodować brak dokładności i synchronizacja. Z tego powodu opracowano międzynarodową skalę czasową opartą na czasie określonym przez zegary atomowe.

Czas uniwersalny (skoordynowany czas uniwersalny) jest wszędzie taki sam i może uwzględniać spowolnienie obrotu Ziemi poprzez dodanie sekund przestępnych, aby utrzymać UTC w linii z GMT (Greenwich Meantime). Wszystkie sieci komputerowe uczestniczące w komunikacji globalnej muszą być zsynchronizowane z UTC. Ponieważ UTC opiera się na czasie określonym przez zegary atomowe, jest to najbardziej precyzyjny możliwy czas. Aby sieć komputerowa mogła odbierać i utrzymywać synchronizację z UTC, najpierw potrzebuje dostępu do zegara atomowego. Są to drogie i duże urządzenia i zwykle można je znaleźć tylko w laboratoriach fizyki na dużą skalę.

Na szczęście czas określony przez te zegary nadal może zostać odebrany przez a sieciowy serwer czasu więdnie dzięki wykorzystaniu transmisji długofalowych o częstotliwościach czasowych i częstotliwościach transmitowanych przez krajowe laboratoria fizyki lub GPS (Global Positioning System). NTP (protokół czasu sieci) może następnie dystrybuować ten czas UTC do sieci i wykorzystywać sygnał czasu, aby wszystkie urządzenia w sieci były doskonale zsynchronizowane z UTC.

Zrozumienie znaczników czasu komputera za pomocą NTP

Poniedziałek, wrzesień 8th, 2008

Sposób, w jaki komputer radzi sobie z czasem, jest zupełnie inny niż ludzie, którzy go postrzegają. Organizujemy czas na sekundy, minuty, godziny, dni, tygodnie, miesiące i lata, podczas gdy komputery z drugiej strony ustalają czas jako pojedynczą liczbę reprezentującą sekundy, które przeszły z jednego punktu w czasie, znany jako pierwsza epoka.

Większość komputerów używa NTP (Network Time Protocol), aby poradzić sobie z czasem i wieloma sieciami, są synchronizowane za pomocą dedykowanego serwera czasu NTP. NTP nie wie nic o dniach, latach czy wiekach, tylko o sekundach od pierwszej epoki. Ta największa epoka jest ustawiona (dla większości systemów) o północy na przełomie XX i XX wieku, dla człowieka będzie zapisana jako coś takiego: 00: 00 - 01,01,1900.

Komputery jednak liczą czas jako liczbę sekund po tym punkcie. Jeśli komputer znajdował się w 1900, jego sygnatura czasowa na północy stycznia 1 byłaby 0, podczas gdy w 1972 w tym samym dniu znacznik czasu byłby 2,272,060,800, który reprezentuje liczbę sekund od 1900.

Znaczniki czasu uruchamiają się ponownie co 136 w następnym opakowaniu należnym w 2036, co wywołało niepokój u niektórych, którzy obawiają się scenariusza typu Millennium Bug, chociaż większość wątpliwości dotyczy takich zdarzeń, jednak w przypadku zawijania znacznika czasu zdarza się era zostanie dodana (+ 1), aby umożliwić komputerom radzenie sobie z przedziałami czasu obejmującymi więcej niż jedno zawijanie. Jeśli komputery i NTP muszą radzić sobie z czasem, który obejmuje przed epoką główną, używana jest ujemna liczba całkowita (dla roku 1500 a -3 będzie używany do reprezentowania trzech cykli 136 lat).

Znaczniki czasu są używane praktycznie we wszystkich transakcjach wykonywanych przez nowoczesne komputery, takich jak wysyłanie wiadomości e-mail, debugowanie i programowanie. Ponieważ czas jest liniowy, komputer wie, że każdy znacznik jest zawsze większy niż poprzedni, a zatem komputery i NTP mają trudności z radzeniem sobie z niedokładnościami w czasie, szczególnie gdy czas nagle wydaje się cofać.

Może się to zdarzyć, jeśli komputery nie są zsynchronizowane w tym samym czasie. Jeśli wiadomość e-mail zostanie wysłana na komputer z wolniejszym zegarem, komputer zostanie odebrany, zanim zostanie wysłany. Brak synchronizacji może mieć poważne problemy, a nawet może sprawić, że system będzie podatny na złośliwe ataki, a nawet oszustwa.

Z tego powodu większość sieci komputerowych jest zsynchronizowana z UTC (Coordinated Universal Time). UTC to globalna skala czasowa i taka sama dla wszystkich na całym świecie oparta jest na czasie, który charakteryzują zegary atomowe, które są bardzo dokładne, ani nie zyskują ani nie tracą sekundy w ciągu milionów lat.

Większość sieci komputerowych używa dedykowanego Serwer czasu NTP aby otrzymać czas UTC do synchronizacji również ich komputerów. UTC jest dostępny przez Internet (choć niezabezpieczony), za pośrednictwem sieci GPS (Global Positioning System) lub przez odbieranie krajowych transmisji czasu i częstotliwości za pośrednictwem fal długich.

NTP synchronizuje komputer, sprawdzając odebrany czas UTC i dodając lub zatrzymując znacznik czasu komputera, dopóki nie zostanie idealnie dopasowany do czasu UTC. Używając dedykowanego serwera czasu NTP, UTC może być utrzymywane w sieci przez kilka milisekund czasu UTC.

Zrozumienie znaczników czasu komputera za pomocą NTP

Poniedziałek, wrzesień 8th, 2008

Sposób, w jaki komputer radzi sobie z czasem, jest zupełnie inny niż ludzie, którzy go postrzegają. Organizujemy czas na sekundy, minuty, godziny, dni, tygodnie, miesiące i lata, podczas gdy komputery z drugiej strony ustalają czas jako pojedynczą liczbę reprezentującą sekundy, które przeszły z jednego punktu w czasie, znany jako pierwsza epoka.

Większość komputerów korzysta z NTP (Network Time Protocol), aby poradzić sobie z czasem i sieciami, wiele z nich jest synchronizowanych za pomocą dedykowanego serwera czasu NTP. NTP nie wie nic o dniach, latach czy wiekach, tylko o sekundach od pierwszej epoki. Ta największa epoka jest ustawiona (dla większości systemów) o północy na przełomie XX i XX wieku, dla człowieka będzie zapisana jako coś takiego: 00: 00 - 01,01,1900.

Komputery jednak liczą czas jako liczbę sekund po tym punkcie. Jeśli komputer znajdował się w 1900, jego sygnatura czasowa na północy stycznia 1 byłaby 0, podczas gdy w 1972 w tym samym dniu znacznik czasu byłby 2,272,060,800, który reprezentuje liczbę sekund od 1900.

Znaczniki czasu uruchamiają się ponownie co 136 w następnym opakowaniu należnym w 2036, co wywołało niepokój u niektórych, którzy obawiają się scenariusza typu Millennium Bug, chociaż większość wątpliwości dotyczy takich zdarzeń, jednak w przypadku zawijania znacznika czasu zdarza się era zostanie dodana (+ 1), aby umożliwić komputerom radzenie sobie z przedziałami czasu obejmującymi więcej niż jedno zawijanie. Jeśli komputery i NTP muszą radzić sobie z czasem, który obejmuje przed epoką główną, używana jest ujemna liczba całkowita (dla roku 1500 a -3 będzie używany do reprezentowania trzech cykli 136 lat).

Znaczniki czasu są używane praktycznie we wszystkich transakcjach wykonywanych przez nowoczesne komputery, takich jak wysyłanie wiadomości e-mail, debugowanie i programowanie. Ponieważ czas jest liniowy, komputer wie, że każdy znacznik jest zawsze większy niż poprzedni, a zatem komputery i NTP mają trudności z radzeniem sobie z niedokładnościami w czasie, szczególnie gdy czas nagle wydaje się cofać.

Może się to zdarzyć, jeśli komputery nie są zsynchronizowane w tym samym czasie. Jeśli wiadomość e-mail zostanie wysłana na komputer z wolniejszym zegarem, komputer zostanie odebrany, zanim zostanie wysłany. Brak synchronizacji może mieć poważne problemy, a nawet może sprawić, że system będzie podatny na złośliwe ataki, a nawet oszustwa.

Z tego powodu większość sieci komputerowych jest zsynchronizowana z UTC (Coordinated Universal Time). UTC to globalna skala czasowa i taka sama dla wszystkich na całym świecie oparta jest na czasie, który charakteryzują zegary atomowe, które są bardzo dokładne, ani nie zyskują ani nie tracą sekundy w ciągu milionów lat.

Większość sieci komputerowych używa dedykowanego Serwer czasu NTP aby otrzymać czas UTC do synchronizacji również ich komputerów. UTC jest dostępny przez Internet (choć niezabezpieczony), za pośrednictwem sieci GPS (Global Positioning System) lub przez odbieranie krajowych transmisji czasu i częstotliwości za pośrednictwem fal długich.

NTP synchronizuje komputer, sprawdzając odebrany czas UTC i dodając lub zatrzymując znacznik czasu komputera, dopóki nie zostanie idealnie dopasowany do czasu UTC. Używając dedykowanego serwera czasu NTP, UTC może być utrzymywane w sieci przez kilka milisekund czasu UTC.