17141_4810.png

verteilte Last

Dateien herunterladen mit BitTorrent

01.08.2004
Sobald eine Linux-Distribution eine größere Fan-Gemeinde erreicht, stoßen zumindest kleine Distributoren auf ein finanzielles Problem: Die eigentlich erfreuliche Beliebtheit verschlingt ungeheure Datenmengen, wenn die Anwender sich begierig auf jede neue Version auf dem Server stürzen. Der Datentransfer kann werden – wenn man die Last nicht verteilt.

Für Benutzer, die große Dateien wie beispielsweise das CD-Image einer Linux-Distribution herunterladen, strapaziert es die Geduld und ohne Flatrate auch den Geldbeutel, wenn der Download trotz schneller Internet-Anbindung kriecht. Anbieter, die ein Interesse an der Verbreitung ihrer Software haben, möchten ihrer Fan-Gemeinde dies ersparen.

Theorie…

Als Entlastung für beide Seiten funktioniert das BitTorrent-Konzept: Wer große Datenmengen – wie eine oder mehrere CD-Image-Dateien – zur Verfügung stellt, ist im BitTorrent-Vokabular der erste "Seed" (deutsch: Saat/Samen). Die angebotenen Dateien werden unterteilt in kleinere Pakete; hat ein BitTorrent-Downloader das erste Paket heruntergeladen, stellt er selbst es ebenfalls zum Download bereit und wird damit zum "Peer"; einer Art Mirror-Server, der aber nur Teile des Gesamt-Downloads anbietet.

Der nächste Benutzer, der das Angebot herunterladen möchte, bezieht nun von einer dieser Quellen – Seed oder Peer – die einzelnen Pakete und wird dadurch ebenfalls zum Peer. Hat ein Teilnehmer sämtliche Pakete gesammelt und seinen BitTorrent-Client nicht beendet, erfüllt er nur noch die Funktion eines Servers: Er bietet den kompletten Download an, ohne herunterzuladen; das bedeutet, er wird ebenfalls zum Seed.

Dieses Konzept verteilt die benötigte Gesamtbandbreite auf alle Anwender; je mehr Interessenten es für eine Datei gibt, desto mehr Anbieter gibt es. Bei ausreichender Anzahl Peers und Seeds braucht der ursprüngliche Anbieter sich nicht mehr um die Bandbreite seines Servers zu sorgen, während die "Kunden" sich über schnelle Downloads freuen. Wenige Peers gibt es im Idealfall nur dann, wenn insgesamt wenig Interesse an einem Angebot besteht und somit die primäre Quelle ebenfalls kein Problem mit der Versorgung hat.

Zur Koordination dieses Vorgangs dient ein so genannter Tracker. Das ist ein Server, bei dem sich Peers anmelden und dem sie regelmäßig Bescheid geben, welche Pakete sie schon heruntergeladen haben und selbst anbieten. Meldet sich ein neuer Peer beim Tracker, erhält er eine Liste angemeldeter Peers und Seeds, bei denen er mit dem Download beginnen kann.

Um den zuständigen Tracker zu finden, gibt es für jedes Angebot eine Torrent-Datei, die die wichtigsten Informationen zusammenfasst: Außer der Internet-Adresse des Trackers stehen darin die enthaltenen Dateien nebst Größe sowie ein Hash-Code zur eindeutigen Identifikation. Da der Tracker selbst keinen Download anbietet, benötigt er zwar eine konstante, aber keine besonders schnelle Internet-Anbindung.

…und Praxis

Der Anwender benötigt also die Torrent-Datei, die zum gesuchten Angebot gehört, um mit dem Download zu beginnen. Solche Dateien liegen im Internet auf Web-Servern, die man über eine Suchmaschine oder Links findet; wer nach der Linux-Distribution Fedora sucht, fahndet bei seiner Lieblingssuchmaschine nach den Begriffen Fedora und Torrent und landet schnell bei der richtigen Adresse. Startpunkte bietet auch die BitTorrent-Homepage [1].

Unter Debian ab der Version Sarge gibt es ein fertiges BitTorrent-Programmpaket; der Befehl apt-get install bittorrent installiert es. Unter anderen Distributionen verwenden Sie das Archiv auf der Heft-CD und entpacken es beispielsweise in Ihrem Home-Verzeichnis mit tar -xzf BitTorrent-3.4.2.tar.gz.

Der BitTorrent-Client ist in der Programmiersprache Python geschrieben und setzt deshalb zum Starten weitere Programme voraus: Neben dem Python-Basispaket braucht das grafische Client-Programm den Python-Zusatz für wxWidgets, das sich um die Fenstergestaltung kümmert. Unter Suse heißt das entsprechende Paket python-wxGTK, unter Mandrake wxPythonGTK.

Nun speichern Sie die Torrent-Datei auf Ihrer Festplatte und starten den Download mit dem grafischen BitTorrent-Client im neuen Verzeichnis BitTorrent-3.4.2:

python btdownloadgui.py
tettnang-binary-i386-iso.torrent

Dieses Beispiel lädt die Fedora-Ausgabe "Tettnang" (Core 2) herunter. Debian-Benutzern reicht der Befehl:

btdownloadgui
tettnang-binary-i386-iso.torrent

Nach Angabe des gewünschten Zielverzeichnisses startet dann der Download (Abbildung 1).

Abbildung 1: BitTorrent sorgt für hohe Download-Geschwindigkeiten.

Alternativ zum grafischen Client bietet BitTorrent den textbasierten Download. Verwenden Sie für ein Textfenster das Programm btdownloadcurses.py an Stelle von btdownloadgui.py oder das reine Kommandozeilenprogramm btdownloadheadless.py.

Zum Starten mehrerer Downloads auf einmal dient der Aufruf

python
btlaunchmanycurses.py ~/torrents

Dieses Beispiel verwendet alle Torrent-Dateien im Verzeichnis ~/torrents/ und startet die Downloads in einem gemeinsamen Textfenster (Abbildung 2). Ein grafisches Werkzeug gibt es für den mehrfachen Download nicht, allerdings laufen mehrere Clients problemlos gleichzeitig.

Abbildung 2: Mehrere Downloads parallel im Textfenster.

Mehr Informationen über den Inhalt eines Torrent-Angebots verschafft Ihnen das Werkzeug btshowmetainfo.py: Rufen Sie es gefolgt vom Namen einer Torrent-Datei auf, erfahren Sie unter anderem Namen und Größe der enthaltenen Dateien:

python btshowmetainfo.py
tettnang-binary-i386-iso.torrent

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 07/2015: Daten sichern

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 2 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 1 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...