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

校验(网络传输)

1. 校验(Checksum)
定义:校验和是一种简单的错误检测机制,通过对数据块中的所有字节进行求和来生成一个固定大小的值。发送方计算校验和并将其附加到数据中,接收方在接收数据后重新计算校验和进行比较。
应用:常用于网络传输和文件存储中,以检测数据在传输或存储过程中是否发生了变化。

2. 奇校验(Odd Parity)
定义:奇校验是一种简单的错误检测机制。在数据传输中,发送方会计算数据中1的数量,如果1的数量是偶数,则在数据末尾添加一个校验位,使得总的1的数量变为奇数。
应用:用于检测单个比特错误。如果接收方计算出的1的数量为偶数,则说明数据在传输过程中发生了错误。

3. 偶校验(Even Parity)
定义:偶校验与奇校验相反。在数据传输中,发送方会计算数据中1的数量,如果1的数量是奇数,则在数据末尾添加一个校验位,使得总的1的数量变为偶数。
应用:同样用于检测单个比特错误。如果接收方计算出的1的数量为奇数,则说明数据在传输过程中发生了错误。

4. CRC校验(Cyclic Redundancy Check)
定义:CRC是一种更复杂的错误检测机制,通过多项式除法生成一个校验码。发送方将数据视为一个多项式,并用预定义的多项式进行除法运算,得到的余数作为CRC校验码附加到数据后面。
应用:广泛用于网络协议(如Ethernet、Wi-Fi)和存储设备(如硬盘)中,能够检测到多位错误,具有较高的错误检测能力。

5.校验和(Checksum)

(1)定义:校验和是一种通过对数据块中的所有字节进行求和来生成一个固定大小的值。这个值被称为校验和,并附加到数据中,以便接收方在接收数据后进行验证。

(2)工作原理

  1. 计算:发送方对数据块中的所有字节进行求和,通常是按字节累加,得到一个总和。

  2. 取模:为了限制校验和的大小,通常会对总和进行取模运算(例如,取256的模),得到一个固定大小的校验和。

  3. 附加:将计算出的校验和附加到数据末尾。

  4. 验证:接收方在接收数据后,重新计算校验和并与附加的校验和进行比较。如果两者相同,则数据被认为是完整的;如果不同,则说明数据在传输过程中发生了错误。

(3)应用

  • 网络协议:在TCP/IP协议中,校验和用于确保数据包在传输过程中未被损坏。
  • 文件存储:在文件传输和存储中,校验和用于验证文件的完整性,确保文件未被篡改或损坏。
  • 数据存储:在数据库和其他存储系统中,校验和用于检测数据的完整性。

二、Modbus协议


http://www.kler.cn/a/307173.html

相关文章:

  • 卸载一直显示在运行的应用
  • XML Schema 字符串数据类型
  • SQL HAVING子句
  • Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5
  • 【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
  • YOLO即插即用---PConv
  • PHP环境搭建
  • 函数模板(初阶)
  • VuePress搭建文档网站/个人博客(详细配置)之站点配置
  • 海鲜市场|基于springboot的网络海鲜市场系设计与实现(附项目源码+论文+数据库)
  • item_get京东获取商品详情SKU数据接口||关于京东商品采集接口
  • Kubernetes 网络
  • 【C++】——list
  • 103.WEB渗透测试-信息收集-FOFA语法(3)
  • k8s中的lables和matchlables的作用
  • 54. 螺旋矩阵(定义四个方向然后遍历类)
  • 腾讯云升级多个云存储解决方案 以智能化存储助力企业增长
  • Java 入门指南:JVM(Java虚拟机)—— Java 类加载器详解
  • 【QGC】把QGroundControl地面站添加到Ubuntu侧边菜单栏启动
  • ElementUI 布局——行与列的灵活运用
  • Vue3 + Echarts 实现中国地图
  • 大数据处理技术:MapReduce综合实训
  • 【SSRF漏洞】——gopherus工具伪造
  • sqli-labs靶场自动化利用工具——第10关
  • 上汽大众:存储成本节约85%,查询性能提升5倍|OceanBase案例
  • 【Multi-UAV】多无人机实现凸多边形区域覆盖--Voronoi分割