本文分为两部分内容:(因为侧重点不同qwq)
书接上回,上回咱们说到物理层 莫得感情,那今天咱们就来聊一聊数据链路层 的故事哈~QAQ
1. 数据链路层概述
链路 (Link)就是从一个结点到相邻结点的一段物理链路,而中间没有任何其他的交换结点。 数据链路 (Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。 数据链路层 以帧 为单位传输和处理数据。
1.1 使用点对点信道的数据链路层
三个重要问题:
1.2 使用广播信道的数据链路层
- 共享式以太网的媒体接入控制协议
CSMA/CD - 802.11局域网的媒体接入控制协议
CSMA/CA
1.3 数据链路层的互连设备
网桥和交换机 的工作原理集线器 (物理层互连设备)与交换机 的区别
2. 封装成帧
-
封装成帧 是指数据链路层给上层交付的协议数据单元添加帧头 和帧尾 ,使之成为帧 。
-
帧头 和帧尾 中包含有重要的控制信息 。
-
帧头和帧尾的作用之一就是帧定界 。
-
透明传输 是指数据链路层对上层交付的传输数据没有任何限制 ,就好像数据链路层不存在一样。
-
例如,避免接收方对帧是否结束的误判。有以下两种方法:
-
面向字节 的物理链路使用字节填充(或称字符填充) 的方法实现透明传输。
-
面向比特 的物理链路使用比特填充 的方法实现透明传输。`
-
为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些 。
-
帧的数据部分的长度应远大于帧头和帧尾的长度 ,这样才能提高帧的传输效率。因为仅从数据链路层来看,帧的数据部分才是真正要传输的数据,帧头和帧尾是为了实现数据链路层功能而额外添加的。
-
考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元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
4.1 停止-等待协议SW
-
像停止-等待协议这种通过确认和重传机制实现的可靠传输协议,被称为自动请求重传协议ARQ 。
4.2 回退N帧协议GBN
若WT超过取值范围,会出现分组重复
4.3 选择重传协议SR
5. 点对点协议PPP
5.1 概念及构成
5.2 帧格式
5.3 透明传输
5.4 差错检测
5.5 工作状态
6. 媒体接入控制
6.1 媒体接入控制的概念
6.2 静态划分信道
|