从 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-9 以太网交换机自学习和转发帧的流程

# 390.3-9 以太网交换机自学习和转发帧的流程

‍ 在上节课中,我们对比了在物理层扩展以太网的集线器,和在数据链路层扩展以太网的交换机。

本节课我们介绍以太网交换机自学习和转发帧的流程,以太网交换机工作在数据链路层,当然也包括物理层,需要说明的是目前市场上也有包含网络层部分功能的交换机,称为三层交换机。

以太网交换机收到帧后,在帧交换表中查找帧的目的 MAC 地址所对应的接口号,然后通过该接口转发帧。

以太网交换机是一种即插即用的设备,刚上电启动时,其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法,自动逐渐建立起帧交换表。

下面我们来举例说明,以太网交换机自学习和转发帧的流程,如图所示,相互连接的两台以太网交换机,各自连接了三台主机,构成了一个交换式以太网。为了简单起见,各主机中网卡上固化的 MAC 地址,仅用一个大写字母表示,各主机互不相同。为了将重点放在以太网交换机自学习和转发帧的流程上,我们假设各主机已经知道了网络装其他各主机的 MAC 地址,换句话说,不需要首先通过 ARP 来获取目的主机的 MAC 地址。

假设主机 A 给主机 B 发送帧,该帧从交换机 1 的接口 1 进入交换机 1,交换机 1 首先进行登记的工作,将该帧的源 MAC 地址 A 记录到自己的帧交换表中,将该帧进入自己的接口的接口号 1,相应的也记录到帧交换表中,上述登记工作就称为交换机的自学习。

之后,交换机 1 对该帧进行转发,该帧的目的 MAC 地址是 B,在帧交换表中查找 MAC 地址 B,找不到,于是对该帧进行盲目的转发,也称为泛洪,也就是从除该帧进入交换机接口外的其他所有接口转发该帧,可以看出交换机一开始还是比较笨的,他还没有足够的知识来明确转发帧,只能进行盲目的转发。

主机 B 的网卡收到该帧后,根据帧的目的 MAC 地址 B 就知道这是发送给自己的帧,于是就要接受该帧。主机 C 的网卡收到该帧后,根据帧的目的 MAC 地址 B 就知道这不是发送给自己的帧,于是就丢弃该帧。

该帧从交换机 2 的接口二进入交换机 2,交换机 2 首先进行登记的工作,将该帧的源 MAC 地址 A 记录到自己的帧交换表中,将该帧进入自己的接口的接口号 2,相应的也记录到帧交换表中。之后交换机 2 对该帧进行转发,该帧的目的 MAC 地址是 B,在帧交换表中查找 MAC 地址 B,找不到,于是对该帧进行盲目的转发,主机 DEF 都会收到该帧,根据帧的目的 MAC 地址 B 就知道这不是发送给自己的帧,于是丢弃该帧。

接下来主机 B 给主机 A 发送帧,该帧从交换机 1 的接口 3 进入交换机 1,交换机 1 首先进行登记的工作,将该帧的源 MAC 地址 B 记录到自己的帧交换表中,将该帧进入自己的接口的接口号 3,相应的也记录到帧交换表中。之后,交换机 1 对该帧进行转发,该帧的目的 MAC 地址是 A,在帧交换表中查找 MAC 地址 A,可以找到,于是按照 MAC 地址 A 所对应的接口号 1,从接口 1 转发该帧,这是明确的转发。

主机 A 的网卡收到该帧后,根据帧的目的 MAC 地址 A 就知道这是发送给自己的帧,于是接受该帧,很显然交换机 2 不会收到该帧。


接下来主机 E 给主机 A 发送帧,该帧从交换机 2 的接口 3 进入交换机 2,交换机 2 首先进行登记的工作,之后,交换机 2 对该帧进行转发,该帧的目的 MAC 地址是 A,在帧交换表中查找 MAC 地址 A,可以找到,于是按照 MAC 地址 A 所对应的接口号 2,从接口 2 转发该帧,这是明确的转发,该帧从交换机 1 的接口 4 进入交换机 1,交换机 1 首先进行登记的工作,之后,交换机 1 对该帧进行转发,该帧的目的 MAC 地址是 A,在帧交换表中查找 MAC 地址 A,可以找到,于是按照 MAC 地址 A 所对应的接口号 1,从接口 1 转发该帧,这是明确的转发。

主机 A 的网卡收到该帧后,根据帧的目的 MAC 地址 A 就知道这是发送给自己的帧,于是接受该帧。

​​


我们再来看看以太网交换机丢弃帧的情况,为了演示该情况,我们给交换机 1 的接口 1 再连接一台主机 G,为了简单起见,没有画出集线器,这样主机 A 主机 G,交换机 1 的接口 1 就共享同一条总线,假设主机 G 给主机 A 发送帧,该帧通过总线进行传输,主机 A 和交换机 1 的接口 1 都可以收到,主机 A 的网卡收到该帧后,根据帧的目的 MAC 地址 A 就知道这是发送给自己的帧,于是接受该帧。交换机 1 收到该帧后,首先进行登记工作,之后,交换机 1 对该帧进行转发,该帧的目的 MAC 地址是 A,在帧交换表中查找 MAC 地址 A,可以找到 MAC 地址 A 所对应的接口号是 1,但是该帧正是从接口 1 进入交换机 1 的,交换机 1 不会再从该接口将该帧转发出去,因为这是没有必要的,于是丢弃该帧,很显然交换机 2 不会收到该帧。

随着网络中各主机都发送了帧后,网络中的各交换机,就可以学习到各主机的 MAC 地址,以及他们与自己各接口的对应关系。

需要注意的是帧交换表中的每条记录都有自己的有效时间,到期自动删除。请大家想想看,这是为什么呢?好不容易学习来的记录,为什么要到期自动删除,这不是多此一举吗?这是因为 MAC 地址与交换机接口的对应关系,并不是永久性的,例如交换机某接口所连接的主机更换成了另一台主机,又或者主机中的网卡坏了,更换了新的网卡,这些情况都会导致 MAC 地址与交换机接口的对应关系的改变。

相信大家还记得我们曾经介绍过的 ARP 高速缓存表,表中的 IP 地址与 MAC 地址的对应关系记录也是会定期自动删除的,这是因为 IP 地址与 MAC 地址的对应关系,也并不是永久性的。

接下来请同学们参照我们刚刚所举的例子,本题的答案如下所示,相信同学们都能解答正确。

​​ ‍


接下来我们再来做几道相关的考研题,这是计算机专业考研全国统考计算机网络部分 2009 年的题 36,答案是选项 A。

PDU 的意思是协议数据单元,它是计算机网络体系结构中对等实体间逻辑通信的对象。以太网交换机工作在数据链路层,也包括物理层,他接收并转发的 PDU 通常称为帧。

以太网交换机收到帧后,在帧交换表中查找帧的目的 MAC 地址所对应的接口号,然后通过该接口转发帧,MAC 地址又称为硬件地址或物理地址。请注意不要被物理二字误导,认为物理地址属于物理层范畴,实际上物理地址属于数据链路层范畴。

​​

再来看 2014 年的题 34,答案是选项 B 。

根据题意左侧主机给右侧主机发送数据帧,该帧从交换机的接口 1 进入交换机,交换机首先进行登记的工作,将该帧的源 MAC 地址记录到自己的帧交换表中,将该帧进入自己的接口的接口号,相应的也记录到帧交换表中。之后交换机对该帧进行转发,在帧交换表中查找该帧的目的 MAC 地址,找不到,于是对该帧进行盲目的转发。因此交换机转发数据帧的端口为 2 和 3。

根据题意,右侧主机收到左侧主机发送的数据帧后,给左侧主机发送确认帧,该帧从交换机的接口三进入交换机,交换机首先进行登记的工作,将该帧的源 MAC 地址记录到自己的帧交换表中,将该帧进入自己的接口的接口号,相应的也记录到帧交换表中。

之后,交换机对该帧进行转发,在帧交换表中查找该帧的目的 MAC 地址,可以找到,于是按照 MAC 地址做对应的接口号 1 从接口 1 明确转发该帧,因此交换机转发确认帧的端口为 1:

​​

本节课的内容小结如下:

​​

上次更新: 2025/6/3 09:31:54
3-8 集线器与交换机的区别
3-10 以太网交换机的生成树协议 STP

← 3-8 集线器与交换机的区别 3-10 以太网交换机的生成树协议 STP→

最近更新
01
语雀文档一键下载至本地教程
07-04
02
要成功,就不要低估环境对你的影响
07-03
03
血泪教训:电子设备要定期开机
07-02
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式