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

校验(网络传输)

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协议

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别
  • (k8s)Kubernetes本地存储接入
  • PostgreSQL LSN 详解及转换工具
  • [linux 驱动]misc设备驱动详解与实战
  • 【Bean】BeanPostProcessor的前置方法和后置方法的作用和使用
  • clip论文阅读(Learning Transferable Visual Models From Natural Language Supervision)
  • 探索Go语言中的随机数生成、矩阵运算与数独验证
  • 代理IP池纯净度对数据抓取有影响吗?
  • flink on k8s
  • Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题
  • MongoDB高可用和分片集群知识
  • 【C++】标准库IO查漏补缺
  • CORS漏洞及其防御措施:保护Web应用免受攻击
  • 看Threejs好玩示例,学习创新与技术(三)
  • `character_set_server` 和 `collation_server`
  • ES6指北【2】—— 箭头函数
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 2017-09-12 前端日报
  • Android交互
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Electron入门介绍
  • EOS是什么
  • ES6系统学习----从Apollo Client看解构赋值
  • git 常用命令
  • Java比较器对数组,集合排序
  • js对象的深浅拷贝
  • LeetCode算法系列_0891_子序列宽度之和
  • overflow: hidden IE7无效
  • PAT A1050
  • Vue2.0 实现互斥
  • 从零开始的无人驾驶 1
  • 将 Measurements 和 Units 应用到物理学
  • 浏览器缓存机制分析
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 达梦数据库知识点
  • ###C语言程序设计-----C语言学习(3)#
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #大学#套接字
  • (33)STM32——485实验笔记
  • (55)MOS管专题--->(10)MOS管的封装
  • (C语言)球球大作战
  • (C语言)字符分类函数
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (九)信息融合方式简介
  • (四)库存超卖案例实战——优化redis分布式锁
  • (五)MySQL的备份及恢复
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...