第3章 数据链路层

3.1数据链路层的功能概述

数据链路层在物理层提供服务的基础上向网络层提供服务,主要作用是为网络层提供逻辑上无差错的数据链路

功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务

功能二:链路管理,即连接的建立,维持和释放(用于面向连接的服务)。

功能三:组帧

功能四:流量控制

功能五:差错控制

3.2 组帧

封装成帧
在这里插入图片描述
透明传输:
就是不管什么样的比特组合,都可以在链路上传送,链路层就当看不见信件里面的内容一样

透明传输在组帧中的应用:

1.字符计数法:

第一个数字代表要几个字节
在这里插入图片描述
缺点:当第一个字节代表的数值出错时,即5变为4,整个帧都会读取错误

2.字符填充法

发送时有开始标识符SOH和结束标识符EOT,接收中间的字符,而当中间的字符有与EOT类似的字符时,在这个字符(EOT)前填充一个Esc,然后接收方在接收时就划去Esc,得到信息
在这里插入图片描述

3.零比特填充法

在这里插入图片描述

4.违规编码法

在这里插入图片描述

3.3差错控制

差错从何而来:

  1. 线路的电器特性产生的随机噪声(例如热噪声)
  2. 外界短暂原因产生的冲击噪声(主要原因)

差错可能的形式:

位错:比特位出错,1变0,0变1

要传送1,2,3三个帧

帧错:丢失(1,3),重复(1,2,2,3),失序(1,3,2)

3.3.1 检错编码(针对比特错)

奇偶校验码

是由n-1位信息元和1位校验元组成,如果是奇校验,在附上一个校验元后,1的个数为奇数个

偶校验同理

这种方法,奇校验只能校验奇数位出错的情况,偶校验只能校验偶数位出错的情况

循环冗余码CRC

在这里插入图片描述
凡事接收端数据链路层接收到的帧均无差错

CRC只能实现无比特差错的传输,这还不是可靠传输

3.3.2纠错编码

海明码

发现双比特错,纠正单比特错

猜你喜欢

转载自blog.csdn.net/be_stronger/article/details/114040981