为什么Kademlia使用UDP?

lia*_*dee 2 networking udp dht kademlia

为什么Kademlia Distributed Hash Table使用UDP作为其网络传输协议,即使它不可靠?

the*_*472 11

主要原因是您快速查询之前从未建立过联系的许多节点,并且在查找期间可能永远不会再查看.

Kademlia查找是迭代的,即不会转发请求.转发DHT更适合长期的TCP连接.

即大块的流量由一个请求和潜在测距以百万计的网络的节点之间的响应的短命交换.快速建立数千个TCP连接的开销将是令人望而却步的.


gah*_*cep 5

为何选择UDP?因为,它是简单,有效和低成本的协议.它不保证包的交付,也不需要建立连续的连接.所有这些功能使UDP适合快速向多个收件人传送数据.这就是P2P应用程序所需要的一切.

来自Kademlia设计规范的Сitation:

Kademlia的设计者似乎没有考虑使用IPv6地址或TCP/IP而不是UDP,或者Kademlia节点有多个IP地址的可能性.