交换机如何转发帧
了解交换机如何只将数据发送到正确的端口
交换机如何转发帧 是 CoddyKit 上的免费 Network+ Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Network+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Network+ Academy 课程共包含 4 节课。
更智能的继任者
交换机是现代网络中用于连接 LAN 内设备的设备,比集线器智能得多。交换机不会盲目地重复数据,而是读取地址,然后只将每个帧转发到目标设备所在的端口。这一项改变大幅提升了速度、效率和安全性。本课程将准确讲解交换机如何做出这些转发决策。
工作在第 2 层
交换机工作在数据链路层(OSI 模型的第 2 层)。在这一层,数据会被组织成帧,每台设备的网卡都具有唯一的MAC 地址(媒体访问控制地址)。交换机会读取帧中的 MAC 地址,以决定将帧发送到何处,这就是它被称为第 2 层设备的原因。
帧具有地址
每个以太网帧都携带两个 MAC 地址:一个源地址(发送者),以及一个目的地址(接收者)。交换机会检查每个帧中的这些地址。通过记录每个 MAC 地址位于哪个端口,交换机就能精确地交付帧,而不是像集线器那样将帧泛洪到各处。
学习 MAC 地址
交换机通过学习来建立自己的信息。当帧到达时,交换机会记录源 MAC 地址以及帧进入的端口,并将这对信息存储在MAC 地址表中。随着设备不断发送流量,交换机会逐渐学会每台设备所在的位置。这种自动学习无需配置,并且会持续进行。
转发决策
要转发一个帧,交换机会将目的 MAC与其表进行比对:
- 已知地址 — 仅从匹配的端口发送该帧。
- 未知地址 — 从除接收端口以外的所有端口泛洪该帧。
目的设备回复后,交换机也会学会它的位置,因此后续帧可以直接发送到那里。
泛洪未知帧
当交换机还不知道目的 MAC 位于何处时,它会像集线器一样,从除源端口以外的每个端口泛洪该帧。但这只是暂时的:目的设备一旦响应,交换机就会学会其端口,并停止为该地址进行泛洪。因此,泛洪是一种后备机制,而不是正常行为,并且地址表很快就会补充完整。
全双工与专用带宽
每个交换机端口都以全双工方式运行,可以同时发送和接收数据,并为连接的设备提供专用带宽,而不是共享管道。这消除了困扰集线器的冲突,使每台设备都能同时以全速运行。这是交换式网络性能远远超过基于集线器的网络的一个重要原因。
条目老化移除
MAC 表不会无限增长。每个条目都有一个老化计时器;如果交换机在设定时间内没有再听到来自某个 MAC 地址的流量,就会移除该条目。这样可以在设备移动或断开连接时保持表的最新状态。如果设备之后再次发送数据,交换机只需重新学习其位置,就能保持转发准确。
单播、广播、多播
交换机会以不同方式处理不同类型的帧:
- 单播 — 发往一台设备;如果地址已知,就转发到该设备所在的一个端口。
- 广播 — 发往所有设备;从每个端口发送出去。
- 多播 — 发往一个组;进行泛洪,或借助额外功能有选择地发送。
广播始终会传播到整个交换机,这一点对于后续学习广播域时很重要。
转发方式
交换机可以用不同方式转发帧。存储转发会接收完整的帧,检查其中是否有错误,然后再进行转发——准确但稍慢。直通转发在读取目的地址后就立即开始转发——速度更快,但无法检测错误。大多数现代交换机使用存储转发,以确保可靠性。了解这两种方式,以及它们在速度与准确性之间的取舍,对考试很有帮助。
交换机为何胜出
通过智能转发,交换机相较于集线器带来了三项重要优势:专用全双工端口带来的更高性能;由于每个端口都是独立的冲突域而产生的更少冲突;以及由于帧不会发送给每台设备而带来的更高安全性。这些优势正是交换机全面取代集线器并成为每个现代 LAN 骨干的原因。
快速检查
测试您对交换机的理解。
回顾
您已经了解到,交换机是第 2 层设备,会读取帧中的MAC 地址并进行智能转发。它会将源 MAC 地址及其端口学习到MAC 地址表中,然后将已知目的地址的帧从单个端口转发出去,并暂时对未知地址进行泛洪。每个端口都是全双工并拥有专用带宽,从而消除了冲突。表中的条目会老化移除,以保持最新状态。交换机在速度、冲突控制和安全性方面都优于集线器,为每个现代 LAN 提供支持。
常见问题解答
「交换机如何转发帧」课时是免费的吗?
是的 — 「交换机如何转发帧」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Network+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Network+ Academy 课程共包含 4 节课。
「交换机如何转发帧」这节课中我会学到什么?
了解交换机如何只将数据发送到正确的端口 你通过在浏览器中直接运行的动手代码来练习 Network+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Network+ Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Network+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「交换机如何转发帧」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Network+ Academy 课中编写并运行代码吗?
能。每节 Network+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 集线器为何已成为过去
- 交换机如何转发帧
- MAC 地址和地址表
- 冲突域和广播域