BitTorrent プロトコルは、最初にファイルの最初の 3% または最初の 5% を要求するように指定できますか? そうでない場合、そのようなサポートを追加すると、プロトコルが改善されますか?
更新:では、それがプロトコルの一部である場合、なぜ多くのクライアントがそれを使用しないのでしょうか? 10 分後、ファイルの 10% が完了しますが、通常、コンテンツの 1% をプレビューすることさえできません... (運次第)
BitTorrent プロトコルは、最初にファイルの最初の 3% または最初の 5% を要求するように指定できますか? そうでない場合、そのようなサポートを追加すると、プロトコルが改善されますか?
更新:では、それがプロトコルの一部である場合、なぜ多くのクライアントがそれを使用しないのでしょうか? 10 分後、ファイルの 10% が完了しますが、通常、コンテンツの 1% をプレビューすることさえできません... (運次第)
Azureusには、ファイルの最初と最後のブロックを最初に取得するオプションがあります。ただし、どのピアがデータの送信を開始するかを制御できないため、100%信頼できるわけではありません。
プロトコル仕様については、ここを参照してください。具体的には、次のとおりです。
リクエスト:
要求メッセージは固定長であり、ブロックを要求するために使用されます。ペイロードには次の情報が含まれています。
そうです、特定のブロック(その一部でも)を要求できます。これにより、ブロックサイズに関係なく、ファイルの最初の3%または5%を正確に要求できるようになります。
Bittorrent プロトコルは、希少性を中心に設計されています。ピアの群れにすべてのチャンクが存在しなくなる可能性を減らすために、最も希少なチャンクが最初に配布されます。それはファイル全体を取得することが不可能になるからです。
プロトコルとしての BitTorrent の目的はストリーミング メディアではありません。その目的は、関心のあるすべてのデータを常に確実に利用できるように最善を尽くすことです。メディア ストリーミングの目的で使用することは、実際には BitTorrent の目標に逆効果です。
この理由が明らかでない場合は、先に進む前に、Tanenbaum の Computer Networks を読むことをお勧めします。
10 分後、ファイルの 10% が完了しますが、通常、コンテンツの 1% をプレビューすることさえできません... (運次第)
これは、クライアントがファイルを順番にダウンロードしないためです (多数のピアがあり、それぞれがファイルの異なる部分を持っている場合に転送がより効率的になります)。
はい、これは torrent プロトコルでサポートされています。たとえば、ktorrent はそれを使用して、さまざまなファイル タイプ (mp3、avi、さらには pdf など) のプレビュー チャンクを提供します。