408计算机网络第3章:以太网交换机与共享式以太网——知识总结

复习位置:计算机网络 → 第3章 数据链路层 → 以太网交换机 / 共享式以太网

这一部分的核心不是背定义,而是把下面这条逻辑链串起来:

复制代码
集线器 Hub:大家共享一条路
         ↓
交换机 Switch:每个端口一条独立路
         ↓
交换机根据 MAC 地址学习"主机在哪个端口"
         ↓
已知目的地址精准转发,未知目的地址泛洪

408重点:交换机特点、MAC地址自学习、转发规则、冲突域/广播域、共享式与交换式以太网对比、CSMA/CD、STP。


一、以太网交换机到底是什么

以太网交换机工作在:

复制代码
数据链路层

所以又称:

复制代码
二层交换机

它本质上是:

复制代码
一个多端口网桥

最重要的作用:

复制代码
把一个大的冲突域
划分成多个更小的冲突域

二、为什么交换机比集线器效率高

先看集线器 Hub。

假设有4台主机:

复制代码
A ─┐
B ─┼── Hub
C ─┼
D ─┘

Hub工作在物理层,只会:

复制代码
收到电信号
-> 放大
-> 从其他端口全部转发

所以A和B通信时:

复制代码
C、D也能"听到"

并且大家共享同一个介质。

结果:

复制代码
同一冲突域
共享带宽
半双工
需要CSMA/CD

换成交换机

复制代码
A ─┐
B ─┼── Switch
C ─┼
D ─┘

交换机可以识别:

复制代码
MAC地址

并知道:

复制代码
A在哪个端口
B在哪个端口

因此A发给B时,交换机可以只把帧送给B。

所以:

复制代码
不同端口之间可以并行通信
每个端口拥有独立带宽
通常支持全双工

三、交换机的5个高频特点

教材这一页可以压成5条。

1. 交换机端口直接连接主机时通常全双工

例如:

复制代码
主机A ←────→ 交换机

双方可以:

复制代码
同时发送和接收

因此:

复制代码
全双工交换式以太网
不需要CSMA/CD

2. 每个交换机端口都是独立冲突域

例如:

复制代码
A ── port1
B ── port2
C ── port3

可以理解为:

复制代码
port1 一个冲突域
port2 一个冲突域
port3 一个冲突域

因此:

复制代码
交换机能够隔离冲突域

但注意:

复制代码
普通二层交换机不能隔离广播域

这是408高频陷阱。


3. 交换机支持多对主机同时通信

例如:

复制代码
A <----> B

同时

C <----> D

两对通信可以并行进行。

这叫:

复制代码
交换机具有并行性

4. 交换机即插即用,会自学习

刚开机时:

复制代码
MAC地址表可能为空

但它会根据收到的帧自动学习:

复制代码
MAC地址 <-> 端口

不需要管理员手工把所有主机位置录进去。


5. 交换机内部交换速度快

交换机通常使用专用交换芯片,能够高速完成:

复制代码
查表
转发
过滤

四、共享带宽 vs 独占带宽

假设链路速率均为:

复制代码
10 Mb/s

集线器网络

如果有N台主机共享:

复制代码
总带宽约10 Mb/s

平均下来:

复制代码
每台主机只能分享其中一部分

交换机网络

每个端口都可以有:

复制代码
10 Mb/s

例如一个N端口交换机:

复制代码
端口1:10 Mb/s
端口2:10 Mb/s
...
端口N:10 Mb/s

因此交换机的总吞吐能力可以远大于共享式以太网。


五、交换机的两种转发方式

这一部分主要考:

复制代码
直通交换
存储转发

六、直通交换:先看目的地址就转发

直通交换:

复制代码
帧还没有完整收到
↓
交换机只要已经读到目的MAC地址
↓
立刻决定输出端口
↓
开始转发

流程:

复制代码
收到帧头
   ↓
读目的MAC
   ↓
查交换表
   ↓
马上转发

优点

复制代码
转发延迟小

因为:

复制代码
不用等整帧到齐

缺点

交换机没有完整收到帧,因此可能:

复制代码
来不及做完整FCS检验

结果:

复制代码
坏帧也可能被转发出去

所以:

复制代码
直通交换:
快,但可靠性相对低

七、存储转发:整帧收完再转

存储转发:

复制代码
完整接收整个帧
↓
缓存
↓
做差错检测
↓
确认正确
↓
查目的MAC
↓
转发

优点

复制代码
可靠性高

可以先:

复制代码
检查FCS

还可以:

复制代码
进行速率匹配
支持不同速率端口

例如:

复制代码
100 Mb/s端口
        ↓
     交换机
        ↓
10 Mb/s端口

交换机可以先缓存,再以另一速率发送。

缺点

复制代码
延迟更大

因为必须:

复制代码
等待整帧接收完毕

八、直通 vs 存储转发

对比 直通交换 存储转发
什么时候转发 读到目的MAC后 收完整帧后
延迟 较大
差错检测 不完整/较弱 可以完整检测
坏帧 可能转发 可直接丢弃
速率匹配 不适合 支持
协议转换 不适合 可以支持

一句话:

复制代码
直通:快

存储转发:稳

九、交换机最核心:MAC地址自学习

交换机内部有一张表:

复制代码
MAC地址表 / 交换表

例如:

|-------|----|
| MAC地址 | 端口 |
| A | 1 |
| B | 3 |

意思:

复制代码
想找A -> 从端口1出去
想找B -> 从端口3出去

问题是:

复制代码
交换机怎么知道A在1号口?

答案:

复制代码
自己学。

十、学习规则只有一句话

交换机收到一个帧:

复制代码
源MAC = A
入端口 = 1

交换机会记:

复制代码
A -> 1

所以核心口诀:

复制代码
学源地址
查目的地址

这八个字非常重要。


十一、完整转发流程

收到一个以太网帧后:

复制代码
第1步:学习源MAC

第2步:查询目的MAC

第3步:决定转发方式

十二、情况1:目的MAC已知

例如交换表:

复制代码
A -> 1
B -> 3

现在:

复制代码
A从端口1发给B

交换机收到:

复制代码
源MAC = A
目的MAC = B
入端口 = 1

先学习:

复制代码
A -> 1

再查:

复制代码
B -> 3

所以:

复制代码
只从端口3转发

这叫:

复制代码
精准转发 / 单播转发

十三、情况2:目的MAC未知

假设表里只有:

复制代码
A -> 1

A发给B,但交换机暂时不知道B在哪。

那么:

复制代码
查不到B

怎么办?

交换机执行:

复制代码
泛洪 Flooding

即:

复制代码
除入端口外
向所有其他端口发送

例如:

复制代码
从port1收到

则发往:

port2
port3
port4

十四、未知单播为什么要泛洪

因为交换机只知道:

复制代码
"B不在我表里"

却不知道:

复制代码
"B究竟在哪个端口"

所以最保险的方法:

复制代码
所有可能出口都试一遍

只要B存在:

复制代码
它就能收到

其他主机收到后发现:

复制代码
目的MAC不是自己

便丢弃。


十五、A和B通信一次,交换机怎么学会两个人的位置

初始:

复制代码
交换表为空

连接:

复制代码
A -> port1
C -> port2
B -> port3
D -> port4

第一步:A发送给B

交换机收到:

复制代码
源A
入端口1

立即学习:

复制代码
A -> 1

此时不知道B:

复制代码
未知单播

所以泛洪:

复制代码
port2、port3、port4

最终:

复制代码
B收到
C、D丢弃

第二步:B回复A

交换机收到:

复制代码
源B
入端口3

学习:

复制代码
B -> 3

现在查目的A:

复制代码
A -> 1

因此:

复制代码
只向port1精准转发

最终交换表:

复制代码
A -> 1
B -> 3

这就是完整的:

复制代码
自学习过程

十六、情况3:广播帧

广播MAC:

复制代码
FF:FF:FF:FF:FF:FF

看到广播帧:

复制代码
交换机不需要查表

直接:

复制代码
除入端口外全部转发

即:

复制代码
泛洪

十七、组播帧

教材基础题中,如果没有专门的组播转发表机制,可以先理解成:

复制代码
通常执行类似泛洪处理

408基础题重点还是:

复制代码
单播
广播
未知单播

十八、一个容易漏掉的特殊情况

假设:

复制代码
目的MAC查表发现
目的主机也在入端口这一侧

那么交换机发现:

复制代码
没有必要再从任何其他端口转发

于是:

复制代码
过滤 / 丢弃该帧

经典情形:

复制代码
交换机某端口连接Hub
Hub下面挂A、B

A发给B

交换机如果已经知道:

复制代码
A和B都在同一个端口后面

就不会把帧转发到其他交换机端口。


十九、交换表为什么要老化

主机位置可能变化。

例如:

复制代码
A原来接port1
后来拔线接到port4

如果交换机永远保留:

复制代码
A -> 1

就错了。

因此交换表中的动态表项会有:

复制代码
老化时间

长期没有更新:

复制代码
自动删除

随后再次收到A的帧时重新学习。


二十、交换机不能解决什么:广播环路

交换机能够隔离:

复制代码
冲突域

但不能天然隔离:

复制代码
广播域

如果多个交换机之间存在冗余链路:

复制代码
SW1 ----- SW2
 |         |
 └-- SW3 --┘

形成环路后,广播帧可能:

复制代码
无限循环

导致:

复制代码
广播风暴

二十一、STP是干什么的

STP:

复制代码
Spanning Tree Protocol
生成树协议

目标:

复制代码
保留物理冗余
但在逻辑上阻塞部分端口
形成一棵无环生成树

例如物理上:

复制代码
SW1 ----- SW2
 |         |
 └-- SW3 --┘

逻辑上暂时阻塞一条:

复制代码
SW1 ----- SW2
 |
 |
SW3

这样就没有环。

如果主链路故障:

复制代码
STP可以重新激活备用链路

所以:

复制代码
STP解决交换网络中的二层环路问题

二十二、共享式以太网是什么

共享式以太网通常以:

复制代码
集线器 Hub

为中心。

例如:

复制代码
      Hub
    /  |  \
   A   B   C

所有主机:

复制代码
共享同一物理传输介质
共享总带宽
处于同一冲突域

二十三、Hub工作在哪一层

Hub:

复制代码
物理层

它不理解:

复制代码
MAC地址

也没有:

复制代码
MAC转发表

收到比特流后只做:

复制代码
放大
整形
转发到其他端口

所以它属于:

复制代码
"无脑转发"

二十四、为什么Hub必须使用CSMA/CD

因为:

复制代码
所有主机共享介质

假如A和B同时发送:

复制代码
会发生碰撞

所以必须:

复制代码
CSMA/CD

而且通信方式:

复制代码
半双工

二十五、Hub的冲突域和广播域

一个Hub连接的所有主机:

复制代码
整个网络 = 1个冲突域

同时:

复制代码
也是1个广播域

所以:

复制代码
Hub既不隔离冲突域
也不隔离广播域

二十六、交换机的冲突域和广播域

交换机:

复制代码
每个端口一个冲突域

所以:

复制代码
隔离冲突域

但是普通二层交换机:

复制代码
所有端口仍属于一个广播域

所以:

复制代码
不隔离广播域

如果要隔离广播域,通常想到:

复制代码
路由器
VLAN

二十七、Hub vs Switch:408核心表

|---------|-----------|--------------|
| 对比 | Hub共享式以太网 | Switch交换式以太网 |
| 工作层 | 物理层 | 数据链路层 |
| 是否识别MAC | 否 | 是 |
| 转发表 | 无 | 有 |
| 通信模式 | 半双工 | 通常全双工 |
| 带宽 | 共享 | 每端口独占 |
| CSMA/CD | 需要 | 全双工时不需要 |
| 冲突域 | 所有端口一个 | 每端口一个 |
| 广播域 | 一个 | 仍然一个 |
| 普通单播 | 向其他端口全部复制 | 查表精准转发 |
| 并行通信 | 不支持 | 支持 |
| 安全性 | 较低 | 相对较高 |


二十八、一个特殊陷阱:交换机端口连接Hub

教材专门强调了这个情况。

复制代码
A ─┐
B ─┼── Hub ─── Switch
C ─┘

虽然网络里有交换机,但:

复制代码
Hub这一侧

A、B、C仍然:

复制代码
共享一个冲突域

所以:

复制代码
仍然需要CSMA/CD
仍然只能半双工

因此不要机械记:

复制代码
"有交换机就永远没有冲突"

真正应该判断:

复制代码
交换机端口后面直接连一台主机?
还是接了共享式设备Hub?

二十九、MAC自学习题的固定解题模板

408遇到交换机转发表题,只做三步:

复制代码
① 学源

② 查目的

③ 决定转发

具体:

复制代码
收到:
源MAC = S
目的MAC = D
入端口 = P

第一步:

复制代码
更新:

S -> P

第二步查:

复制代码
D在不在MAC表?

第三步:

复制代码
已知D
-> 指定端口转发

未知D
-> 除入端口外泛洪

广播D
-> 除入端口外泛洪

D对应的端口就是入端口
-> 不向其他端口转发

三十、这部分最容易出现的思维漏洞

漏洞1:交换机收到帧先查目的地址

顺序不完整。

交换机应该先利用:

复制代码
源MAC

学习主机位置。

固定:

复制代码
先学源
再查目的

漏洞2:未知目的MAC就丢弃

错。

未知单播:

复制代码
泛洪

而不是:

复制代码
直接丢弃

漏洞3:交换机隔离广播域

错。

普通二层交换机:

复制代码
隔离冲突域
不隔离广播域

漏洞4:交换机网络一定不需要CSMA/CD

不严谨。

如果:

复制代码
交换机端口直接连接主机
并采用全双工

不需要。

但交换机端口如果连接:

复制代码
Hub

Hub侧仍然是:

复制代码
共享介质
半双工
需要CSMA/CD

漏洞5:Hub和交换机只是速度不同

错。

根本区别是:

复制代码
Hub不识别MAC,只复制比特

Switch识别MAC,可以学习和选择性转发

三十一、教材标注的408高频方向

你这几页教材已经标出了主要真题方向:

复制代码
2009:
交换机基于MAC地址转发

2013:
直通交换转发时延

2014 / 2016 / 2021:
MAC地址自学习过程

2015:
交换机特点

2016:
共享式和交换式以太网区别

2020 / 2022:
网络设备对冲突域、广播域的影响

因此强化阶段优先级建议:

复制代码
第一:
MAC自学习 + 转发

第二:
Hub / Switch
冲突域 / 广播域

第三:
全双工 + CSMA/CD

第四:
直通 / 存储转发

第五:
STP

三十二、最后压成一张脑图

复制代码
                 以太网
                   |
        ┌──────────┴──────────┐
        |                     |
      Hub                   Switch
    共享式                  交换式
        |                     |
     物理层                数据链路层
        |                     |
   不认识MAC                认识MAC
        |                     |
   全端口复制              MAC表转发
        |                     |
  一个冲突域              每端口冲突域
        |                     |
   半双工                 通常全双工
        |                     |
 CSMA/CD必须             全双工不需要
        |                     |
        └──── 都不天然隔离广播域 ────┘

交换机内部再记:

复制代码
收到帧
  ↓
学习源MAC
  ↓
查目的MAC
  ↓
┌───────────────┐
│ 已知 -> 精准转发 │
│ 未知 -> 泛洪     │
│ 广播 -> 泛洪     │
└───────────────┘

三十三、考前30秒版本

复制代码
Hub:
物理层、半双工、共享带宽、
一个冲突域、需要CSMA/CD、
收到就向其他端口复制。

Switch:
数据链路层、通常全双工、
每端口独立带宽、隔离冲突域、
不隔离广播域。

交换机转发:
先学源MAC,再查目的MAC。

目的已知:
精准转发。

目的未知:
除入端口外泛洪。

广播:
除入端口外泛洪。

直通:
快,但可能转坏帧。

存储转发:
慢一点,但能检错、支持速率匹配。

STP:
解决二层交换网络环路。

只要这套逻辑真正串起来,这部分选择题基本就是判断题。

相关推荐
笨鸟先飞,勤能补拙3 小时前
网络安全等级保护 2.0:从定级备案、建设整改到持续合规的系统指南
网络·人工智能·windows·安全·web安全·网络安全·github
wgh6534 小时前
策略路由实验
网络
测试运维日常笔记4 小时前
tcpdump(Linux服务器)配合 Wireshark(本地分析)使用手顺与常用过滤语法详解
linux·服务器·tcpdump
難釋懷4 小时前
Nginx日志
前端·网络·nginx
Loongproxy5 小时前
大规模采集为啥用隧道代理IP?会话保持如何做到无感轮换
java·服务器·网络
老赵的博客5 小时前
工控机之UDP组播
网络·网络协议·udp
Web极客码5 小时前
用 Python 搭建工具调用 Agent 的调试过程
java·服务器·前端
麦烤楽鸡翅5 小时前
计算机网络基础且重要芝士
网络·网络协议·计算机网络·面试算法题·无耻之徒
小疆智控5 小时前
工业跨网通讯实践EtherCAT转TCPIP网关关键技术
网络·网络协议