计算机网络-链路层
2025-09-05 17:33:36
数据链路层的功能概述:数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻结点的目标网络层。
其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
术语
- 主机、路由器、交换机、网桥是节点(nodes)
- 连接相邻节点的的通信信道是链路(links)
- 又可分为物理链路和数据链路
- 物理链路指的是实际的通信链路,如有线的双绞线、光线,无线的微波等。
- 数据链路指的是网络中节点之间的逻辑通道,链路上附加的软硬件实现控制传输协议。
- 数据单元(PDU):帧(frame)、
链路层提供的服务
三个基本服务:
- 封装成帧
- 差错控制
- 透明传输
这几个基本原则在不同的链路层协议中是共通的,但在不同的协议中会有不同的细节。
主要的服务类型:
- 数据成帧,帧封装、解封
- 流量控制
- 差错控制:检测和纠正
- 介质接入控制
封装成帧
帧的结构
帧:帧头+网络层数据报+帧尾
帧结构
- 接收:识别帧头帧尾用于识别接收帧数据的开始和结束。
- flag是帧开始和结束的标记,指示了帧的开始与结束。
- 发送:在发送的数据前后加上帧头和帧尾。
在具体的协议中,帧的结构会有细微的不同。
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
透明意味着,传输链路不会约束传输的数据,像不存在一样。
流量控制
- 匹配相邻节点之间的传输和接收速率
- 可以避免数据淹没
差错控制
帧结构可以分为数据(D) 和 差错检测和纠正位(EDC)。
接收方根据接收到的数据和校验位进行判断,检测到错误可以提醒发送方重传或纠正。
- 数据可以包含帧头
- EDC是引入冗余来加强数据可靠性(类似信道编码)
数据和冗余位
常见的检验算法
- 奇偶检验(1bit)
- 可增强为二维奇偶校验 - CRC(循环冗余校验)
- 检错能力强,但没有纠错能力
LLC和MAC
在OSI/RM和TCP/IP体系结构中,数据链路层就一层。而在局域网体系结构中,是可以细分为两个子层的,就是逻辑链路控制(Logical Link Control, LLC)子层和介质访问控制(Medium Access Control, MAC)。
- Mac子层:控制不同用户数据传输中对物理层传输介质的访问,包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,帧的差错控制,以及介质访问冲突控制等。
- LLC子层:LLC子层的最基本功能,就是负责数据链路层中的逻辑链路(逻辑链路就是物理层信道中的物理链路,在通过LLC协议作用后形成的虚拟电路)。包括逻辑链路的建立和释放,控制信号交换,数据流量控制,解释上层通信协议传来的命令并生产响应,以及克服数据在传输的过程当中发生的种种问题。如数据发生错误、重复收到相同的数据、接收数据顺序与传送的顺序不一致等。在LLC子层方面,IEEE 802系列中只制定了一种标准——IEEE 802.2.
媒体访问控制(MAC协议)
多路访问协议,使多个节点都能访问网络,协议负责协调和控制,也提供重传。