我在与嵌入式物联网设备通信的 C# Tcp 服务器上工作,遇到了严重的通信问题。数据包丢失或延迟。未收到 ACK...等
事实证明,我使用的网络有 3 个可用的接入点。两个在信道 1 上,一个在信道 11 上,所有接入点都使用同一个 SSID。
我正在寻找有关如果数据包从一个通道 1 发出并在另一个通道上返回会发生什么情况的信息。
我知道这会导致冲突。数据包损坏也可能发生吗?
答案1
单一无线网络和单一 SSID 拥有多个接入点,其中有些共享信道,有些不共享信道,这没有什么不寻常的。单个客户端一次只能与一个接入点关联。
当客户端从一个接入点漫游到另一个接入点时,可能会出现短暂的连接中断。除非网络设计不当,否则这种情况应该只发生在客户端物理移动时,即使发生这种情况,也很少发生。网络管理员应该能够检查日志以查找过度漫游的证据,但这种情况不太可能发生。
没有特别的理由认为这种设置会导致问题。
答案2
数据包丢失和莫名其妙的延迟是多个 AP 在同一信道和同一 SSID 上的设置中常见的问题。客户端漫游并不是那么无缝,尤其是在异构设置中。
请记住,每个客户端设备都会根据信号强度和/或可用调制等因素选择连接到哪个 AP。一旦连接到特定 AP,情况就很难保持稳定。客户端可以随时决定跳转到其他 AP,而且他们确实会这么做。只要有人站得太靠近 AP 天线,远处的客户端就会看到巨大的信号损失,从而启动切换过程。
当从一个 BSSID 更改为另一个 BSSID 时,客户端应向其连接的 AP 发送解除关联请求,然后关联到新 AP。有些客户端同时执行这两件事。有些客户端甚至在未正确断开与第一个 AP 的连接的情况下就连接到了新 AP。这是嵌入式 WiFi 芯片的典型特征,这些芯片用于从现有硬件创建“物联网”。
如果您认为每个 AP 同时是无线网络和有线网络之间的第 2 层桥接器,您就会知道每个 AP 都会主动转发来自客户端的帧,直到它与客户端断开连接。因此,有很多事情可能会出错,特别是如果 AP 来自不同的供应商。例如,一个 AP 可能代表已经决定转到不同 AP 的客户端在有线网络上应答 ARP 数据包。如果这种情况发生在上游有线交换机使 ARP 表上的客户端条目过期时,那么这两个主机之间可能会有 10-30 秒的断开连接。
这会产生各种奇怪且难以重现的问题。
这就是为什么每个供应商都采用特定解决方案来扩大单一 SSID 下的漫游覆盖范围。有协议可以创建独立于供应商的解决方案,例如亚太经合组织。你看这个就知道我的意思了(相当老了)推介会。
随着 WPA2 或更高安全性、加密、服务质量 (QoS) 和无线多媒体扩展 (WMM) 的增加,漫游的复杂性增加,并且需要新的 AP 间协议:802.11k、802.11v 和 801.11r。
我仍然不允许包含超过 2 个链接,但您可以轻松地在网上找到有关它们的参考资料。
在一个同质的、运行良好的、具有协作 AP 的扩展网络中,您的体验将会完全不同。