Torrents selbst erstellen
Immer wieder gibt es Situationen, in denen man (vllt. weniger Privatpersonen als Firmen/Organisationen) Anderen größere Datenmengen zum Download anbieten will. Da bei zum Beispiel einem CD-Image und lediglich 100 Downloads schon 70GB Traffic anfallen (was bei einem (niedrigen) Traffic-Preis von 0,10€/GB schon 7€ kostet), sucht man manchmal Möglichkeiten, den Traffic zu vermindern bzw. auf alle Benutzer zu verteilen. Genau für diesen Fall wurde die (sehr in Verruf geratene) Technik des Torrents erfunden.
Um ein wenig mit den Vorurteilen aufzuräumen: Bittorrent an sich bezeichnet eine Technik, mit der beliebige Dateien in Netzwerken verteilt werden können. Dabei wird zwischen Seedern und Leechern unterschieden. Seeder haben die Datei komplett und bieten Sie zum Download an, Leecher haben nur einen Teil (oder garnichts) von der gewünschten Datei. Über einen Tracker wird koordiniert, wer “hat” und wer “will”. Dabei werden zwischen allen Beteiligten die Inhalte ausgetauscht, d. h. dass jeder, der einen bestimmten Teil dieser Datei hat, diesen an andere Weitersenden kann. So kann jeder, der die Datei runterlädt, die bereits heruntergeladenen Teile an Interessenten verteilen, die einen dieser Teile noch nicht hat. Dadurch teilt sich die Last eines Downloads auf alle Seeder auf (so zumindest die Theorie, in der Praxis werden natürlich schnelle Seeder bevorzugt und auch nicht unendlich viele derer angesprochen).
Eines der großen Vorteile gegenüber Torrents:
Aber das ist doch illegal!
Falsch. Torrent bezeichnet wie gesagt lediglich eine Technik. Allerdings kann jede Technik (wie auch die Post, E-Mails, “normale” Downloads) missbraucht werden, z. B. um damit illegale Inhalte zu vertreiben. Dafür kann aber die Technik “Torrent” nichts. Schließlich kann man auch ein Nudelholz missbrauchen, um jemanden zu erschlagen – aber wer hat schon Vorurteile gegen Nudelhölzer?
Ein anderes bekanntes Vorurteil:
Torrent verursacht viel mehr Traffic als normales Downloaden.
Wo? Auf Serverseite reduziert es den Traffic, wie eben beschrieben. Da aber jeder Interessent (der zum Beispiel durch eine DSL-Leitung mit dem Internet verbunden ist) mit zunehmender Vollständigkeit selbst zum Anbieter der Datei wird, erhöht sich natürlich der Traffic, den er auf seiner Internet-Leitung verursacht. Das sehen aber die Anbieter nicht gerne, daher werden Torrents manchmal sogar gesperrt. Im Endeffekt ist die Summe des Traffics, wenn man den von allen Uploads und Downloads zusammenaddiert, bei gleicher Downloadanzahl mit beiden Techniken gleich. Schließlich musste die Datei ja x mal übertragen werden. Der Traffic verteilt sich lediglich auf alle Interessenten anstatt sich am Server zu konzentriern. Allerdings gibt es einen deutlichen Vorteil: Der Server kann, z. B. durch Beschränkung der Bandbreite, zum Flaschenhals werden, wenn sich 1000 Interessenten gleichzeitig die Datei herunterladen wollen. Bei Nutzung der Torrent-Technik verteilt sich sich wie gesagt der Traffic, daher kann unter Umständen die Downloadgeschwindigkeit über Torrent wesentlich höher sein als die über direkten Download via HTTP/FTP. Dieser Vorteil wird aber durch die ständige vergrößerung von Redundanz (Mirrors, Clouds) immer verkleinert.
Nachdem nun feststeht, dass Torrent nichts “böses” ist, kann man mal ins Auge fassen, wie diese alternative Verteilungstechnik funktioniert: Wenn man eine Datei verteilen will, benötigt man einen sog. Tracker und eine zu der Datei gehörende Torrent-Datei. Ein Tracker ist eine Koordinierungsstelle, dieser weiß, dass die Datei existiert und welche Benutzer jeweils als Seeder und Leecher gerade aktiv sind. In der Torrent-Datei werden neben anderen Informationen z. B. Hashes gespeichert, um die Integrität der Datei nach erfolgtem Download sicherzustellen. Bei den meisten Linux-Distributionen gibt es ein Paket mit dem Namen bittorrent, welches ein paar nützliche Programme im Umgang mit Torrents bereitstellt. Zum Erstellen eines Torrent-Files gibt es das Programm btmakemetafile, welches als Argumente die als Torrent bereitzustellende Datei annimmt und den Tracker, über den dieser Torrent-Download koordiniert werden soll. Wenn wir z. B. eine Datei mit unserer eigenen Linux-Distribution bereitstellen wollen, sähe das ganze für ein Iso-Image mit dem Namen linux.iso folgendermaßen aus:
btmakemetafile linux.iso http://tracker.url/announce
Dabei muss “http://tracker.url/announce” durch die Announce-URL eines vorhandenen Trackers ersetzt werden (eine Liste von Trackern befindet sich hier). Die Datei wird dann kurz gescannt um die Hashes zu bilden, danach liegen linux.iso und linux.iso.torrent als Dateien im Verzeichnis. Diese Torrent-Datei muss nun an die Interessenten verteilt werden, die diese in einem Bittorrent-Client öffnen, ebenso der Bereitsteller. Der Torrent-Client merkt, dass die angefordertete Datei bereits vorhanden sind und meldet dem Tracker so die Bereitschaft zum Seeden. Nun können alle anderen, die dieses Torrent abonniert haben, anfangen herunterzuladen.
Natürlich ist es verboten, illegale Inhalte anzubieten (sowohl als Torrent, als auch als HTTP-Download, ebenso alle anderen Möglichkeiten der Verteilung). Da sich aber nicht jeder an Verbote hält, kann es vorkommen, dass ein Tracker auch mal illegale Inhalte koordiniert und damit die Verteilung unterstützt. Da bei großen Trackern pro Tag mehrere 10.000 neue Torrents hinzukommen, ist es praktisch unmöglich, diese alle auf Legalität zu überprüfen. Jeder große Tracker-Betreiber bietet einen Kontakt an, bei dem illegale Inhalte gemeldet werden können. Sollten Sie auf solche Inhalte stoßen, können Sie darüber den Betreiber des Trackers kontaktieren, der gerne das Torrent aus dem Angebot entfernt, da es auch seinem Ansehen schadet. Generell aber alle Tracker-Betreiber in die Verantwortung zu nehmen halte ich für unangemessen und sehe es als blindwütige, propagandistische Aktion an, die Unwissenheit und Unkenntnis demonstriert.