计算机网络学习笔记(三)基础_数据链路层

https://www.icourse163.org/course/SCUT-1002700002   

华南理工大学_袁华老师   

以下为笔记

数据链路层

概述

保证数据传输的有效和可靠    传输过程不免会发生差错

那么数据链路层就需要做差错检测和控制和流量控制   

流量控制

流量控制有两种方法       基于速率;基于反馈            一般采取基于反馈的方法

在数据链路层经常采取基于反馈的模式,

即    由接收方告诉发送方:   处理能力大小为多少 ;      发送方根据接受方的反馈提供对应流量

数据链路层处理的协议数据单元:  帧 = 帧头(定位需要的物理地址) + 载荷 + 帧尾(校验)

物理层为数据链路层提供服务     物理层: 位流(bits)      数据链路层:  帧(frame)

成帧:    将原始的位流分散到离散的帧中

常见的四种成帧方法

  1. 字符计数法
  2. 字节填充的标志字节法
  3. 比特填充的比特标记法
  4. 物理层编码违例法

字符计数法

1.发送方: 在每个帧头部中的第一个字段,标识该帧的长度共有多少字符

2.接收方: 通过第一个字段,就知道这个帧有几个字符,在哪里结束该帧

3.优点: 实现简单

4.缺点: 没有考虑重新同步问题,一旦出错,无法恢复,工程中极少使用

标志字节法

考虑了重新同步问题,每一帧采用一个特殊字节做帧界,即当前帧的开始与上一个帧的结束

计算机网络学习笔记(三)基础_数据链路层

将这个特殊字节称为标志/标记字节(flag byte)
存在问题

当传输数据中也存在标志字节时,会和真正的帧界混淆

解决方案

标记字节法       当数据中存在标记字节时,在数据的标记前添加转义字符  

案例

计算机网络学习笔记(三)基础_数据链路层

计算机网络学习笔记(三)基础_数据链路层
标记字节法的补充

特点

用于PPP协议(点对点协议)

缺点

1.数据中存在帧界或转义符时会造成帧界混淆,大量的标志字节或转义字符会造成低效率的成帧(最坏情况50%)。

2. 任意比特数的帧不适用,必须是8位整数倍

任意比特数的帧怎么解决?          改进: 比特填充的比特标记法 

比特标记法

这是一种面向二进制位的帧格式,把所有需传输的数据以比特位一字排开,并以特殊的位模式01111110作为帧标志,即一个帧的开始(这也意味着标志前一个帧的结束)

位填充法

当帧内容出现与帧标志相同位串01111110时:

在5个1后插入一个0,即变成01111101,接收方将自动删除第5 个1后的0,恢复原来的数据        这称为位填充法(零比特填充法),也称为透明传输。

当扫描过程中出现错误导致部分帧没有被正确接收:

接收方会继续扫描直到读取到下一个帧标志,开始重写转换同步数据

优点

可以传输任意比特数的帧,同时传输效率更高

物理层编码违例法

将冗余信号用作帧界

例如:    在4B/5B编码模式中,将4比特映射到5比特上,能够承载32位却只利用了16位,剩下的位就可以用作帧界

又如:    在以太网中大量使用的曼彻斯特编码中

[规定1用高电位跳变到低电位表示,0用低电位跳变到高电位表示]没有利用 高电平到高电平 和 低电平到低电平  这两个冗余的跳变没有使用 可以用作帧界

优点

 利用的是冗余信号,不会混淆,也不会填充,传输效率较高

小结

数据链路层位于物理层之上、网络层之下

数据链路层提供有效的、可靠的帧传输  

成帧方法

字符计数法

字节填充的标志字节法

比特填充的比特标记法

物理层编码违例法