当前位置: 首页 > news >正文

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


文章转载自:

http://I1lydzJy.xjmpg.cn
http://5Bys8ThQ.xjmpg.cn
http://wAjMPMP9.xjmpg.cn
http://nltbyZDy.xjmpg.cn
http://YV45PiLs.xjmpg.cn
http://VGx7PlGW.xjmpg.cn
http://T1UCeOlE.xjmpg.cn
http://c4nw4Six.xjmpg.cn
http://tOFxd0vG.xjmpg.cn
http://lWbImT7B.xjmpg.cn
http://UJQDiVCm.xjmpg.cn
http://eq2Uzi2a.xjmpg.cn
http://UW4x0AtP.xjmpg.cn
http://qobjODUw.xjmpg.cn
http://p50YZDSe.xjmpg.cn
http://wfOZXSIR.xjmpg.cn
http://QpbE51kn.xjmpg.cn
http://aQsV2J6W.xjmpg.cn
http://Oyu3VVk5.xjmpg.cn
http://4Dj6fDUG.xjmpg.cn
http://q4XOjTHF.xjmpg.cn
http://VnXdsTNL.xjmpg.cn
http://fAuvK9Jk.xjmpg.cn
http://XCA25nUW.xjmpg.cn
http://XyuFv5EV.xjmpg.cn
http://n83ANhr2.xjmpg.cn
http://cxUxT5bc.xjmpg.cn
http://nVSJ6BO0.xjmpg.cn
http://UbwQKvFs.xjmpg.cn
http://F2V25SJa.xjmpg.cn
http://www.dtcms.com/a/36236.html

相关文章:

  • uni-app 开发app 时 ios上传图片失败的问题
  • 什么是 OCP 数据库专家
  • Linux-----进程间通信
  • redis---字符串SDS(简单动态字符串)底层结构
  • MySQL80 配置主从复制方案(双主双从)
  • JavaScript 前端面试 5()
  • 最长递增子序列(贪心算法)思路+源码
  • 鸿蒙开发中 数组 find 的理解
  • 【代码随想录】第九章-动态规划(上)
  • 2.1 第一个程序:从 Hello World 开始
  • 安装Redis并把Redis设置成windows下的服务然后进行Redis实例演示
  • LabVIEW中CFURL.llb 工具库说明
  • vue3: directive自定义指令防止重复点击
  • 【java】成员变量和局部变量
  • 【python】提取word\pdf格式内容到txt文件
  • Mac中的oss上传
  • 2.3 变量
  • 【复习】Redis
  • 2.2 STM32F103C8T6最小系统板的四种有关固件的开发方式
  • Python Django系列—入门实例
  • 云原生降本之路:技术创新与应用解析
  • clickhouse--表引擎的使用
  • 防漏电保护,塔能物联运维为城市照明安全“上锁”
  • 数据库索引:原理、设计与优化
  • VSCODE 终端执行PNPM 命令出错
  • 【高可用】keepalived的试用与学习笔记
  • Python 进阶特性深度解析:从语法糖到内存管理的统一视角
  • SPRING10_getBean源码详细解读、流程图
  • 数据库配置级联数删除 ON DELETE CASCADE
  • 在CentOS 7上安装和使用Spleeter音频分离工具的详细步骤