Bandwidth Delay Product Calculator
Berechne BDP für TCP-Buffer-Tuning und erhalte empfohlene Fenstergrößen sowie sysctl-Einstellungen.
Über dieses Tool
Das Bandbreiten-Verzögerungs-Produkt (BDP) ist die Bandbreite der Verbindung multipliziert mit ihrer Umlaufzeit, und es zeigt genau, wie viele Daten zu jedem Zeitpunkt unterwegs auf der Leitung sein können. Diese Zahl bestimmt das ideale TCP-Fenster für den vollen Durchsatz in langen, schnellen Netzwerken, in denen hohe Geschwindigkeit auf hohe Latenz trifft und ein zu kleines Fenster Ihre Übertragung unbemerkt drosselt.
Geben Sie zur Nutzung die Bandbreite der Verbindung und die Umlauflatenz ein und lesen Sie dann das resultierende BDP sowie die empfohlene TCP-Fenstergröße ab. Es richtet sich an Netzwerkingenieure, Systemadministratoren, die den Durchsatz optimieren, und alle, die langsame Übertragungen über Verbindungen mit hoher Latenz diagnostizieren.
Tipp: Ist das TCP-Fenster kleiner als das BDP, liegt die Leitung untätig und wartet auf ACKs, während der Durchsatz leidet, also passen Sie Ihre Puffer entsprechend an. Alles läuft lokal in Ihrem Browser.
Häufig gestellte Fragen
Code-Implementierung
def bandwidth_delay_product(bandwidth_mbps: float, rtt_ms: float) -> dict:
"""
Calculate Bandwidth-Delay Product (BDP).
BDP = Bandwidth × RTT
This represents the amount of data in transit (in flight) at any time.
"""
bandwidth_bps = bandwidth_mbps * 1_000_000
rtt_sec = rtt_ms / 1000
bdp_bits = bandwidth_bps * rtt_sec
bdp_bytes = bdp_bits / 8
bdp_kb = bdp_bytes / 1024
bdp_mb = bdp_kb / 1024
# Recommended TCP window size (2x BDP for headroom)
tcp_window_bytes = int(bdp_bytes * 2)
return {
"bdp_bits": int(bdp_bits),
"bdp_bytes": int(bdp_bytes),
"bdp_kb": round(bdp_kb, 2),
"bdp_mb": round(bdp_mb, 4),
"tcp_window_recommended_bytes": tcp_window_bytes,
"tcp_window_recommended_kb": round(tcp_window_bytes / 1024, 1),
}
# Examples
scenarios = [
("Home broadband", 100, 20),
("Transatlantic fiber", 1000, 70),
("Satellite internet", 50, 600),
("Data center", 10_000, 1),
]
for name, bw, rtt in scenarios:
r = bandwidth_delay_product(bw, rtt)
print(f"{name} ({bw} Mbps, {rtt}ms RTT):")
print(f" BDP: {r['bdp_kb']:.1f} KB ({r['bdp_mb']:.2f} MB)")
print(f" Recommended TCP window: {r['tcp_window_recommended_kb']:.0f} KB")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.