Frage Wie gut wird ntpd funktionieren, wenn die Latenz stark variiert?


Ich habe eine Anwendung, in der wir einige nicht standardmäßige Netzwerkgeräte verwenden (nicht änderbar), die zwischen Datenstößen in einen Ruhezustand wechseln. Die Netzwerklatenz ist sehr hoch für das erste Paket, da es das System im Wesentlichen weckt, darauf wartet, dass es sich wieder verbindet, und dann die erste Runde macht. Nachfolgende Nachrichten (vorausgesetzt, sie sind innerhalb der nächsten Minute oder so) sind viel schneller, aber immer noch hoch latent. Ein typischer Satz von Pings sieht aus wie 2500ms, 900ms, 880ms, 885ms, 900ms, 890ms usw.

Da NTP mehrere Runden vor der Berechnung des Offsets verwendet, wie kann ich erwarten, dass ntpd über diese Art von Link funktioniert? Wird der anfänglich langsame erste Umlauf ignoriert, basierend auf den sehr unterschiedlichen (und schnelleren) folgenden Nachrichten zum / vom ntp-Server?


7
2018-04-16 03:26


Ursprung




Antworten:


Die kurze Antwort ist ja, NTP wird niedrige Umlaufzeitstempel gegenüber hohen Umlaufzeitstempeln bevorzugen. Früher gab es ein calldelay Option, NTP über dieses Problem zu informieren, das normalerweise von Netzwerken erstellt wird, die Dial-on-Demand-Technologien verwenden, die eine Anrufverzögerung verursachen. Jetzt macht NTP dies jedoch automatisch.

Wenn Sie die ursprüngliche Zeitsynchronisierung beschleunigen möchten, können Sie die iburst Stichwort auf der server/peer Linien. Dies weist NTP an, 8 beabstandete Pakete anstelle von 1 zu verwenden, um die Zeit zu messen. Es ignoriert alle Pakete, die viel höhere Umlaufzeiten haben. Wenn Sie die Bandbreite haben, können Sie verwenden burst um es jedes Mal 8 Pakete zu verwenden, wenn es die Zeit misst.


6
2018-04-16 03:43