是否允许在Mainline DHT中的同一个ip:端口对后面运行几个不同的DHT节点? 哪个节点应该回复DHT查询消息? 全部还是其中一个?
提前谢谢。
答案 0 :(得分:5)
简短的回答是:其中一个。每个请求都会产生一个响应。
假设DHT节点具有与其(IP,端口)对相关联的持久节点ID。如果节点ID发生更改(或者当您对其进行短语,则另一个节点作出响应)时,其远程节点的路由表中的条目可能会被删除并替换为新的节点ID。
在不同的端口上运行节点可能是个更好的主意,因此对同一端口的请求会导致来自同一节点的响应具有相同的节点ID。
作为旁注,Azureus在其DHT中具有某些安全功能,可以通过限制您可以在任何给定IP地址上运行的节点ID来缓解攻击者拥有节点ID空间的某个区域的攻击。有人建议为主线DHT(由我提出)DHT security extension做类似的事情。通过部署类似的内容,您可以在一个IP地址后面运行多少个节点。