So berechnen Sie die TCP-Netzwerkgeschwindigkeit

0

Im Grunde ist dies eine einfache Frage, aber keine einfache Antwort.

Wie berechne ich die Download- und Upload-Geschwindigkeit, um dies in c # zu programmieren?

Ich bin mir nicht sicher, wie ich die Latenz berücksichtigen soll.

Ich hoffe einige von euch Genies können mir dabei helfen ... :)

Danke im Voraus.

dylf
quelle
Sie müssen die Latenz nicht in die Gleichung einbeziehen. Sie nehmen einfach die Anzahl der Bytes pro Sekunde.
Ramhound
Was genau versuchst du zu tun? Wenn Sie ein Programm haben, das Uploads und Downloads durchführt, und Sie möchten, dass es die Upload- und Download-Geschwindigkeiten meldet, die es während dieser Vorgänge erreicht, dann ist @Ramhound richtig. Sie nehmen nur die Anzahl der Bytes, die Sie empfangen (oder gesendet) haben, und dividieren durch die Anzahl der Sekunden, seit Sie die Dateiübertragung gestartet haben. Wenn Sie versuchen, den erwarteten Durchsatz zu schätzen, ohne Daten zu verschieben, ist dies eine viel schwierigere Frage.
Spiff
@Spiff, ich versuche, eine Schätzung des erwarteten Durchsatzes vorzunehmen. Ich habe festgestellt bereits einen Weg , um eine Übertragung von Fixed Content , um die UL og DL Geschwindigkeit zu machen , um abschätzen zu können , aber ich bekomme einige andere Ergebnisse als zB speedtest.net (was ich schamlos als Referenz gewähren könnte)
dylf

Antworten:

0

Kurz gesagt, es gibt drei Fälle.

1. Die physikalische Schnittstelle begrenzt den Durchsatz.

Wenn die Netzwerkschnittstelle begrenzt ist, ist dies das Limit (duh: p) und die Latenz spielt keine Rolle, wie @Ramhound sagt.

2. Fenster begrenzt

Wenn das konfigurierte maximale TCP-Fenster an beiden Enden begrenzt ist, dann

T <= min(rwnd,cwnd)/RTT

3. Paketverlust begrenzt

Paketverlust kann auch den Durchsatz begrenzen (durch Begrenzen des Sendefensters). Wir lernen aus dem makroskopischen Verhalten des TCP-Überlastungsvermeidungsalgorithmus, dass wir die obere Grenze des Durchsatzes erhalten können

T <= (MSS / RTT) * C/sqrt(p), 

Dabei ist p die Paketverlustrate und C eine Konstante (Erklärung siehe Artikel). Dies ist nicht genau, es gibt eine Reihe wichtiger Annahmen, und verschiedene TCP-Varianten wirken sich auch darauf aus - wir sehen jedoch, dass der Paketverlust den Durchsatz beeinflusst.

Ich verstehe nicht ganz, wie Ihnen das hilft, ein Programm in C # zu schreiben, aber ich hoffe, es gibt Ihnen etwas :)

bytesinflight
quelle