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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 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

529 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/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

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...