差错检测

数据链路层在通信中负责检测比特传输错误,采用如奇偶校验和循环冗余校验CRC等差错检测方法。奇偶校验能检测奇数个误码,而CRC具有高检错能力,虽计算复杂但广泛应用。当检测到差错时,网络可能选择重传或丢弃错误帧,依赖于提供的传输服务类型。
摘要由CSDN通过智能技术生成

差错检测

  • 实际的通信链路都不是理想的,比特在传输过程中可能会产生差多,1可能变成0,0可能会变成1,这成为比特差错
  • 一段时间内,传输错误的比特占所传输比特总数的比率成为误码率BER(Bit Error Rate)
  • 使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层要解决的重要问题之一。

检错方法

  • 奇偶校验

    • 在待发送的数据后面添加一位的奇偶校验位,使整个数据(包括所添加的校验位在内)中"1"的个数为奇数(奇校验),或者偶数(偶校验)。
    • 如果有奇数个位发生误码,则奇偶性发生变化,可检查出误码;
    • 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)
  • 循环冗余校验CRC(Cyclic Redundancy Check)

    • 收发双方约定好一个生成多项式G(x)
    • 发送方基于待发送的数据和生成多项式计算出差错检测码,(冗余码),将其添加到带传输数据的后面一起传输
    • 接收方通过生成多项式来计算收到的数据是否产生了误码
    • 举例说明:

小结

  • 纠错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
  • 想要纠正传输中的错误,可以使用冗余信息交错的纠错码进行前向纠错,但是纠错码的开销比较大,在计算机网络中较少使用
  • 循环冗余校验CRC有很好的检错能力(漏检率非常低),虽然计算比较复杂,但是易于用硬件实现,因此被广泛的应用于数据链路层
  • 在计算机网络中通常采用检错重传方法来纠正传输中的差错,或者仅仅是丢弃检测到差多的帧,这取决于数据链路层向其上层提供的是可靠传输服务还是不可靠传输服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值