Was die Bearbeitung betrifft, fragen wir, warum sie zufällig sein müssen: Nehmen wir an, dass Torrents so geändert wurden, dass sie nur den ersten Block herunterladen, den der Downloader noch nicht hat, wodurch eine zusammenhängende Übertragung gewährleistet wird.
Ich teile dann eine 100MB-Datei. 10 Personen verbinden sich und laden jeweils 50 MB herunter, bevor ich offline gehe.
Diese Leute werden dann geschraubt, weil sie alle die erste Hälfte der Akte haben, während nur ich die zweite Hälfte habe. Bis ich es wieder verfügbar mache, können sie den Download nicht abschließen.
Stattdessen werden die Blöcke in einer zufälligen Reihenfolge übertragen, wie dies tatsächlich der Fall ist. Jede dieser 10 Personen verfügt über einen unterschiedlichen Satz von Blöcken, sodass sie untereinander handeln können, um ihre Downloads abzuschließen, ohne dass ich anwesend sein muss.
Noch besser ist jedoch, dass jeder von ihnen einen anderen Satz von Blöcken hat und von allen heruntergeladen werden kannder anderen, um die Lücken in ihrer Kopie auszufüllen. Ihre Bearbeitung bezog sich auf die Idee, von einem zufälligen Punkt in der Datei aus zu starten und von diesem Punkt aus fortlaufend herunterzuladen. Dies würde jedoch die Überlappung von einer Download-Kopie zur nächsten vergrößern (wenn Alice am Anfang der Datei beginnt und Bob beginnt) 10%, dann gibt es 40% der Datei, die beide haben, und nur 10% für jede einzelne, die sie handeln können, ohne dass ich erneut eine Verbindung herstelle, um den Rest zur Verfügung zu stellen. Durch das Herunterladen in zufälliger Reihenfolge wird die Einzigartigkeit der Blockbestände der einzelnen Downloader maximiert. Dadurch wird die Fähigkeit der Downloader maximiert, untereinander Handel zu treiben, und die Wahrscheinlichkeit wird maximiert, dass sie eine vollständige Kopie zusammenstellen können, wenn keine Startwerte verfügbar sind.
Ein einzelner zusammenhängender Download kann (je nach den Umständen) für Sie besser sein (oder auch nicht) , aber das Herunterladen in zufälliger Reihenfolge ist für das gesamte Netzwerk besser.
Der Schlüssel ist, dass Sie die Datei nicht von einer Quelle, sondern von mehreren Quellen (Peers) gleichzeitig erhalten.
Wenn Sie eine Datei haben, die in 10 Teile aufgeteilt ist und das Herunterladen von 1 Server 100 Sekunden dauert, können Sie die Datei theoretisch von 10 Peers in 10 Sekunden (zuzüglich einiger Overheads) abrufen, da jeder Peer seine Teile in 10 Sekunden bereitstellen kann. In der Praxis wird es länger dauern, da nicht jeder Peer perfekt ist und Sie wahrscheinlich Ihr Bandbreitenlimit erreichen (aber Sie haben die Idee).
Da Sie die Datei trotzdem neu zusammensetzen müssen, müssen Sie die Teile nicht in der richtigen Reihenfolge abrufen. Wenn Sie also nur 5 Peers mit jeweils 2 Teilen haben, können diese zufällige Teile der Datei sein.
quelle
Es sollte gesagt werden, dass dies vollständig von der fraglichen Datei, der Anzahl der Peers und der Geschwindigkeit der nicht-bittorenten Quelle abhängt.
Sie werden niemals schneller als die maximale Download-Bandbreite Ihrer Verbindung herunterladen. Wenn Sie von einem Ort mit ausreichender Bandbreite herunterladen, ist dies schneller als mit Bittorrent.
Da jedoch die Internetgeschwindigkeiten immer schneller werden, kommen wir an den Punkt, an dem (kleinere) Websites und Hosts nicht mehr mithalten können.
Als ich mich zum Beispiel vor ein paar Monaten in London nach Colocation-Preisen umsah, wurden mir absolut schreckliche Preise für eine 5-MB-Verbindung genannt. Wenn ich das nehmen würde, würde es der Mehrheit der Menschen gut dienen.
Wenn ich jedoch ein paar 500-MB-Dateien hosten würde und alle über Kabel (50 MB) oder schnelle ADSL2 + -Leitungen (24 MB) verfügen, würden Sie feststellen, dass mein Server die Geschwindigkeit nicht so schnell bereitstellen kann ...
... wenn ich Ihnen jedoch dieselbe Datei über Bittorrent anbieten würde und 200 Personen mit jeweils nur 30 KBit / s anwesend wären, entspräche dies 5,8 MBit / s (und viele Leute haben eine viel schnellere Upload-Geschwindigkeit als diese!) .... und jetzt, wenn ich Bittorrent auf meinem Server ausführen und dieselbe Datei anbieten würde, würde dies bedeuten, dass insgesamt 10,8 MB / s heruntergeladen werden können - viel mehr, als ich durch diese 5-MB / s-Pipe bereitstellen könnte mein eigenes.
Bittorrent ist ein Spiel mit Zahlen, man muss genügend Leute haben, die mit genügend Bandbreite hochladen ... Aufgrund zusätzlicher Schritte wie der Integritätsprüfung (und der Tatsache, dass Sie zurückladen sollten ) ist es schwer, jemals direkt zu schlagen Herunterladen von einer guten Site mit genügend Bandbreite, aber für viele kleinere Sites sind es brillante oder sogar größere Sites, die einfach Geld von ihrer Bandbreitenrechnung sparen möchten.
quelle
Die meisten Antworten scheinen Ihre Frage nicht zu beantworten.
BitTorrent ist nicht schneller.
Es ist tatsächlich langsamer, da der Aufwand für das Herstellen einer Verbindung zu mehreren Quellen höher ist.
Der wirkliche Unterschied in der Praxis besteht jedoch darin, dass Sie von vielen Quellen herunterladen, die möglicherweise schneller sind als eine Website. Viele Webserver sind stark ausgelastet oder auf andere Weise auf die Geschwindigkeit beschränkt, sodass Sie sie nicht trocken saugen.
Die Tatsache, dass BitTorrent die Datei in einer scheinbar zufälligen Reihenfolge überträgt, hat keinen direkten Einfluss auf die Geschwindigkeit.
In Bezug auf Ihre Bearbeitung sind die Stücke nicht zufällig! Sie werden nach ihrer Seltenheit priorisiert: Ein seltenes Stück muss so schnell wie möglich seltener werden, damit es nicht verloren geht, wenn die Quelle, aus der es stammt, plötzlich verlässt. Es geht um Verfügbarkeit, nicht um Geschwindigkeit.
quelle
Es ist ein Verfügbarkeitsproblem. Wenn Sie fortlaufend herunterladen müssen, sind Sie darauf angewiesen, dass mehr Dateien gehostet werden als Sie. Jede Person mit weniger Dateien als Sie kann Ihnen keine Daten senden.
Wenn Chunks zufällig verteilt werden, ist die Anzahl der Hosts, von denen Sie herunterladen können, höher. Daher wird die Datei schneller heruntergeladen.
quelle
Torrents sind nicht immer schneller, aber wenn, dann ist ein Grund die Netzwerkentropie. Eine Verbindung von beliebiger Dauer (das Herunterladen einer großen Datei) kann sich im Laufe der Zeit verschlechtern, da zufällige, nicht kontrollierbare Faktoren die Übertragung von Paketen beeinflussen, z. B. eine Überlastung des Routers und andere Probleme zwischen Ihnen und dem Server. Mehr Fehler bedeuten mehr Neuübertragungen von Paketen, und diese Situation verschlechtert sich mit der Zeit. Torrents stellen über viele Routing-Pfade viele kleinere Verbindungen her. Diese Strategie kann unter den richtigen Umständen Fehler und verlorene oder beschädigte Pakete reduzieren und scheint schneller zu sein, insbesondere wenn die Anzahl der Seeds und Peers zunimmt.
quelle
Nehmen wir an, Sie schicken zwei Personen zum Lebensmittelgeschäft, um eine Liste mit Artikeln abzuholen. Sie geben ihnen jeweils die exakt gleiche Liste. Einer von ihnen muss die Gegenstände jedoch in der genauen Reihenfolge abholen, in der sie in der Liste aufgeführt sind. Der andere kann die Artikel in beliebiger Reihenfolge abholen. Was glaubst du wird als erstes enden?
quelle