当前位置: 首页 > news >正文

03.《交换的底层逻辑:从基础到应用》

交换基础

文章目录

  • 交换基础
    • MAC 地址:设备的 “全球唯一身份证”
      • MAC 地址的基本属性
      • MAC 地址的三类类型(按通信范围划分)
    • 以太帧
      • 以太帧的两个标准格式
        • 1. Ethernet_II 格式(常用)
        • 2. IEEE 802.3 格式(少用)
      • 以太帧的长度要求
      • 数据帧的分类
    • 交换机的核心工作机制
      • 交换机的三个核心动作
      • MAC 地址表的生成与使用
        • 学习源 MAC 地址(建表)
        • 查询 MAC 地址表(查表)
        • 维护 MAC 地址表(老化)
      • 实验:通过 PC 间 ping 测试理解交换机转发
        • 实验环境
        • 实验流程
        • 操作步骤
          • 配置 PC1 的 IP 地址(以ENSP模拟器 PC 为例)
          • PC1 ping PC2(触发数据帧传输)
          • 查看交换机的 MAC 地址表
          • (可选)手动修改 MAC 地址表老化时间
    • 总结

在局域网中,交换机是连接终端设备(如电脑、打印机)的核心设备,它能高效转发数据,让不同设备之间实现通信。要理解交换机的工作原理,首先需要掌握两个关键概念: MAC 地址(设备的 “身份证”)和 以太帧(数据的 “包装盒”),再结合交换机的转发逻辑,就能清晰理解局域网内数据的传递过程。

MAC 地址:设备的 “全球唯一身份证”

MAC 地址又称 “物理地址” 或 “硬件地址”,是网卡出厂时固化的唯一标识 —— 就像每个人的身份证号,全球不会有两块网卡的 MAC 地址完全相同。

MAC 地址的基本属性

  1. 格式与长度
    • 长度:48 比特(bit),换算为 6 字节(Byte),用 16 进制表示(0-9、A-F)。
    • 书写格式:通常用 “-” 或 “:” 分隔,比如54-89-98-A0-56-5654:89:98:A0:56:56
  2. 地址结构
    • 前 24 比特(前 3 字节):OUI(厂商识别码),由国际组织分配给网卡厂商,比如54-89-98代表某一厂商。
    • 后 24 比特(后 3 字节):设备识别码,由厂商自行分配给每一块网卡,确保同厂商内不重复。

MAC 地址的三类类型(按通信范围划分)

MAC 地址分为单播、组播、广播三类,对应不同的 “通信场景”,核心区别在第 8 个比特(从左数第 2 个字符的第 1 位)。

类型核心特征通信场景(通俗理解)举例
单播 MAC 地址第 8 比特为 0(比如地址第 2 个字符是 0、2、4 等偶数,或 A、C、E 等)一对一通信(“点对点聊天”),比如 PC1 给 PC2 发文件00-1E-10-DD-DD-02(第 2 个字符是 0,第 8 比特为 0)
组播 MAC 地址第 8 比特为 1(比如地址第 2 个字符是 1、3、5 等奇数,或 B、D、F 等)一对多通信(“拉群聊”),比如给局域网内所有视频设备发直播流01-80-C2-00-00-01(第 2 个字符是 1,第 8 比特为 1)
广播 MAC 地址所有 48 比特全为 1,固定格式为FF-FF-FF-FF-FF-FF一对所有通信(“在大厅喊口号”),比如 PC1 查询局域网内的打印机FF-FF-FF-FF-FF-FF(所有字符都是 F,对应比特全为 1)

参考华为文档图例:

image-20250828203714735

以太帧

在数据链路层,数据不是 “裸奔” 传输的,而是会被包装成 “以太帧”(简称 “数据帧”)—— 就像寄快递时要把物品装进带地址的盒子,以太帧也包含 “收件地址”“寄件地址” 和 “包裹内容”。

以太帧的两个标准格式

目前主流的以太帧格式有两种:Ethernet_II(常用,比如我们日常上网、传文件用的就是这种)和 IEEE 802.3(多用于工业控制等特殊场景),两者的区别主要在 “中间字段”。参考华为文档图例:

image-20250828203813133

1. Ethernet_II 格式(常用)
字段长度作用(通俗理解)
D.MAC(目的 MAC 地址)6 字节收件地址:数据要发给哪个设备的网卡
S.MAC(源 MAC 地址)6 字节寄件地址:数据来自哪个设备的网卡
Type(类型字段)2 字节说明 “盒子里装的是什么类型的数据”,比如0800代表 IP 数据(日常上网数据)
用户数据46-1500 字节真正要传递的内容(比如微信消息、文件数据),最少 46 字节(不够会补零),最多 1500 字节
FCS(帧校验序列)4 字节校验数据是否损坏:接收方会计算校验值,若与 FCS 不一致,说明数据传丢了,会丢弃该帧
2. IEEE 802.3 格式(少用)

比 Ethernet_II 多了 “LLC” 和 “SNAP” 字段,用于兼容早期设备,核心字段作用类似:

字段长度作用
D.MAC6 字节目的 MAC 地址
S.MAC6 字节源 MAC 地址
Length(长度字段)2 字节说明 “用户数据的长度”(区别于 Ethernet_II 的 Type 字段)
LLC(逻辑链路控制)3 字节兼容早期局域网协议
SNAP(子网访问协议)5 字节包含 Org Code(3 字节,厂商码)和 Type(2 字节,数据类型),相当于把 Ethernet_II 的 Type 字段拆到这里
用户数据38-1492 字节核心数据(因多了 LLC 和 SNAP,比 Ethernet_II 少 8 字节)
FCS4 字节帧校验

以太帧的长度要求

无论哪种格式,整个以太帧的总长度必须在 64-1518 字节之间

  • 小于 64 字节:“短帧”,可能是干扰或错误数据,交换机会直接丢弃。
  • 大于 1518 字节:“长帧”,可能是异常数据包,交换机会同样丢弃。

数据帧的分类

和 MAC 地址对应,数据帧也分为三类,直接决定交换机的转发方式:

  1. 单播数据帧:目的 MAC 是单播地址(比如 PC1→PC2 的帧)。
  2. 组播数据帧:目的 MAC 是组播地址(比如给多台设备发直播的帧)。
  3. 广播数据帧:目的 MAC 是FF-FF-FF-FF-FF-FF(比如查询局域网设备的帧)。

交换机的核心工作机制

交换机的核心功能是 “高效转发数据帧”,它靠一张 “MAC 地址表” 实现 —— 这张表记录了 “MAC 地址→交换机接口→VLAN” 的对应关系,就像 “小区快递柜对照表”(哪个快递对应哪个柜子)。

交换机的三个核心动作

交换机收到数据帧后,会根据帧的类型和 MAC 地址表,执行三种动作之一:

动作适用场景通俗理解
单播转发已知单播数据帧(MAC 地址表中有目的 MAC 的对应接口)“精准投递”:根据地址表,把帧从对应接口发给目标设备,不打扰其他设备
泛洪1. 未知单播数据帧(地址表中没有目的 MAC) 2. 组播数据帧 3. 广播数据帧“群发找人”:除了接收帧的接口,把帧从所有其他接口发出去,直到目标设备响应
丢弃1. 帧长度小于 64 字节或大于 1518 字节 2. FCS 校验失败(数据损坏)“拒收垃圾”:直接扔掉无效或错误的帧,避免占用网络资源

MAC 地址表的生成与使用

默认情况下,交换机的 MAC 地址表是空的,它会通过 “学习→查表→转发→老化” 四个步骤,动态维护地址表并实现转发:

学习源 MAC 地址(建表)

当交换机收到一个数据帧时,首先会 “记住” 帧的源 MAC 地址和 “接收该帧的接口”,并把这对关系写入 MAC 地址表。

  • 例:PC1(MAC:54-89-98-A0-56-56)通过交换机的 GE0/0/1 接口发帧,交换机就会在地址表中添加一条记录:5489-98a0-5656 → GE0/0/1
查询 MAC 地址表(查表)

接着,交换机会查看帧的目的 MAC 地址,并在地址表中查找是否有对应的接口记录:

  • 若有记录(已知单播帧):执行 “单播转发”,从对应接口发出去。
  • 若没有记录(未知单播帧):执行 “泛洪”,从所有其他接口发出去。
维护 MAC 地址表(老化)

为了避免地址表过大(浪费设备资源),交换机对动态学习的 MAC 地址表项设置了 “老化时间”—— 默认 300 秒(5 分钟)。

  • 如果 5 分钟内,某条表项对应的设备没有再发数据,交换机会自动删除这条记录。
  • 若设备继续发数据,老化时间会 “重置”(重新从 5 分钟开始倒计时)。

实验:通过 PC 间 ping 测试理解交换机转发

通过实际操作,我们可以观察交换机如何学习 MAC 地址、生成地址表,以及如何转发数据帧。

实验环境

实验拓扑

image-20250828203937396

设备接口IP 地址MAC 地址
PC1Ethernet 0/0/110.1.1.1/2454-89-98-A0-56-56
PC2Ethernet 0/0/110.1.1.2/2454-89-98-C9-64-22
交换机(SW1)GE0/0/1(连 PC1)、GE0/0/2(连 PC2)无(二层交换机无需配置 IP)
实验流程
  1. 配置 PC1 和 PC2 的 IP 地址(静态配置,确保同网段)。
  2. 用 PC1 ping PC2,触发数据帧传输,让交换机学习 MAC 地址。
  3. 查看交换机的 MAC 地址表,验证表项是否生成。
  4. (可选)等待 5 分钟后,再次查看地址表,验证老化功能。
操作步骤
配置 PC1 的 IP 地址(以ENSP模拟器 PC 为例)
  1. 打开 PC1 的 “基础配置” 界面,选择 “IPv4 配置” 为 “静态”。
  2. 填写参数:
    • IP 地址:10.1.1.1
    • 子网掩码:255.255.255.0
    • 网关:0.0.0.0(同网段通信无需网关)
  3. 点击 “应用”,完成 PC1 配置。
  4. 重复上述步骤,配置 PC2 的 IP 为 10.1.1.2,子网掩码 255.255.255.0。如图:

PC1 ping PC2(触发数据帧传输)

在 PC1 的 “命令行” 界面输入 ping 命令,测试连通性:

PC1>ping 10.1.1.2  # 向PC2发送ping请求(ICMP协议数据包)
Ping 10.1.1.2: 32 data bytes, Press Ctrl_C to stop
Reply from 10.1.1.2: bytes=32 seq=1 ttl=128 time=1ms  # 收到PC2的回复,连通成功
Reply from 10.1.1.2: bytes=32 seq=2 ttl=128 time=1ms
  • 此时,PC1 和 PC2 之间会互发数据帧,交换机会自动学习两者的 MAC 地址。
查看交换机的 MAC 地址表

登录交换机(通过 Console 或远程登录),输入命令查看 MAC 地址表:

# 1. 进入交换机的用户视图(默认登录后就是用户视图)
<SW1># 2. 查看MAC地址表(命令:display mac-address,简写dis mac-address)
<SW1>display mac-address
MAC address table of slot 0:  # 插槽0的MAC地址表
-------------------------------------------------------------------------------
MAC Address       VLAN/VSI/SI   PEVLAN CEVLAN Port          Type      LSP/LSR-ID
-------------------------------------------------------------------------------
5489-98a0-5656    1             -      -      GE0/0/1       dynamic   -  # PC1的MAC,对应接口GE0/0/1,动态学习
5489-98c9-6422    1             -      -      GE0/0/2       dynamic   -  # PC2的MAC,对应接口GE0/0/2,动态学习
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2  # 共2条表项
  • 结果说明:交换机已通过 ping 测试,学习到 PC1 和 PC2 的 MAC 地址,并记录了对应的接口(GE0/0/1 和 GE0/0/2),类型为 “dynamic”(动态学习)。
(可选)手动修改 MAC 地址表老化时间

默认老化时间是 300 秒,若需修改(不推荐,除非特殊需求),可在交换机的系统视图中执行命令:

# 1. 进入系统视图
<SW1>system-view
[SW1]# 2. 修改老化时间(单位:秒,范围10-1000000,0表示不老化)
[SW1]mac-address aging-time 600  # 将老化时间改为600秒(10分钟)
[SW1]quit  # 退出系统视图# 3. 验证修改结果(查看系统配置)
<SW1>display current-configuration | include aging-time  # 查看老化时间配置
mac-address aging-time 600  # 确认已修改为600秒

总结

  1. MAC 地址:48 比特全球唯一,分单播(第 8 比特 0)、组播(第 8 比特 1)、广播(全 1)三类。

  2. 以太帧:数据链路层的传输单元,总长度 64-1518 字节,有 Ethernet_II 和 IEEE 802.3 两种格式。

  3. 交换机转发:靠 MAC 地址表工作,核心动作是 “单播转发(已知单播)、泛洪(未知单播 / 组播 / 广播)、丢弃(无效帧)”。
    总结

  4. MAC 地址:48 比特全球唯一,分单播(第 8 比特 0)、组播(第 8 比特 1)、广播(全 1)三类。

  5. 以太帧:数据链路层的传输单元,总长度 64-1518 字节,有 Ethernet_II 和 IEEE 802.3 两种格式。

  6. 交换机转发:靠 MAC 地址表工作,核心动作是 “单播转发(已知单播)、泛洪(未知单播 / 组播 / 广播)、丢弃(无效帧)”。

  7. MAC 地址表:动态学习源 MAC 生成,默认老化时间 300 秒,确保地址表精简高效。

如涉及版权问题,请联系作者处理!!!!

http://www.dtcms.com/a/357537.html

相关文章:

  • vue3中安装tailwindcss
  • ​​字节跳动重磅开源 Seed-OSS 大模型系列,12T tokens训练,原生支持512K长上下文​
  • python 2025/7/28
  • 【完整源码+数据集+部署教程】工地建筑进度监测系统源码和数据集:改进yolo11-SDI
  • 【笔记】扩散模型(一二)U-ViT|Diffusion with Transformer
  • 智慧园区系统:基于Java微服务架构与全栈信创国产化的数字化赋能平台
  • 人工智能一些基础概念与应用场景学习笔记
  • C++基础(③反转字符串(字符串 + 双指针))
  • solidity地址、智能合约、交易概念
  • Pointer--Learing MOOC-C语言第九周指针
  • 鸿蒙地址选择库(ArkTs UI)
  • Idea2025.2 MybatisX插件失效问题
  • Suno-API - OpenI
  • 【计算机网络】前端基础知识Cookie、localStorage、sessionStorage 以及 Token
  • 04.《VLAN基础与配置实践指南》
  • 掌握 Linux 文件权限:chown 命令深度解析与实践
  • css绘制三角形
  • 软件开发准则
  • 隧道搭建技术
  • 零成本解锁 Cursor Pro:虚拟卡白嫖1个月+14天试用全攻略
  • 鬼泣:索定系统
  • 基于能量方法的纳维-斯托克斯方程高阶范数有界性理论推导-陈墨仙
  • Java接口和抽象类的区别,并举例说明
  • Coze智能体小练习-根据主题生成小红书宣传图片
  • (十一)ps识别: epoch 训练日志解析
  • 国务院提出“人工智能+”行动,容智智能体引领产业变革发展
  • Java 学习笔记(基础篇11)
  • SyncBack 安全备份: 加密文件名及文件内容, 防止黑客及未授权的访问
  • 三维动画渲染农场哪家便宜?
  • Redis开发06:使用stackexchange.redis库结合WebAPI对redis进行增删改查