我这样说的意思是,当所讨论的 AP 作为主机连接到 Wi-Fi 网络“A”时,它处于一种运行模式,同时它定义自己的 Wi-Fi 网络“B”;“B”的客户端被路由到“A”(通常使用 NAT)。
我现在有使用 OpenWRT 有线连接的 TP-Link Wi-Fi 扩展器,但我的 get 告诉我“路由模式”不典型,并且它的支持需要 2 个无线电波段。典型的 Wi-Fi 中继器有 2 个吗?
是否存在这样的量产设备?
答案1
好的,让我们稍微理清一下。“扩展器”有几种操作模式:
1) 一种操作方式是直接重新传输收到的帧,不做任何改变。在这种模式下,中继器在 WLAN 中不存在,没有 IP 地址,也没有 MAC 地址(尽管中继器通常充当在作为客户端使用这些地址,能够呈现 web 界面等。)不会发生 NAT。只需要一个无线电堆栈。
2)扩展器也可以作为无线分布系统(WDS)。WDS 的问题在于标准有点模糊,允许不同的实现。除此之外,还有彼此不兼容的专有实现。
通常,单个 AP 与其客户端之间的通信仅涉及无线通信帧中的三个 MAC 地址。但不同 AP 之间转发帧需要四个 MAC 地址(原始源、原始目标、发送 AP、接收 AP),因此要实现“真正的”WDS,全部参与的 AP 需要切换到四地址模式。您通常会使用WDS
AP 网页界面中的选项或类似选项启用此模式。然后转发只会在 OSI 级别 3 上进行,数据包永远不会离开网络接口,不涉及任何 IP 地址,只涉及 MAC 地址,并且不会发生 NAT。只需要一个无线电堆栈。
3) 第三种操作方式是让扩展器既充当独立 AP,又同时充当主 AP 的客户端。这需要两个网络接口,但不一定是两个无线电堆栈:大多数现代单通道 Wifi 硬件完全能够支持一个无线电上的多个接口。在 Linux 上(大多数路由器都是嵌入式 Linux 系统),iw phy
将向您介绍有效的接口组合标题。
这是最糟糕的操作模式,因为现在你实际上有两个独立的 AP 在同一个信道上相互竞争,而且由于隐藏站问题,可能会发生未检测到的碰撞,除了需要重复数据包之外,还会降低整体吞吐量。
因此,虽然两个无线电堆栈并不必要的,如果扩展器可以使用两个不同的信道,一切都会运行得更顺畅。但是,可以同时处理不同信道的两个无线电堆栈价格昂贵,在硬件中很少见到,因此大多数扩展器不会使用此模式。
这也是扩展器实际上充当网关并执行 NAT 的唯一模式。
您可以在 OpenWRT 中设置此模式,但最好使用其他模式之一,或者保留旧固件并使用 TP-Link 的专有模式(如果您的所有硬件都是 TP-Link)。
答案2
是的,这可以在没有两个无线电的情况下完成。如果网络“B”和网络“A”共享无线电,则它们必须使用相同的信道。据我所知,仅有的多无线电设备有一个 2.4GHz 无线电和一个 5GHz 无线电。同一频段的两个无线电必须涉及更多的工程设计,以防止它们相互干扰。我有一台华硕 WL-330gE,它可以在库存固件中执行您描述的操作。我没有使用过 OpenWRT,所以我不知道如何设置它的细节,但我相信这是可能的。