Home / LinuxUser / 2004 / 08 / Dateien herunterladen mit BitTorrent

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

631 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...