BitTorrentは、ファイルの最初から最後まで連続的/線形的に転送するのではなく、ランダムにファイルを転送するため、部分的に高速であると言われるのはなぜですか?
編集:しかし、なぜ彼らは「ランダム」でなければならないのですか?1つのピアが前半を提供し、2番目のピアが残りの半分を提供する、より予測可能な「半連続」転送を行わないのはなぜですか。これにより、理論的にオーバーヘッドが削減されます。
BitTorrentは、ファイルの最初から最後まで連続的/線形的に転送するのではなく、ランダムにファイルを転送するため、部分的に高速であると言われるのはなぜですか?
編集:しかし、なぜ彼らは「ランダム」でなければならないのですか?1つのピアが前半を提供し、2番目のピアが残りの半分を提供する、より予測可能な「半連続」転送を行わないのはなぜですか。これにより、理論的にオーバーヘッドが削減されます。
回答:
なぜランダムにする必要があるのかを尋ねる編集について:トレントは、ダウンローダーがまだ持っていない最初のブロックのみをダウンロードするように変更され、連続した転送が保証されるとしましょう。
次に、100MBのファイルを共有します。10人が接続し、オフラインになる前にそれぞれ50MBをダウンロードします。
これらの人々は、ファイルの前半があり、後半のみが私にいるので、ねじ込まれます。再び利用可能にするまで、ダウンロードを完了できません。
代わりに、実際にそうであるようにブロックがランダムな順序で転送されるため、これらの10人はそれぞれ異なるブロックのセットを持っているので、周りにいなくてもダウンロードを完了するために彼らの間で取引できます。
ただし、さらに良いのは、それぞれが異なるブロックのセットを持っているため、それぞれがすべてからダウンロードできることです。他の人のコピーのギャップを埋めるために。あなたの編集は、ファイル内のランダムなポイントから開始し、そのポイントから連続してダウンロードするというアイデアをほのめかしましたが、それはあるダウンローダーのコピーから次のコピーへのオーバーラップの量を増やします(アリスがファイルの先頭から始まり、ボブが始まる場合それに10%の場合、両方のファイルの40%があり、残りを利用可能にするために再接続しなくても取引できるのはそれぞれ10%だけです)。ランダムな順序でダウンロードすることにより、各ダウンローダーの保持するブロックセットの一意性が最大化され、ダウンローダーが相互に取引を開始できる能力が最大化され、シードが利用できない場合に完全なコピーを組み立てられる可能性が最大化されます。
単一の連続ダウンロードは(またはかもしれないが、状況に応じて)、より良いためになりますが、ランダムな順序でダウンロードすることは、全体としてのネットワークのためのより良いです。
重要なのは、1つのソースからではなく、複数のソース(ピア)から同時にファイルを取得することです。
10の部分に分割され、1つのサーバーからダウンロードするのに100秒かかるファイルがある場合、理論的には、各ピアが10秒でその部分を配信できるため、10秒で10のピアからファイルを取得できます(さらにオーバーヘッドもあります)。実際には、各ピアが完璧ではないので時間がかかり、帯域幅の制限に達する可能性があります(ただし、アイデアは得られます)。
とにかくファイルを再構築する必要があるので、ピースを順番に取得する必要はありません。したがって、2つのパートを配信するピアがそれぞれ5つしかない場合、これらはファイルのランダムなパートになる可能性があります。
これは、問題のファイル、ピアの量、および非ビットソースの速度に完全に依存することを言っておく必要があります。
接続の最大ダウンロード帯域幅よりも速くダウンロードすることは決してありません。また、十分な帯域幅がある場所からダウンロードする場合、Bittorrentを使用するよりも高速になります。
しかし、インターネットの速度がますます速くなるにつれて、(より小さな)ウェブサイトとホストが追いつかないところまで来ています。
たとえば、数か月前にロンドンでコロケーション価格を調べていたとき、5Mb接続の絶対に恐ろしい価格が見積もられました。私がこれを取るとしたら、それは大多数の人々によく役立つでしょう。
しかし、同じ回線で、私がいくつかの500Mbファイルをホストし、誰もがケーブル(50Mb)または高速ADSL2 +(24Mb)回線を持っている場合、私のサーバーはあなたにその速度を提供できないことに気付くでしょう...
...ただし、Bittorrentを介して同じファイルを提供する場合、それぞれが30Kb / sである200人のユーザーがいて、それぞれ5.8Mb / sに相当します(そして、多くの人はそれよりはるかに速いアップロード速度を持っています!) ....そして、今、サーバーでBittorrentを実行し、同じファイルを提供する場合、合計10.8Mb / sがダウンロード可能であることを意味します-その5Mb / sパイプで提供できる以上のもの私自身。
Bittorrentは非常に数の多いゲームです。十分な帯域幅で十分な人をアップロードする必要があります...整合性チェック(およびアップロードし直す必要があるという事実)などの余分な手順のため、直接打つことは困難です十分な帯域幅を備えた適切なサイトからダウンロードしますが、多くの小規模なサイトでは、帯域幅の請求書からお金を節約したいだけでも、すばらしいサイトやさらに大きなサイトです。
ほとんどの回答はあなたの質問に答えているようには見えません。
BitTorrentは高速ではありません。
実際には、複数のソースに接続するオーバーヘッドのために遅くなります。
しかし実際の実際の違いは、多くのソースからダウンロードしているため、Webサイトが提供するものよりも高速になる可能性があることです。多くのWebサーバーは、負荷が高いか、速度が制限されているため、吸い込まないようにしてください。
BitTorrentが一見ランダムな順序でファイルを転送するという事実は、その速度に直接影響しません。
編集に関して、ピースはランダムではありません!それらは希少性に基づいて優先順位が付けられます:まれなピースは、それを持っているソースが突然去っても失われないように、できるだけ速くレアになる必要があります。速度ではなく可用性に関係しています。
トレントは常に高速であるとは限りませんが、高速の場合、1つの理由はネットワークエントロピーです。任意の期間の接続(大きなファイルのダウンロード)は、ルーターの過負荷やユーザーとサーバー間のその他の問題など、ランダムで制御できない要因がパケットの送信に影響を与えるため、時間の経過とともに低下する場合があります。エラーが多いほどパケットの再送信が多くなり、この状況は時間とともに悪化する傾向があります。トレントは、適切な状況下でエラーやパケットの損失または破損を減らすことができる戦略であり、多くのルーティング経路で多くの小さな接続を作成し、特にシードとピアの数が増えると高速になります。
食料品店に2人を送り、アイテムのリストを取得するとします。それぞれにまったく同じリストを与えます。ただし、そのうちの1人は、リストに表示される正確な順序でアイテムをピックアップする必要があります。他の人は、好きな順序でアイテムを受け取ることができます。どちらが先に終わると思いますか?