东北大学软件学院计算机网络专业课-第二章(2.2 error detection, correction)

一、定义

        1.什么是差错检测

        差错检测(Error Detection): 差错检测是指在数据传输过程中,通过特定的算法检查数据是否在传输过程中发生错误的过程。差错检测通常是通过在数据后面添加额外的检验信息(如校验和或循环冗余校验CRC码)来实现的。接收方接收到数据后,会重新计算这些校验信息,并与接收到的校验信息进行比较。如果两者不一致,则说明在传输过程中可能发生了错误。

        2.什么是差错纠正(虽说这节标题里有纠正,但似乎没有具体讲)

        差错纠正(Error Correction): 差错纠正则是在差错检测的基础上,接收方不仅能检测到错误,还能够确定错误的具体位置,并自动修复这些错误,从而恢复原始数据的过程。常见的差错纠正技术包括海明码(Hamming Code)和低密度奇偶校验码(LDPC)等。(纠正这部分其实是考研考点,但是课上没讲,说明期末考试中没有这个,所以不展开讲)

        3.不想读上面的文字就看这句话

        用人话说就是差错检测与纠正都是在正常的数据(D)后面加上一段额外的信息(EDC),然后根据数据与额外信息的关系来算出数据错没错,错了怎么改。

二、差错检测

        1.例子

        接下来只讲差错检测,当你收到一个快递时,你首先会进行视觉检查,看看包装是否有明显的破损的痕迹。如果包装有破损,这可能表明在运输过程中发生了某种差错,导致包装受损,进而可能影响到里面的物品。其次,你会看到发件人与收件人的信息,你也会核对是不是正确的。

         事实上,快递盒和快递单上的信息都属于校验信息,用于进行差错检测。但是这样检测也不能100%看出快递里的东西有没有损坏,数据也是这样,差错检测只能检测出大部分的差错,存在局限性。

        2.差错检测的方式

        接下来就是讲有哪几种检错方式,第一种奇偶校验(Parity Checking),第二种校验和(Internet checksum),第三种循环冗余检测(Cyclic Redundancy Check)。 首先我们要知道在网络中传输的数据都是由一串01组成的数字串,就像这样:0101010000。然后就可以开始讲解这三种方式了。

        3.循环冗余检测(CRC)

        已知:

数据(被除数):101001101

生成多项式(除数):110101

        求出:

余数(冗余码):01110

        步骤:

        1)生成多项式比如说是x5+x4+x2+1,可以写成x5+x4+0x3+x2+0x+x0,得到除数为110101,也就是说几次项的系数不为零,那么第几个数就为1。得到最高项次数r=5。

        2)对被除数进行补位,在末尾补r个0。

        3)进行类似除法的异或操作,如101000XOR110101=1mod11101,再下移一位,直到余数的位数等于r。

        4)得到余数加到原数据末尾,形成完整的数据。

        5)接收方将完整数据与除数相除,得到的余数为0则证明数据正确。

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 01:32:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 01:32:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 01:32:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 01:32:01       20 阅读

热门阅读

  1. 24计算机考研调剂 | 赣南师范大学

    2024-04-01 01:32:01       20 阅读
  2. docker、docker-compose安装

    2024-04-01 01:32:01       18 阅读
  3. KaTex 常用公式编辑

    2024-04-01 01:32:01       16 阅读
  4. synchronized的使用方式

    2024-04-01 01:32:01       15 阅读
  5. 单台服务器(非集群节点)向Hadoop集群传输数据

    2024-04-01 01:32:01       16 阅读
  6. C++计算资本市场收益及成本分配数学方程

    2024-04-01 01:32:01       15 阅读
  7. nginx配置

    2024-04-01 01:32:01       15 阅读
  8. nginx如何清理页面缓存

    2024-04-01 01:32:01       14 阅读