计算机网络——数据链路层(循环冗余检验)
Posted 江州益彤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络——数据链路层(循环冗余检验)相关的知识,希望对你有一定的参考价值。
一、循环冗余检验
1.1、循环冗余检验的目的
数据传输过程中可能会产生比特差错:1 可能会变成 0 ,而 0 也可能变成 1。
所以,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
1.2、循环冗余检验的原理
数据链路层以太网传送的帧中,使用了循环冗余检验 CRC的检错技术。
1.2.1、CRC的检错技术:
在发送端,把待传数据划分为相同大小的组,假定传送的一组数据为𝑀,𝑀是 k 个比特。
用二进制的模 2 运算进行 2n 乘 M 的运算,相当于在 M 后面添加 n 个 0。
得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
将余数 R 作为冗余码拼接在数据 M 后面发送出去。
1.3、冗余码的计算
帧检验序列FCS
在数据后面添加上的冗余码称为帧检验序列FCS (Frame Cℎeck Sequence)。
循环冗余检验 CRC 和帧检验序列 FCS 并不等同。
CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
以太网使用的多项式除数是CRC-32. 得到32位冗余码。
以上是关于计算机网络——数据链路层(循环冗余检验)的主要内容,如果未能解决你的问题,请参考以下文章