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

网络原理--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://www.kler.cn/a/565075.html

相关文章:

  • USBCANFD接口卡介绍
  • Python在实际工作中的运用-合并XLSX表格的新方法
  • vue3中ref和reactive响应式数据、ref模板引用(组合式和选项式区别)、组件ref的使用
  • 自动化问题汇总
  • XSS-labs靶场通关
  • Ollama下载安装+本地部署DeepSeek+UI可视化+搭建个人知识库——详解!(Windows版本)
  • MySQL分库分表之带来查询相关问题
  • springboot413-基于Java高校科技创新项目评审系统的设计与实现(源码+数据库+纯前后端分离+部署讲解等)
  • 如何防止 Docker 注入了恶意脚本
  • Android14窗口管理自适应投屏分辨率
  • 【论文笔记】ClipSAM: CLIP and SAM collaboration for zero-shot anomaly segmentation
  • Python学习第十八天之深度学习之Tensorboard
  • 《deepseek FlashMLA :高效的 MLA 解码内核》:此文为AI自动翻译
  • STM32G473VET6 在 Keil MDK 下手动移植 FreeRTOS 指南
  • ROS的action通信——实现阶乘运算(二)
  • 【Java项目】基于Spring Boot的校园闲置物品交易网站
  • 架构师论文《论湖仓一体架构及其应用》
  • 类和对象——const修饰的类的对象和函数
  • DavGo简单部署WebDAV服务
  • 【Deepseek学习大模型】Roofline计算规则