Does upload and download speed share Wi-Fi bandwidth?
For example, my Wi-Fi access point's rated speed is 300 Mbit/s. If I transfer a file between two devices over the same Wi-Fi, will the speed be split or will I have 300 Mbit/s upload on my source and 300 Mbit/s to my receiving device, assuming they are the only ones connected to the Wi-Fi?
Very much "this will be split", but with additional losses, so you will get significantly less then half the speed!
Wi-Fi is half duplex, so a device can only send or receive at one time and needs to switch between the two.
Each device connects to the AP or router, and in typical 802.11b/g/n/ac, end devices don’t talk to each other. The router needs to receive the data (half the bandwidth), then transmit it (half the bandwidth), but the bandwidth is further decreased because of acknowledgment packets, but also because of collisions when multiple devices try to communicate simultaneously.
(This all, unrealistically assumes that you can actually get 300 megabit/s over a 300 megabit/s channel - outside a lab or Faraday cage you can’t.)
does upload and download speed share Wi-Fi bandwidth?
I suppose the answer depends on which question you meant. If you meant:
- Can I use upload and download at the same time, so I get 300 Mbps in both directions?
Then the answer is: No. Communicating in both directions is called "Full Duplex", where one-way-at-a-time is known as "Half Duplex". From my machine:
C:\> powershell "Get-NetAdapter | SELECT name, LinkSpeed, fullduplex | ft -tosize" name LinkSpeed fullduplex ---- --------- ---------- Bluetooth Network Connection 2 3 Mbps True Wi-Fi 72.2 Mbps False Ethernet 0 bps Local Area Connection 1 Gbps True Ethernet 2 1 Gbps True
If what you meant is, "does both the upload direction and the download direction need to share the bandwidth of available resources like the physical air that radio frequencies use, or time?", the answer is: yes, these directions share the bandwidth offered by such resources, one at a time.
At the time of this writing, I work where some professional equipment may enforce certain ratios, such as 75% of time being for download only and 25% of time being for upload only (with no real wiggle room).
If the question you really mean to ask is: "will I get my file transferred at a rate of 300 Mbps?", then the answer is "No way."
Let's assume, for a moment, that you're using a protocol like HTTPS or FTPS or even TFTP.
- Layer 1 issue: You probably don't live on a planet where there is no other radio frequency usage. Even narrowing this down further, you probably don't live on a planet that doesn't have Wi-Fi usage. Share, share, share.
- Layer 2 issue: The protocol overhead of Wi-Fi, which is notably more significant than Ethernet
- Layer 3 issue: The protocol overhead of IPv6 or IPv4 will eat into this.
- Layer 4 issue: The protocol over head of a Transport protocol, like UDP or the even more overhead of TCP, eats into efficiency.
- Higher layer issues:
- The protocol (e.g. HTTPS, FTPS, or TFTP) has its own data
- Software may eat into efficiency. Granted, many people have incentive for fast network stacks so a modern popular operating system will hopefully have a rairly optimized implementation of IPv4. However, the Wi-Fi implementation provided by a network card's device driver software might have experienced less optimization enhancements during its development.
You may have known about some of this, but still thought you could at least have 300 Mbps of traffic outside the IP packets. But Ethernet is significant, and Wi-Fi more so. I've even heard that Wi-Fi vendors have been known to measure the speed of air waves, not counting some of the build-up or tear-down time that the Wi-Fi equipment MUST do to process the availability of the air space (much less any additional time for creating a properly-formatted Wi-Fi frame).
Some devices have been known to report speeds based on how much bandwidth an antenna could handle, times the number of antennas, ignoring the fact that those older Wi-Fi standards disliked collisions pretty badly and so there's no way that all the antennas would be getting used at once.
The industry standard is for the reported Mbps to not match what an end user will actually get out of the equipment. Whether or not you like the truth of this idea, it is good to realize that is a standard that is followed pretty universally (by all companies reporting Wi-Fi speeds).
By the way, 300 Mbps? Really? I know people have different budgets, but that speed seems old enough to me that I thought it was worth pointing out here. Wi-Fi 4 was released in 2009, over a decade ago. (At the time, it was primarily known as 802.11n, or sometimes other names like Wireless-N). Wi-Fi 5 was released in 2013 (known as 802.11ac), could report 1.3 Gbps. At the time of this writing, Wi-Fi 6e options are avaiable. Wi-Fi 5 equipment is likely to be pretty inexpensive these days, so if you're looking for the highest possible network speed, you might want to consider whether acquiring some equipment, even buying some pretty cheap equipment, might do you some very substantial good.
It's complicated, but in short: it will be split, and it will be less than that, even.
-
When we talk about Wi-Fi speed, the number you're getting is a raw data rate. The bits in a frame are sent that fast. But there's overhead at the beginning and end of frames (and at higher protocol layers), and time between frames, and frames that get lost due to noise and have to be retransmitted, so even in an ideal scenario, the useful data transfer rate will be less.
-
Wi-Fi is a shared medium: historically, only one station can be transmitting at a given time. If you send data from one wireless client to another wireless client, then it has to be sent over that shared medium twice (from the first client to the access point, then from the access point to the second client), which cuts the available transfer speed in half.
-
Recent Wi-Fi versions (802.11ac and 802.11ax) change this a bit: MU-MIMO and OFDMA are multiple-access technologies that allow multiple stations to transmit at the same time, with the coordination of the access point. But they're still based on sharing: breaking up the available spatial streams or frequency slots into chunks, and giving some to one client and some to another. It's more efficient overall, but the total available bandwidth still has to be divvied up. You can't use the maximum possible in several directions at once.