计算机网络之差错控制
数据链路层的差错控制(纠错编码)
注意链路层的编码和物理层的编码是不一样的。
编码VS编码
数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。
冗余编码
在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
例如我要给你一串骨肉相连,为了防止运输过程中被人偷吃,我可以添加一块冗余肉,当你收到的时候检查肉的个数是奇数还是偶数,这样就可以知道过程中是否出现差错。
检错编码——奇偶校验码
奇偶校验码的特点:
只能检查出奇数个比特的错误,检错能力为50%