区别
1.连接
TCP是面向连接的传输层协议,即传输数据之前必须先建立好连接。
UDP不面向连接。
2.服务对象
TCP是点对点的两点间服务,即一条TCP连接只能有两个端点;
UDP支持一对一、一对多、多对一、多对多的交互通信。
3.可靠性
TCP是可靠交付:不重、不漏、不错,按序到达。
UDP是尽最大努力交付,不保证可靠交付。
4.拥塞控制,流量控制
TCP有拥塞控制和流量控制机制。
UDP没有拥塞控制机制,网络拥塞不会影响源主机的发送效率。
5.首部开销
TCP首部开销大,最小也需要占20字节。
UDP首部开销小,固定占8字节。(源端口、目的端口、数据长度、校验和)
TCP和UDP适用场景
从特点上我们已经知道,TCP 是可靠的但传输速度慢,UDP 是不可靠的但传输速度快。因此在选用具体协议通信时,应该根据通信数据的要求而决定。
若通信数据完整性需让位于通信实时性,则应该选用TCP 协议(如文件传输、重要状态的更新等);反之,则使用 UDP 协议(如视频传输、实时通信等)。