网络原理--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值来还原为源字符串理论上是无法完成的。

相关推荐
lifeng43211 小时前
2、 网络安全基础 -- 传输层详解 -- DDos攻击
网络·安全·web安全
Y.O.U..1 小时前
Kubernetes-网络策略
网络·容器·kubernetes
Knight_AL1 小时前
WebRTC / HLS / HTTP-FLV 的本质区别与选型指南
网络协议·http·webrtc
毅炼2 小时前
Netty 常见问题总结
java·网络·数据结构·算法·哈希算法
Whisper_Sy2 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 周报告实现
开发语言·javascript·网络·flutter·php
源力祁老师3 小时前
Odoo日志系统核心组件_logger
网络·数据库·php
郝学胜-神的一滴3 小时前
深入理解Linux套接字(Socket)编程:从原理到实践
linux·服务器·开发语言·网络·c++·程序人生·算法
程序猿编码3 小时前
高性能HTTP服务压测工具:设计思路与实现原理(C/C++代码实现)
c语言·网络·c++·网络协议·tcp/ip·http
迎仔3 小时前
网络硬件设备通俗指南:从“大喇叭”到“算力工厂”
网络·智能路由器
LaoZhangGong1233 小时前
学习TCP/IP的第4步:重点掌握TCP序列号和确认号
网络·学习·tcp/ip·以太网