UDP和TCP对比
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210209162804620.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzODEyMTY3,size_16,color_FFFFFF,t_70)
1.udp是无连接的,tcp是面向连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210209164159882.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzODEyMTY3,size_16,color_FFFFFF,t_70)
使用udp协议通信的双方可以随时发送数据,使用tcp协议通信的双方,在进行数据传输之前,必须使用三报文握手来建立tcp连接,tcp连接成功后才能进行数据传输,数据传输后必须使用四报文挥手来释放连接。
2.udp支持1对1,1对多,多对1,多对多交互通信,tcp只能一对一通信。
广播:任何一台主机都可以向其他三台主机广播
发送多播:
单播:
3.udp对应用层交付的报文直接打包,而tcp是面向字节流的
udp对应用层交付下来的报文既不合并也不拆分,保留这些报文的边界,直接加上udp的首部,接收方收到udp的报文后,去掉首部后,直接上交给应用层,tcp是面向字节流的。
4.udp是努力交付,是不可靠的,没有流量控制和拥塞控制,tcp是可靠传输的,使用流量控制。
不可靠:如果udp数据报在传输的途中收到干扰产生误码,接收方udp可以通过该数据报中的校验和字段的值,检查出产生误码的情况,然后丢弃该数据报。如果在发送过程中udp数据报被丢弃了,发送发也不做处理。
5.udp首部开销小,只有8字节,tcp首部最小20字节,最大60字节。