【问题标题】:P2P Networking. UDP vs TCPP2P 网络。 UDP 与 TCP
【发布时间】:2018-02-25 18:45:42
【问题描述】:

我基于 Kadelmia 方法编写 P2P 系统。我的问题与要使用的传输类型有关:UDP 或 TCP。

Kadelmia 文档定义了 UDP,但我担心的是负载大小。据我所知,UDP 被授予者交付了 548 个字节。但是有些消息由文档定义,长度大于 548 字节(例如 FIND_NODE 上的响应)。问题:我应该使用 TCP 而不是 UDP?

【问题讨论】:

    标签: udp p2p kademlia


    【解决方案1】:

    长度大于 548 字节

    这是 RFC 为 ipv4 定义的 MTU,但实际上几乎所有节点都支持更多,至少 1400 并且某些情况下也可以通过分段来覆盖。对于 IPv6,保证的 MTU 更高。

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

    出于某种原因,您应该使用 UDP,see this Q&A。如果您需要在查找结束时传输更大的数据,您仍然可以使用 TCP 作为下一层协议,但这超出了 kademlia 路由算法的范围。

    例如对 FIND_NODE 的响应

    假设 256 位节点 ID(32 字节)和 18 字节联系人 (IPv6),您可以将 10 个 ID、地址对放入 548 字节中,并为标头留出几个字节。它很拥挤,但可行。

    【讨论】:

    • 我看到了这个问答,但您的回答确实帮助我做出了最终决定。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 2017-03-25
    • 1970-01-01
    • 2016-06-10
    • 2011-05-07
    • 1970-01-01
    相关资源
    最近更新 更多