1

I am testing the actual speed of transferring a file from a network share.

Over my 1 Gigabit Ethernet I get about 120 MB/s - that's 96% of the theoretical maximum.

Over my old Wireless G I get about 2.5 MB/s - that's only 37% of the theoretical maximum of 54 Mbit/s.

Over my new Wireless AC I get about 30 MB/s - that's only 28% of the theoretical maximum of 866 Mbit/s.

The client and server machines are the same in each case. They have huge amount of CPU power and a nice array of M.2 NVMe SSDs, so the hardware should not be an issue.

In both cases the high-level protocols are the same, so the protocol overhead should be the same (except the physical layer). SMB -> TCP -> IP -> PHY.

For the wireless case the client and server are put about 1 m apart, in line of sight and in a rural area with no or little traffic over 2.4 and 5 GHz.

Why all my wireless connections are so far away from the theoretical maximum compared to Ethernet?

(Using ASUS RT-AC88U for the Wireless AC test).

  • Unfortunately, questions about consumer-grade devices are explicitly off-topic here, as are questions about hosts. You could try to ask about those on Super User. – Ron Maupin Jun 5 '17 at 13:40
  • My question is not about any specific device. Its about what ratio of real speed over theoretical speed can I expect in IEEE 802.11ac when using SMB for file transfer. I know that for Ethernet I get 0.96 for example. – Eiver Jun 5 '17 at 13:57
  • 1
    The layer-2, layer-3, and layer-4 overhead can be bigger than the data being transferred. Ethernet may also (probably does in modern networks) operate at full duplex, which is not possible on 802.11. Assume you are transferring 512 byte data payloads on ethernet. You have seven bytes of preamble, one byte SoF delimiter, 14 bytes of frame header, four bytes of FCS, and a 12-byte interpacket gap just for the ethernet overhead. Then, you have a minimum 20 bytes of IP header and either eight UDP or 20 TCP bytes of layer-4 header. That could be 78 bytes of overhead to transfer 512 bytes of data. – Ron Maupin Jun 5 '17 at 14:08
  • 1
    802.11 has bigger layer-2 headers, and it has all types of other frames not in ethernet. The shared medium also contributes, especially when both the source and destination hosts are on the same LAN. Only one device at a time can transmit, and data transmission is halted by control frames. a 50% rate would be almost ideal. – Ron Maupin Jun 5 '17 at 14:11
  • 2
    1 meter may actually cause problems from excessively strong signals overloading the receiver front-end in the AP and Client radios. 5-10 meters may actually go faster. There is such a thing as "too much power" - the moral equivalent of sitting in a quiet room while someone shouts in your ear with a bullhorn... – Ecnerwal Jun 6 '17 at 2:27
5

While a rather straightforward question, the answer is quite a bit more convoluted. Simply because there are so many factors that can play into your actual throughput on wireless.

Let me start by clearing something up; namely that you use the terms "theoretical" and "real" WiFi speeds. By theoretical you are referring simply to the data rates a wireless environment is capable of transmitting. By real you are referring to end to end throughput between two client endpoints. These are not equal.

While an 802.11 system may be using its maximum data rate to transmit data, often it is not, and most realistically, data is being transmitted at multiple different data rates during a data transfer. This will then have an impact on the actual throughput.

Then there is always some level of inefficiency in transmitting data, even if you simply consider the headers used as one point of inefficiency. As you noted, even a wired Ethernet connection cannot match its throughput to the data rate.

Here are some (not all) of the factors that create the difference between the possible data rates of 802.11 and the throughput:

  • 802.11 is half-duplex. This means that only one device can talk at a time, even with one client device, this means there are two devices that must share the "airtime" (i.e. number of timeslots available to transmit) when trying to transmit.
  • 802.11 uses multiple different data rates to communicate, potentially all the way down to 1 Mbit/s. Too close or too far from the access point and the data rates used will likely drop. Same for if the environment is "noisy" with other communications in the same or nearby frequencies.
  • 802.11 requires that all data frames (or starting with 802.11n when supported, aggregates of multiple frames) to be acknowledged or the data will be retransmitted. These acks take up some of the "airtime."
  • 802.11 utilizes a number of types of management frames. These management frames are often transmitted at much lower data rates than data frames so that all supported devices in the area can receive them. Examples of these would be beacons, probe requests and probe responses.
  • Support for legacy 802.11 protocols can require the use of other types of management frames, such as RTS/CTS, to prevent conflicts between older devices that may not be able to understand that a newer device is transmitting.
  • Support (or lack thereof) for optional 802.11 features that may be available to the client and/or infrastructure. Some of these will increase performance significantly if both support it.
  • The number of other 802.11 networks operating on the same frequency (or overlapping frequencies). Just one other network in the same area can reduce your throughput by 50%.
  • The number of SSID (i.e. wireless networks) being transmitted by your infrastructure. Each SSID will have its own management overhead, reducing the efficiency of the "airtime."
  • The more client devices associated to an access point, the smaller a share of the "airtime" they will get. Depending on the infrastructure in use, it can try to manage the use of the airtime in some way or leave it for random distribution.
  • If there is no "airtime fairness" process used by the infrastructure, client devices with lower data rates will take up a disproportionate amount of airtime to transmit the same amounts of data as clients with higher data rates.
  • Certain types of traffic (broadcast and multicast) cause data to either be transmitted at a lower data rate or possibly multiple times. There are a number of often running background applications on most client devices that send this type of traffic.
  • More client devices in the area will reduce efficiency, irregardless of if they are associated or not. This is because most client devices will continue to send out probe requests and expect probe responses even when connected to an AP in an attempt to find a better connection point (i.e. roaming).
  • Interference on the same frequency/frequencies can have a significant impact on performance. For 2.4 GHz, this includes many devices such as Bluetooth devices, wireless keyboards/mice, microwave ovens, tire pressure sensors in nearby vehicles, etc.
  • Antenna orientation at the AP and/or client device can significantly impact the signal quality.
  • Humidity in the air can absorb 802.11 signals reducing signal strength.
  • Where your body is located in relation to the AP and client devices.
  • How close the AP and/or client devices are to things that can cause reflections such as concrete walls. Being tucked into corners can be very bad for 802.11 devices.
  • Driver quality of the client and/or infrastructure. This can have a significant impact on performance. One of several examples I have dealt with personally was one client vendor who had a driver issue for a while after 802.11n was ratified that caused their wireless devices to transmit thousands of unnecessary frames under certain conditions. This significantly impacted those client devices' performance until it was fixed by a later driver update.

I can go on, but hopefully you are starting to get the point. There are quite a few factors that can reduce either the 802.11 data rates that are used when two devices communicate or reduce the efficiency of the medium, either of which will reduce the actual throughput you will get between two endpoints.

4

The "theoretical maximum" you refer to is the PHY clock rate. That has little to do with throughput, as you have discovered. A better question is why Wi-Fi is slower than Ethernet. There are a couple of important differences that affect the throughput:

  1. 802.11 is half-duplex, while switched Ethernet is full duplex. That means stations can simultaneously transmit and receive on Ethernet, but on 802.11, a station has to stop transmitting in order to receive. So after a station transmits, it has to stop transmitting and switch to receive in order to hear acknowledgements. That slows things down.
  2. Unlike Ethernet which is CSMA/CD, 802.11 is CSMA/CA. The collision avoidance mechanism (RTS/CTS) is more "chatty," and creates more overhead than Ethernet. Even in a "quiet" environment as you describe, CSMA/CA is trying to avoid collisions, and that takes up bandwidth. In contrast, full-duplex Ethernet should never have collisions.
  3. For 802.11AC, the number of spatial streams depends on both the AP and the client hardware. You can only go as fast as the slowest component. You don't mention what kind of client you're using, So your AP may be 4x4, but your client may be 2x2.
  4. Finally, although you say you're in a quiet environment, 1 meter apart, it would be worthwhile to verify your connection speed.
  • Ad 2. I thought RTS/CTS was optional and stations would start using it only if a lot of collisions were detected by the AP. Ad 3. For the client I use Gigabyte P38W V3 and the actual negotiated speed reported by the OS was 866 Mbit/s (2 streams). Ad 4. It might be that my environment is more noisy than expected - I can measure that. That leaves us with point 1 - half-duplex vs full-duplex. Could that alone account for real/theoretical=28% or am I missing something here? – Eiver Jun 5 '17 at 12:41
  • * Gigabyte P35W V3 – Eiver Jun 5 '17 at 12:52
  • CSMA/CA has no relation to RTS/CTS. They are two entirely separate mechanisms. Generally RTS/CTS (or more often CTS-to-self) is protection for legacy wireless systems in the area (namely 802.11b as it does not understand OFDM). It is also sometimes used to alleviate hidden node problems or for traffic management. CSMA/CA is used even of no form of RTS/CTS is present. – YLearn Jun 5 '17 at 15:07
  • Full-duplex Ethernet CAN'T have collisions as there's only one sender and one receiver in a segment. Additionally, there's no way to detect/signal them. – Zac67 Jun 6 '17 at 12:29
2

The theoretical maximum data rate is subject to several conditions. 802.11 employs several MCS (Modulation and Coding Scheme) indices, that determine the data rate depending on the SNR. This is why you get lower data rates when you're further away from the router (or interference).

Let us assume that you do have excellent SNR in the given scenario. Even if the highest MCS index were used, an important point to note is that throughput is not the same as the data rate. The maximum data rate is measured after considering that -

1/ All spatial streams are employed (Maximum of 8 in 802.11ac). This would happen only in an environment that supports a lot of scattering/diffraction of waves. In your case, for a point-to-point link, I think you obtain just 1 effective stream (The MIMO matrix would be rank-deficient).

2/ Channel is robust to errors (Not much interference or thermal noise)

3/ All transmit/receive queues are maximum but not overflowing (application rate is equal to transmit rate)

4/ The TCP MSS matches the underlying MTU (2304 bytes for 802.11)

These are only some important factors, apart from several others.

A comparison between 802.3 and 802.11 is not really fair since CSMA/CA suffers from several hindrances (collisions, delays, requirement of periodic ACK, contention) but helps to provide wireless access.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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