Say we have a router (capable of the 802.11 protocol standards) and some number of devices that are configured to communicate with this router. I have learnt about how devices/nodes use CSMA/CA to transmit data, and other mechanisms such as RTS/CTS & NAV, to help prevent collisions in the wireless medium.

However, I haven't been able to find an answer to a subtle issue. If one device intends to communicate with another device, then would it be possible (as per the 802.11 standard) for the devices to communicate directly with one another (assuming they are within each other's range)? Or would they still have to send packets via the router?

I just feel that a significant latency is introduced if the devices have data to send to each other, but have to still route packets through the router. The same CSMA/CA scheme could be used to coordinate transmissions between the devices directly.

up vote 1 down vote accepted

Packets are layer-3 datagrams, e.g. IP packets, that get routed, but Wi-Fi (IEEE 802.11) is a layer-1/2 protocol that uses frames, which encapsulate the packets.

Wi-Fi has an infrastructure mode, where all frames must pass through the WAP, and an ad hoc mode, where frames are sent directly to another host. You must use one or the other. Most businesses use infrastructure mode with WAPs to get traffic to and from the main network.

You are not wrong. It adds both latency and consistency issues but hopefully you can source a high quality access point to mitigate that.

WiFi Direct (which Miracast uses) allows certified devices to contact each other directly using a "Soft AP" approach.

https://en.wikipedia.org/wiki/Wi-Fi_Direct

However this is beyond the 802.11 standard but I thought I would mention it as it might interest you.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.