参考:
- https://blog.csdn.net/smart_ferry/article/details/84952341?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
- 《王道计算机网络考研复习指导 2021年》
由NEU 2018级 软件1809班 整理和补充~
尚未更新完,可持续关注
文章目录
第三章——数据链路层
3.1 数据链路层的功能
数据链路层在物理层提供服务的基础上向网络层提供服务,起主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差别的数据链路,使之对网络层表现为一条无差错的链路。
数据链路层的功能:
- 为网络层提供服务
- 链路管理
- 帧定界、帧同步和透明传输
- 流量控制
- 差错控制
3.1.1 为网络层提供服务
-
数据链路层可以为网络层提供的服务有:
- 无确认的无连接服务,适用于实时通信或误码率较低的通信信道,如以太网
- 有确认的无连接服务,适用于误码率较高的通信信道,如无线通信
- 有确认的面向连接服务,可靠性最高,适用于通信要求(可靠性、实时性)较高的场合
- !!!有连接就一定要有确认,即不存在无确认的面向连接的服务
3.1.2 链路管理
- 数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务。
- 链路两端的节点要进行通信,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该链接。
- 在多个站点共享同一物理信道的情况下(如局域网)如何在要求通信的站点分配和管理信道也属于数据链路层管理的范畴
3.1.3 帧定界、帧同步和透明传输
- 将一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部含有很多控制信息,作用:确定帧的界限,即帧定界
- 帧同步:接收方应能从接收到的二进制比特流中区分帧的开始与终止
- 透明传输:不管所传数据是什么样的比特组合,都应当能在链路上传送
3.1.4 流量控制
- 流量控制:限制发送方的数据流量,使其发送速率不致超过接收方的接收能力(由滑动窗口提供反馈机制)
- 对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是源端到目的端之间的流量
3.1.5 差错控制
-
由于信道噪声等各种原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方是否正确收到由其发送的数据的方法称为差错控制。
-
数据链路层中传输数据出现的错误分为位错和帧错(一个帧包含多个位)
- 位错指帧中的某些位出现了差错。
- 通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(ARQ)方式重传出错的帧
- 帧错指帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,保证每一帧最终都能有且仅有一次正确地交付给目的节点
- 位错指帧中的某些位出现了差错。
3.2 组帧
-
数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而
提高效率。 -
组帧主要解决帧定界、帧同步、透明传输等问题
-
组帧时既要加首部也要加尾部