Das Kefk Network Wiki befindet sich im Testbetrieb.
BitTorrent
Aus Kefk.
BitTorrent (Bit: Einheit für Datenmenge, engl. torrent: reißender Strom, aus dem Lateinischen von torrere ziehen, reißen, torrentus reißend sein) ist ein kollaboratives File-Sharing-Protokoll, das besonders für die schnelle Verteilung großer Dateien (jenseits von 100 MB) geeignet ist. Technisch ist das Protokoll der OSI-Schicht 7, also der Anwendungsschicht, zuzuordnen und setzt daher auf das TCP/IP-Referenzmodell auf. Die Referenzimplementierung durch den Erfinder Bram Cohen erfolgte in der Programmiersprache Python. Mittlerweile stehen eine Reihe von alternativen Programmen zur Verfügung, die das BitTorrent-Protokoll implementieren.
Die US-amerikanische Firma namens BitTorrent hat Ende Februar 2007 ihre gleichnamige Website in einen Online-Shop umgewandelt, in dem sich Medieninhalte nur noch kostenpflichtig herunterladen lassen.
Der Vorgang der Datendistribution mit BitTorrent unterscheidet sich grundsätzlich von der Arbeitsweise der bekannten File-Sharing-Tauschbörsen, bei welchen jeder Teilnehmer parallel eigene Dateien anbietet. Durch die zunehmende Implementierung von Trackern, trackerlosem Betrieb sowie Suchfunktionen in den Clients lassen sich diese jedoch zunehmend auch wie traditionelle Tauschbörsen verwenden.
Inhaltsverzeichnis |
BitTorrent-Technik
Im Vergleich zum herkömmlichen Herunterladen einer Datei mittels HTTP oder FTP werden bei der BitTorrent-Technik die Upload-Kapazitäten der Downloader mitgenutzt, auch wenn sie die Datei erst unvollständig heruntergeladen haben. Dateien werden also nicht mehr nur von einem Server verteilt, sondern auch von Nutzer zu Nutzer (Peer-to-Peer). Der Server wird weniger belastet und der Anbieter spart Kosten. Insgesamt ist die Downloadlast nicht geringer, sie wird lediglich auf die Peers verlagert. Möglich wird diese Art der Verbreitung durch die Ausnutzung ungenutzter Upload-Kapazitäten. Bei populären Dateien verhindert diese Technik das Zusammenbrechen des Netzes infolge des Überschreitens der Kapazitätsgrenzen des Anbieters.
Tracker
BitTorrent besteht aus zwei Teilen: Das Server-Programm, genannt Tracker (engl. "track" = verfolgen), verwaltet Informationen zu einer oder mehreren Dateien. Der herunterladende Client erfährt vom Tracker, wer sonst noch die Datei herunterlädt und verteilt. Sobald ein Client ein Segment (chunk) der Datei erhalten und die Prüfsumme verifiziert hat, meldet er dies dem Tracker und kann dieses Dateistück schon an die anderen Clients weitergeben. Peers, die am gleichen Torrent interessiert sind, nennt man Schwarm. Peers, die herunterladen, nennt man leecher (engl. „Blutegel, Blutsauger“),solche, die den Download zu 100 % haben und daher nur hochladen, heißen seeder (engl. „Säer“).
Um eine Datei herunterladen zu können, benötigt der Client eine Torrent-Datei (Dateinamenserweiterung .torrent oder .tor). In dieser befindet sich die Adresse des Trackers sowie Dateiname, Größe und Prüfsummen der herunterzuladenden Datei. Eine Torrent-Datei kann auch Informationen über mehrere Dateien beinhalten. Torrent-Dateien sind wenige Kilobytes groß und werden üblicherweise auf der Homepage des Anbieters zum Herunterladen bereitgestellt. Löscht der Anbieter den Torrent aus dem Tracker oder geht der Kontakt zum Tracker verloren, können die Clients keinen neuen Kontakt zu anderen Clients mehr aufbauen, der Austausch zwischen schon bekannten Clients kann aber fortgeführt werden.
Im Gegensatz zu den bekannten File-Sharing-Systemen werden nicht beliebige Dateien aus den Beständen der Teilnehmer ausgetauscht. Vielmehr verteilt jeder Schwarm nur die Dateien, welche der Autor der Torrent-Datei explizit zum Herunterladen vorgesehen hat. Auch der Betreiber des Trackers bestimmt selbst, welche Downloads von diesem verwaltet werden sollen. Die einzelnen Tracker stehen nicht in Verbindung zueinander, es existiert daher kein gemeinsames Netz. Jede Tracker-Datei erschafft somit ihr eigenes temporäres Netz aus beteiligten Clients. Anbieter können sich so von fremden, möglicherweise illegalen Inhalten leichter distanzieren.
Trackerloser Betrieb
In neuen Versionen wurden „trackerlose“ (trackerless) Systeme entwickelt. Die Trackerfunktion wird dabei von der Clientsoftware übernommen. Dies vermeidet einige der bisherigen Probleme (z.B. die fehlende Ausfallsicherheit des Trackers), auch wenn tracker-gestützter Betrieb weiter möglich sein wird. Es erleichtert auch das Anbieten, da Tracker den aufwändigsten Teil in BitTorrent darstellen. Seit der im November 2005 erschienenen Version 4.2.0 unterstützt der Referenz-Client den trackerlosen Betrieb und setzt dabei auf den Kademlia-Algorithmus. Der Tracker kann dabei dezentral, ähnlich wie im Kademlia-Netzwerk, als Verteilte Hashtabelle (VHT, Distributed Hash Table, DHT) auf den Clients (im Netz) selbst abgelegt und verwaltet werden.
Moderne BitTorrent-Clients können auf Tracker verzichten und dadurch dezentral arbeiten („trackerlos”). Allerdings verwenden sie noch unterschiedliche Protokolle, sodass die Kommunikation zwischen verschiedenen Clients auf VHT-Basis nicht immer möglich ist. Untereinander kompatibel sind zur Zeit BitComet, µTorrent, KTorrent und der Classic-Client. Die Entwickler arbeiten jedoch verstärkt daran, Kompatibilität herzustellen.
Internetcache
Ab Version 4.20.0 unterstützt BitTorrent das Internet Cache Protocol (ICP) um die Bandbreite der Provider zu schonen. Dazu wurde das Zusatz-Protokoll Cache Discovery Protocol definiert. Bisher wurde die Technik aber noch nicht genutzt. Da Caching-Provider durch den Digital Millennium Copyright Act (DMCA) nicht für den durchgeleiteten Datenverkehr haften müssen, bestehen zumindest in den Vereinigten Staaten juristisch keine Probleme[1].
Anti-Leech-Tracker (ALT)
BitTorrent beruht – wie alle Peer-to-Peer-Netze – auf „Geben und Nehmen“. Viele Anwender solcher Peer-to-Peer (P2P)-Software befolgen diese ungeschriebenen, aber für das Überleben der Netze notwendigen „Regeln“ nicht. Gemeinhin wird ein solches Verhalten als „Snatch and Leave“ (snl) bezeichnet, da Peers mit der kompletten Datei gleich nach Beenden des Downloads das P2P-Programm beendeten. Als Reaktion auf dieses Verhalten haben einige Nutzer einen eigenen ALT (Anti-Leech-Tracker) erstellt oder sind einem solchen beigetreten. Ziel ist es, dass nur Nutzer bei einem ALT genannten Tracker downloaden, die sich an minimale Regeln halten. Die wohl wichtigste Regel lautet: Gib weiter, was du bekommen hast. Wer zu wenig „seedet“ (hochlädt), also einen zu niedrigen Quotienten hat, wird verbannt (auch „gebannt“ von engl. „to ban“). Die „Ratio“ (engl. für Verhältnis) ergibt sich durch Division der absoluten Uploadmenge durch die absolute Downloadmenge. Eine Ratio von 1 oder höher heißt, dass gleichviel oder mehr gegeben als genommen wurde.
Die Folgen, die entstehen, wenn zu viele Benutzer nehmen möchten, ohne zu geben, führten bereits in der Vergangenheit in anderen P2P-Netzen zu großen Problemen. Im eDonkey2000-Netz reagierte man zum Beispiel mit der Implementierung eines Credit-Systems, das dieses Problem dadurch zu lösen versucht, dass man mehr nehmen kann, je mehr man gibt, indem man für das Hochladen Punkte bekommt. Ganz allgemein gilt: Ein P2P-Netz kann sich vor den Problemen durch „Leechen“ (engl. Blutsaugen) schützen, indem es entweder ein solches Credit-System bietet oder den Benutzern nicht erlaubt, den Upload im Client zu minimieren. Dies ist jedoch in der Praxis nur eingeschränkt möglich, da man den quelloffenen Code der Client-Software modifizieren oder einen eigenen Client entwickeln kann.
Nachteilig kann sich eine hohe Upload-Geschwindigkeit vieler Benutzer für Personen mit geringem Upstream auswirken. Für solche ist es viel schwieriger, eine gute Ratio zu erreichen, da meist Leute mit viel Upstream bevorzugt werden. Folglich kann es sein, dass diese Nutzer trotz guter Absichten von dem ALT verbannt werden, weil sie einfach ihre Ratio nicht halten konnten. Jedoch wird auf einigen Trackern mit dem sogenannten „Only Upload“ gegen dieses Problem vorgegangen. Bei einem „Only Upload“ wird nur das Hochladen angerechnet, aber nicht das Herunterladen.
Ein weiterer Nachteil geht von den Clients aus, denn die ALT erfragen Up- und Download-Menge bei den Clients und errechnen daraus die Ratio. Die Clients können absichtlich falsche Daten überliefern, wenn diese vorher manipuliert wurden, oder aber unabsichtlich, wenn z. B. der ALT oder der Client selber schlecht konfiguriert wurden. Einige Clients (wie Azureus) lassen sich so konfigurieren, dass damit Fehlinformationen für den ALT provoziert werden. Jedoch werden solch negativ aufgefallene Nutzer meist vom ALT gebannt.
Zukünftige Weiterentwicklungen
In Zukunft wird die Weiterentwicklung des Protokolls nicht mehr alleine von Bram Cohen, sondern auch von anderen Entwicklern geleistet. BitTorrent-Benutzer sind in letzter Zeit zunehmend (teils unwissentlich) vom Traffic-Shaping ihrer Provider betroffen. Diese setzen meist Sandvine/Ellacoya Systeme oder die Cisco SCE 1000 Serie ein, die tief in den Datenverkehr sniffen können. Werden Pakete als P2P-Pakete klassifiziert, wird der Upload nahezu auf null gedrosselt. Als Antwort darauf und weil Bram Cohen keine Notwendigkeit sah, implementierten die Clients Azureus und µTorrent eine End-zu-End-Verschlüsselung (RC4), um dem Traffic-Shaping zu entgehen. BitComet sowie KTorrent unterstützen die neue Protokoll-Verschlüsselung ebenfalls.
Einsatzgebiete, Vor- und Nachteile
Besonders gut geeignet ist BitTorrent für die schnelle Verteilung großer Dateien, für die eine aktuell große Nachfrage vorhanden ist. Bei etwas älteren oder weniger gefragten Dateien ist unter Umständen der Download über FTP oder HTTP wegen der eventuell zu geringen Anzahl von Uploadern vorzuziehen.
Da die Menge der Bandbreite, die jeder Downloader (Leecher) bekommen kann, von der Menge der fertigen und der Menge der unfertigen Downloads (Quellen) im Netz sowie der Uploadraten der Nutzer abhängt, kann es je nach Menge der Anbieter (Seeder), der Downloader (Leecher) und der Verteilungsrate zu mehr oder weniger „Kilobytes pro Sekunde“ kommen. Da ein Nutzer mit vollständigem Download praktisch keinerlei Download-Bandbreite benötigt, steigt die maximal verfügbare Bandbreite für das gesamte Netz, weil dieser fertige Nutzer nur hochlädt (seedet). Andersrum beanspruchen Downloader Bandbreite, tragen aber selbst mit ihrer Upload-Bandbreite bei. Am folgenden (nur sehr theoretischen) Beispiel soll die Auswirkung von unterschiedlichen Mengen von reinen Anbietern (Seeder) und Downloadern (Leecher) dargestellt werden:
- 5 Vollständige Downloads, jeder der Anschlüsse hat im Schnitt eine Upload-Bandbreite von 30 KiloBytes pro Sekunde: 5 × 30 = 150 KByte/s
- 10 Unvollständige Downloads, jeder der Anschlüsse hat im Schnitt eine Upload-Bandbreite von 30 KiloBytes pro Sekunde: 10 × 30 = 300 KByte/s
Die gesamte Bandbreite im Netzwerk beträgt also 150 KByte/s plus 300 KByte/s, gesamt also 450 KByte/s. Da 10 Nutzer gleichzeitig herunterladen, teilt sich diese verfügbare Bandbreite auf in 10× durchschnittlich 45 KByte/s.
In der Realität wird solch ein Wert auf großen, öffentlichen Trackern aber meist nur bei beliebten Torrents erreicht, da auch Bandbreite durch Wartezeiten, Zuordnungen, verschiedene Erreichbarkeiten etc. verlorengeht. Außerdem sind in der Praxis auch verschiedene Anschlussgeschwindigkeiten und Prioritäten für ein mehr oder weniger schnelles Herunterladen verantwortlich. Zudem haben viele Benutzer ihren Client oder ihre Firewall falsch konfiguriert.
Auf Anti-Leech-Trackern (Erklärung s. o.) sind solche und noch wesentlich höhere Downloadraten allerdings sehr oft anzutreffen. Hier lassen sich auch schnelle Anschlüsse wie etwa DSL 6000 mit Download-Geschwindigkeiten jenseits der 500 KByte/s optimal nutzen.
Anwendung in der Praxis
Red Hat gehörte neben Novell zu den ersten Linux-Distributionen, die auch mit BitTorrent die CD-ROMs der Distribution verteilten, und auch Blizzard brachte die World-of-Warcraft-Beta und bringt jetzt, wie id Software es schon länger versucht, die größeren Patches für die finale Version per BitTorrent unters Volk. Inzwischen sind alle bekannteren Linuxdistributionen und FreeBSD über BitTorrent erhältlich. Auch außerhalb des Software-Bereiches gibt es konkrete Anwendungen: Die britische BBC unternimmt derzeit Pilotversuche, um aktuelle Sendungen und Dokumentationen unmittelbar nach der Ausstrahlung online über BitTorrent zur Verfügung zu stellen. Das Offene-Musik-Projekt Jamendo verteilt Alben über BitTorrent und über das eDonkey2000-Netzwerk.
Clients
Meistgenutzte Clients
- BitTorrent-Client - plattformunabhängig, Open Source, Python, Original-Client aka. Mainline
- Azureus - basiert auf Java und ist somit plattformunabhängig, Open Source, durch Plugins erweiterbar
- KTorrent – KDE, Open Source (GPL)
- µTorrent – Windows, proprietär, Freeware, C++, ressourcenschonender Client
Andere Clients
Außer diesen Clients (die in ihrem Funktionsumfang in etwa gleich sind) gibt es noch viele weitere, z.B.:
- ABC – Windows, Linux (beta), Open Source (GPL), Python
- Arctic Torrent – Ein minimalistischer BitTorrent Client. Statt vieler Zusatzfunktionen stehen ein geringer Speicherbedarf und eine geringe CPU-Belastung im Vordergrund. Komplett in C++ geschrieben und sehr zuverlässig. MIT-Lizenz)
- eXeem – Entwicklung eingestellt, enthält Werbung
- Halite - Open Source
- BitComet – Windows, proprietär, C++
- MLDonkey – plattformunabhängig, Open Source (GPL), Objective CAML, unterstützt auch die Protokolle eDonkey2000/eMule, Overnet, Emule-kademlia, Fasttrack, FTP, Gnutella1, Gnutella2
- Opera ab Version 9.0
- Rufus – plattformunabhängig, freie Software (GPL), Python
- rTorrent - Konsolen-Client für Linux, extrem ressourcenschonend
- Shareaza – Windows, freie Software (GPL), C++, unterstützt auch die Protokolle Gnutella2, Gnutella1, eDonkey2000/eMule
- Tomato Torrent – Mac OS X, Open Source
- Transmission (BitTorrent) – GTK, plattformunabhängig, Open Source (MIT-Lizenz)
- Tribler – plattformunabhängig, Open Source (LGPL), Python
- BitRocket – Mac OS X (nativ), Open Source (BSD-Lizenz)
- GetRight – Windows (proprietär)
- Flashget – Windows (proprietär)
- BitTornado – plattformunabhängig, Open Source, Python
- Deluge – Open Source, Python, GTK+
- TorrentFlux – web-basierter, plattformunabhängiger Client, Python, PHP, MySQL
- BitTyrant - Ableger von Azureus - nutzt intelligente Download-Algorithmen
- XTorrent - Mac OS X - mit integrierter Torrent-Suchfunktion, Oberfläche ausgesprochen Mac-like, Pro Version ist kostenpflichtig.
- ctorrent - Konsolen-Client für Linux, extrem ressourcenschonend
- Bits on Wheels - Mac OS X Client mit sehr anschaulicher graphischer Darstellung des Schwarms
Sonstiges
Diverse Studien haben Daten bezüglich BitTorrent ermittelt. Einer Studie der ipoque GmbH zufolge hat BitTorrent in Deutschland mit über 50% die höchste Verbreitung an File-Sharing-Programmen vor eDonkey2000. [1] Beide Tauschbörsenprotokolle produzieren zusammen mehr als 95% des P2P-Verkehrs und haben somit ältere Tauschbörsen nahezu verdrängt. Der Studie zufolge machen alle File-Sharing-Programme je nach Tageszeit zusammen 30 bis 70% der genutzten Internetkapazität aus. Ipoque behauptet ebenfalls, dass BitTorrent als einziges signifikant für legale Inhalte genutzt wird. [1] Untersuchungen von CacheLogic gehen von einem Internetaufkommen von ~35% bei BitTorrent aus. [1] Es gibt aber viele Kritiker, die davon ausgehen, dass die Zahlen zu hoch angesetzt sind. [1]
Rechtliches
Die Illegalität des Betreibens von Torrentseiten oder Trackerservern mit Torrents, über die urheberrechtlich geschütztes Material ohne Genehmigung verbreitet wird, ist umstritten, da die Server selbst keine Dateien anbieten, sondern nur die Peers untereinander verbinden.
In der Vergangenheit kam es häufiger zu Beschlagnahmungen von Servern, die Torrents anboten. Die erste groß angelegte Aktion fand im Dezember 2004 statt, als die finnische Polizei eine Razzia auf die Server der Seite Finreactor durchführte. Die Torrents werden seitdem nicht mehr angeboten und das Verfahren wurde eingestellt.[1] [1] Im Mai 2005 schlossen die US-Behörden FBI und das dem US-Heimatschutzministerium untergeordnete Immigration and Customs Enforcement die Seite EliteTorrents.org. Die bis dato wohl größte Torrent-Seite, Suprnova.org [ sic! ], wurde im Dezember 2005 von slowenischen Behörden beschlagnahmt. Die Seite LokiTorrent, vermutlich größte Torrent-Suchmaschine hinter Suprnova, hat kurz danach ebenfalls den Dienst eingestellt. Angeblich wurde der Administrator Edward Webber vom MPAA gerichtlich zu einer Geldstrafe und der Herausgabe der Logs gezwungen.
Die bisher wohl spektakulärste Aktion fand im Mai 2006 statt, als der weltgrößte BitTorrent-Tracker ThePirateBay.org auf Druck des US-Justizministeriums von der schwedischen Polizei beschlagnahmt wurde, jedoch bereits wenige Tage später wieder am Netz war.
In diesem Zusammenhang ist mittlerweile auch oft von P2P-"Privatsphäre" oder P2P-Privacy die Rede. Grundsätzlich ist es jedermann möglich einen BitTorrent-Trackerserver ins Netz zu stellen, also auch Urheberrechtschutzverbänden und Strafermittlungsbehörden. Zusätzlich können natürlich auch am eigentlichen Peering (Datenaustausch) die zuvor genannten Organisationen und Institutionen teilnehmen und damit gegebenfalls einen "Nachweis" der im P2P-Netz übertragenen respektive getauschten Dateien erlangen. Da es für den Anwender auf der BitTorrrent-Client-Seite nur schwer nachzuvollziehen ist, welche Tracker-Server und/oder Peers (IPs) sozusagen lediglich "mithorchen", gibt es Bestrebungen und Projekte, einen besseren Schutz der Privatsphäre in P2P-Netzwerken erreichen zu wollen. Ein Ansatz hierfür ist es einfach bestimmte IPs via IP-Listen zu blocken und damit vom jeweiligen Torrent auszuschließen. Als Beispiel sei hier PeerGuardian 2 (http://phoenixlabs.org/pg2/) genannt.
Für weitere Informationen zur Rechtslage siehe unter File Sharing.
Siehe auch
- Liste der Filesharing-Dienste
- Vergleich von BitTorrent-Clients (aus der englischen Wikipedia)
Weblinks
- Offizielle BitTorrent-site (englisch)
- Interview mit Bram Cohen
- Deutsche BitTorrent-FAQ
- Offizielles DHT-Protokoll (englisch)
- Links zum Thema „BitTorrent“ im Open Directory Project (englisch)
Quellen
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort BitTorrent, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
