4 ms·
While simple or naive TDMA is the most obvious solution to collision avoidance (every node gets a fixed-length turn), there are more efficient methods available
by jcrawfordor 7y ago
While simple or naive TDMA is the most obvious solution to collision avoidance (every node gets a fixed-length turn), there are more efficient methods available. Typically this takes the form of some sort of "channel reservation" scheme where each node gets a turn not to transmit, but to report whether or not it wants to transmit (and perhaps how much). Then either a coordinating point or a distributed algorithm decides how to allocate transmission time to the nodes who want it. This is often called "dynamic TDMA" and is used in various real wireless networks. There are also tricks you can pull with CDMA, OFDMA, and other flavors of multiple access. I suspect there's some mathematical upper bound on the efficiency of these schemes but I'm not sure what it is.
As I understand it --- and this comes with the grain of salt that my detailed knowledge of network protocols tends to be out of historical interest and so intrinsically out of date --- WiFi does not use any collision avoidance tricks right now besides CSMA/CA which is only partially effective. There are plenty of papers you can find about improved systems but none of them seem to have been adopted, besides 802.11ax introducing OFDM and 'coloring' which mitigate but do not eliminate the problems with CSMA/CA. I only know a bit about this stuff but I think the hidden node problem makes collision avoidance fundamentally difficult and is very common for WiFi due to the short range and buildings interiors etc - which is why non-collision schemes like TDMA are used with WiFi, but generally only in more specialized situations where the network operator controls everything and can make certain guarantees about all devices being aware of each other.
So when I think about it more, saying that 'collision avoidance is strictly better than collision detection' is probably actually untrue in a situation where you have to cope with hidden nodes. At least that's my non-expert thinking.