w systemie z centralnym serwerem rozwiązanie synchronizacji jest trywialne; serwer dyktuje czas systemowy. Algorytm Cristiana i algorytm Berkeley ’ a są potencjalnymi rozwiązaniami problemu synchronizacji zegara w tym środowisku.
w komputerach rozproszonych problem nabiera większej złożoności, ponieważ globalny czas nie jest łatwo znany. Najczęściej używanym rozwiązaniem synchronizacji zegara w Internecie jest Network Time Protocol (NTP), który jest warstwową architekturą klient-serwer opartą na protokole Datagramowym użytkownika (UDP) przekazywanie wiadomości. Lamport timestamps i zegary wektorowe są pojęciami zegara logicznego w obliczeniach rozproszonych.
w sieci bezprzewodowej problem staje się jeszcze większym wyzwaniem ze względu na możliwość kolizji pakietów synchronizacji na nośniku bezprzewodowym i wyższy wskaźnik dryfu zegarów na tanich urządzeniach bezprzewodowych.
- Berkeley algorithmEdit
- Zegar-sampling wzajemna synchronizacja sieciedytuj
- algorytm Cristiana edytuj
- Global Positioning SystemEdit
- Inter-range Instrumentation Group time codesEdit
- Network Time ProtocolEdit
- Precision Time ProtocolEdit
- Reference broadcast synchronizationEdit
- Reference Broadcast Infrastructure SynchronizationEdit
- Ethernet Synchronicznyedit
- bezprzewodowe sieci ad hocedit
Berkeley algorithmEdit
algorytm Berkeley’ a jest odpowiedni dla systemów, w których Zegar radiowy nie jest obecny, system ten nie ma sposobu na upewnienie się o czasie rzeczywistym, poza utrzymaniem globalnego średniego czasu jako globalnego czasu. Serwer czasu będzie okresowo pobierać czas od wszystkich klientów czasu, uśredniać wyniki, a następnie zgłaszać klientom dostosowanie, które należy wprowadzić do swoich lokalnych zegarów, aby osiągnąć średnią. Algorytm ten podkreśla fakt, że wewnętrzne zegary mogą się różnić nie tylko czasem, w jakim się znajdują, ale także częstotliwością zegara.
Zegar-sampling wzajemna synchronizacja sieciedytuj
zegar-sampling wzajemna synchronizacja sieci (CS-MNS) jest odpowiednia dla aplikacji rozproszonych i mobilnych. Wykazano, że jest on skalowalny w sieciach mesh, które zawierają pośrednio połączone węzły nie sąsiadujące, i jest zgodny z IEEE 802.11 i podobnymi standardami. Może być dokładna do rzędu kilku mikrosekund, ale wymaga bezpośredniej fizycznej łączności bezprzewodowej z znikomym opóźnieniem łącza (poniżej 1 mikrosekundy) na połączeniach między sąsiednimi węzłami, ograniczając odległość między sąsiednimi węzłami do kilkuset metrów.
algorytm Cristiana edytuj
algorytm Cristiana opiera się na istnieniu serwera czasu. Serwer czasu utrzymuje swój zegar za pomocą zegara radiowego lub innego dokładnego źródła czasu, a następnie wszystkie inne komputery w systemie pozostają z nim zsynchronizowane. Klient czasu będzie utrzymywać swój zegar poprzez wywołanie procedury do serwera czasu. Wariacje tego algorytmu sprawiają, że bardziej precyzyjne obliczenia czasu poprzez uwzględnienie czasu propagacji radiowej w sieci.
Global Positioning SystemEdit
oprócz zastosowania w nawigacji, Global Positioning System (GPS) może być również używany do synchronizacji zegara. Dokładność sygnałów czasu GPS wynosi ±10 nanosekund.
Inter-range Instrumentation Group time codesEdit
kody czasowe IRIG są standardowymi formatami przesyłania informacji o taktowaniu. Atomic frequency standards i odbiorniki GPS zaprojektowane do precyzyjnego pomiaru czasu są często wyposażone w wyjście IRIG. Standardy zostały stworzone przez Telecommunications Working Group of the United States military ’ s Inter-Range Instrumentation Group (IRIG), organ normalizacyjny Rady dowódców zasięgu. Prace nad tymi standardami rozpoczęły się w październiku 1956 roku, a pierwotne standardy zostały zaakceptowane w 1960 roku.
Network Time ProtocolEdit
Network Time Protocol (NTP) to bardzo solidny protokół, szeroko stosowany w Internecie. Dobrze przetestowany przez lata, jest ogólnie uważany za stan techniki w rozproszonych protokołach synchronizacji czasu dla niewiarygodnych sieci. Może zmniejszyć przesunięcia synchronizacji do czasów rzędu kilku milisekund przez publiczny Internet i do poziomów poniżej milisekund w sieciach lokalnych.
uproszczona wersja protokołu NTP, Simple Network Time Protocol (SNTP), może być również używana jako czysty bezstanowy protokół synchronizacji pierwotnej/wtórnej, ale brakuje wyrafinowanych funkcji NTP, a tym samym ma znacznie niższy poziom wydajności i niezawodności.
Precision Time ProtocolEdit
Precision Time Protocol (PTP) jest protokołem master/slave do dostarczania bardzo dokładnego czasu w sieciach lokalnych.
Reference broadcast synchronizationEdit
referencyjny algorytm synchronizacji czasu transmisji (RBS) jest często używany w sieciach bezprzewodowych i sieciach czujników. W tym schemacie inicjator nadaje komunikat referencyjny, aby nakłonić odbiorników do dostosowania zegarów.
Reference Broadcast Infrastructure SynchronizationEdit
protokół Reference Broadcast Infrastructure Synchronization (RBIS) jest protokołem synchronizacji master/slave, podobnie jak RBS, opartym na paradygmacie synchronizacji odbiornika/odbiornika. Jest specjalnie dostosowany do użytku w sieciach bezprzewodowych IEEE 802.11 skonfigurowanych w trybie infrastruktury (tj. koordynowanych przez punkt dostępowy). Protokół nie wymaga żadnych modyfikacji punktu dostępu.
Ethernet Synchronicznyedit
Ethernet synchroniczny wykorzystuje Ethernet w sposób synchroniczny, tak że w połączeniu z protokołami synchronizacji, takimi jak PTP w przypadku projektu White Rabbit, uzyskuje się dokładność synchronizacji poniżej nanosekundy.
bezprzewodowe sieci ad hocedit
synchronizacja jest osiągana w bezprzewodowych sieciach ad hoc poprzez wysyłanie wiadomości synchronizacyjnych w sposób multi-hop, a każdy węzeł stopniowo synchronizuje się z węzłem, który jest bezpośrednim nadawcą wiadomości synchronizacyjnej. Przykłady obejmują Flooding Time Synchronization Protocol (Ftsp) i Harmonia, oba w stanie osiągnąć synchronizację z dokładnością w kolejności mikrosekund.