网站建设的几个要素,网站网站做代理,山东家居行业网站开发,网站做菠菜UDP协议UDP是传输层的重要协议之一#xff0c;另一重要协议为TCP协议。两者对比#xff1a;TCP协议复杂#xff0c;但传输可靠。UDP协议简单#xff0c;但传输不可靠。UDP协议全称为#xff1a;User Datagram Protocol#xff08;用户数据报协议#xff09;。它是一个简…UDP协议UDP是传输层的重要协议之一另一重要协议为TCP协议。两者对比TCP协议复杂但传输可靠。UDP协议简单但传输不可靠。UDP协议全称为User Datagram Protocol用户数据报协议。它是一个简单的面向数据报的传输层协议。提供的是无连接的、不可靠的数据流传输。它只是把应用程序传给IP层的数据报发送出去但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。但由于UDP在传输数据报前不用在客户和服务器之间建立一个连接且没有超时重发等机制故而传输速度很快。UDP是传输层协议这意味着UDP的数据包需要经过IP协议的封装然后通过IP协议传输到目的电脑。随后UDP包在目的电脑拆封并将信息送到相应端口的缓存中。UDP的特点UDP传输的过程类似于寄信。无连接无连接指的是UDP传输知道对应的IP和端口号就可以直接进行传输不需要建立连接。理解“无连接”特性因为使用UDP协议的发送方和接受方之间不需要存在长期的联系。它们没有建立连接这个过程整个消息传输过程简单来说就是“发送即结束”。在UDP协议传输的过程中可以向某一个服务器端口发起接收数据申请然后在下一次再向另外一个端口发起申请。这样一来一个UDP服务器接口可以在一段时间内接受多个客户端发送的请求同样的一个UDP服务器可以从若干个不同的客户接收数据报。不可靠不可靠指的是UDP协议没有任何安全机制发送端发送数据报后如果出现丢包等现象UDP协议层也不会给应用层返回任何错误信息。只是把应用程序传给IP层的数据报发送出去但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。面向数据报应用层交给UDP多长的报文UDP会将其原样发送既不会拆分也不会将其合并。如果发送端一次性发送1000个字节那么接收端也必须一次性接收1000个字节不能将其拆为100份每份10字节每次接收一份。缓冲区UDP只有接收缓冲区没有发送缓冲区。UDP没有真正意义上的发送缓冲区。发送的数据会直接交给内核由内核将数据传给网络层协议进行后续的传输动作。UDP具有接收缓冲区但是这个接收缓冲区不能保证收到的UDP数据报的顺序和发送UDP报的顺序一致如果缓冲区满了再达到的UDP数据就会被丢弃。大小受限UDP协议首部中有一个16位的最大长度也就是说一个UDP能传输的数据的最大长度是64K(包含了UDP的首部)。这是UDP在使用中的一个致命缺陷也就是说UDP无法直接表示一个比较大的数据报。解决方法可以在应用层针对大的数据报进行分包拆分成多个部分然后再通过多个UDP数据报分别发送但是这样子无法保证顺序接收方再将收到的几个包拼接成完整的数据。上述这种方式是下策。上策是将其改成TCP协议TCP协议没有这样的长度限制。基于UDP的应用层协议NFS:网络文件系统TFTP:简单文件传输协议DHCP:动态主机配置协议BOOTP:启动协议DNS:域名解析协议......UDP协议报文格式实际格式源端口号和目的端口号用来标记发送和接受的应用进程。因为UDP不需要应答所以源端口是可选的如果源端口不用那么置为零。当运输层从IP层收到UDP数据报时就是根据首部中的目的端口把UDP数据报通过相应的端口上交最后的终点--应用程序。UDP长度16位UDP长度表示整个数据报UDP首部UDP数据的最大长度UDP校验和校验和用来验证网络传输的这个数据是否是正确的本质上是光信号和电信号会被外界因素干扰导致信号出错。校验和正确不能保证数据100%是对的但校验和不正确数据100%是不对的。UDP网络编程模型