Home / LinuxUser / 2009 / 03 / Stück für Stück

Top-Beiträge

Canon treibt mich in den Wahnsinn!
(277 Punkte bei 12 Stimmen)
Wo ist das Problem?
(267 Punkte bei 13 Stimmen)
Und wenn es noch weitere drei werden ...
(214 Punkte bei 7 Stimmen)
Spickzettel
(161 Punkte bei 4 Stimmen)
Letzte Wartung für Hardy Heron
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Partner-Links:

PC + Linux Hilfe finden Sie unter pchilfe.org
Shopping
Yatego Deutschlands größte Shoppingmall. 7000 Shops,
2.5 Mio Artikel. Alle Bestseller, Gutscheine und Gewinnspiele.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Bei Freeware bietet Ihnen kostenlose Software Downloads von Programmen.
Günstige Digitalkameras finden Sie im Preisvergleich.

© sxc.hu

Stück für Stück

P2P-Filesharing mit Bittorrent

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.

Kommentare
Einem Freund empfehlen    Druckansicht

Wertung: 111 Punkte (7 Stimmen)

Infos zum Autor

Daniel Gultsch

Daniel Gultsch ist eigentlich freiberuflicher Software Entwickler. Bei diversen Projekten sorgt er jedoch auch dafür, dass die Linux Server ans Laufen kommen.
Auch privat setzt er sehr gerne Linux ein. Sein Desktop Rechner - welcher immer mehr zum Fileserver verkommt - läuft mit Debian Etch und Gnome und auf seinem Thinkpad X301 Notebook kommt Gentoo mit KDE 3.5 zum Einsatz.

Zum Blog von Daniel Gultsch →


Infos zur Publikation

Dieser Artikel stammt aus der Zeitschrift LinuxUser.

Aktuelles Cover

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Für weitere Informationen zum Heft klicken Sie hier.

Möchten Sie ein Probeabo (drei Ausgaben für 3 Euro) oder ein Jahresabo (ab EUR 56,10) bestellen, klicken Sie hier.

Aktuelle Fragen

Wo ist mein Netmanager geblieben?
Matthias Ohletz, 08.02.2010 21:55, 0 Antworten
Hallo allerseits, bin noch ein absolutes Suse-Greenhorn. Ich habe die Version 11.2 auf meinem No...
DVD aus TS von Kathrein erstellen - KUbuntu 9.10 - wie?
Hendrik Timmermann, 08.02.2010 18:10, 2 Antworten
Hallo, ich habe einen Kathi mit Netzanschluss und kann mir so vom Kathi die auf Platte aufgeno...
USB Bluetooth-Adapter
Wimpy *, 07.02.2010 10:27, 1 Antworten
Ich wollte Bilder vom Handy via Bluetooth auf den PC laden und habe mir dazu einen USB-Bluetooth-...
Blackberry Bold 9700 als UMTS-Modem
Michael Pfaffe, 06.02.2010 10:18, 3 Antworten
Liebe Linux-Gemeinde, ich möchte meine Frage noch einmal wiederholen, vielleicht kann mir jetz...
DVD 9 aus dem Heft LINUXuser
Wolfgang Schiewart, 03.02.2010 14:19, 3 Antworten
Bin ein Suse-Frischling. Wenn ich die DVD mit meinem Suse11.2-Laptop öffne, erscheint Dolphin und...