数据链路层概述

本文最后更新于:2025年11月10日 下午

一、数据链路层在网络体系结构中的地位

  1. 层级位置:位于物理层之上、网络层之下,是网络体系结构中的关键中间层,负责衔接物理层的硬件传输与网络层的逻辑通信。
  2. 覆盖场景:适用于多种网络环境的数据传输,包括主机与路由器之间(如主机 H1 与路由器 R1)、路由器与路由器之间(如路由器 R1 与路由器 3)、路由器与网络之间(如路由器 R2 与广域网)等,可跨电话网、局域网、广域网等不同网络类型实现数据交互。
  3. 相邻层级交互:接收网络层传递的协议数据单元,经处理后通过物理层发送;同时接收物理层传输的信号,处理后向上交付给网络层,形成 “网络层 - 数据链路层 - 物理层” 的完整数据传输链路。

二、核心概念辨析

概念 定义 关键特征
链路(Link) 从一个结点到相邻结点的一段物理线路 无中间交换结点,仅为硬件层面的物理连接
数据链路(Data Link) 在链路上添加实现通信协议的硬件和软件 包含 “物理线路 + 协议软硬件”,具备数据传输控制能力
数据传输单位 数据链路层以 “帧” 为基本单位传输和处理数据,帧由帧头、数据载荷、帧尾组成

三、数据链路层的三个重要问题

(一)封装成帧

  1. 定义:将网络层交付的协议数据单元(PDU)添加帧头和帧尾,封装成 “帧” 格式,使数据在链路中可被准确识别和传输。

  2. 典型帧结构(以太网 V2 的 MAC 帧)

字段 长度 作用
目的地址 6 字节 标识数据接收方的物理地址,确保数据准确送达目标结点
源地址 6 字节 标识数据发送方的物理地址,便于接收方回传响应或定位发送源
类型 2 字节 指明帧中数据载荷对应的上层协议类型,如 IP 协议等
数据载荷 46~1500 字节 承载网络层交付的协议数据单元,是帧的核心数据部分
FCS(帧检验序列) 4 字节 属于帧尾,用于差错检测,校验帧在传输过程中是否出现误码
  1. 帧长度限制:以太网 V2 的 MAC 帧最大长度为 1518 字节(6+6+2+1500+4),确保数据在链路中传输的效率和稳定性。

(二)差错检测

  1. 背景:数据在物理层传输时可能因噪声、干扰等出现误码,需通过差错检测识别错误帧。
  2. 实现方式:利用帧尾的 FCS(检错码),接收方通过校验 FCS,判断帧在传输过程中是否存在误码。
  3. 作用:仅检测帧是否出错,不负责纠错,若检测到误码,通常会要求发送方重传(需结合可靠传输机制)。

(三)可靠传输

  1. 定义:尽管传输中误码无法完全避免,但通过技术手段实现 “发送方发送什么,接收方就收到什么”,确保数据准确、完整交付。
  2. 适用场景:主要用于点对点信道的数据链路层,在广播信道中可根据需求选择性启用。
  3. 核心逻辑:结合差错检测(识别错误)、重传机制(纠正错误)等,弥补物理层传输的不可靠性,为上层协议提供稳定的数据传输服务。

四、不同信道类型的数据链路层

(一)点对点信道

  • 特点:数据仅在两个相邻结点之间传输,无共享信道竞争问题。
  • 核心任务:重点解决 “封装成帧、差错检测、可靠传输” 三个问题,确保点对点之间数据的准确传输。

(二)广播信道(以局域网为例)

  1. 共享式局域网
    • 问题:多个结点共享同一信道,易出现 “碰撞”(多个结点同时发送数据导致信号冲突)。
    • 媒体接入控制协议:采用 CSMA/CD(载波监听多点接入 / 碰撞检测),通过 “先监听、再发送、遇碰撞则停止并退避” 的机制,减少碰撞概率,保障信道使用秩序。
  2. 无线局域网(802.11 局域网)
    • 问题:无线信号易受干扰,且无法像有线网络那样准确检测碰撞。
    • 媒体接入控制协议:采用 CSMA/CA(载波监听多点接入 / 碰撞避免),通过 “发送前预约信道、发送后等待确认” 的机制,主动避免碰撞,提升无线传输可靠性。

五、数据链路层互连设备

(一)核心设备:网桥与交换机

  1. 工作原理:基于 MAC 地址进行数据转发,通过学习结点的 MAC 地址与端口的对应关系,构建 “MAC 地址表”;转发数据时,仅将帧发送到目标 MAC 地址对应的端口,而非所有端口,减少广播风暴,提升网络效率。
  2. 作用:实现不同局域网之间的互连,同时隔离冲突域,扩大局域网覆盖范围。

(二)集线器与交换机的区别

对比维度 集线器(物理层设备) 交换机(数据链路层设备)
工作层级 物理层 数据链路层
转发依据 无地址识别,将信号从所有端口广播出去 基于 MAC 地址表,定向转发到目标端口
冲突域 所有端口共享一个冲突域,易发生碰撞 每个端口为一个独立冲突域,减少碰撞
传输效率 低,广播转发导致带宽浪费 高,定向转发降低带宽消耗

数据链路层概述
https://hellowydwyd.github.io/2025/10/06/数据链路层概述/
作者
YuDong Wang
发布于
2025年10月6日
许可协议