Co można zrobić, aby poprawić synchronizację czasu w sieciach ze sporadycznym dostępem do Internetu?

14

Szukam porady dotyczącej konfiguracji serwerów czasu dla bardzo nietypowej sieci. Obsługuję wiele zamkniętych sieci, które od czasu do czasu mają dostęp do Internetu. Sieć uzyskiwałaby dostęp przez większość dni przez kilka godzin, ale często traciłaby 1-3 tygodnie. Komputery / serwery w tej sieci są w większości oparte na * nix, ale nie wszystkie mają ten sam smak. Cała sieć jest mobilna, więc kiedy się połączy, będzie miała bardzo różne przeskoki / opóźnienia w stosunku do internetowych serwerów czasu. Serwery w sieci zamkniętej są często wyłączane (przynajmniej codziennie). W tej chwili moje wnętrzności każą mi używać NTP (ponieważ nienawidzę ponownego uczenia się wszystkiego, co ktoś inny już całkiem dobrze pracował). Ale mam kilka problemów i szukam kogoś z doświadczeniem w tego typu dziwnych sytuacjach. Obecnie nie mam rozwiązania, ja ” m po prostu pozwalam dryfować zegarom wewnętrznym. Powoduje to błędy około 600s w większości sieci. Widziałem niedopasowanie gorsze niż 10.000.

  1. Czy w tej sytuacji jest coś „lepszego” niż NTP? Wiem, że NTP lubi bardzo częsty, spójny dostęp do serwerów, które dają prawie identyczne odpowiedzi. Nie będę tego miał
  2. Ile wewnętrznych serwerów NTP należy skonfigurować, aby w okresach przerwy w dostępie do Internetu miałem wewnętrzny czas spójny w sieci zamkniętej?
  3. Nie ma dostępu człowieka. Bez względu na to, jak duże jest to niedopasowanie, serwer (y) musi podjąć próbę samodzielnej korekty.
  4. Dyskretne kroki są bardzo złe. Bez względu na to, jak duże niedopasowanie, korekta musi być „zasłonięta”, a nie „stopniowana”. Rozumiem, że poprawka może potrwać wiele godzin.
anregen
źródło
7
Wygląda na to, że potrzebujesz czasu na GPS.
Michael Hampton
Myślę, że wieże komórkowe mogą mieć jakiś system kodów czasowych, który być może mógłbyś użyć. Lub po prostu mobilny punkt dostępu.
Sobrique
@Sobrique Z mojego doświadczenia wynika, że ​​czas, jaki otrzymujesz z wież komórkowych, jest zwykle o kilka sekund mniejszy niż czas, który otrzymujesz z NTP. Czasami może być nawet wyłączony o kilka minut. Wydaje mi się, że kiedy się nie zgadzają, to NTP ma rację. Ufałbym, że GPS dotrzyma dokładnego czasu, ponieważ wiem, że dokładny czas jest warunkiem koniecznym do działania GPS.
kasperd

Odpowiedzi:

23

W dawnych czasach konfigurowanie serwera NTP warstwy 1 było bardzo trudne, ponieważ źródła warstwy 0 były bardzo drogie, wyjątkowo delikatne i zwykle radioaktywne.

Obecnie mamy GPS, który, nawiasem mówiąc, działa jak niezwykle dokładny zegar radiowy. Możesz kupić dedykowany serwer stratum-1 zawierający odbiornik GPS jako źródło czasu stratum-0 w całkiem rozsądnych cenach, lub z niewielką pomysłowością możesz podłączyć przyzwoitą jednostkę GPS klasy konsumenckiej do losowego serwera i skonfigurować NTP odpowiednio do dam ci własny serwer stratum-1. Pierwszy z nich jest lepszy dla lepszej dostępności.

Wykonaj jedną z tych rzeczy, a będziesz mieć jeden serwer stratum-1 w sieci, z którym każdy może się synchronizować. Jeden wystarczy; wszyscy będą zsynchronizowani z nim, gdy będzie w górze, a jeśli spadnie, wszyscy klienci prawdopodobnie będą mieli dobre pojęcie o swoich współczynnikach dryfu, więc nie powinni dryfować zbyt daleko, zanim wróci. Delikatnie zsynchronizuję się z tym.

Nie widzę żadnego powodu, aby nie spędzać miło czasu nawet z przerywanym dostępem do Internetu.

Szalony Kapelusznik
źródło
Bardzo podoba mi się ten plan i zamierzam go zrealizować. Mamy nawet odbiorniki GPS już na miejscu, więc wystarczy uruchomić NTP i podłączyć wyjście GPS do serwera.
anregen
Anregen, wybacz mi, że o tym wspomniałem, jeśli już o tym wiesz: lokalna etykieta mówi, że gdy jesteś zadowolony z odpowiedzi na swoje pytanie, akceptujesz je, klikając znajdujący się obok kontur „tyka”. To zarówno napędza system reputacji SF zarówno dla ciebie, jak i autora odpowiedzi, i powstrzymuje pytanie od pływania na zawsze jak kwantowy albatros.
MadHatter
1
Jedynym powodem, dla którego się wstrzymuję, jest upewnienie się, że mogę obejść czas uruchomienia na GPS. Nastąpi czas podczas uruchamiania systemu, w którym GPS zbiera satelity i nie zgłasza dokładnych informacji o czasie. Jeśli uda mi się to skutecznie obejść, zdecydowanie wybiorę tę odpowiedź. Dzięki jeszcze raz!
anregen
1
Zgłoszony znacznik czasu poprzedzającego akwizycję to 0/0/0 0: 0: 0, więc bardzo łatwo go zidentyfikować. Muszę tylko napisać kod, żeby to odfiltrować, a potem będę miał świetny system. Dzięki jeszcze raz!
anregen
0

Podobnie jak w przypadku innej już zaakceptowanej odpowiedzi, wątpię, abyś mógł to zrobić bez posiadania zewnętrznego źródła czasu, ponieważ twoje połączenie sieciowe nie jest po prostu wystarczająco dobre.

Jako alternatywne rozwiązanie dla GPS chcę zaproponować zewnętrzny odbiornik sygnału zegara atomowego lub zegar radiowy . Podstawową ideą jest to, że odbierasz sygnały radiowe z jednej z kilku stacji nadawczych z zegarem atomowym na całym świecie.

Można je kupić w zestawach lub samemu zrobić bardzo tanio, w zależności od budżetu. Powinny być one dokładniejsze niż GPS, ponieważ GPS może być wyłączony nawet o 12 sekund: http://www.gpsinformation.net/main/gpstime.htm .

Oto przewodnik dotyczący tworzenia odbiornika radiowego zegara atomowego z Raspberry Pi: http://www.rs-online.com/designspark/electronics/blog/atomic-time-for-the-raspberry-pi

I kolejny wątek DIY do tworzenia bardzo taniego zegara radiowego: http://www.micro-examples.com/public/microex-navig/doc/100-p16f84-led-dcf-clock.html

Po prostu pomysł;)

JensB
źródło
1
Widzisz, denerwowałem się, kiedy powiedziałeś „tani zegar atomowy”, ponieważ ... cóż, zasadniczo, mierzysz wibracje atomowe, co nie jest trywialne. Jednak ten, który otrzymał zegar czasu atomowego, to inny kocioł z rybą i całkiem niezły pomysł. O jedynym minusem jest to, że ma tendencję do być słaby odbiór w ciągu dnia.
Sobrique
Wprowadziłem kilka modyfikacji, aby
wyjaśnić