数据链路层
在数据链路层检测数据传输错误的方法-~般是通过对差错编码进行校验来实现,常见的校验方法有奇偶校验码(Parity Check Code,
PCC)、循环冗余校验(Cyclic Redundancy Check, CRC)两种。它们都统称为检错码(error- detecting
code)。
奇偶校验PPC:
是一种有效检测单个错误的方法。奇偶校验基于被传输的一组数据二进制中1的个数的奇偶进行判断。二进制中第一位(最低位)作为标志位。
奇偶校验是预先规定好的。先看原数据的二进制中1的个数,为了满足预先设定的奇偶将标志位设置为0或1.
例子:
发送数据部分;0000111
假设为奇校验,原数据部分3个1,所以标志位只需要补0维持全部数据奇数个1.
如果是偶校验,则标志位为1,维持数据偶数个1.
缺陷:
奇偶校验只能检测数据中一位错误,当数据中发生偶数位错误检测不出来。
比如上述例子:00001110满足奇校验。但是如果数据放生2位错误,比如数据位有两位放生变化。比如两个都1→0,0→1或者一个1→0,一个0→1。这些都是不能被检测到的。
另外,奇偶校验不能定位错误位置。
奇偶检验适用于误码率较低的环境。如局域网,如磁盘的数据存储。
循环冗余校验(CRC)
是一种根据传输或保存的数据而产生固定位数校验码的方法,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到