网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

错误检测码 – 校验和

更新时间:2026年03月27日   作者:spoto   标签(Tag):

校验和是一种由上层协议所使用的错误检测方法。与纵向冗余校验、垂直冗余校验以及循环冗余校验相比,校验和被认为更为可靠。

  • 该方法在发送端使用了校验和生成器。
  • 校验和检查器是在接收端使用的工具。
  • 校验和是一种从数据中生成的唯一数字,用于验证数据的完整性。
  • 如果这两个校验和一致,那么数据很可能是无错误的。

校验和是如何工作的呢?

校验和的计算方式是将所有数据段通过1的补码方式进行相加。接着,将得到的结果取反后,再将其添加到数据中。最后,在接收端进行验证,即检查最终得到的数值(包括校验和)是否为零。

发送方:

  • 数据划分这些数据被划分为大小相等的子单元。n位(通常为16位)。
  • 使用1的补数进行加法运算所有的子单元都通过1的补码算术方式相加在一起。如果最高位产生进位,那么进位会被绕回到最低位,然后再与最低位相加。
  • 校验和计算最终得到的数值会进行补码运算。这个结果被称为……校验和.
  • 传输原始数据以及校验和会被作为一个整体单元传输给接收方。

接收端:

  • 接收数据和校验和接收方会收到原始数据以及校验和的组合体。
  • 数据划分接收到的数据块被划分为若干个n位大小的子单元,这一过程与发送端的处理方式相同。
  • 使用1的补数进行加法运算所有子单元,包括校验和,都通过1的补码加法方式相加在一起,同时还会进行循环进位处理。
  • 最终补充与验证该求和的结果会被补充完善。如果最终结果为全零,那么这些数据就被认为是无误的。
  • 错误检测如果结果不为零,那就意味着在传输过程中出现了错误,接收方会拒绝接受这些数据。

导致校验和数值不一致的因素

每当校验和的值不匹配时,似乎在数据传输过程中出现了一些干扰。下面列出了几种可能导致这种干扰的因素:

  • 网络连接的中断可能会导致校验和数值出现不一致的情况。
  • 存储空间或硬盘驱动器出现问题时,也可能导致校验和出现问题。
  • 损坏的磁盘和文件可能会导致校验和错误。
  • 如果第三方在数据传输过程中进行推断,那么也可能导致校验和的产生。

示例1 –如果需要传输的数据单元为 10101001 00111001,那么在发送方和接收方都需要遵循以下步骤来进行数据传输。

发送方网站:

10101001        子单元1  00111001        子单元2  11100010        总和(使用1的补码表示)00011101校验和(求和的补数)

传输给接收方的数据为:

校验和 – 示例

接收站点:

10101001        子单元1  00111001        子单元2  00011101        校验和  11111111         总和00000000和补数结果为零,这意味着没有错误。

示例2 –如果随校验和一起传输的数据为 10101001 00111001 00011101,那么到达目的地的数据则可能是…0010100110111001 00011101.
接收站点:

00101001             1st第1个子单元有点损坏了。10111001              1st第2个子单元有损坏。  00011101            校验和  11111111                总和  00000000         正常,1的补码形式

虽然数据已经损坏了,但错误并未被检测到。因为数据1和数据2的变化相互抵消,所以最终的总数值保持不变。这就是简单校验和方法的局限性——它无法检测所有类型的错误,尤其是当多个错误相互抵消时。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料