网络原理--UDP的特点

总的来说:1.无连接,2.面向数据报,3.全双工,4.有接受缓存,无发送缓存。5.不可靠传输。

一、UDP报文的格式

UDP报头中一共有四个字段,每个字段2个字节,一共8个字节。

因为每个字段2个字节,所以数据报长度为0~65535,即64KB(包含8个字节的头部)。

二、UDP对数据的校验

UDP中,校验和使用简单的CRC算法(循环冗余校验)。

UDP数据的发送方在发送数据前,会先计算一遍CRC,并把计算好的CRC值放入到UDP数据报中。

而接收端在接受到数据后,也会按照相同的算法计算一遍CRC,然后与发送方的CRC进行比较。

但是这种算法只适用于少数比特翻转的情况,如果有多个比特同时翻转,可能会产生和之前一样的CRC。(CRC的计算公式较简单)

三、其他校验算法

除了CRC,还有一些更高精度的算法,例如:md5算法和sha1算法。

这些算法的计算公式更复杂。

以下介绍md5算法的特点:

1.定长。无论原始数据多长,算出来的md5的最终值都是固定长度。常见的md5有16位版本(2字节),32位版本(4字节),64位版本(8字节)。

2.分散。计算md5的过程中,原始数据只要有一点点的变化,计算出的md5值差异也会很大。这个特性也决定了md5可以作为一个字符串hash算法(hash表对hash冲突要求是很严的,md5的分散特性保证了key与value的一一对应)。

3.不可逆。从一个源字符串得到一个md5可以,但是从一个md5值来还原为源字符串理论上是无法完成的。

相关推荐
蓝祁子yoky31 分钟前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
箓维1 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
小羊没烦恼!1 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈2 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
国科安芯2 小时前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
静以修身zzz2 小时前
计算云服务
运维·网络·云计算
星恒随风2 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
万联WANFLOW2 小时前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
jimmyleeee2 小时前
Agent安全之六:(ASI06)记忆与上下文投毒——当 AI 把“昨天的错误”当成“今天的真理”
网络·人工智能·安全
辰辰观影3 小时前
字幕导入教程:外挂字幕一键加载方法
网络·经验分享