数据链路层(3)差错检测

差错检测

比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错: 1可能会变成0,而0也可能变成1

误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate).

使用差错检测码检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一

  • 检查帧在传输过程中是否产生了误码,通过长度为两字节的帧检测序列FCS字段

    image-20211017124007700

奇偶校验

  • 在待发送的数据后面添加1位奇偶校验位使整个数据(包括所添加的校验位在内)中"1”的个数为奇数(奇校验)或偶数(偶校验)。

  • 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;

  • 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检) ;

    • 采用奇校验,着比特1的数量的奇性改变,可以检查出错误。

      待发送的数据为:101101,假没收发双方约定采用奇校验,在数据后面添加的校验位应该为比特1,使得比特1的总数为奇数。数据变为:1011011

      假设传输过程中产生了1位误码,我们用红色表示:0011011

      接收方对收到的比特流进行奇校验,发现此特1的总数为偶数而不是奇数,就知道传输过程中发生了误码。

    • 采用奇校验,若比特1的数量的奇性不改变。是无法检查出错误的。

      如果传输过程中产生了2位误码,接收方对收到的比特流进行奇校验,发现比特1的总数为奇数,就误认为传输过程中没有发生误码。

    • 采用偶校验,如果比特1的数量的偶性改变,可以检查出错误。

      假设接收发双方约定采用偶校验,那么。在数据后面添加的校验位应该为比特0,使得比特1的总数为偶数:1011010

      如果传输过程中产生了一位误码…可以知道传输过程中发生了误码。

    • 采用偶校验,若比特1的数量的偶性不改变,是无法检查出错误的。

      如果传输过程中产生了两位误码…误认为传输过程中没有发生误码。

由于奇偶校验的漏检率比较高,因此计算机网络的数据链路层一般不会采用这种检测方法。

循环冗余校验CRC

循环冗余校验CRC(Cyclic Redundancy Check):是一种具有很强检錯能力的检错方法,漏检率极低

步骤:

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

发送方的处理:

  • 使用哪除法中来计算冗余码;

  • 待发送的数据作为被除数的一部分,后面添加生成多项或最高次个0以构成被除数;

  • 生成多项武各项系数构成的比特串作为除数;

  • 进行除法,得到商和余数。余数就是航计算出的冗余码,将其添加到待发送数据的后面一起发送。

    • 冗余码的长度与生成多项武最高次数相同,而商液作为标记。防止计算过程中对错位。

image-20211017130337159

接收方的处理

  • 做除法
  • 被除数就是接收到的数据,除数仍是生成多项武各项系数构成的比特串。
  • 进行除法,得到商和余数。
  • 如果余数0,可判定传输过程没有产生误码;否则,可判定传输过程产生了误码。

image-20211017130538718

image-20211017131018881

image-20211017131654238

image-20211017131842348

总结

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

?abc!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值