网站开发分站,怎么进入凡科建设的网站,小程序开发文档微信小程序,seo多久可以学会UDP的结构
我们学习一个协议最主要的就是理解它的报文格式#xff0c;对于UDP协议来说 我们看下面的这张图。 16位UDP长度#xff0c;表示整个数据报#xff08;UDP首部UDP数据#xff09;的最大长度。UDP报文长度占两个字节#xff0c;16位表示的数据范围#xff08;0-…UDP的结构
我们学习一个协议最主要的就是理解它的报文格式对于UDP协议来说 我们看下面的这张图。 16位UDP长度表示整个数据报UDP首部UDP数据的最大长度。UDP报文长度占两个字节16位表示的数据范围0-65535也就是64kbUDP数据报最大长度就是64kb。
校验和因为网络传输中由于一些外部干扰数据传输可能会出现出错的情况网络传输主要是光信号和电信号由于电磁场、高能离子等就可能出现比特翻转。因此就需要能识别出出错的数据所以就有了校验和。
校验和本质上其实也是一个字符串是通过原始数据生成的体积比原始数据更小原始数据相同得到的校验和就一定相同反之校验和相同那么原始数据大概率也是相同的不相同的概率忽略不计。那么我们如何基于校验和来完成数据校验呢
1.发送方把要发送的数据整理好要发送的数据data1通过一定的算法计算出校验和checksum1。
2.发送方把data1和checksum1通过网络发送给接收方。
3.接收方收到数据收到的数据据data2收到的校验和checksum1收到的数据有可能和发送的不一样。
4.接收方根据data2按照相同的算法重新计算校验和得到checksum2。
5.对比checksum1和checksum2是否相同如果相同则认为data1和data2大概率是相同的不同的概率忽略不计否则data1和data2一定是不相同的。
UDP的特点 无连接UDP协议本身不会存储对端的信息发送数据的时候要显示指定对端的IP和端口号不需要建立连接。 不可靠传输没有任何安全机制发送端发送数据报以后如果因为网络故障该段无法发到对方UDP协议层也不会 给应用层返回任何错误信息。 面向数据报应用层交给UDP多长的报文UDP原样发送既不会拆分也不会合并。 全双工UDP的socket既能读也能写。 大小受限UDP协议首部中有一个16位的最大长度。也就是说一个UDP能传输的数据最大长度是64K包含UDP首 部 缓冲区UDP没有真正意义上的 发送缓冲区。发送的数据会直接交给内核由内核将数据传给网络层协议进行后续的传输动作UDP具有接收缓冲区但是这个接收缓冲区不能保证收到的UDP报的顺序和发送UDP报的顺序一致如果缓冲区满了再到达的UDP数据就会被丢弃。