244

问答题 244 /290

TCP和UDP的区别和各自适用的场景

参考答案

参考回答:

1)TCP和UDP区别

1) 连接

TCP是面向连接的传输层协议,即传输数据之前必须先建立好连接。

UDP无连接。

2) 服务对象

TCP是点对点的两点间服务,即一条TCP连接只能有两个端点;

UDP支持一对一,一对多,多对一,多对多的交互通信。

3) 可靠性

TCP是可靠交付:无差错,不丢失,不重复,按序到达。

UDP是尽最大努力交付,不保证可靠交付。

4)拥塞控制,流量控制

TCP有拥塞控制和流量控制保证数据传输的安全性。

UDP没有拥塞控制,网络拥塞不会影响源主机的发送效率。

5) 报文长度

TCP是动态报文长度,即TCP报文长度是根据接收方的窗口大小和当前网络拥塞情况决定的。

UDP面向报文,不合并,不拆分,保留上面传下来报文的边界。

6)   首部开销

TCP首部开销大,首部20个字节。

UDP首部开销小,8字节。(源端口,目的端口,数据长度,校验和)

2)TCP和UDP适用场景

从特点上我们已经知道,TCP 是可靠的但传输速度慢,UDP 是不可靠的但传输速度快。因此在选用具体协议通信时,应该根据通信数据的要求而决定。

若通信数据完整性需让位与通信实时性,则应该选用TCP 协议(如文件传输、重要状态的更新等);反之,则使用 UDP 协议(如视频传输、实时通信等)。