两个连接到同一WiFi的设备,是否会通过接入点进行通信?

24
如果设备 A 和 B 通过访问点 C 连接到同一个 Wi-Fi,当 A ping B 时,这些数据包会直接被 B 捕获还是会被 C 捕获并重新发送以便 B 可以捕获它们?
使用 Wireshark 来捕获数据包显示 ping 数据包中的 MAC 地址是 A 和 B 的 [不确定 C 是否拥有一个],因此如果数据包经过 C,则 C 类似于一个集线器。
非常感谢提供关于802.11[?]涵盖这方面内容的入门文章链接。
3个回答

11
在标准(即非AdHoc)WiFi网络中,WiFi设备之间发送的数据包将经过接入点。正如allen-smithee所提到的,如果您将AP视为交换机,则每个设备之间的“关联”类比成为电缆可能更容易理解。
一个好的测试方法是检查两个客户端A和B,它们连接到接入点C,但相隔很远以至于彼此无法听到,是否可以向彼此发送数据包。
注意:如果客户端A和B足够靠近以相互听到,那么它们就可以直接通信,但是这样实现通信会引入很多复杂性。
有关WiFi的入门指南是Matthew Gast的书《802.11 Wireless Networks: The Definitive Guide》(请参见链接获取“副本”)。特别是第4章。另外,表4-2总结了WiFi中不同功能中4个地址字段及其上面的“地址”将包括什么。

8
一个 802.11 帧最多可以有四个 MAC 地址 - 发送者、目的地和传输和接收无线电点(AP)的 MAC。如果你只看到了发送者和目的地,那么很可能你正在看一个 '伪装的以太网捕获'
“Hub” 可能不是描述 AP 的正确术语了。无线网络基本上是一个单一的媒介,就像集线器网络一样,带宽在客户端之间共享。然而,MIMO 通过有效地分层更多的媒介来增加带宽。交换式以太网网络实际上只是每个客户端的一个媒介(从交换机到每个客户端的一根线),因此,如果 MIMO 无线网络具有足够的层数,并且 AP 具有比任何一个客户端更多的带宽,则在某些方面它将类似于交换式网络。

关于802.11和帧的一般描述,请参见this link。 关于802.11中MAC地址使用的有趣观察,请参见this link

AP为从A到B重传数据包所做的工作量是一个有趣的问题。我相信大多数AP会在数据层检查数据包,然后构造一个新的数据包以便传输给另一个客户端。这样做最重要的原因是提供一定程度的客户端保护。还需要考虑的另一件事情是,如果AP具有WPA/WPA2企业级安全性,则使用每个客户端加密,因此AP必须对数据包进行解密和重新加密。


谢谢您的解释和链接,尤其是Wireshark部分(我再次意识到,片面的知识可能会很危险)。 - pareshverma91

2
简短回答是是的。在您的场景下(非AdHOC连接),两个设备必须通过访问点连接。WiFi是一种将数据(0和1)转换成无线电信号的物理层。因此,物理上包必须通过访问点传输,否则无法与任何其他设备进行通信。
我猜您不能在Wireshark上看到任何信息的原因是因为您正在查看第三层IP地址),其不会改变。如果您仔细查看第二层链路层),您将找到最后一个跳跃的MAC地址,在这种情况下是您的路由器。
注意:这通常发生在具有路由器的每个网络中。有一种技术叫做透明路由,它隐藏了主机的存在,通常是出于安全原因(例如,防火墙通常执行透明路由)。
以下是更多阅读内容:
  1. 当路由器接收到数据包时会发生什么? - CISCO论坛

  2. http://www.cs.miami.edu/~burt/learning/Csc524.092/notes/ip_example.html - 迈阿密大学计算机科学课堂笔记


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接