Digital sozialisiert, Denker, Macher und Angel Investor.

Schneller Download dank Upload

S

Die Idee ist so einfach: Um an eine Datei zu kommen, so ist es besser nicht nur «runter» zu laden aber gleichzeitig die «andere» Richtung der IP-Verbindung zu nutzen. Realisiert im Filesharing von BitTorrent (eine tolle Sache).

Grundzüge der Funktion (vor der Verteilung):
  • Die zu verteilende Datei wird in einem Metafile beschrieben: Dateierweiterung .torrent. Darin wir diese u.a. in Stücke (pieces) aufgeteilt und letztere mit SHA1 überprüfbar gemacht (Beispiel: BitTorrent für Fedora)
  • Auch beschrieben in der Metadatei ist ein zentraler Server, der die Adressliste der verteilenden Clients verwaltet: Der Tracker
  • Und nun noch der Client genannt Downloader. Ein Downloader der die gesamte zu verteilenden Datei hat wird Seeder genannt. Zu Beginn ist dies ein Einziger.
Grundzüge der Funktion (die Verteilung):
  • Der erste Kunde für den Download gibt seinem BitTorrent-Client die .torrent Metadatei, zugänglich über http.
  • Aufgrund des Inhaltes kontaktiert der Client den Tracker und der gibt ihm eine Liste von Downloadern — die sogenannten Peers (Gleichgesinnte).
  • Von da an ist der Downloader vollständig autonom und kontaktiert seine Peers mit der Bitte für einen Download. Die Summe aller kommunizierenden Downloaders heisst Swarm.
  • Und nun kommt das Wichtigste (und der zentrale Unterschied zu anderen P2P-Protokollen). Als «Belohnung» für einen laufenden Download startet der Downloader gleich einen Upload zu seinem Peer mit einem Dateifragment, welches dieser noch nicht hat. Der Erfinder Cohen nennt dies tit-for-tat (so wie in der Spieltheorie resp. bei Kindern «wie du mir, so ich dir»).

Das Resultat ist die effizienteste Bandbreiten-Nutzung aller Downloadprotokolle nahe an den Eigenheiten von TCP/IP. Vorausgesetzt die Dowloader bleiben lange am Netz und alle spielen fair mit (dem ist meist nicht so). Verglichen wird diese gegenseitige Optimierung mit dem Optimierungstheorie des Wirtschaftswissenschafters Vilfredo Pareto.
Für den, der die Referenzimpletierung in Phyton nicht mag, gibt es zahlreiche graphische Clients. Der bekannteste (mit schönen Screenies) ist Azureus.
Hier knackig von Bram Cohen beschrieben: [pdf, 80 KB] Incentives Build Robsutness in BitTorrent und ein gutes FAQ.

kommentieren

Digital sozialisiert, Denker, Macher und Angel Investor.