UDP用户数据报协议,他是无连接的,不可靠的网络传输协议
UDP协议特点
1.面相无连接
不需要和TCP一样在发送数据前三次握手,想发送数据就可以开始发送,并且只是数据报文的搬运工,不会对数据报文进行拼接和拼接操作
在发送端,应用层将数据传递给传输层的UDP协议,UDP只会给数据增加一个UDP头,标识这个是一个UDP协议,然后就传递给网络层了
在接收端,网络层将数据传递给传输层,UDP只去除IP报文就传递给应用层,不会进行任何拼接操作
2.有单播,多播,广播的功能
UDP不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说UDP提供单播,多播,广播的功能
3.UDP是面向报文的
发送方的UDP对应用程序交下来的报文,再添加首部后就向下交付IP层,UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,因此,应用程序必须选择合适的报文大小
4.不可靠性
不可靠体现在无连接上,通信不需要建立连接,想法就发,肯定不可靠,并且收到什么数据就传递什么数据,不会备份数据,发送数据也不关心对方是否正确接收到了数据
由于UDP没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整,这样实现的弊端就是在网络条件不好的情况下可能会丢包
5.头部开销小,传输数据报文高效
UDP头部包含
两个16位端口号,分别表示源端口(可以没有)和目标端口
整个数据报文的长度
整个数据报文的校验和,该字段用于发现头部信息和数据中的错误
UDP头部只有8字节,每个数据包最大是64k
UDP协议优点
传输速度快
不需要连接,资源开销小
UDP缺点
数据传输不可靠,容易丢包
没有流量控制,当对方没有及时接收数据,发送发一直发送数据会导致缓冲区数据满了,电脑出现卡死情况,所有接收方需要及时接收数据
UDP使用场景
当对网络通讯质量要求不高的时候,要求网络通讯速度尽可能快,这时就可以使用UDP
qq音视频传输
微信语音视频通话
上课使用的共屏软件
发送广播消息