从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • 计算机简史

  • 数字电路

  • 计算机组成原理

  • 操作系统

  • Linux

  • 计算机网络

    • 计算机网络微课堂

      • 课程概述
      • 1-1 计算机网络在信息时代的作用
      • 1-2 因特网概述
      • 1-3 三种交换方式
      • 1-4 计算机网络的定义和分类
      • 1-5 计算机网络的性能指标
      • 1-6 计算机体系结构
      • 2-1 物理层的基本概念
      • 2-2 物理层下面的传输媒体
      • 2-3 传输方式
      • 2-4 编码与调制
      • 2-5 信道的极限容量
      • 3-1 概述
      • 3-2 封装成帧
      • 3-3 差错检测
      • 3-4 可靠传输
      • 3-5 点对点协议 PPP
      • 3-6 媒体接入控制的基本概念
      • 3-7 MAC 地址
      • 3-7 IP 地址
      • 3-7 ARP 协议
      • 3-8 集线器与交换机的区别
      • 3-9 以太网交换机自学习和转发帧的流程
      • 3-10 以太网交换机的生成树协议 STP
      • 3-11 虚拟局域网 VLAN
      • 4-1 网络层概述
      • 4-2 网络层提供的两种服务
      • 4-3 IPv4 地址
      • 4-4 IP 数据报的发送和转发过程
      • 4-5 静态路由配置及其可能产生的路由环路问题
      • 4-6 路由选择
      • 4-7 IPv4 数据报的首部格式
      • 4-8 网际控制报文协议 ICMP
      • 4-9 虚拟专用网 VPN 与网络地址转换 NAT
      • 5-1 运输层概述
      • 5-2 运输层端口号、复用与分用的概念
      • 5-3 UDP 和 TCP 的对比
      • 5-4 TCP 的流量控制
      • 5-5 TCP 的拥塞控制
      • 5.6 TCP 超时重传时间的选择
      • 5-7 TCP 可靠传输的实现
      • 5-8 TCP 的运输连接管理
      • 5-9 TCP 报文段的首部格式
      • 6-1 应用层概述
      • 6-2 客户—服务器方式和对等方式
      • 6-3 动态主机配置协议 DHCP
      • 6-4 域名系统 DNS
      • 6-5 文件传送协议 FTP
      • 6-6 电子邮件
      • 6-7 万维网 WWW
    • 计算机网络微课堂-实验手册

    • 从零开始学计算机网络

  • 数据库

  • 编程工具

  • 装机

  • 计算机基础
  • 计算机网络
  • 计算机网络微课堂
2023-11-16

3-1 概述

# 310.3-1 概述

本节课我们对数据链路层进行概述,我们首先来看看数据链路层在网络体系结构中的地位。

如图所示主机 H1 给主机 H2 发送数据,中间要经过三个路由器和电话网、局域网以及广域网等多种网络。

​​

从五层协议原理体系结构的角度来看,主机应具有体系结构中的各个层次,而路由器只需具有体系结构中的下面三层,各设备通过物理层下面的传输媒体进行互联,当主机 H1 向 H2 发送数据时,数据的流动如图所示:

  • 主机 H1 将在发送的数据逐层封装后,通过物理层将构成数据包的个比特转换为电信号,发送到传输媒体,数据包进入路由器后,由下往上逐层解封到网络层
  • 路由器根据数据包的目的网络地址和自身转发表,确定数据包的转发端口,然后从网络层向下逐层封装数据包,并通过物理层将数据包发送到传输媒体
  • 数据包最终到达主机 H2 时,还要由下往上逐层解封,最终解封出主机 H1 所发送的数据

上述过程我们在第一章的计算机网络体系结构,分层思想举例那节课中就介绍过了,然而当我们专门研究数据链路层的问题时,在大多数情况下,我们可以只关心数据链路层,而不考虑网络体系结构的其他各层。

换句话说,我们可以想象数据包只在数据链路层,从左向右沿水平方向传送。从数据链路层来看,主机 H1 到 H2 的通信,可以看成是在 4 段不同的链路上的通信组成的。

​​

所谓链路,就是从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换节点。要在链路上传输数据,仅有链路还不够,还需要一些通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到电路上,就构成了数据链路。

在数据链路层上传输的数据包又称为帧,也就是说数据链路层以帧为单位传输和处理数据。 ‍ 接下来我们介绍数据链路层的三个重要问题,他们是封装成帧,差错检测,可靠传输。首先来看封装成帧。如图所示,两台主机通过一段链路互联,两台主机都会对所发送或接收的数据包进行 5 个层次的封装或解封:

  • 发送方将待发送的数据通过应用层封装成为应用层协议数据单元,然后交付给运输层
  • 运输层为其添加运输层协议首部,使之成为运输层协议数据单元,然后交付给网络层
  • 网络层为其添加网络层协议首部,使之成为网络层协议数据单元,然后交付给数据链路层
  • 数据链路层给网络层协议数据单元,添加一个数据链路层协议首部简称为帧头,还要给其添加一个帧尾
  • 我们将数据链路层给网络层交付的协议数据单元,添加帧头和帧尾的操作成为封装成帧。添加帧头和帧尾的目的都是为了在链路上以帧为单元来传送数据,也就是为了实现数据链路层本身的功能
  • 例如,这是以太网版本 2 的 MAC 帧格式,这三个字段是帧头,该字段是帧尾,而这个字段是上层交付的协议数据单元

​​


‍ 再来看差错检测,发送方将封装好的帧通过物理层发送到传输媒体,帧在传输过程中遭遇干扰后可能会出现误码,也就是比特 0 可能变成了比特 1,反之亦然。

那么大家通过动画演示,可以很容易看出正在传输过程中出现了误码,但是接收方主机如何判断真在传输过程中是否出现了误码,这可以通过检测码来发现。

发送方在发送帧之前,基于待发送的数据和检错算法,计算出检错码,并将其封装在帧尾。例如以太网版本 2 的 MAC 帧的帧尾,就是 4 字节的帧检验序列 FCS 字段。要写入该字段的内容,也就是我们所说的检错码:

接收方主机收到帧后,通过检错码和检错算法,就可以判断出真在传输过程中是否出现了误码。


‍ 再来看可靠传输,接收方主机收到有误码的帧后,是不会接受该帧的,将其丢弃。如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施。如果数据链路层向其上层提供的是可靠服务,那么就还需要其他措施来确保接收方主机还可以重新收到被丢弃的帧的正确副本。

换句话说,尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方最终都能收到什么?就称为可靠传输。


‍ 封装成帧,差错检测,可靠传输是数据链路层中最基本最重要的问题。我们在后面的课程中还会详细介绍,目前只要求同学们知道这三个问题的大概意思即可。需要说明的是我们在介绍这三个问题的时候,使用的是点对点信道的数据链路层来举例的。


‍ 对于使用广播信道的数据链路层,除了包含这三个问题外,还有一些其他需要解决的问题,如图所示,主机 ABCDE 通过一根总线进行互联,主机 A 要给主机 C 发送帧,代表帧的信号,会通过总线传输到总线上的其他各主机,那么主机 BDE 如何知道所收到的帧不是发送给他们的,而主机 C 又如何知道所收到的帧恰恰是发送给自己的?

相信大家能够想到地址或者说编制的问题,也就是将帧的目的地址添加在帧中一起传输。

例如这是以太网版本 2 的 MAC 帧格式,其手部中的三个字段中有两个字段和地址相关,一个是目的地址字段,另一个是源地址字段。

​​

除了编制问题外,再来看下面这个问题,当总线上多台主机,同时使用总线来传输帧时,传输信号就会产生碰撞,这是采用广播信道的共享式局域网不可避免的。以太网采用的协调方法是使用一种特殊的协议,CSMA/CD,也就是载波监听多点接入/碰撞检测。 ‍ 随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的需要点对点联络和链路层交换机的交换式局域网,在有线领域已完全取代了共享式局域网,那么网络中的交换机又是如何转发帧的,另外由于无线信道的广播天性,无线局域网仍然使用的是共享信道技术,例如 802.11 局域网采用的媒体接入控制协议是 CSMA/CA,也就是载波监听多点接入/碰撞避免,它的工作原理又是怎样的,上述这些内容都是数据链路层中比较重要的问题。

​​

上次更新: 2025/6/3 09:31:54
2-5 信道的极限容量
3-2 封装成帧

← 2-5 信道的极限容量 3-2 封装成帧→

最近更新
01
学点统计学:轻松识破一本正经的胡说八道
06-05
02
2025 年 5 月记
05-31
03
《贫穷的本质》很棒,但可能不适合你
05-27
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式