Ich lernte über die Ping-Implementierung.Wie berechnet die Ping-Implementierung die Umlaufzeit?
Darin hatte ich einen Zweifel. Der Zweifel besteht darin, wie sie die Umlaufzeit berechnen.
Sie haben eine Berechnung durchgeführt, um die Umlaufzeit zu berechnen. Ich kann diese Berechnung nicht verstehen.
Hier ist der Code für die Berechnung der Umlaufzeit.
tsum += triptime;
tsum2 += (long long)triptime * (long long)triptime;
if (triptime < tmin)
tmin = triptime;
if (triptime > tmax)
tmax = triptime;
if (!rtt)
rtt = triptime*8;
else
rtt += triptime-rtt/8;
Die Tsum, tsum2, triptime sind tmax Variablen zunächst 0. Der tmin den Wert als 2147483647 enthält, wie ursprünglich. Die Zeit wird von der vor dem Senden des Pakets berechnet, einmal notiert. Im Ziel wird das Paket empfangen, bevor es die Notiz einmal senden und es im Antwortpaket ausfüllen und es die Antwort sendet. Die beiden Zeiten werden subtrahiert und konvertieren diese subtrahierte Zeit in Mikrosekunden. Die Variable triptime enthält diese Mikrosekunden.
Nehmen Sie zum Beispiel die folgende Ausgabe für die Berechnung der RTT.
Die Auslösezeit für das erste Paket ist 42573, und die zweite Paket 43707, 48047 drittes Paket und vierte Paket 42559.
dieser Verwendung, wie sie die Umlaufzeit berechnen. Warum multiplizieren sie mit 8 im Start und danach teilen sie sich mit 8 und subtrahieren mit dem ersten RTT. Ich kann nicht herausfinden, warum sie das RTT so berechnen. Kann mir bitte jemand erklären, warum sie mit 8 multiplizieren, wenn sie beginnen und danach, warum sie mit 8 teilen und mit dem vorher berechneten rtt subtrahieren. Der folgende Link enthält den vollständigen Code für die Ping-Implementierung.
Vielen Dank im Voraus.
Ich denke, es ist ein Weg, um einen Durchschnitt von akkumulierten 8 Werte zu tun. Das erste Paket ist die Initialisierung des durchschnittlichen Akkumulators ('triptime * 8'). Danach wird nur die Variation (Differenz) zum letzten berechneten Durchschnitt addiert. – LPs
BTW wie üblich für Linux Mudules: schamlos Mangel an Kommentaren, jedes Mal ein überall ... – LPs