2011-08-15 7 views
1

get_peersクエリのためにメインラインDHTノードによって送信されるudpパケットの最大サイズはいくらですか? 3000ピアを格納すると、ノードの応答はどのようになりますか? (その場合パケットは非常に大きい)。 メインラインDHTクライアントはどのように応答を処理しますか?get_peersクエリのメインラインDHTノードから送信されるudpパケットの最大サイズはいくらですか?

ありがとうございます。

答えて

3

ビットトレントトラッカーと同様に、レスポンスにはすべてのピアが含まれている必要はなく、ランダムな選択のみが含まれていてもかまいません。

最も人気のあるクライアント(私は本当にuT、BTML、libtorrent-rasterbarのみ話すことができます)は、超えないようにするMTUサイズを想定しています。想定されるMTUサイズは、バイト(これは標準的な最大イーサネットフレームサイズです)以下です。これは通常、インターネット上に表示されるパスMTUの上限です。通常、PPPoEやその他のトランスポートを経由する接続をカバーするために、数十バイトを削っておくことをお勧めします。

IPv6経由でパケットを送信する場合、Teredo(1280バイト)を超えている場合はさらにMTUを下げるように注意する必要があります。

正確には、uTorrentの1500のMTU前提 - IPヘッダーの20バイト - 電位MPPE header 2バイト - 電位PPPoE header 8バイト - 電位GRE headerの24バイト - UDP -headerの8バイト。 UDPペイロードのバイト。

パケットがパスMTUを超えたとしても、IPレイヤーはそれらをフラグメント化してエンドポイントでマージし、ビットトレントクライアントに透過的にします。 IPv6のDHTについて

2

1024バイトの上限は(ピアが返される)値リストとしてhttp://bittorrent.org/beps/bep_0032.html

を参照して、定義されている、ノードは単に、パケットサイズに収まる無作為サブセットを返すべき完全なリストではありません。

関連する問題