メインライン DHT の同じ ip:port ペアの背後で複数の異なる DHT ノードを実行することは許可されていますか? そして、どのノードが DHT クエリ メッセージに応答する必要がありますか? それらのすべてまたは1つ?
前もって感謝します。
メインライン DHT の同じ ip:port ペアの背後で複数の異なる DHT ノードを実行することは許可されていますか? そして、どのノードが DHT クエリ メッセージに応答する必要がありますか? それらのすべてまたは1つ?
前もって感謝します。
簡単に言えば、そのうちの 1 つです。各要求は、単一の応答を生成することが期待されます。
DHT ノードは、(IP、ポート) ペアに関連付けられた永続的なノード ID を持っていると想定されます。ノード ID が変更された場合 (つまり、別のノードが応答した場合)、リモート ノードのルーティング テーブル内のエントリが削除され、新しいノード ID に置き換えられる可能性があります。
同じポートへの要求が同じノード ID を持つ同じノードからの応答になるように、異なるポートでノードを実行することをお勧めします。
補足として、Azureus の DHT には特定のセキュリティ機能があり、特定の IP アドレスで実行できるノード ID を制限することで、攻撃者がノード ID 空間の特定の領域を所有する攻撃を緩和します。メインラインの DHT (私が提案) DHT security extensionに対して同様のことを行う提案があります。このようなものを展開すると、単一の IP アドレスの背後で実行できるノードの数が制限されます。