跳至正文
老丹的足迹 —— 代码写给机器,游记写给自己,感悟写给时间
老丹的足迹 老丹的足迹
老丹的足迹 老丹的足迹
  • 首页
  • 示例页面
  • 首页
  • 示例页面
老丹的足迹 老丹的足迹
老丹的足迹 老丹的足迹
  • 首页
  • 示例页面
  • 首页
  • 示例页面

网桥与交换机:从网段互联到网络核心的演进之路

在现代计算机网络中,数据需要在纷繁复杂的路径中找到正确的方向。网桥和交换机正是承担这一职责的关键设备,它们都工作在OSI模型的第二层——数据链路层,通过识别设备唯一的MAC地址来做出智能的转发决策。简单来说,它们不像集线器那样简单地将信号复制给所有设备,而是像网络交通的“守门人”,懂得分辨数据该去向何方。

网桥:连接网段的“智能中继”

网桥(Bridge)可以理解为一个比中继器更聪明的设备。中继器只是从一个网络电缆接收信号、放大后再送入下一个电缆,对其转发的信息内容毫不在意;而网桥则会在数据链路层检查数据帧的地址信息,根据目标做出不同的处理决策。

网桥的工作原理

网桥的核心工作方式基于一个“自学习”的过程。当网桥刚接入网络时,其内部的MAC地址表是空的,此时它对网络拓扑一无所知。它会逐一检查经过的每一个数据帧,从数据帧的头部解析出源MAC地址(即发送该数据帧的设备地址),然后将该地址与接收该帧的物理端口关联起来,逐步建立起一张“MAC地址—端口”的映射表。这个过程是完全自动的、动态的,网桥无需主动发送任何探测数据,仅通过监听常规的通信流量,就能“悄悄地”学到所有活跃发送设备的MAC地址及其所在的端口。

当地址表建立起来后,网桥的工作流程如下:

  1. 检查:网桥从一个端口收到数据帧后,解析出其目的MAC地址。
  2. 查表决策:网桥查询地址表,判断该目的地址位于哪个物理网段。
  3. 过滤或转发:
  • 如果目的地址与源地址在同一网段,网桥会丢弃(过滤) 该帧,阻止不必要的流量跨网段传播。
  • 如果目的地址在另一个网段,网桥则将该帧转发到对应的端口。
  • 如果目的地址在地址表中找不到记录(即未知单播),网桥会将该帧从除接收端口外的所有其他端口复制转发出去,这个动作称为泛洪,以确保数据能够送达目标设备——当目标设备回应时,网桥的学习机制就会再次运作,将其MAC地址学到表中。

这种机制使得网桥能够将一个大型的、冲突频繁的网络划分成两个更小、更高效的网段。例如,如果LAN A上的两台计算机互相通信,网桥不会将这些数据转发到LAN B,从而隔离了通信量,在特定条件下起到了增加网络带宽的作用。

网桥的功能与价值

除了基本的数据过滤和转发,网桥还具备以下重要功能:

  • 扩展物理距离:通过网桥连接,可以突破单个局域网在物理距离上的限制,使相距较远的设备也能处于同一个扩展网络中。
  • 协议透明性:网桥的转发决策仅依赖于MAC帧的地址,因此对IP、IPX等高层协议完全透明,可以同时处理多种协议的数据。
  • 提高可靠性与安全性:网桥将网络分段后,一个网段的故障通常不会影响到另一个网段。同时,可以谨慎地配置网桥来拦截无须转发的敏感信息,起到一定的安全隔离作用。
  • 连接不同MAC协议的网络:通过特殊的转换网桥或封装网桥,可以连接使用不同MAC协议的网络(如以太网和令牌环网)。

MAC地址表的维护:老化机制

MAC地址表并非一成不变,它会随着网络环境的变化而动态更新。由于设备可能会移动、关机或更换网卡,如果地址表永久保留某些记录,就可能导致数据被错误地转发。因此,网桥引入了老化机制:

  • 计时器:每条MAC地址表条目都有一个相关联的老化计时器(通常默认值为300秒,即5分钟)。
  • 刷新:每当网桥从某个端口再次收到同一个源MAC地址的数据帧时,该条目的计时器就会被重置并重新计时。
  • 删除:如果某条记录在计时器到期之前都没有再收到来自该源MAC地址的任何数据帧,网桥会认为该设备已经断开或移走,于是自动删除这条记录。

这个机制确保了地址表能够及时反映网络拓扑的最新变化,例如当一台设备从一个网段移动到另一个网段时,它的MAC地址在老化期后会被重新学习到新端口上,从而保证通信的正确性。

网桥的局限与缺点

尽管网桥在当时是一项重要进步,但它也存在明显的局限性:

  • 性能瓶颈:网桥的数据帧转发通常通过软件实现,处理速度相对较慢。在执行转发前需要完整接收帧并进行缓冲,这会引入较大的时延(几百微秒)。
  • 广播风暴风险:网桥无法隔离广播域。当网络中广播数据包增多,或网桥的地址表溢出时,大量未知目的地的数据帧会被扩散到所有端口,形成“广播风暴”,严重消耗网络带宽。
  • 无流控功能:在流量较大时,网桥可能因过载而造成帧丢失。
  • 端口数量有限:传统的网桥通常只有两个端口,扩展能力非常有限。

交换机:多端口、高性能的“超级网桥”

随着网络规模和复杂性的增长,网桥的局限性日益凸显。交换机应运而生,它是网桥技术的演进与升级。从本质上讲,交换机就是一台拥有更多端口、性能更强大的网桥。

性能飞跃:从软件到硬件

网桥与交换机最核心的差异在于技术实现方式:

  • 网桥:转发决策主要由软件处理。
  • 交换机:转发决策由专用集成电路(ASIC)硬件处理,能以“线速”在所有端口并行转发数据,转发延迟从网桥的几百微秒大幅降低到几十微秒甚至更低。

MAC地址表的构建

交换机与网桥一样,也采用“逆向学习”的方式构建MAC地址表。通电启动时表为空,通过监听每个端口收到的数据帧,提取源MAC地址并与接收端口关联后存入表中。但与网桥相比,交换机在地址表的处理上有显著提升:

  • 表容量更大:交换机可存储数千乃至数万条MAC地址记录,远大于网桥的有限容量。
  • 学习效率更高:得益于硬件的并行处理能力,交换机能够在所有端口同时进行地址学习,而网桥的学习过程受限于软件处理的串行特性。

并行处理能力

与网桥通常只能同时处理一个转发决策不同,交换机允许多组端口间的通道同时工作。例如,在一个交换机上,端口A到B、端口C到D的数据传输可以同时进行,互不干扰。这种并发能力极大地提升了网络的整体吞吐量。可以说,交换机的功能不仅是一个网桥,而是多个网桥功能的集合。

多样化的转发模式

交换机支持比网桥更灵活的数据转发方式:

  • 直通式转发:只读取数据帧的前14个字节(包含目的MAC地址)即开始转发,延迟极低,但不进行错误校验。
  • 存储转发:完整接收整个数据帧,进行CRC校验确认无误后再转发,更可靠,但延迟稍高。这也是传统网桥所采用的唯一方式。
  • 碎片隔离:介于两者之间的一种模式,检查数据帧长度是否小于64字节(以太网最小帧长),小于则丢弃,否则转发,兼顾了一定的速度与可靠性。

更丰富的功能

除了基本的交换功能,现代交换机还具备网桥难以企及的高级特性:

  • 虚拟局域网(VLAN):这是交换机最重要的功能之一。它可以通过软件将连接的设备逻辑上划分为不同的工作组,有效隔离广播域,增强网络安全性并简化管理。
  • 高速端口集成:交换机可以方便地集成千兆、万兆等高速端口,用于连接服务器或构建网络主干,解决带宽瓶颈。
  • 链路聚合与QoS:支持将多个物理端口捆绑为一个逻辑链路以增加带宽和冗余,并能为不同类型的数据流提供差异化的服务质量保障。

网桥与交换机的核心差异对比

对比维度网桥交换机
本质连接两个网段的二层设备多端口、高性能的“超级网桥”
端口数量通常只有2个通常有8个以上,乃至数十、数百个
转发实现主要通过软件实现主要通过硬件(ASIC) 实现,速度极快
MAC地址表容量较小(通常几十到几百条)很大(数千到数万条)
地址学习效率串行处理,效率较低并行处理,全端口同时学习
转发延迟相对较高(几百微秒)很低(几十微秒甚至更低)
并行能力同一时间处理能力有限支持多个端口间同时建立多条并发连接
转发模式主要为存储转发支持直通转发、存储转发、碎片隔离等多种模式
高级功能功能相对单一,主要进行帧的过滤与转发支持VLAN、QoS、链路聚合等丰富功能
适用场景早期网络、小型/简单网络互联现代所有规模的局域网,从家庭到大型数据中心

结语

网桥和交换机的关系,体现了网络技术从简单到复杂、从低速到高速的演进路径。网桥作为早期的智能化连接设备,解决了中继器无法隔离流量的根本问题,其“学习-过滤-转发”的核心理念为后来者奠定了基础。而交换机则在网桥的原理之上,借助硬件技术的进步,通过增加端口、提升速度、引入并发处理能力和丰富的管理功能,最终成为了现代局域网中无可替代的核心设备。可以说,交换机是网桥在新时代的完美进化与升华。

作者

老丹

关注我
其他文章
上一个

OSI参考模型:网络通信的七层架构完全解析

下一个

一次OpenWRT软路由网桥MAC地址冲突的排查与解决

关于博主

    老丹是一名C/C++后台开发工程师,信奉“无抽象不设计,无性能不生产”。

  • 技术栈:Modern C++、Linux环境编程、多线程/并发、网络编程等。
  • 信条:能用constexpr解决的问题绝不拖到运行时,能靠RAII避免的泄漏绝不写析构。
  • 正在填坑:从解封装到渲染的C++全链路实现,正在驯服FFmpeg与H.264/H.265。
  • 输出原则:这里的每一段代码都经过-Wall -Wextra -Werror -O2的洗礼。

近期文章

  • Linux系统的安全基石:深入理解可插拔认证模块(PAM) 2026年7月27日
  • vsftpd 完全指南:从核心原理到Docker容器化部署 2026年7月27日
  • 互联网的”导航”安全卫士:深入解读DNSSEC 2026年7月27日
  • Ubuntu DNS 配置完全指南 2026年7月27日
  • 在 Ubuntu 中使用 Certbot 的操作指南 2026年7月27日

文章分类

  • C/C++开发 (13)
  • Docker容器 (3)
  • Linux工具包 (10)
  • Linux服务配置 (33)
  • Linux系统 (10)
  • OpenWrt路由 (2)
  • Shell脚本 (3)
  • 安防技术 (4)
  • 数据安全 (30)
  • 网络协议 (17)
  • 计算机理论 (22)
联系我们:📍 地址:中国·广东省深圳市   |   ✉️ 邮箱:support@tanglinux.com   |   💬 QQ:870866607
版权所有:老丹的足迹粤ICP备2026061170号-1       公安备案图标 粤公网安备44030002013274号