2. 桥接模式工作原理:无线桥接的通信流程、MAC地址转发表的作用、桥接模式下的数据帧转发机制

好,咱们直接进入正题。桥接模式,说白了就是让两个WiFi网络“手拉手”连起来。你想想看,家里一个路由器信号到不了书房,再拉根网线又太丑,这时候无线桥接就派上用场了。我刚开始接触这个功能时,总觉得它跟中继器差不多,后来踩了坑才发现——两者转发机制完全不同。

2.1 无线桥接的通信流程

无线桥接的通信流程,我习惯把它拆成三步走:

  1. 扫描与发现:扩展器先扫描周围WiFi信号,找到主路由器的SSID。这一步就像你手机连WiFi前先搜网一样。
  2. 认证与关联:扩展器用你设置的密码去跟主路由器“握手”。握手成功后,扩展器会拿到一个虚拟的“身份ID”——其实就是它在主路由器那边的MAC地址记录。
  3. 数据转发:扩展器开始工作,把从客户端收到的数据帧,原封不动地“搬”到主路由器那边去。

嗯,这里要注意一个细节:桥接模式下,扩展器不会修改数据帧的源MAC地址。它只是扮演一个“二传手”的角色。我在项目中遇到过有人把桥接和中继搞混,结果配了半天网络不通,最后发现是扩展器把MAC地址改了,导致主路由器不认。

核心要点:桥接模式下,扩展器工作在OSI模型的第二层(数据链路层)。它不关心IP地址,只关心MAC地址。

2.2 MAC地址转发表的作用

MAC地址转发表,你可以把它想象成一张“通讯录”。扩展器里维护着这张表,记录着每个设备在哪个端口(或者哪个无线接口)上。

举个例子:

MAC地址 接口 老化时间(秒)
AA:BB:CC:DD:EE:01 WLAN(主路由侧) 300
AA:BB:CC:DD:EE:02 LAN(客户端侧) 300
AA:BB:CC:DD:EE:03 WLAN(主路由侧) 120

这张表的作用是什么?说白了就是避免“广播风暴”。如果扩展器没有这张表,它收到一个数据帧后,只能像无头苍蝇一样往所有接口转发——那网络早就瘫痪了。

我建议你记住一个原则:MAC地址转发表是桥接模式的大脑。它决定了数据帧该往哪走。我曾经调试过一个案例,扩展器频繁掉线,查了半天发现是MAC地址表老化时间设置太短,设备稍微一休眠,表项就被清掉了,导致每次都要重新学习。

避坑指南:我曾经遇到过扩展器MAC地址表溢出导致网络卡顿的情况。如果你家里设备超过30个,建议选支持大容量MAC表的企业级扩展器,别图便宜买几十块钱的家用款。

2.3 桥接模式下的数据帧转发机制

数据帧转发机制,我把它总结成四个字:学习、转发、过滤、老化

  • 学习:扩展器收到一个数据帧,先看源MAC地址。如果表里没有,就记下来,并标注是从哪个接口收到的。
  • 转发:查目的MAC地址。如果表里有记录,就只往对应接口转发。如果表里没有,就广播到所有接口(除了收到这个帧的接口)。
  • 过滤:如果目的MAC地址和源MAC地址在同一个接口上,那这个帧就不需要转发——直接丢弃。你想想看,如果客户端A和客户端B都在扩展器的LAN侧,它们之间的通信没必要跑到主路由器那边绕一圈。
  • 老化:表项不是永久有效的。如果一段时间没收到某个MAC地址的帧,表项就会被删除。这样做是为了防止设备移动后,表项还指向旧接口。

这里有个容易忽略的点:桥接模式下的数据帧,不会携带任何“桥接标记”。主路由器收到扩展器转发过来的帧,完全不知道中间有个扩展器存在。这就是桥接模式“透明”的含义。

警告:桥接模式下,扩展器不会做NAT(网络地址转换)。这意味着主路由器和扩展器下的设备,必须在同一个IP子网内。如果你发现扩展器下的设备获取不到IP地址,先检查主路由器的DHCP地址池够不够用。

最后说个实战经验。我调试桥接问题时,最喜欢用Wireshark抓包。你可以在扩展器的LAN口抓一个包,看看数据帧的源MAC地址是不是客户端的真实MAC。如果发现源MAC被改成了扩展器的MAC,那说明设备工作在“中继模式”而不是“桥接模式”。嗯,这个坑我踩过不止一次。