UDP用户数据报协议,他是无连接的,不可靠的网络传输协议

UDP协议特点

        1.面相无连接

                不需要和TCP一样在发送数据前三次握手,想发送数据就可以开始发送,并且只是数据报文的搬运工,不会对数据报文进行拼接和拼接操作

                在发送端,应用层将数据传递给传输层的UDP协议,UDP只会给数据增加一个UDP头,标识这个是一个UDP协议,然后就传递给网络层了

                在接收端,网络层将数据传递给传输层,UDP只去除IP报文就传递给应用层,不会进行任何拼接操作

        2.有单播,多播,广播的功能

                UDP不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说UDP提供单播,多播,广播的功能

        3.UDP是面向报文的

                发送方的UDP对应用程序交下来的报文,再添加首部后就向下交付IP层,UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,因此,应用程序必须选择合适的报文大小

UDP协议传工具JAVA实例 udp协议发送_UDP

        4.不可靠性

                不可靠体现在无连接上,通信不需要建立连接,想法就发,肯定不可靠,并且收到什么数据就传递什么数据,不会备份数据,发送数据也不关心对方是否正确接收到了数据

                由于UDP没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整,这样实现的弊端就是在网络条件不好的情况下可能会丢包

        5.头部开销小,传输数据报文高效

                UDP头部包含

                        两个16位端口号,分别表示源端口(可以没有)和目标端口

                        整个数据报文的长度

                        整个数据报文的校验和,该字段用于发现头部信息和数据中的错误

                UDP头部只有8字节,每个数据包最大是64k

UDP协议传工具JAVA实例 udp协议发送_UDP_02

 UDP协议优点

        传输速度快

        不需要连接,资源开销小

UDP缺点

        数据传输不可靠,容易丢包

        没有流量控制,当对方没有及时接收数据,发送发一直发送数据会导致缓冲区数据满了,电脑出现卡死情况,所有接收方需要及时接收数据

UDP使用场景

        当对网络通讯质量要求不高的时候,要求网络通讯速度尽可能快,这时就可以使用UDP

                qq音视频传输

                微信语音视频通话

                上课使用的共屏软件

                发送广播消息