verteilte Last
Dateien herunterladen mit BitTorrent
Tauschhandel
Ist ein Torrent-Angebot so weit verbreitet, dass sich für jede Download-Anfrage ein freier Peer oder Seed findet, erreicht der Client eine sehr effiziente Download-Rate. Wenn ein Peer jedoch mehrere Anfragen gleichzeitig erhält, muss er entscheiden, welche davon er zuerst versorgt; er wählt stets den Kandidaten, der ihm im Gegenzug mehr Pakete bietet. So gibt es die ersten Pakete für einen neuen Peer meist mit sehr langsamer Geschwindigkeit, bietet er diese dann aber zur Weitergabe an, steigt die Download-Rate.
Dieses Verfahren verhindert, dass Clients nur herunterladen, ohne Pakete weiterzugeben; denn dies würde die Lastenverteilung aufheben. Problematisch ist dies für Downloader, zu denen eine Firewall oder ein Router Kontakte von außen unterbindet; sie haben nicht die Möglichkeit, heruntergeladene Pakete anzubieten und bleiben daher bei einer geringen Download-Rate, wenn es mehr Anfragen als Anbieter gibt.
Wer seine Firewall selbst konfiguriert, löst dieses Problem, indem er die von BitTorrent verwendeten TCP-Ports 6881-6889 für eingehende Verbindungen freischaltet. Sonst lernen von außen zugängliche Peers ihre abgeschirmten Kollegen erst dann kennen, wenn sie von ihnen durch eine Anfrage kontaktiert wurden, denn bei der Kontaktaufnahme teilen sie gleichzeitig ihr eigenes Angebot direkt mit; so besteht für Firewall-geschützte Clients trotzdem die Hoffnung auf ein schnelles Ja zur Download-Anfrage, ihr Bekannheitsgrad und damit ihre Download-Geschwindigkeit wächst aber wesentlich langsamer.
Glossar
Mirror-Server
Um einen Server zu entlasten, stellen Mirror-Server den gleichen Inhalt an anderem Ort ebenfalls zur Verfügung.
Hash
(engl. für "Durcheinander") Ein mathematischer Algorithmus generiert aus einer Datei eine Zahlenkette (Hash); diese Rechnung lässt sich jedoch nicht umkehren. So entstehen aus gleicher Eingabe immer gleiche Hash-Codes und aus verschiedenen Eingaben immer unterschiedliche Ergebnisse; eine Datei lässt sich so über ihren Hash-Code eindeutig identifizieren.
Python
Eine Programmiersprache u. a. für Linux und andere Unix-System, Windows, OS/2 und Mac OS. Als Skriptsprache benötigt sie keinen Compiler zum Übersetzen des Programmtextes in maschinenlesbare Form, dafür braucht man zum Ausführen eines Python-Programms den Python-Interpreter.
Infos
[1] BitTorrent: http://bitconjurer.org/BitTorrent/



