BitTorrent
aus Wikipedia, der freien Enzyklopädie
BitTorrent (Bit: Einheit für Datenmenge, engl. torrent: reißender Strom) 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 |
[Bearbeiten] 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.
[Bearbeiten] 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.
[Bearbeiten] 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 Distributed Hash Table (verteilte Hashtabelle) 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.
[Bearbeiten] 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].
[Bearbeiten] 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 „gebanned“ von engl. „to ban“). Die „Ratio“ (engl. für Quotient) 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 User 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 User meist vom ALT gebannt.
[Bearbeiten] 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.
[Bearbeiten] 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 User 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 User mit vollständigem Download praktisch keinerlei Download-Bandbreite benötigt, steigt die maximal verfügbare Bandbreite für das gesamte Netz, weil dieser fertige User 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 User 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.
[Bearbeiten] Anwendung in der Praxis
Red Hat gehörte neben Ubuntu 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.
[Bearbeiten] Clients
[Bearbeiten] 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
- BitComet – Windows, proprietär, C++
- µTorrent – Windows, proprietär, C++, ressourcenschonender Client
[Bearbeiten] 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
- eXeem – Entwicklung eingestellt, enthält Werbung
- Halite - Open Source
- KTorrent – KDE, Open Source (GPL)
- 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, aber kostenpflichtig.
- ctorrent - Konsolen-Client für Linux, extrem ressourcenschonend
[Bearbeiten] 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. [2] 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. [3] Untersuchungen von CacheLogic gehen von einem Internetaufkommen von ~35% bei BitTorrent aus. [4] Es gibt aber viele Kritiker, die davon ausgehen, dass die Zahlen zu hoch angesetzt sind. [5]
[Bearbeiten] 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.[6] [7] 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.
Für weitere Informationen zur Rechtslage siehe unter File Sharing.
[Bearbeiten] Siehe auch
- Liste der Filesharing-Dienste
- Vergleich von BitTorrent-Clients (aus der englischen Wikipedia)
[Bearbeiten] 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)
[Bearbeiten] Quellen
- ↑ Heise-Newsticker: „BitTorrent 4.20 unterstützt Internet Caches“
- ↑ "BitTorrent überholt eDonkey"
- ↑ "P2P Raid in Germany Shows Little Effect"
- ↑ "LIVEWIRE - File-sharing network thrives beneath the radar"
- ↑ "Peer-to-Peer Traffic: Another Internet Myth Is Born"
- ↑ "Police swoop closes down Finland’s largest file download site"
- ↑ "Finnish police raid BitTorrent site"