UDP vs TCP,速度有多快?用于一般协议消息交换,可以容忍一些丢包。UDP over TCP有多高效?
3 回答
浮云间
TA贡献1829条经验 获得超4个赞
UDP比TCP更快,原因很简单,因为它的不存在的确认包(ACK)允许连续的数据包流,而不是通过使用TCP窗口大小和往返时间计算的确认一组数据包的TCP(RTT) )。
有关更多信息,我建议使用简单但非常易于理解的Skullbox解释(TCP与UDP)
慕运维8079593
TA贡献1876条经验 获得超5个赞
在某些应用中,TCP比UDP更快(更好的吞吐量)。
当进行大量相对于MTU大小的小写时,就是这种情况。例如,我读了一个实验,其中通过以太网(1500字节MTU)发送300字节数据包流,TCP比UDP快50%。
原因是TCP将尝试缓冲数据并填充整个网段,从而更有效地利用可用带宽。
另一方面,UDP立即将数据包放在线路上,从而使网络拥有大量小数据包。
您可能不应该使用UDP,除非您有非常具体的理由这样做。特别是因为您可以通过禁用Nagle算法为TCP提供与UDP相同的延迟(例如,如果您正在传输实时传感器数据,并且您不担心使用大量小数据包来拥塞网络)。
添加回答
举报
0/150
提交
取消