两个设备是否连接到同一个wifi,通过接入点进行通信以进行相互通信?

时间:2014-12-05 09:33:54

标签: wifi wireless 802.11

如果两个设备A和B通过接入点C连接到同一个wifi,并且如果A ping B,这些数据包是由B直接接收还是由C捕获然后重传,以便B可以捕获它们?

使用wireshark捕获数据包显示ping数据包中的mac地址是A和B [不确定C是否应该有一个],因此如果数据包是通过C进行的,则C类似于集线器

关于这方面的802.11 [?]入门的链接将受到高度赞赏。

3 个答案:

答案 0 :(得分:10)

在标准(即非AdHoc)WiFi网络中,答案是肯定的,在WiFi站之间发送的数据包将通过接入点进行。正如allen-smithee所提到的,如果你认为AP是一个交换机,那么类比可能更有意义,每个站之间的“关联”就是一条电缆。

测试这个的一个好方法是看看两个客户A& B,它们连接到接入点C但是相距很远,所以它们不能互相听到,可以互相发送数据包。

注意:如果客户A& B足够接近听到对方,他们可以直接沟通,但实施这样的通信会带来很多复杂性。

关于WiFi的一本很好的入门书是Matthew Gast的书802.11 Wireless Networks: The Definitive Guide(参见“副本”的链接)。特别是第4章。另外,表4-2总结了4个地址字段以及WiFi中不同功能的“地址”。

答案 1 :(得分:7)

802.11帧最多可以有4个MAC地址 - 发送方,目的地以及发送和接收无线接入点(AP)的MAC。如果您只是看到发件人和目的地,那么您可能会看到'fake Ethernet capture'(需要向下滚动几段。)

'集线器'可能不再是描述AP的正确术语。无线网络基本上是单个媒体,如集线器网络,在客户端之间共享带宽。但是MIMO通过有效地分层更多媒体来增加带宽。交换式以太网网络实际上只是每个客户端的中等(来自交换机的每个客户端的一条线路),因此如果MIMO无线网络具有足够的层并且AP具有比任何一个客户端更多的带宽,则它在某些方面类似于交换网络。

有关802.11和帧的一般说明,请参阅this link。 有关802.11中MAC地址使用情况的有趣介绍,请参阅this link

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

答案 2 :(得分:1)

简短回答是。在您的方案中(非AdHOC连接),必须通过接入点连接两个设备。 WiFi是将数据(0和1)转换为无线电信号的物理层。因此物理数据包必须通过接入点否则无法与任何其他设备进行通信

我认为,您无法在Wireshark上看到任何信息的原因是因为您正在查看第3层 IP地址)并且不会更改。如果您仔细查看第2层链接图层在每一步发生变化,您会发现MAC address最后一跳,在这种路由器的情况下。

注意:这是每个带路由器的网络通常会发生的情况。有一种称为透明路由的技术,它隐藏了主机的存在,通常是出于安全原因(例如防火墙通常执行透明路由)。

以下是一些进一步阅读:

  1. What happens, when router receives packet? - CISCO论坛

  2. http://www.cs.miami.edu/~burt/learning/Csc524.092/notes/ip_example.html - 迈阿密大学CS课程笔记