5

ピアのリストを配布するためにBitTorrentで使用されるMainline DHTは、 KRPC と呼ばれるカスタム RPC プロトコルを実装します。KRPC は、基本的に JSON のよりコンパクトな形式である BEncoded 辞書で構成されています。

BSON のようなもの (または単にデータを圧縮すること) よりも BEncode を使用する利点はありますか?

4

1 に答える 1

3

bencodeこれは歴史的な理由で使用されており、DHT拡張機能を実装したい開発者の負担を軽減していると思います。すべてのBitTorrentクライアントは、bencodeトレントファイル(メタデータの単純にコード化された辞書)を操作するための実用的な実装を持っている必要があるため、DHTを実装するためにbencode新しいプロジェクトの依存関係は必要ありません。

また、DHTがbencodeバイナリエンコーディングとともに使用していることを考慮してください。特に、26バイトのノード識別子文字列(ノードIDの場合は20バイト、ipv4アドレス/ポートの場合は6バイト)がバイナリ文字列として保存されています(http://bittorrent.org/beps/bep_0005.htmlを参照)。 #contact-encoding)なので、事実上、すでに最小限のデータ圧縮が行われています。

于 2012-08-03T14:43:58.440 に答える