简述 TCP 与 UDP 的区别
TCP :传输控制协议,UDP :用户数据报协议
都是位于传输层的协议,关于TCP/IP分层不理解的可以查看我的另一篇博客。
它们的区别主要有以下四点:
1、TCP 是面向连接的(三次握手建立连接),UDP 是无连接的即发送数据前不需要先建立链接。
2、TCP 提供可靠的服务。也就是说,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP 尽最大努力交付,不保证可靠交付。 (并且因为 TCP 可靠,面向连接,不会丢失数据因此适合大数据量的交换)
3、TCP 是面向字节流,UDP 面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如 IP 电话和视频会议等)。
4、TCP 只能是 1 对 1 的,UDP 支持 1 对 1,1 对多。
5、TCP 的首部较大为 20 字节,而 UDP 只有 8 字节。
6、TCP 是面向连接的可靠性传输,而 UDP 是不可靠的
图表对比:
![](https://img2020.cnblogs.com/blog/2580638/202110/2580638-20211024203122288-1643698355.png)