数据链路层的问题之一——差错检测

第一部分 差错、 差错检测(比特错)

概括来说,传输中的差错都是由噪声引起的。

一、原因:

1、全局性

由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。

解决办法:提高信噪比来减少或避免干扰。(对传感器下手)

2、局部性

外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。

解决办法:通常利用编码技术来解决。

二、差错

1、位错:比特位出错,1变成0,变成1。

2、帧错(如:[#1]-[#2]-[#3])

丢失(收到[#1]-[#3])

重复(收到[#1]-[#2]-[#2]-[#3])

失序(收到[#1]-[#3]-[#2])

3、链路层为网络层提供服务

a、无确认无连接服务

通信质量好的有线传输链路

b、有确认无连接服务

c、有确认面向连接服务

第二部分 差错检测(检错编码)

一、奇偶校验码(n-1位信息元,1位校验元)

1、奇校验码

“1”的个数为奇数

2、偶校验码

“1”的个数为偶数

二、循环冗余码CRC

1、例子

发送端:

5(要传的数据)/2(生成多项式)=2......1(FCS帧检验序列/冗余码)

最终发送数据=要传的数据+冗余码5(要传的数据)/2(生成多项式)=2......1(FCS帧检验序列/冗余码)

接收端:

6(接收的数据)/2(生成多项式,同上的)=3......0

余数为0,判定这个帧无错,就接受;反之,判定这个帧有差错(无法确定到位),就丢弃。

2、计算冗余码

a、加0:假设生成多项式G(x)的阶为r,则加r个0;

例如:10011表示成多项式为X4+X1+X0=X4+X1+1,阶为4。(多项式N位,阶为N-1位)

b、模2除法:数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。

异或:同0异1

3、能够实现无比特差错的传输,但这还不是可靠传输。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文内容 从本节开始介绍数据链路层的内容,数据链路层属于计算机网络的低层,需要对其上层网络层提供服务。本文主要介绍...
    HRADPX阅读 4,798评论 1 6
  • 差错从何而来? 概括来说,传输中的差错都是由于噪声引起的。 全局性. 由于线路本身电气特性所产生的随机噪声(热噪声...
    coderge阅读 834评论 0 0
  • 三、数据链路层 3.1 数据链路层功能 数据链路层在物理层的基础上向网络层提供服务,主要作用是加强物理层传输原始比...
    Kreat阅读 876评论 0 0
  • 相关概念 节点:主机,路由器 链路:节点之间的物理通道,双绞线,光纤,微波; 数据链路:节点之间的逻辑通道,数据传...
    leap_阅读 724评论 1 1
  • 数据链路层和局域网 数据链路层:负责通过一条链路,从一个结点向另一个物理链路直接相连的相邻结点,传送网络层数据报,...
    陈_MY阅读 1,135评论 0 0