2

BitTorrent 内のプロセスを理解し、同様のものを実装しようとしています。とはいえ、駒の選別と移し替えのプロセスはまだわかりません。各ピアは、どのピアがどのファイルピースを持っているかをどのように知ることができますか? 各ピアは、要求されたピースがあるかどうかを常に確認する必要がありますか?

また、レアピースを先に入手しようとする「レアピースファースト」アプローチについても聞いたことがあります。ネットワーク トラフィックを無駄にせずにこれらの情報を取得するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1

4

これは、 bitfieldhaveの 2 つのメッセージで行われます。

  • 2 つのピアがハンドシェイクを実行した後、必要に応じてビットフィールドを最初のメッセージとして送信できます。これは、完了したすべてのブロックをコンパクトに表します。

  • ピアがブロックを正常にダウンロードして検証すると、接続されているすべてのピアにhaveメッセージをブロードキャストし、どのブロックが完了したかを知らせます。

于 2014-01-02T00:22:15.083 に答える