Torrent -Datei

In dem Bittorrent Dateiverteilungssystem, a Torrent -Datei oder Meta-Info-Datei ist ein Computerdatei das beinhaltet Metadaten über Dateien und Ordner, die verteilt werden sollen, und normalerweise auch eine Liste der Netzwerkstandorte von Tracker, die Computer sind, die den Teilnehmern des Systems helfen, einander zu finden und effiziente Verteilungsgruppen zu bilden, genannt Schwärme.[1] Eine Torrent -Datei enthält nicht den zu verteilenden Inhalt. Es enthält nur Informationen zu diesen Dateien, wie z. B. ihre Namen. Ordnerstruktur, und Größen über erhalten über Kryptografische Hash -Werte Zur Überprüfung der Dateiintegrität. Der Begriff Torrent Kann je nach Kontext entweder auf die Metadatendatei oder auf die heruntergeladenen Dateien beziehen.

Eine Torrent -Datei wirkt wie a Inhaltsverzeichnis (Index), mit dem Computer Informationen durch die Verwendung eines BitTorrent -Clients finden können. Mit Hilfe einer Torrent -Datei kann man kleine Teile der Originaldatei von Computern herunterladen, die sie bereits heruntergeladen haben. Diese "Peers" ermöglichen das Herunterladen der Datei zusätzlich zu oder anstelle von der Primärserver.

Torrent -Dateien werden normalerweise mit dem benannt Verlängerung ".Torrent".

Torrent-Dateien selbst und die Methode, Torrent-Dateien zu verwenden Laden Sie große Dateien herunter. Viele kostenlose/freie Programme und Betriebssysteme, wie die verschiedenen Linux -Verteilungen Bieten Sie Benutzern, die die oben genannten Vorteile suchen, eine Torrent -Download -Option an. Andere große Downloads, wie z. B. Mediendateien, sind oft auch torrentiert.

Torrent -Dateien
Dateiname Erweiterung
.Torrent
Internet -Medientyp
Anwendung/x-bittorrent
Standard BEP-0003[1]

Hintergrund

In der Regel ist der Internetzugang asymmetrisch, unterstützt größere Download -Geschwindigkeiten als Upload -Geschwindigkeiten, begrenzt die Bandbreite jedes Downloads und erzwungen manchmal die Durchsetzung von Bandbreitenkappen und Perioden, in denen Systeme nicht zugänglich sind. Dies schafft Ineffizienz, wenn viele Menschen dieselbe Dateien aus einer einzigen Quelle erhalten möchten. Die Quelle muss immer online sein und eine massive ausgehende Bandbreite haben. Das BitTorrent -Protokoll befasst sich mit der Dezentralisierung der Verteilung und nutzt die Fähigkeit der Menschen, sich zu vernetzen. "Peer-To-Peer", unter sich.

Jede zu verteilende Datei ist in klein unterteilt Informationsbrocken genannt Stücke. Das Herunterladen von Kollegen erzielen hohe Download -Geschwindigkeiten, indem Sie mehrere Teile aus verschiedenen Computern gleichzeitig im Schwarm anfordern. Sobald diese Stücke erhalten wurden, werden diese Stücke normalerweise sofort von anderen im Schwarm zum Download zur Verfügung gestellt. Auf diese Weise verbreitet sich die Belastung des Netzwerks unter den Downloadern, anstatt sich auf einen zentralen Verteilungszentrum oder Cluster zu konzentrieren. Solange alle Teile verfügbar sind, können Gleichaltrige (Downloader und Uploader) kommen und gehen. Niemand muss alle Stücke haben oder sogar mit dem Schwarm verbunden bleiben, damit die Verteilung unter den anderen Kollegen fortgesetzt wird.

Eine kleine Torrent -Datei wird erstellt, um eine Datei oder einen Ordner zu repräsentieren, der gemeinsam genutzt werden soll. Die Torrent -Datei fungiert als Schlüssel zum Initiieren des Herunterladens des tatsächlichen Inhalts. Jemand, der daran interessiert ist, die freigegebene Datei oder den Ordner zu erhalten Magnetlink. Der Benutzer öffnet diese Datei dann in einem BitTorrent -Client, der den Rest des Prozesses automatisiert. Um die Internetstandorte von Kollegen zu lernen, die möglicherweise Teile teilen, stellt der Kunde eine Verbindung zu den in der Torrent -Datei genannten Trackern her und erzielt/oder ein ähnliches Ergebnis durch die Verwendung von Verteilte Hash -Tabellen. Anschließend verbindet sich der Kunde direkt mit den Kollegen, um Teile anzufordern und ansonsten an einem Schwarm teilzunehmen. Der Kunde kann auch den Trackern Fortschritte melden, um dem Tracker mit seinen Peer -Empfehlungen zu helfen.

Wenn der Kunde alle Teile hat, stellt der Bittorrent -Client ihn in eine verwendbare Form zusammen. Sie können auch weiterhin die Teile teilen und ihren Status auf den von erhöhen Sämaschine eher als gewöhnlicher Peer.

Dateistruktur

Eine Torrent -Datei enthält eine Liste von Dateien und Integritätsmetadaten über alle Teile und enthält optional eine große Liste von Trackern.

Eine Torrent -Datei ist a Bencoded Wörterbuch mit den folgenden Schlüssel (die Schlüssel in einem benencodierten Wörterbuch sind lexikographisch geordnet):

  • bekannt geben- Die URL des Tracker
  • die Info- Diese Karten eines Wörterbuchs, dessen Schlüssel davon abhängt, ob eine oder mehrere Dateien geteilt werden:
    • Dateien- Eine Liste der Wörterbücher, die jeweils einer Datei entsprechen (nur wenn mehrere Dateien freigegeben werden). Jedes Wörterbuch hat die folgenden Schlüssel:
      • Länge- Größe der Datei in Bytes.
      • Weg- Eine Liste von Zeichenfolgen, die den Namen des Unterverzeichnisses entsprechen, von denen der letzte der tatsächliche Dateiname ist
    • Länge- Größe der Datei in Bytes (nur wenn eine Datei gemeinsam genutzt wird)
    • Name- Sugg geteiltem Dateiname, bei dem die Datei gespeichert werden soll (falls eine Datei)/vorgeschlagener Verzeichnisname, in dem die Dateien gespeichert werden sollen (wenn mehrere Dateien)
    • Stücklänge- Anzahl der Bytes pro Stück. Dies ist häufig 28 Kib = 256 kib = 262,144 B.
    • Stücke-a Hash -Liste, d.h. eine Verkettung der einzelnen Stück SHA-1 Hash. Als SHA-1 einen 160-Bit-Hash zurückgibt, Stücke wird eine Zeichenfolge sein, deren Länge ein Vielfaches von 20 Bytes ist. Wenn der Torrent mehrere Dateien enthält, werden die Teile gebildet, indem die Dateien in der Reihenfolge verkettet werden, in der sie in der angezeigt werden DateienWörterbuch (d. H. Alle Teile im Strom sind die volle Stücklänge mit Ausnahme des letzten Stücks, das möglicherweise kürzer sein kann).

Alle Saiten müssen sein UTF-8 codiert, außer dass Stücke, was binäre Daten enthält.

Ein Strom wird von einem einzigartig identifiziert InfoHash, a SHA-1 Hash, berechnet über den Inhalt der die Info Wörterbuch in Bencode bilden. Änderungen an anderen Teilen des Stroms haben keinen Einfluss auf den Hash. Dieser Hash wird verwendet, um den Strom über DHT und den Tracker an andere Kollegen zu identifizieren. Es wird auch in verwendet Magnetverbindungen.

Erweiterungen

Eine Torrent -Datei kann auch zusätzliche Metadaten enthalten, die in Erweiterungen zur BitTorrent -Spezifikation definiert sind.[2] Diese sind als "Bittorrent -Verbesserungsvorschläge" bekannt. Beispiele für solche Vorschläge sind Metadaten für die Angabe, wer den Torrent erstellt hat, und wann.

Entwurfserweiterungen

Diese Erweiterungen werden für die Standardisierung berücksichtigt. Die meisten sind bereits weit verbreitet als de facto Standards.

Verteilte Hash -Tabellen

BEP-0005[3] erweitert BitTorrent zur Unterstützung Verteilte Hash -Tabellen.

Ein Trackerlosen -Torrent -Wörterbuch hat kein bekannt geben Schlüssel. Stattdessen hat ein Trackerless Torrent eine Knoten Schlüssel:

{  # ...  "Knoten": [["<Host>", ], ["<Host>", ], ...],  # ... } 

Zum Beispiel,

  "Knoten": [["127.0.0.1", 6881], ["your.router.node", 4804]], 

Die Spezifikation empfiehlt dies Knoten "Sollte auf die k -engsten Knoten in der Routing -Tabelle des Torrent -Generierkunden eingestellt werden. Alternativ könnte der Schlüssel auf einen bekannten guten Knoten eingestellt werden, wie eine von der Person, die den Torrent generiert, betrieben wird."

Mehrere Tracker

BEP-0012[4] erweitert BitTorrent, um mehrere Tracker zu unterstützen.

Ein neuer Schlüssel, Ankündigungsliste, wird im obersten Wörterbuch platziert (d. H. Mit bekannt geben und die Info))

{  # ...  "Ankündigungsliste": [['<Tracker1-url>']['<Tracker2-URL>' ']],  # ... } 

HTTP -Samen

BEP-0017[5] erweitert BitTorrent, um HTTP Https.

Ein neuer Schlüssel, httpSeeds, wird in die oberste Liste platziert (d. H. Mit bekannt geben und die Info). Der Wert dieses Schlüssels ist eine Liste von Webadressen, bei denen Torrent -Daten abgerufen werden können:

{  # ...  "httpSeeds": ['http://www.site1.com/source1.php', 'http://www.site2.com/source2.php'],  # ... } 

Diese Funktion wird sehr häufig von verwendet von Open Source Projekte, die Software -Downloads anbieten. Websamen ermöglichen eine intelligente Auswahl und gleichzeitige Verwendung von Spiegelstellen, P2p oder http (s), vom Client. Dadurch wird die Last auf den Servern des Projekts reduziert und gleichzeitig die Download -Geschwindigkeit maximiert. Spiegel[DE] generiert automatisch Torrents mit Websamen.

Private Ströme

BEP-0027[6] erweitert BitTorrent, um private Torrents zu unterstützen.

Ein neuer Schlüssel, Privatgelände, wird in die platziert die Info Wörterbuch. Der Wert dieses Schlüssels beträgt 1, wenn der Torrent privat ist:

{  # ...  'die Info': {  # ...  'Privatgelände': 1,  # ...  },  # ... } 

Private Torrents sind mit a zu verwenden Privat Tracker. Ein solcher Tracker beschränkt den Zugriff auf Torrents, die es verfolgt, indem es die IP des Peer überprüft und sich weigert, eine Peer -Liste bereitzustellen, wenn die IP nicht bekannt ist. Der Peer selbst ist normalerweise über eine geschlossene Online -Community im Tracker registriert. Der private Tracker führt in der Regel auch Statistiken der Datenübertragung zur Verwendung in der Community.

Dezentrale Methoden wie DHT, PEX, LSD sind deaktiviert, um die zentralisierte Kontrolle aufrechtzuerhalten. Ein privater Strom kann manuell bearbeitet werden, um die private Flagge zu entfernen. Dies ändert jedoch das Info-Hash (bestimmt) und bildet einen separaten "Schwarm" von Gleichaltrigen. Andererseits wird das Ändern der Trackerliste den Hash nicht ändern. Die Flagge bietet keine echte Privatsphäre, sondern arbeitet als a Gentlemen -Vereinbarung.

Merkle Bäume

BEP-0030[7] erweitert BitTorrent zur Unterstützung Merkle Bäume. Der Zweck ist es, die zu reduzieren Dateigröße von Torrent -Dateien, die die Belastung für diejenigen verringern, die Torrent -Dateien bedienen.

Eine Torrent -Datei mit Merkle Trees hat keine Stücke Schlüssel in der die Info aufführen. Stattdessen hat eine solche Torrent -Datei eine root_hash Schlüssel in der die Info aufführen. Der Wert dieses Schlüssels ist der Wurzel -Hash des Merkle -Hash:

{  # ...  'die Info': {  # ...  'Wurzel Hash ': ,  # ...  },  # ... } 

Beispiele

Einzelne Datei

Eine entzinzierte Torrent-Datei (mit Stücklänge 256 KIB = 262.144 Bytes) für eine Datei DEBIAN-503-AMD64-CD-1.ISO (Wessen Größe ist 678 301 696 Bytes) Möglicherweise sehen Sie aus:

 {  'bekannt geben': 'http://bttracker.debian.org:6969/announce',  'die Info':  {  'Länge': 678301696,  'Name': 'Debian-503-AMD64-CD-1.ISO' ',  'Stück Länge': 262144,  'Stücke':   }  } 

Notiz: Stücke Hier wäre ein 51 KIB -Wert ().

Mehrere Dateien

Eine entzinzierte Torrent-Datei (mit 'Stücklänge' 256 kib = 262144 b) für zwei Dateien, 111.txt und 222.txt, könnte aussehen wie:

 {  'bekannt geben': 'http://tracker.site1.com/announce',  'die Info':  {  "Dateien":  [  {'Länge': 111, 'Weg': ['111.txt']},  {'Länge': 222, 'Weg': ['222.txt']}  ],  'Name': 'Verzeichnisname',  'Stück Länge': 262144,  'Stücke':   }  } 

Siehe auch

Verweise

  1. ^ a b "BEP-0003: Die BitTorrent-Protokollspezifikation". Bittorrent.org. Archiviert vom Original am 2019-07-26. Abgerufen 2009-10-22.
  2. ^ "BEP-0000: Index für BitTorrent-Verbesserungsvorschläge". Bittorrent.org. Archiviert vom Original am 02.02.2010 Uhr. Abgerufen 2009-10-22.
  3. ^ "BEP-0005: DHT-Protokoll". Bittorrent.org. Archiviert vom Original am 2010-02-13. Abgerufen 2009-10-22.
  4. ^ "BEP-0012: Multitracker-Metadatenerweiterung". Bittorrent.org. Archiviert vom Original am 2012-12-27. Abgerufen 2009-10-22.
  5. ^ "BEP-0017: HTTP-Aussaat". Bittorrent.org. Archiviert vom Original am 2013-12-13. Abgerufen 2009-10-22.
  6. ^ "BEP-0027: Private Torrents". Bittorrent.org. Archiviert vom Original am 2013-03-24. Abgerufen 2009-10-22.
  7. ^ "BEP-0030: Merkle Hash Torrent Extension". Bittorrent.org. Archiviert vom Original am 2009-09-14. Abgerufen 2009-10-22.

Externe Links