• 数据链路层是 OSI(开放系统互连)网络架构模型中从底部起的第二层。它负责数据的节点到节点传输。
  • 数据链路层有两个子层:逻辑链路控制(LLC)和媒体访问控制(MAC)。
  • 数据链路层有六大功能,包括成帧、寻址、错误控制、流量控制和访问控制。

数据链路层(或第 2 层)是计算机七层 OSI 网络模型中的第二层。该层是协议层,负责在广域网(WAN)中相邻网络节点之间或同一局域网(LAN)段内节点之间的数据传输。数据链路层提供了在网络实体间传输数据的功能和程序手段,并可能提供检测和纠正物理层可能发生的错误的手段。

什么是数据链路层?

数据链路层是 OSI 分层模型中的第二层。由于其复杂的功能和责任,这一层是最复杂的层之一。数据链路层向上层呈现为通信介质,同时隐藏底层硬件的具体细节。

数据链路层负责同一 LAN 上设备之间的帧的本地传输。这些协议数据单元被称为数据链路帧,它们不会离开本地网络的范围。数据链路协议可以专注于本地传输、寻址和媒体仲裁,因为网络间路由和全局寻址是更高层的功能。从这个意义上讲,数据链路层类似于本地交通警察;它试图调解争夺介质访问权的各方之间的争议,而不论其最终目的地。当多个设备同时尝试使用同一介质时,会发生帧冲突。设备检测、恢复以及可能的缓解或预防机制都在数据链路协议中加以规定。

数据链路层将数据流逐位转换为信号,并发送到底层硬件。数据链路层从硬件接收电信号,将其组装成可识别的帧格式,并将数据传递到上层。

数据链路层有两个子层:逻辑链路控制(LLC)和媒体访问控制(MAC)。前者处理协议、流量控制和错误控制,而后者处理实际的媒体控制。

以太网是局域网(多节点网络)的数据链路协议示例,而 ADCCP、HDLC 和 PPP 是点对点(双节点)连接的示例。互联网协议套件(TCP/IP)中描述模型的最低层——链路层,包含了数据链路层的功能。

另请阅读:什么是 Perplexity AI?

数据链路层的五大功能

1. 成帧

在数据链路层,从网络层接收的数据包被称为帧。在发送端,DLL 将来自网络层的数据包分割成较小的帧,然后逐位发送到物理层。此外,它还在帧的头部和尾部附加一些特定位(用于错误控制和寻址)。在接收端,DLL 从物理层收集位,将其组装成帧,并传输到网络层。

2. 寻址

为了确保节点到节点的传输,数据链路层在每个帧的头部封装了源和目标 MAC 地址/物理地址。设备的 MAC 地址是制造时分配给它的唯一硬件地址。

3. 错误控制

噪声、衰减等因素是数据损坏的众多原因之一。因此,数据链路层负责识别传输数据中的错误,并分别使用错误检测和纠正技术进行必要的修正。为了让接收方能够验证收到的数据是否正确,DLL 在帧的头部附加错误检测位。它通过包含识别和重传丢失或损坏帧的机制,提高了物理层的可靠性。

另请阅读:CtrlS 计划到 2025 财年将数据中心数量增加三倍至 25 个

4. 流量控制

如果接收方的接收速度慢于发送方的发送速度,可能会导致缓冲区溢出和潜在的帧丢失。因此,DLL 负责建立流量控制,同步发送方和接收方的速度。

5. 访问控制

当多个设备共享一个通信信道时,发生冲突的可能性很高,因此 DLL 必须确定哪个设备控制着信道。可以使用 CSMA/CD 和 CSMA/CA 来防止信道中的冲突和帧丢失。

数据链路层是 OSI 分层模型中的第二层。这一层是最复杂的层之一,具有复杂的功能和责任。数据链路层隐藏了底层硬件的细节,并向上层表示自己为通信介质。此外,数据链路层有多种好处,包括成帧、寻址、错误控制、流量控制和访问控制。