在这种情况下应该使用UDP还是TCP?

时间:2018-08-13 23:30:52

标签: networking tcp network-programming udp p2p

P2P网络:

最大消息约为300KB。大多数邮件较小(5-50kb)。如果他们没有收到消息,那是完全可以的,因为他们将启动引导程序(重新发送)。

我倾向于UDP,您猜对了,它是一个区块链软件!但是,我们当前的设计是TCP。

1 个答案:

答案 0 :(得分:0)

UDP数据包的最大大小为65,535字节(包括8字节UDP报头和20字节IP报头),因此对于最大的消息,您必须实现“分块”形式,将消息分成较小的部分(除非您使用的是IPv6 Jumbograms),以及应用程序生成的标头,其中包含数据包的顺序以及可能的数据大小。当您超出MTU大小时,您还会遇到碎片化的问题(尽管像您提到的那样的可靠性机制,这可能不是这样的问题)。

我想您必须问自己,与当前的TCP设计相比,UDP将给您带来什么好处。使用UDP的主要原因是当您需要具有非常小的网络延迟的轻量级协议,或者需要能够通过LAN广播或多播数据包时。如果您没有这些需求,而TCP正在完成这项工作,那么为什么要更改?

相关问题