3.1 数据链路层的功能
数据链路层的主要任务
Q: 数据链路层的主要任务是什么?
A: 数据链路层的主要任务是将数据封装成帧,并实现帧在一段链路上或一个网络中进行可靠传输。
数据链路层使用的信道类型
Q: 数据链路层使用哪两种主要的信道?
A: 1. 点对点信道: 一对一的通信方式,例如 PPP 协议。
2. 广播信道: 一对多的通信方式,例如 CSMA/CD 协议(有线局域网)和 CSMA/CA 协议(无线局域网)。
3.1.1 数据链路层所处的地位
Q: 在网络分层模型中,数据链路层处于什么位置?
A: 数据链路层位于物理层之上,网络层之下。它负责将数据封装成帧,并在相邻节点之间进行传输。
3.1.2 为网络层提供服务
Q: 数据链路层通常为网络层提供哪三种服务?
A: 1. 无确认的无连接服务: 不需要建立连接,也不需要确认,例如以太网。
2. 有确认的无连接服务: 不需要建立连接,但需要确认,例如无线通信。
3. 有确认的面向连接服务: 需要建立连接,并对每个帧进行确认,适用于可靠性要求高的场合。
3.1.3 链路管理
Q: 什么是链路管理?
A: 链路管理是指在面向连接的服务中,建立、维持和释放数据链路层连接的过程。
3.1.4 封装成帧与透明传输
Q: 什么是封装成帧?
A: 封装成帧是指在数据前后添加首部和尾部,构成帧,用于数据链路层的数据传输。

Q: 什么是透明传输?
A: 透明传输是指数据链路层能够传输任何比特组合的数据,即使数据中包含与帧定界符相同的比特组合。

Q: 帧的组成部分有哪些?
A: 帧由首部、数据部分和尾部组成。

Q: 帧头和帧尾的作用是什么?
A: 帧头和帧尾包含重要的控制信息,用于帧定界、寻址、差错检测等。

Q: 帧定界的作用是什么?
A: 帧定界用于确定帧的起始和终止位置,以便接收方能够正确识别帧。

Q: 为什么需要透明传输?
A: 当帧的数据载荷字段中出现了与帧首部或尾部相同的字段时,如果不采取透明传输,接收方会出现帧定界错误。

Q: 实现透明传输的方式有哪些?
A: 
- 字节填充(面向字节的物理链路): 在帧定界符前面插入转义字符。
- 比特填充(面相比特的物理链路): 在连续的 5 个 1 后面添加 0。
Q: HDLC 协议如何进行帧定界(比特填充法)?
A: HDLC 协议使用标识位 F(01111110)来标识帧的开始和结束。
Q: 什么是帧同步?
A: 帧同步是指接收方能够从接收到的比特流中准确识别出帧的起始和终止位置。

Q: 帧长是如何计算的?
A: 帧长 = 帧首部长度 + 数据部分长度 + 帧尾部长度。

3.1.5 流量控制
Q: 什么是流量控制?
A: 流量控制是指限制发送方的发送速率,以防止接收方因接收能力不足而导致数据丢失。
Q: 数据链路层和传输层的流量控制有什么区别?
A: 数据链路层: 控制相邻节点之间的数据链路上的流量。
传输层: 控制从源端到目的端之间的流量。
3.1.6 差错检测
Q: 数据链路层传输中,差错分为哪两种类型?
A: 位错: 指的是单个比特发生错误,即 1 变成 0 或 0 变成 1。
帧错: 指的是帧级别发生的错误,例如帧丢失、帧重复、帧失序等。
Q: 数据链路层有哪两种错误,如何进行差错检测?
A: 位错: 使用循环冗余检验(CRC)检测。
帧错: 使用帧编号、确认和重传机制检测和处理。
Q: 有线链路和无线链路在差错处理方面有什么区别?
A: 有线链路: 通常只进行 CRC 检错,不进行重传。
无线链路: 通常使用确认和重传机制,保证数据可靠传输。
结点: 指的是网络中的主机和路由器。
链路: 指的是网络中两个结点之间的物理通道,例如双绞线、光纤、微波等。
数据链路: 指的是网络中两个结点之间的逻辑通道,它是在链路的基础上增加了控制数据传输协议的硬件和软件。
帧: 指的是数据链路层的协议数据单元,它封装了网络层数据报,并添加了用于差错检测、流量控制等功能的控制信息。
Q: 数据链路层的主要功能是什么?
A: 数据链路层的主要功能是:
- 为网络层提供服务: 包括无确认无连接服务、有确认无连接服务、有确认面向连接服务三种。
- 链路管理: 负责面向连接服务中连接的建立、维持和释放。
- 组帧: 将网络层数据报封装成帧,添加首部和尾部。
- 流量控制: 控制发送方的发送速率,防止接收方缓存溢出。
- 差错控制: 检测和处理传输过程中出现的帧错和位错。
Q: 数据链路层提供的三种服务分别适用于哪些场景?
A: 无确认无连接服务: 适用于误码率较低的信道,例如以太网。
有确认无连接服务: 适用于误码率较高的信道,例如无线通信。
有确认面向连接服务: 适用于可靠性要求较高的场合。
Q: 数据链路层的无确认的无连接服务有什么特点?
A: 不需要建立连接: 源主机可以直接发送帧,无需事先与目的主机建立连接。
不需要确认: 目的主机收到帧后,无需向源主机发送确认信号。
可靠性由高层负责: 数据链路层不负责保证数据的可靠传输,由上层协议负责。
Q: 数据链路层的有确认的无连接服务有什么特点?
A: 不需要建立连接: 源主机可以直接发送帧,无需事先与目的主机建立连接。
需要确认: 目的主机收到帧后,必须向源主机发送确认信号。
重传机制: 如果源主机在规定的时间内没有收到确认信号,就会重传丢失的帧。
Q: 数据链路层的有确认的面向连接服务有什么特点?
A: 需要建立连接: 源主机和目的主机需要先建立连接,才能进行数据传输。
需要确认: 目的主机收到帧后,必须向源主机发送确认信号。
连接释放: 数据传输完成后,需要释放连接。
Q: 有连接和确认之间的关系是什么?
A: 有连接就一定要有确认,即不存在无确认的面向连接的服务。
Q: 数据链路层的流量控制的作用是什么?
A: 流量控制的作用是防止发送方发送数据过快,导致接收方缓存溢出,从而造成数据丢失。
数据链路层是网络分层模型中的重要一层,它负责将数据封装成帧,并在相邻节点之间进行可靠传输,为网络层提供无差错的数据传输服务。