In einem System mit einem zentralen Server ist die Synchronisationslösung trivial; Der Server diktiert die Systemzeit. Cristians Algorithmus und der Berkeley-Algorithmus sind mögliche Lösungen für das Uhrensynchronisationsproblem in dieser Umgebung.
Im verteilten Rechnen nimmt das Problem eine größere Komplexität an, da eine globale Zeit nicht leicht bekannt ist. Die am häufigsten verwendete Uhrensynchronisationslösung im Internet ist das Network Time Protocol (NTP), eine mehrschichtige Client-Server-Architektur, die auf der Weitergabe von UDP-Nachrichten (User Datagram Protocol) basiert. Lamport-Zeitstempel und Vektoruhren sind Konzepte der logischen Uhr im verteilten Rechnen.
In einem drahtlosen Netzwerk wird das Problem aufgrund der Möglichkeit einer Kollision der Synchronisationspakete auf dem drahtlosen Medium und der höheren Driftrate von Takten auf kostengünstigen drahtlosen Geräten noch schwieriger.
- Berkeley Algorithm
- Clock-Sampling mutual network synchronizationbearbeiten
- Cristians algorithmEdit
- Global Positioning SystemBearbeiten
- Inter-Range Instrumentation Group time codesbearbeiten
- Network Time ProtocolEdit
- Precision Time ProtocolEdit
- Referenz-Broadcast-Synchronisationbearbeiten
- Reference Broadcast Infrastructure Synchronizationbearbeiten
- Synchronous EthernetEdit
- Drahtlose Ad-hoc-Netzwerke
Berkeley Algorithm
Der Berkeley-Algorithmus eignet sich für Systeme, bei denen keine Funkuhr vorhanden ist, dieses System hat keine andere Möglichkeit, die tatsächliche Zeit sicherzustellen, als eine globale Durchschnittszeit als globale Zeit beizubehalten. Ein Zeitserver ruft regelmäßig die Zeit von allen Zeitclients ab, mittelt die Ergebnisse und meldet dann den Clients die Anpassung, die an ihren lokalen Uhren vorgenommen werden muss, um den Durchschnitt zu erreichen. Dieser Algorithmus hebt die Tatsache hervor, dass interne Uhren nicht nur in der Zeit, die sie enthalten, sondern auch in der Taktrate variieren können.
Clock-Sampling mutual network synchronizationbearbeiten
Clock-Sampling Mutual network Synchronization (CS-MNS) eignet sich für verteilte und mobile Anwendungen. Es wurde gezeigt, dass es über Mesh-Netzwerke skalierbar ist, die indirekt verknüpfte nicht benachbarte Knoten enthalten, und mit IEEE 802.11 und ähnlichen Standards kompatibel ist. Es kann in der Größenordnung von wenigen Mikrosekunden genau sein, erfordert jedoch eine direkte physische drahtlose Konnektivität mit vernachlässigbarer Verbindungsverzögerung (weniger als 1 Mikrosekunde) bei Verbindungen zwischen benachbarten Knoten, wodurch der Abstand zwischen benachbarten Knoten auf einige hundert Meter begrenzt wird.
Cristians algorithmEdit
Cristians Algorithmus beruht auf der Existenz eines Zeitservers. Der Zeitserver behält seine Uhr mithilfe einer Funkuhr oder einer anderen genauen Zeitquelle bei, dann bleiben alle anderen Computer im System damit synchronisiert. Ein Zeitclient behält seine Uhr bei, indem er einen Prozeduraufruf an den Zeitserver ausführt. Variationen dieses Algorithmus ermöglichen genauere Zeitberechnungen, indem die Netzwerkfunklaufzeit berücksichtigt wird.
Global Positioning SystemBearbeiten
Zusätzlich zu seiner Verwendung in der Navigation kann das Global Positioning System (GPS) auch zur Uhrensynchronisation verwendet werden. Die Genauigkeit der GPS-Zeitsignale beträgt ± 10 Nanosekunden.
Inter-Range Instrumentation Group time codesbearbeiten
IRIG-Timecodes sind Standardformate für die Übertragung von Timing-Informationen. Atomfrequenzstandards und GPS-Empfänger, die für präzises Timing ausgelegt sind, sind häufig mit einem IRIG-Ausgang ausgestattet. Die Standards wurden von der Telecommunications Working Group der Inter-Range Instrumentation Group (IRIG) des US-Militärs, dem Normungsgremium des Range Commanders Council, erstellt. Die Arbeit an diesen Standards begann im Oktober 1956, und die ursprünglichen Standards wurden 1960 akzeptiert.
Network Time ProtocolEdit
Network Time Protocol (NTP) ist ein äußerst robustes Protokoll, das im gesamten Internet weit verbreitet ist. Im Laufe der Jahre gut getestet, wird es allgemein als Stand der Technik bei verteilten Zeitsynchronisationsprotokollen für unzuverlässige Netzwerke angesehen. Es kann Synchronisations-Offsets auf Zeiten in der Größenordnung von wenigen Millisekunden über das öffentliche Internet und auf Sub-Millisekunden-Ebenen über lokale Netzwerke reduzieren.
Eine vereinfachte Version des NTP-Protokolls, Simple Network Time Protocol (SNTP), kann auch als reines zustandsloses primäres / sekundäres Synchronisationsprotokoll mit einem Schuss verwendet werden, es fehlen jedoch die ausgeklügelten Funktionen von NTP und weist daher eine viel geringere Leistung und Zuverlässigkeit auf.
Precision Time ProtocolEdit
Precision Time Protocol (PTP) ist ein Master / Slave-Protokoll für die Lieferung von hochgenauer Zeit über lokale Netzwerke.
Referenz-Broadcast-Synchronisationbearbeiten
Der RBS-Algorithmus (Reference Broadcast Time Synchronization) wird häufig in drahtlosen Netzwerken und Sensornetzwerken verwendet. In diesem Schema sendet ein Initiator eine Referenznachricht, um die Empfänger zu drängen, ihre Uhren anzupassen.
Reference Broadcast Infrastructure Synchronizationbearbeiten
Das Reference Broadcast Infrastructure Synchronization (RBIS) -Protokoll ist ein Master / Slave-Synchronisationsprotokoll wie RBS, das auf einem Empfänger / Empfänger-Synchronisationsparadigma basiert. Es ist speziell auf die Verwendung in drahtlosen IEEE 802.11-Netzwerken zugeschnitten, die im Infrastrukturmodus konfiguriert sind (d. H. Von einem Zugangspunkt koordiniert werden). Das Protokoll erfordert keine Änderung des Zugangspunkts.
Synchronous EthernetEdit
Synchronous Ethernet verwendet Ethernet synchron, so dass in Kombination mit Synchronisationsprotokollen wie PTP im Fall des White Rabbit-Projekts eine Synchronisationsgenauigkeit im Subnanosekundenbereich erreicht wird.
Drahtlose Ad-hoc-Netzwerke
Die Synchronisation wird in drahtlosen Ad-hoc-Netzwerken erreicht, indem Synchronisationsnachrichten auf Multi-Hop-Weise gesendet werden und jeder Knoten schrittweise mit dem Knoten synchronisiert wird, der der unmittelbare Absender einer Synchronisationsnachricht ist. Beispiele hierfür sind das Time Synchronization Protocol (FTSP) und Harmonia, die beide eine Synchronisation mit einer Genauigkeit in der Größenordnung von Mikrosekunden erreichen können.