2016-06-08 5 views
0

Ich habe eine Netzwerkarchitektur, die aus 5 Servern besteht, die in einem Ring-Layout arbeiten: Einwegkommunikation zwischen ihnen.Ich fand mich in der Notwendigkeit, die Zeit in diesen Servern zu synchronisieren und nicht finden können eine Möglichkeit, dies in einem Einweg-Kommunikationsmuster zu tun. Der Grund, warum ich die Uhren synchronisieren möchte, ist in der Lage zu sein, die Reisezeit zwischen jedem der Server zu messen. Ich werde nur hinzufügen, dass die Server in verschiedenen Domänen sitzen. gibt es eine Möglichkeit, das zu tun? danke im voraus für alle helfer.Synchronisieren Server Uhren in einem Ringmuster

+0

Es gibt kein Netzwerk mit Einwegkommunikation. Möglicherweise verwenden Sie für einige Anwendungen ein unidirektionales Protokoll, aber das Netzwerk selbst muss bidirektional kommunizieren können. Der Begriff "Reisezeit" ist mehrdeutig. Mit 'ping' erhalten Sie die Umlaufzeit für ein ICMP-Paket. TCP-Pakete gelangen dorthin, wenn sie dort ankommen, solange sie ihre TTL-Limits nicht überstehen, aber wie lange es dauert, hängt von der Netzwerklast ab. Unidirektionale UDP-Pakete könnten etwas haben, was man als "Reisezeit" bezeichnen könnte ... worüber genau redest du? Was versuchst du zu machen? –

+0

Zunächst einmal danke für die Hilfe. Ich möchte die Zeit messen, die ein TCP-Paket mit einer bestimmten Größe (sagen wir etwa 1 KB) benötigt, um von einem Server zum anderen zu gelangen. Ich kann Ping oder ähnliches nicht verwenden, da die Kommunikation unidirektional ist. –

+0

Sie haben Recht ich wollte sagen, dass ich UDP-Paket verwende, ich werde die Dauer hinzufügen, die es dauerte, um das Paket und senden Sie es an den nächsten Server, bis ich eine Rundreise mache. –

Antwort

-1

Wenn Sie warten auf einen Hole-Trip (von Kommentar), warum nicht einfach die Zeitstempel wie sie sind und messen, wenn es zurück zum Start Server kommt?

EDIT:

Eine Lösung wäre es zwei Runden laufen, dann könnten Sie Rundenzeiten berechnen.

s1: 0 s2: 4 s3: 100 s1: 101 s2: 103 s3: 104

Dann können Sie, dass durch die Differenz in der ersten Runde s2 herauszufinden Überprüfung s2lap1 und s2lap2 langsam war.

+0

Da ich die Zeit zwischen jedem Server wissen möchte, um Änderungen und Anomalien zu überwachen, gibt es vielleicht ein Problem in einem Server, das ihn langsamer arbeiten lässt und dadurch wird die gesamte Hin- und Rückreise verzögert. –

+0

Eine Lösung wäre es, zwei Runden zu fahren, dann könnten Sie Rundenzeiten berechnen. s1: 0 s2: 4 s3: 100 s1: 101 s2: 103 s3: 104 Dann können Sie, dass durch die Differenz in der ersten Runde s2 herauszufinden Überprüfung s2lap1 und s2lap2 langsam war. –

Verwandte Themen