Bittorrent
Bittorrent (auch: BitTorrent; von Bit und engl. torrent, "reissender Strom") ist ein kollaboratives Filesharing-Netzwerkprotokoll, das sich besonders für die schnelle Verteilung grosser Datenmengen eignet. Es handelt sich um ein Peer-to-Peer-Verfahren, bei dem gleichberechtigte Partner (engl. peer) miteinander kommunizieren. Nicht ein Server verteilt also die Dateien, sondern die Teilnehmer tauschen die Dateien untereinander aus.
Technisch ist das Protokoll der OSI-Schicht 7 (der Anwendungsschicht) zuzuordnen und setzt auf das TCP/IP-Referenzmodell. Die Referenzimplementierung namens Bittorrent durch den Erfinder Bram Cohen erfolgte in der Programmiersprache Python. Mittlerweile steht eine Reihe alternativer Programme zur Verfügung, die das Bittorrent-Protokoll implementieren.
Die US-amerikanische Firma namens Bittorrent hat im Februar 2007 ihre gleichnamige Website in einen Online-Shop umgewandelt, in dem sich viele Medieninhalte nur noch kostenpflichtig herunterladen lassen.
Die englische Wikipedia listet Anfang 2009 über 50 Bittorrent-Clients auf, darunter
Konzept
Der Ausgangsrechner (auch: Seeder von engl. to seed "säen"), der im Besitz der vollständigen Datei ist, verteilt Stücke (engl. chunk "Brocken") davon an einzelne Peers. Anschliessend können die an der Datei interessierten Clients (der "Schwarm") die noch fehlenden Stücke bei den anderen Peers beziehen. Durch diese Verteilung des Herunterladens auf viele Rechner bildet nicht mehr ein einzelner Rechner einen Flaschenhals für die Datenübertragunsgrate. Peers, die schliesslich alle Stücke und somit die ganze Datei erhalten haben, werden nun selbst zu Seedern und steigern so die verfügbare Gesamt-Datenübertragungsrate weiter.
Damit das ganze klappt, wird eine Koordinierungsstelle benötigt, welche die beteiligten Peers registriert und ihnen mitteilt, wer welches Stück der gesuchten Datei anbietet. Diese zentrale Instanz heisst Tracker. Moderne Bittorrent-Clients können auch auf einen zentralen Tracker verzichten, indem sie die entsprechenden Daten als Hash-Tabelle auf die beteiligten Clients verteilen.
Um eine Datei über Bittorrent zu verteilen, wird eine Torrent-Datei (mit der Dateinamenserweiterung ".torrent") benötigt, welche Meta-Informationen enthält. Der Bittorrent-Client zerlegt dabei die zu verteilende Datei zuerst in viele kleine Stücke und erzeugt einen SHA-1-Hash für jedes einzelne Stück. Eine Liste dieser Prüfsummen wird in die Torrent-Datei geschrieben, zusätzlich werden einige Informationen wie Dateigrösse und Dateiname hinzugefügt. Anschliessend wird ein weiterer SHA1-Hash über diese Hash-Liste und die Metadaten erzeugt; mit Hilfe dieser zweiten Prüfsumme lässt sich die Torrent-Datei eindeutig identifizieren. Ausserdem benötigt die Torrent-Datei eine "Announce URL", die auf einen Torrent-Tracker verweist.
Weblinks
- Brian's BitTorrent FAQ and Guide
- Brian's BitTorrent FAQ and Guide
- How to create and upload torrents (Dimeadozen.org)
- BitTorrent for Linux
- BitTorrent Documentation : Guide
- The MST3K Bittorrent guide
- btdownloadheadless
- Command line BitTorrent client
- Filesharing mit Ktorrent (Tauschrausch) (EasyLinux.de)
- Azureus