TCP 和UDP传输速度为什么UDP 要快?

2024-12-01 10:47:53
推荐回答(3个)
回答1:

UDP相对于TCP而言,是缺少一个可靠的丢失重发机制,因此可以立即返回,所以你觉得快
UDP属于发射后不管,但是从IP层来说,它的效率和TCP相比,几乎相同

TCP为什么慢呢?就是因为需要 发射 确认 这样一个循环过程,所以慢

现在喜欢用UDP代替TCP的原因主要是 TCP的重发机制不完美,等待时间不合理,响应经常偏慢

UDP的问题主要在于丢包,如果你的API层协议规定部分数据可以丢失,那么UDP的响应速度会是最好的选择
同样,如果规定绝对不可以丢包,那么需要你自己在API或者引擎里负责处理UDP的可靠传输
一般测试下,在相对可靠的环境里,UDP的丢包率很低,因此即使采用确认模式传输,速度也很快
但是,如果在INTERNET上,例如 电信到CNC线路,丢包率是偏高的,效率会严重降低,CPU开销剧烈增加[主要是确认机制导致的]

回答2:

tcp传输有返回值,而且要检查返回值,以确保被正确接收;而udp没有这个检查的过程,所以会出现丢包的现象,但是传输速度要快

回答3:

TCP有拥塞控制、滑动窗口等一系列的算法来保证数据的正确和有序,而UDP就没有这么多工作。