AA_jigsaw_sxc944284.jpg

© sxc.hu

Stück für Stück

P2P-Filesharing mit Bittorrent

23.02.2009
Bittorrent hat in den acht Jahren seines Bestehens einen enormen Zuwachs erhalten. Das Protokoll überzeugt durch Schlichtheit und Effizienz. Dabei ist Bittorrent bei weitem nicht dem Tausch illegaler Dateien vorbehalten.

Angefangen hat es alles im Jahr 2001 mit einer in Python geschriebenen Bittorrent-Referenzimplementierung von Bram Cohen [1]. Seit dieser Zeit haben sich zu dem eher langsamen Original-Client zahlreiche weitere Alternativen aller Geschmacksrichtungen gesellt. Die englische Wikipedia listet Anfang 2009 über 50 Bittorrent-Clients auf [2] und erhebt dabei noch lange keinen Anspruch auf Vollständigkeit. (Den schnellen Konsolen-Client Rtorrent und ein dazu passenden Webfrontend stellen wir Ihnen im folgenden Artikel vor.) Doch wie funktioniert dieses Bittorrent-Protokoll überhaupt, wo liegen die Stärken und Schwächen des Verfahrens?

Das Prinzip

Bei Bittorrent handelt es sich um ein so genanntes Peer-to-Peer-Verfahren (P2P), bei dem gleichberechtigte Partner (engl.: "peer") miteinander kommunizieren. Nicht ein Server verteilt also die Dateien, sondern die einzelnen Teilnehmer tauschen die Daten untereinander aus.

Dazu verteilt der Ausgangsrechner, der im Besitz der gesamten Datei ist – der Seeder (engl. "seed": säen) – Stücke des zu tauschenden Files (engl. "chunk": Brocken) auf einzelne Peers. Anschließend können die an der Datei interessierten Clients (der "Schwarm") die noch fehlenden Chunks bei den anderen Peers beziehen. Durch diese Verteilung des Downloads auf viele Maschinen bildet nicht mehr ein einzelner Server einen Flaschenhals für die Download-Rate. Peers, die schließlich die komplette Datei erhalten haben, avancieren nun selbst zu Seedern und steigern so die verfügbare Gesamt-Downloadrate im Netz weiter.

Damit das ganze klappt, benötigt man eine Koordinierungsstelle, welche die beteiligten Peers registriert und ihnen mitteilt, wer welches Scheibchen der gesuchten Datei vorrätig hält. Diese zentrale Instanz bezeichnet man als Tracker. Modernere Bittorrent-Implementationen können auch auf einen zentralen Tracker verzichten, indem sie die entsprechenden Daten als Hash-Tabelle auf die beteiligten Clients verteilen.

Die Torrent-Datei

Möchten Sie eine Datei über Bittorrent verteilen, so gilt es dazu als erstes eine Datei mit Meta-Informationen zu erstellen, die so genannte Torrent-Datei, die man an der Dateierweiterung .torrent erkennt. Das müssen Sie nicht etwa händisch erledigen, sondern beauftragen Ihren Bittorrent-Client mit dieser Aufgabe.

Der Client zerlegt die zu verteilende Datei zunächst in viele kleine Stückchen und generiert einen SHA1-Hash [3] für jeden einzelnen Part. Eine Liste dieser Prüfsummen schreibt er in die Torrent-Datei und fügt noch einige zusätzliche Informationen hinzu, wie etwa Dateigröße und Dateiname. Anschließend erzeugt er noch einen weiteren SHA1-Hash über die Hash-Liste und die Metadaten. Mithilfe dieser Prüfsumme lässt sich die Torrent-Datei später im Netzwerk eindeutig identifizieren.

Des weiteren braucht die Torrent-Datei noch eine "Announce URL". Die sieht aus wie eine normale Webadresse und ist auch eine: Sie verweist auf einen Torrent-Tracker. Diese "schwarzen Bretter" des Torrent-Protokolls sammeln Informationen darüber, wer sich für welche Datei interessiert, leiten diese Anfragen weiter und machen so die einzelnen Peers miteinander bekannt – mehr dazu im Abschnitt "Clients und Tracker".

Die Torrent-Datei verteilen Sie nun über ein beliebiges Medium, etwa via E-Mail. Möchten Sie sie der Allgemeinheit zur Verfügung stellen, laden Sie die Datei auf eine Torrent-Suchmaschine hoch. Die meisten großen Tracker-Betreiber wie The Pirate Bay ([4],[5]) oder Mininova [6] bieten neben ihrem Tracker auch noch Suchmaschinen an. Dabei gilt es unbedingt zu beachten, dass Torrents, die über den Tracker laufen, nicht zwangsläufig auch auf der Suchmaschine auftauchen, und umgekehrt.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Immer in Bewegung
    Wie ein reißender Strom rauschen die Daten durchs Netz. Mit einem BitTorrent-Client wie Transmission stürzen Sie sich in die Fluten und laden ressourcenschonend neue Programme oder Distributionen herunter.
  • Dateien herunterladen mit BitTorrent
    Sobald eine Linux-Distribution eine größere Fan-Gemeinde erreicht, stoßen zumindest kleine Distributoren auf ein finanzielles Problem: Die eigentlich erfreuliche Beliebtheit verschlingt ungeheure Datenmengen, wenn die Anwender sich begierig auf jede neue Version auf dem Server stürzen. Der Datentransfer kann werden – wenn man die Last nicht verteilt.
  • DHT oder wie töte ich ein perfektes Protokoll
  • Schlanker Datenhändler
    Torrent-Clients gibt es in vielen Formen, Farben und Geschmacksrichtungen. Legen Sie auf Stabilität, Feature-Vielfalt und Geschwindigkeit wert, fällt die Auswahl deutlich kleiner aus.
  • Comcast rudert zurück
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...