P2P网络。UDP vs TCP

3
我基于Kadelmia方法编写了P2P系统。我的问题与使用哪种传输类型有关:UDP还是TCP。

Kadmelia文档定义了UDP,但我关注的是有效负载大小。据我所知,UDP保证548字节的传递。但是有些消息,根据文档定义,长度大于548字节(例如对FIND_NODE的响应)。问题是:我应该使用TCP而不是UDP吗?

1个回答

4

长度大于548字节

这是IPv4的RFC定义的MTU,但实际上几乎所有节点都支持更大的MTU,至少为1400,在某些情况下也可以通过分段处理。对于IPv6,保证的MTU更高。

问题:我应该使用TCP而不是UDP吗?

你应该使用UDP,有一些原因可以参考这个问答。如果你需要在查找结束时传输更大的数据,仍然可以使用TCP作为下一层协议,但这超出了kademlia路由算法的范围。

例如,FIND_NODE的响应

假设256位节点ID(32字节)和18字节的联系人(IPv6),你可以将10个ID、地址对放入548字节中,并留出几个字节用于头。虽然紧密但可行。


我看到了这个问答,但是你的回答真的帮助我做出了最终决定。再次感谢。 - bw_dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接