计算机网络-第4章 数据链路层
作者:互联网
本文分为两部分内容:(侧重点不同)
-
考研篇
-
期末篇(如有需要,请点击跳转)
书接上回,上回咱们说到物理层
莫得感情,那今天咱们就来聊一聊数据链路层
的故事哈~QAQ
1. 数据链路层概述
链路
(Link)就是从一个结点到相邻结点的一段物理链路,而中间没有任何其他的交换结点。
数据链路
(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层
以帧
为单位传输和处理数据。
1.1 使用点对点信道的数据链路层
三个重要问题:
封装成帧
差错检测
可靠传输
1.2 使用广播信道的数据链路层
- 共享式以太网的媒体接入控制协议
CSMA/CD
- 802.11局域网的媒体接入控制协议
CSMA/CA
1.3 数据链路层的互连设备
网桥和交换机
的工作原理集线器
(物理层互连设备)与交换机
的区别
2. 封装成帧
-
封装成帧
是指数据链路层给上层交付的协议数据单元添加帧头
和帧尾
,使之成为帧
。
-
帧头
和帧尾
中包含有重要的控制信息
。 -
帧头和帧尾的作用之一就是
帧定界
。
-
-
透明传输
是指数据链路层对上层交付的传输数据没有任何限制
,就好像数据链路层不存在一样。-
例如,避免接收方对帧是否结束的误判。有以下两种方法:
-
面向
字节
的物理链路使用字节填充(或称字符填充)
的方法实现透明传输。例如,PPP帧
-
面向
比特
的物理链路使用比特填充
的方法实现透明传输。例如,以太网V2的MAC帧
-
-
为了提高帧的传输效率,应当使
帧的数据部分的长度尽可能大些
。-
帧的
数据部分的长度应远大于帧头和帧尾的长度
,这样才能提高帧的传输效率。因为仅从数据链路层来看,帧的数据部分才是真正要传输的数据,帧头和帧尾是为了实现数据链路层功能而额外添加的。 -
考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即
最大传送单元MTU
。
-
2.1 字节(字符)填充法
在发送帧之前,对帧的数据部分进行扫描,每出现一个帧定界符(这里用flag
表示了)或一个转义字符,就在其前面插入一个转义字符。
转义字符,是一种特殊的控制字符,其长度为1个字节,十进制值为27。上图用ESC
来表示转义字符。
2.2 零比特填充法
在发送帧之前,对帧的数据部分进行扫描,每5个连续的比特1后面就插入1个比特0,这样就确保了帧定界在整个帧中的唯一性。
3. 差错检测
实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这称为
比特差错
。或称为误码
。
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER
。
使用差错检测码
来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的问题之一。
如图,其帧尾中包含了一个长度为4字节的帧检验序列FCS
字段,作用是让接收方的数据链路层检查,帧在传输过程中是否产生了误码。
3.1 奇偶校验
在待发送的数据后面
添加1位奇偶校验位
,使整个数据(包括所添加的校验位在内)"1"的个数
为奇数(奇校验)或偶数(偶校验)。
如果有奇数个位发生误码
,则奇偶性发生变化,可以检查出误码
。
如果有偶数个位发生误码
,则奇偶性不发生变化,即每个误码对奇偶性的影响抵消了,不能检查出误码
(漏检
)。
由于这种方法的漏检率较高,所以在计算机网络中一般不采用奇偶校验
。
3.2 循环冗余校验CRC
这是一种具有很强检错能力的检错方法,漏检率极低。
4. 可靠传输
可靠传输
实现机制:
-
停止-等待协议SW
-
回退N帧协议GBN
-
选择重传协议SR
5. 可靠传输——停止-等待协议SW
-
像停止-等待协议这种通过确认和重传机制实现的可靠传输协议,被称为
自动请求重传协议ARQ
。
6. 回退N帧协议GBN
若WT超过取值范围,会出现分组重复
标签:比特,误码,计算机网络,传输,链路,数据,链路层 来源: https://blog.csdn.net/asacmxjc/article/details/121450748