UDP 的报文结构

UDP的报文结构:

其中前面的源端口号和目的端口号,UDP长度和UDP检验和,它们都是2个字节。

那么什么是UDP长度呢,它指的是后面的数据的长度,换算单位也就是64kb,因此一个数据报(数据)最大也就64kb。因此传输的数据不能超过64kb

UDP校验和则是检验数据在传输过程中,是否出错(如数据发生改变,比特翻转等)。因此,接收方在收到数据后,就要确认一下,这个数据是否是一个错误的数据。而校验和就是一个简单有效的方法。实际的校验和会根据数据的内容生成,当内容发生改变,就能够感知到出错。那么UDP的检验和具体是怎么实现的呢?其实是使用了一种简单除暴的CRC校验算法(循环冗余校验和),把UDP数据报中的每个字节都依次累加,把累加的结果,都保存到2个字节的变量中,虽然在累加的过程中会溢出,但这并不重要,因为不需要准确的结果,当所有的字节都加了一遍后,最终就得到了校验和(与检验和一个意思),传输数据时,就会把原始数据和校验和一起传输过去,接收方收到数据,同时也收到发来的校验和,接收方再根据同样的方式在算一遍,得到新的校验和,如果旧的校验和与新的校验和相同,就可以视为数据传输过程中,是正确的,如果不同,则视为传输过程中数据出错了。所以数据相同,校验和一定相同,数据不相同,校验和一定不相同。不过校验和相同,数据不一定相同,如一个字节少了一个,另一个字节多了一个,不过这个概率小,但可以忽略不计,因此UDP校验和可以检验数据在传输过程中是否出错。

相关推荐
j7~21 分钟前
【Linux网络编程】四十七.《Linux IO 模型详解:阻塞 IO、非阻塞 IO 与 IO 多路转接(select)》
linux·运维·网络·select·非阻塞io·阻塞io·i/o多路连接
猫咪宝妖22 分钟前
信息安全工程师 第四级 结构化保护级
网络·数据库·安全
2501_937860942 小时前
下篇:网络层、数据链路层与应用层:IP、NAT、ARP、DNS 一网打尽
网络·网络协议·tcp/ip
Yang96112 小时前
鼎讯信通LDMN-JM3雷达信号模拟器在电子对抗训练中的作用
网络
ITxiaobing20233 小时前
IP 定位服务怎么选:第三方认可、实测精度和合规边界不是一回事
网络·网络协议·tcp/ip
VidDown3 小时前
从视频画面里提取文字:OCR、文字检测与结构化输出
python·网络协议·ocr·音视频·视频编解码·视频
Fcy6483 小时前
Linux下 传输层协议UDP详解(含底层源码解析)
linux·运维·udp
阿钱真强道3 小时前
12 嵌入式操作系统 | UDP 服务器编程
服务器·网络协议·udp
安易算力3 小时前
智算中心网络架构选型:RDMA、InfiniBand与以太网技术深度解析
网络·架构
xiaoye-duck4 小时前
《Linux 网络编程》深入理解五种 IO 模型:从 IO 本质到非阻塞 IO 实战
linux·网络