Ich bin gespannt, wie die Download-Geschwindigkeit in einem Torrent-Netzwerk festgelegt wird, da es keine zentralen Hubs gibt. Wenn es 300 Sämaschinen gibt, warum kann ein Client dann nicht einfach eine Verbindung zu all diesen 300 herstellen und eigentlich nichts säen? Ist es in den Client eingebaut (was ich sehr bezweifle). Wie funktioniert das ganze Teilen?
PS: Ich bin mir nicht sicher, ob dies der richtige Ort ist, um zu fragen, aber es gehörte sicherlich nicht zu Stack Overflow. Außerdem möchte ich nicht wissen, wie Torrent-Downloads schneller durchgeführt werden können. Ich möchte wissen, wie sie funktionieren.
bittorrent
Na und
quelle
quelle
Antworten:
Bittorrent ist nicht wirklich vollständig "hubless" - nicht für die Datenübertragung, sondern für die Peer-Erkennung. Anfangs konnten Torrents nur von einem zentralen Hub namens Tracker abhängen - wiederum nicht, um Teile der Datei auszutauschen, sondern um herauszufinden, wer sich noch auf dem Schwarm befindet. (Ich glaube, Sie können mehrere Tracker in einem Protokoll für Redundanz angeben.) Mit der Einführung von DHT kann ein Bittorrent-Peer DHT verwenden, um zusätzlich oder anstelle eines Trackers andere Peers zu suchen. DHT selbst hängt von der Vorkenntnis einiger bekannter DHT- "Knoten" ab (Ungewissheit über die genaue Terminologie), um einen Peer zu "booten", der noch nie oder für eine Weile über DHT abgefragt hat.
Es steht einem Client frei, gleichzeitig und in der Regel eine Verbindung mit jedem ihm bekannten Peer herzustellen - mit Ausnahme der vom Programm unterstützten Einstellungen für das "Verbindungslimit".
Aus der offiziellen Bittorrent-Spezifikation :
Damit Sie Daten von einem Peer erhalten, muss der Peer "interessiert" und "nicht erstickt" sein - gemäß dem Protokoll. Weiter:
Daher implementieren die meisten Bittorrent-Kollegen "Erstickungs" -Algorithmen, die sicherstellen, dass die Dinge fair funktionieren, aber neuen Verbindungen eine Vorzugsbehandlung gewähren, um ihnen die Chance zu geben, ein guter Teil des Schwarms zu sein. Ein Peer könnte versuchen, einen anderen Algorithmus zu verwenden, der unfairer ist, aber ohne sofortige Zusammenarbeit aller anderen Peers würde der "schlechte" Peer nur "erstickt", bis er keine Daten von irgendjemandem erhält.
Mehr Peers = mehr Geschwindigkeit und schnellere Peers werden bevorzugt. Die Upload-Kapazität eines Peers, die von Ihnen festgelegten Download-Limits und die Upload- / Download-Kapazität für physische Links wirken sich ebenfalls auf die Geschwindigkeit aus.
Ich (und andere) haben auf hoher Ebene ausführlicher dargelegt, wie Bittorrent bei dieser Frage funktioniert .
quelle