The Request to Send frame is 20 bytes. 2 bytes Frame Control 2 bytes Duration 6 bytes Reciever Address 6 bytes Transmitter Address (TA) 4 bytes Frame Check Sequence (CRC) The Clear To Send and ACK frames is the same minus the 6 bytes TA.
If there is an RTS collision, the requesters can use binary exponential back-off to send the next RTS at a random time. Each time there's a collision in succession, they will roll a bigger (more sides) "die" to determine how long they should wait before they send another RTS.
When I first started teaching Ethernet over 30 years ago, I too used the analogy of rolling a die (using the word die, instead of dice, always felt wrong to me 😀) with more sides on it.😉
Medium access is hard. Thirty years ago when I was doing my Master's in RF comms we were working on this problem. We were using a slightly different variant called Elimination Yield Non Preemptive Multiple Access. One aspect of WiFi I'd like to see covered is how the protocols characterise the radio environment. You can't just fire off a packet and expect it to be received if, for example, there is multipath propagation (so portions of the signal arrive at different times) or the transmitter and receiver are moving relative to one another (which introduces a Doppler shift). Then there's the channel coding (quadrature keying, RAKE receivers, Viterbi decoders etc.) A lot of interesting stuff is going on in a WiFi setup and to 99.9% of people it's completely invisible.
Doppler shift on WI-FI ?!?!? With which speed are you moving with the laptop/phone to be able to have a measurable doppler shift of the radio waves? If you have the required speed you'll be out of range faster than detect the shift I believe (maybe I'm wrong).
@@apclaudiu At gigahertz frequencies, walking speed is enough to rotate the QAM constellation sufficiently to make your BER go through the roof. It manifests itself as a clock frequency offset between receiver and transmitter (which exists anyway and has to be accounted for). Fortunately it's relatively easy to counter (it looks like a multiplication by a unit modulus number exp(i theta t) in the phasor plane, so you measure it by timing recovery during the channel training phase and apply the countervailing multiplication to derotate the constellation).
@@davidgillies620 Thank you for your explanation but I need to ask more not to refute you but for my understanding. QAM constellation is affected more by reflected signals. Calculating Doppler effect on 2.4 GHz moving with the speed of sound is just 0.0001% shift of frequency. I believe moving in an office/open space will involve more change in reflections than in Doppler effect. You can use Doppler effect to calculate speed if you really want but I do not believe it will affect the data transfer. Again maybe I'm wrong and I will enjoy being corrected and learning more.
@@apclaudiu QAM encodes data with both phase and amplitude. Walking speed is enough to change that phase a measurable amount relative the QAM encoding lattice (AKA constellation) at frequencies higher than 1GHz.
my understanding is that it's built into the TCP/IP protocol.. at the receiving end it'll reconstruct the packets (can be out of order) and if there's a packet sequence missing it'll ask the sender to resend?
The hidden node problem showed up in my introductory network class just last week but we didn’t get to dive into the details What a great video at such perfect timing to satisfy my curiosity
This was a huge issue in the WISP industry since every node was effectively hidden. Manufactures started modifying the 802.11 standard and adding TDMA. Ubiquiti, Cambium, etc. use a scheduler with time slots. Each station is given a time slot to send completely eliminating the issue with colliding symbols.
Thank you. This is what drove me to the comments section. Glad to see you already addressed this, so I don't have to! An additional little bit is that with 802.11n and newer is it also possible for the AP to set up radio frequency bandwidth reservations, rendering the issue largely moot when using commercial multi-multi access points.
I was going to ask this very question. TDMA seems like the perfect solution to CD and CSMA. The TDMA could be scaled by the amount of users connecting the wifi access point. This would eliminate the overhead of other redundant commands.
another example is kids have to put their hand up to speak in class. they cant see the other kids behind them asking. and the teacher gives each of them permission to talk.
It's not a perfect analogy for wireless since the medium to ask for permission (visual) is different from the medium for transmission (voice). You can also raise your hand while someone is talking, and multiple people can raise their hand at the same time, the only conflict is if someone is directly hidden by somebody else's raised hand. Wireless would be like the classroom shouting "me" to ask permission, but in a classroom everyone should be able to hear everyone else so it's also not an accurate example either 😀
Let's see if fluidly mixing metaphor works: You also have the problem of some nodes with high-gain antennas which aren't located far away from the "teacher" node. Far away at the far end of the 150 person (eg 150 user nodes) classroom is one thing as the person shouts out answers and uses a hearing aid to increase reception of the teacher's shouted response. But if the "teacher" has a bunch of high-gain antennas clustered next to him shouting and receiving all the time, the other members of the classroom have problems.
As a licensed radio operator I thought I'd clarify the exact meanings: Over = I have finished transmitting and am waiting for a reply Out = I have finished transmitting and am not waiting for a reply I imagine it should be fairly obvious why you can't have both of those things at once
@cas curse lol, I still say "say again" rather than using the R word IRL! (the story I heard was that on MIL-NETS you never say repeat as in "repeat last message" as the word is reserved for Artillery spotters who are asking for a "repeat" of the last artillery salvo. Anyone know where or how it originated?? Is it only UK?
I have known "all this" for several decades but I *understand* it much better, now, as a result of this presentation and, so, *gratitude* [and a well-earned thumb].
@@joegee2815 I've felt like that since I was a kid. Just got stronger as I got older. Very superstitious family. Me scratching head thinking "bunch of idiots". In a weird way it was funny. B well m8. :)
The technology develops gradually. There's nobody wake up in the morning and suddenly comes up with all of this idea. They solve many smaller problems, build something on top of previous works, and over time, it all looks like a magic.
Addendum to the "over and out" thing, IIRC "over" basically means "please respond", whereas "out" is like "I'm done talking so I'm not going to pay attention if you respond".
There's no "over and out." There's "over," which comes at the end of the message but the exchange continues with the other party now free to transmit. There's "out," which is usually preceded by the speaker's callsign, e.g. "Copy that. 51 out."
And over the (military) radio only the caller can send "over and out" - means hang-up. The receiver can't terminate the conversation until the sender does. If done properly and according to protocol. It the receiver wants to terminate he can state so in conversation and receive an "understood, over and out" from the caller to end the conversation.
"Over and out" is only a thing in movies and are only used here, and by people that don't know better. Why would you ever waste time word mincing saying over when you just mean out? Every extra word spoken is time the "line" is hold op, so other can't use it. "Over" Transmission complete, over to you. Waiting for a response. "Out" Transmission complete, end of conversation
@@TheTykbry Source? "Why would you ever waste time word minicing..." (sounds like a guess) - Maybe for clarity? For no misunderstanding? Noisy line? One word might be anything, three words sounding like "over and out" is probably understandable. Don't know for other nations but where I was trained we had a clear protocol sometimes wasting words (or using a spelling alphabet) to ensure no misunderstanding occurs. We don't want to guess what the other side said... And it's at times very hard to hear each syllable over the static and general noise.
Thank you very much, Mr. Engineer, I really got a delay on my Wi-Fi network, but I couldn't realize what the problem was, but now I've understood the issue behind using a hidden Wi-Fi network
Computer tech to a lay person is pretty much magic. And if you understand a bit of it (thanks Computerphile ;) ) it's still magic xD Just the thousands of things happening at any second is incredible to think off. But at the same time the outcome is considered rather mondain these days. Just browsing the web on wi-fi. Not very exiting. Thousands of messages being send via the air and wires over routers and access points, cables that cross the ocean, thousands of miles and all that in split seconds... rather incredible.
There's two reasons for MIMO. One is simply that you can get multiple times the speed through the same bandwidth. The other is to do beamforming, but I don't think it normally works well enough to solve the hidden node problem, but it's usually able to solve the exposed node problem provided the networks are far enough apart.
WiFi's MIMO (in 11n, 11ac, 11ax) standards perform space-division multiplexing (multiple spatial streams) or beamforming (increasing SNR ratio at the receiver by "pointing" the beam). To do either, and especially the first, they need to know the frequency-dependent channel between the two. They do so by sending sounding frames and receiving a quantized compressed representation of the channel (actually, steering vectors). The amount of separation achieved by this technique at 2.4 or 5 GHz is not really enough to enable "channel separation" through MIMO, because the number of antennas used is small. Increased separation can be achieved at 60GHz (802.11ad or 802.11ay) because these support sectorised antennas, and the latter also supports a large number of antennas - which is possible (and necessary) when operating at a frequency 12-40x "normal" WiFi. Spatial reuse is a big win for 60GHz radio wireless LAN systems because they can only realistically close the link with antenna gain at both ends.
Most people got it wrong and said "over and out", I am glad and surprised you got this down! (Amateur radio operator here). Impressed , thanks for the videos.
I'd imagine an entire modem course on telemetry, mac addresses, and CDMA/FDMA, TDMA CSMA are all in order. Only reason I know about the real archaic RF modulation is because I used to maintain a satellite dish for the military.
My compsci course covered all that, thankfully. It was startling to realise that this is seemingly a comparative rarity. It was a 200 level class, so, second year. It's really nice knowing how QAM and trellis encoding works, to pick two examples, not just networking one or two levels higher up (though we did that too).
Many years ago, I read through a series of books by James Martin, which covered a lot of telecom stuff, including satellites, data communications and more. These were all in the company library at the telecom company I worked for back then. IIRC, he was an engineer with IBM. I also learned about some protocols with my work as a technician at that company.
I am taking a networking course for this semester and i went through this but never understood it but all thanks to Computerphile it is concept is clearer than ever before.
Them talking over one another to demonstrate the problem was a nice touch :) Also, this video just made me even more impatient for the day I get to connect my PC to my router via wire instead of a WiFi USB dongle. Out.
This is going to be very useful next time we move the office room or new building to position the router. We had some problem when using one router from two floors at the same time, but not when used from either one floor at-a-time. This explains all that now. Thanks a lot.!
I honestly can't imagine how they got this to work in busy places such as convention centers, etc. Computer tech degrees should be rebranded to 'computer wizardry'.
They do a survey first, decide where to put the AP's so that their signal strength radii overlap, BUT each AP is set to a different base frequency so that although the range overlaps the actual signals don't interfere with each other. As a mobile device moves across the cells, it hops from one cell to another, changing frequencies as it does so. In my former employer, our network services team used to plan and coordinate surveys. Then specialists with expensive test gear would go and test each floor in turn and confirm the AP locations. Then using PoE switches and AP's simply drop a CAT5 [now CAT6] cable to the AP. Easy when you know how... :-). I have always told people to uses cables first and WiFi only for devices that can't use a cable. Its a shared medium.. trying running a backup over WiFi, then compare the speed with running over a switched Ethernet cable.
@@PastaAivo Cheers, I spent 37 years playing with networks - and getting paid for it, result!. CSMA/CD on thickwire ethernet and coaxial broadband is where I learnt the basics, along with signal transmission theory which explained why an unterminated coax was a problem.... I don't have a CS degree, just 40+ years making computer systems work.
In the Army radio protocol, you always said Roger Out, indicating Understood, and I'm Gone! I was an Apps Engineer for Hard Drive companies and while most Host computer companies complied with standard, well-defined protocol, some would try to violate it all the time! It was always intersting to figure out how they might be screwing things up! Serial transmissions over wire today use software interrupts to hols a bus until the sender is ready to transmit, whereas before a hardware interrupt was used. Then there are the problems of even 'race conditions' within a device itself! Serial commo between a hard drive these days is always point to point and so the host has to handle all of the transactions between the various device on its bus! it can get very busy for the Root Complex and the PCIe controller to deal with everything, but I imagine it gets seriously more cluttered in a wi-fi scenario! Good vid and it took me back a few years!!! ;-)
Though it's more like "hearing before transmitting". Difference being that listening implies, at least notionally, some measure of understanding and comprehending, whereas hearing is really just a check whether the medium is accessible regardless how much or little is notionally contributed rather than just poured out into that medium.
The odd thing about this vlog is that I instantly thought of the Victorian Railway management system of 'ownership' tokens. A token is passed from a train to a station (node), and the token is used to 'own' a stretch of line, until the train has passed another station (node), and exchanged another token. The act of 'sharing resources' is perhaps not as 'modern' as we think it is... When you want to solve a 'problem' it might pay to have a look to see if there is a similar 'logical' situation where the conflict has already been resolved. Very informing vlog!
First of all Carey I've been subbed for years, you do a great job on UA-cam. From my knowledge the more streams a router or access point has, the more data it can send to your devices and receive from them. If your device doesn’t support let's say 16 streams, they still utilise the benefit of that redundancy. I wish I could go into deeper context, but tbh I would be lying if I said I knew the difference between having 12 or 16 streams, I think it depends on your situation so you're quite right to ask this as there hasn't quite been simple explanations of this, at least from my experience.
Hello, I believe multi stream routers use spatial beamforming technology to support the Multi-User Multi-Input-Multi-Output (MU-MIMO) capacities of the Wifi 6 (IEEE 802.11ax) standard. To be brief, beamforming utilises specialised technology to "direct" a stream of data in a particular direction. This essentially establishes "domains" for the router to send over. Ie. the router can send to say 8 devices over 5Ghz network at the same time if they are each in a separate beamforming area. This however, does not mean that a receiving device can send data back in a beamform, as this would require specialised antennas, so sent data is still subject to interference from other devices. Generally however, we fix this problem (slightly) by utilizing channels within the 5Ghz/2.4Ghz band. Generally for 2.4Ghz, these would be the ones that don't overlap: channels 1, 6 and 11; however others may be used with minimal overlap if needed. Also note that the materials in a building's walls can also "skew" beamforming technology: especially 5Ghz. This is not comprehensive, but a start in the right direction.
Correct me if I'm wrong. The multi-stream router prevents multipath fading or propagation from occurring during a transmission. Multipath fading or propagation is caused by transmitting data over the air, where the router or AP receives data with some inteference. With multi-stream or multiple antennas in a router, the receiving router could recover the original data by combining the data from these antennas.
The whole RTS and CTS negotiation is also why it's suboptimal to play video games that depend on split-second timings on wifi. Friends don't let friends game on wifi
On the other hand, for developers it might be interesting to investigate how reliable it is to sent super small packets at lower latency. As it was mentioned that those can be one-shot without requesting sending clearance.
no. problem are collisions from other networks (exposed node problem) and interference from other sources, cdma/cd in itself wont incur single millisecond delay under the worst of conditions. there are also other issues (eg. cpu/radio asics in consumer grade access points getting easily overwhelmed with heavy trafic)
"Exactly. It's happening now." That was the most beautiful underhanded way of reminding somebody of "You notice how you're interrupting me right now? Yeah like that."
@@TheGreatAtario This need to attempt to demonstrate how much cleverer you are is perhaps among the most irritating and negatively impacting of a community there is among CS enthusiasts :/ (and no, this doesn't count for the same, pre-empting that line. The ability to see this does not make me exceptional in any way. It's the _default_ state)
I like to think of it as a classroom where the teacher is the AP and the students are the nodes. RTS would be a student putting up their hand and CTS would be the teacher pointing and calling out their name.
This contains comic gold. The part at 3:10 when Steve is explaining how to have a proper conversation where you don't start talking when someone else is talking or it will become unintelligble, and then gets interrupted by the interviewer repeating what he's saying, and he goes yeah exactly it's happening right now as if to say "Shut up". Don't know if anybody else catches the humour in that.
The thing I find funniest is how it demonstrates that humans are capable of simultaneous Tx,Rx, to an extent. They were doing exactly the thing that Wifi finds impossible, just casually, and with a massive lampshade hung on it. I don't think it was a deliberate joke, but it does show how powerful the human capacity for interrupt without data loss is.
Great video! Carrier-sense multiple access with collision avoidance (CSMA/CA) for wireless is definitely a different beast from Etherner's carrier-sense multiple access with collision detection (CSMA/CD).
It's "over" when the speaker has finished talking and turns the conversation over to the other party. This can go on as many times as needed. "Out" means the conversation finished. This happens only once per conversation. There is no "over and out" except in fiction.
@@JFDSmit-rm6tw Maybe - what is it? Whats CSW? A Science-Channel, i hope? Cause i currently wanna dive into that after a real funny channel (Sci Man Dan!) re-awakened my Interest.
First video i have seen by Computerphile - now I'm a subscriber :) A great explanation of a somewhat complex topic - the RTS flow makes perfect sense 🙂Most of us take wifi for granted these days, but it is truly, a complicated technology, built on top of many other technologies, protocols, etc - wifi is a kind of symphony of networking technologies! Imagine how many RTS are sent every second in an office environment with all the devices jostling for the right to transmit to an access point... I did think that if Computer A/B could reach the wifi access point and Computer C also could reach wifi access, why cant they detect each other - it is likely a fringe case, when computers are operating on the edge of their wifi range... I also appreciated the small (deliberate?) touch of using continuous stationery paper for the diagram - who still has that paper around!
The hardware doesn't really care about the ssids etc, that is just a layer on top of the actual channel. It does however lead to a lot of channel congestion which makes the network a nightmare to work on.
It can be a problem. You can read about rogue access points to find out why if you like. With rogue access points you'll find a lot of stuff about cyber attacks, but it also causes channel congestion which is where the problem they mention in this video comes into play. Rogue APs tend to cause a significant decrease in throughput. Think of a bunch of people yelling in a crowded room, it's unintelligible.
This also happens in human speech with aircraft. Two airplanes can talk to the radar controller but not hear each other, leading to talking over each other. Pilots make this a bit better by listening carefully to the controller, since there is a request/reply thing going on.
I do kinda wonder how machines devide up the time. If I try to send a lot of info, who decides how much info I am allowed to send? I assume the other machines want to send info as well.
Even if you send a lot of info, it will still be chopped up as a stream of small packets. So in between two of those packets, other nodes on the network can get their own packets in. Where Steve says a node will "wait" for some time for a CTS, he really just means milliseconds. So to the end users it will all appear seamless.
It's common to use max 1500 byte packets since the birth of ethernet. The time needed to send 1500 bytes dropped drastically since then (because of increased bandwidth), so did the likeliness of collision dropp too. But not as much because today there are far more nodes and far more data to transfer.
To build on olovl's answer, in general this problem is called flow control, and it's part of the specification of the protocol. This video is taking about the problems particular to wifi, but commonly with very low latency connections like USB (think hubs) it's as simple as one party is known or declared to be in control, and the other just waits to be asked if it has anything to say. Then the one that's in control just asks everything that's connected in turn. For other cases like the internet, the sender is required to wait for the receiver to reply that it's ready to receive more data after some number of sent bytes, which ends up being just a less chatty version of the same thing. If everything is cut up into tiny packets, then the total effect is that everyone gets the available capacity shared.
Unfortunately, they covered how cellular (carrier) communications work on 2G, 3G (H+), and 4G (not including LTE). So your wi-fi doesn't work this way unless you have a mobile router. Even then, it would only work this way when the mobile router communicates with the mobile provider. Internally, Wi-fi works similarly but doesn't use CDMA/CD or CDMA/CA at all. Instead, Wi-fi uses a different multiplexing technique known as space-division multiplexing (SM or SDM), where various frequencies create multiple channels. This divides the space around you to support simultaneous communications from numerous devices, a concept known as multiple-input multiple-output (MIMO). When numerous devices are operating on the same channel, only then can they behave as they talked about in this video.
@@justinlangley8972 Oh... big thanks to you for clarifying this. I was assuming that the same mechanics are used for wifi too. Interesting to know the differences :)
And you forgot to mention - all of these communication signals use the lowest speed possible (1Mbps) to ensure that even the oldest Wi-Fi devices can use the same Wi-Fi network due to backward compatibility. Therefore, if you have many Wi-Fi devices (even on the same or diffrent ones networks), they all will run at low speeds due to background chat between devices.
I think because these speeds are less prone to noise. It's like if you paint bigger letters, they are easier to read, because more pixels have the same value which is then combined together to achieve more robust consensus even when they are full of noise.
Inefficient in terms of what? Data packets sent? Sure, but data packets aren't a limited resource. On the other hand, it removes the need for manufacturing countless wires for nearly every device, and it saves a lot of human time - which is a limited resource.
@@wojtek4p4 inefficient in terms of a lot of duct tape which in turn means security is pretty much always a problem or at least a concern. Nobody here is arguing we should go back to cables, that’s ridiculous, so your “argument” after that is pointless.
Lol... I was a radio operator for a while in the Army and he's almost right about the 'over and out' thing. We don't use the prowords together, but his reasoning is off. "Over" means "I'm done talking and expect a response." It is telling the other person that the net is clear for their next message. "Out" means "I'm done talking and this conversation is concluded." It is informing the entire net that you're clear and someone else can now start their own traffic. They're contradictory prowords. You can't use them together for that reason.
A better analogy at the end, expanding on the "waiting to speak in a conversation" analogy used earlier would be raising hands when a speaker is trying to address a group. You mightn't be able to see other people raising their hands, but the speaker can see everyone, so that small packet of information you send by raising your hand allows them to communicate which audience member should be allowed to speak without speaking over the top of everyone else.
It seems to me that in a very busy wifi network, with dozens or hundreds of clients, it would make more sense to have the access point reserve RTS time slots for every connected client, and broadcast that schedule to all clients.
The reason they don't do that is because internet traffic is spiky by nature and isn't predictable. It wouldn't be efficient. Ideally if I'm sitting there waiting for a server to reply, someone else should be able to use my timeslot for maximum use of the shared channel bandwidth.
@@SocalRider1754 couldn't your timeslot be very small by default, as long as you had the time to re-negotiate it? that would still keep the flexibility
If I recall correctly thats how cell towers do it. The allocated time slot is very short but done in quick succession so it can handle many calls without brake up.
If you're trying to block Wifi, or really *any* radio communication network ever created, then a simple radio jammer would be cheaper, more effective, have a longer range, and just be overall better in every single way than a Wifi device that's spamming RTSes.
Thank you for correcting the "over and out"! Over means "over to you" and out is saying I'm outta here. So "over and out" means your turn to speak but I've stopped listening.
@@kieronparr3403 yep, not allowed in almost any game, most players understand this and know why this is the case. Most movies/TV still use this line though.
What I wonder is, for a smaller network, would timesliced wifi space be better than the requests for overall bandwidth efficiency? So say here we have the 3 computers again, each get a 1/3 of the overall bandwidth in an X second period, maybe sub second period actually. It's not going to be as effective on a huge network, because there'd be HUGE wastes of bandwidth where nothing would ever be sent. But on the smaller side, all those send bytes would add up surely? Or would it? I'm not entirely sure how the requests for sending are fulfilled, so I'm not sure if the routing system is smart enough to say "okay, router friend, I have to send X bytes, am I clear?". If it is that smart, then the timesliced idea would probably be pointless.
for cellphones something like this is used. A cell can have 62 concurrent calls (that is where the name cellphone comes from) and using Time Division Multiplexing they are each assigned a slot. This works for audio because of the low frequency. The transmission speed is much faster, so you can squeeze many conversations in a space without anyone having a gap once it is converted back to audio. Telegraph systems back in the day used a mechanical system of rotating discs with contacts and by rotating at a set rate each one would be connected for a specific time slot.
Even with 3 devices, it's entirely plausible that one of them wants as much bandwidth as is available all the time, and the other two only need to transmit once every minute or so, but want to send a bunch of data when they do. (E.g., messaging images to someone with your phone while watching video on your TV and your laptop is checking for new email periodically.) Your TV can get much better quality if it can fill its buffer while neither other device is transmitting, and your other devices can be fast if they can half of the bandwidth for a short period of time when they want, rather than being limited to a small amount of bandwidth all the time, such that your phone doesn't finish sending your message until you have the next one ready to start. Note that traditional phone calls are different in that the microphone will record constantly and always have data to send, whether you're talking, saying "mm-hm" while the other person is talking, or silent.
@@iabervon Yeah I was thinking this as well. But say you're in a situation where it's almost guaranteed that everyone is sending a lot of data, would it then be better than wasting a bunch of 20 byte messages every so often requesting that window for messaging? Say for example a family all came home and they are watching their Netflixes or playing games, a lot of data is flying everywhere pretty regularly. In the case of the game especially, there's always data going back and fourth like you would see in a phone network where even empty messages are still messages in the end. I guess in a sense, it'd really only make sense if it was a full-on smart(er) protocol that could learn with time, but that also introduces issues, like changes in the network, guests, etc.
The standard exists. It's called time division multiplexing. It used to be used a lot in telephone networking, and goes as far back as telegraph usage. A more advanced version called statistical time division multiplexing exists today and is sometimes seen today in situations like a single communications line being split out to multiple nodes on educational and corporate campuses.
I'm curious how this works when multiple independent access points are sharing a frequency when some can and cannot 'see' each other. example being residential buildings with many tenants
There are WiFi bands, 14 if I remember right for 2.4 GHz range and a lot more for 5GHz, I believe they all are slightly different in frequency, WiFi routers usually try and choose and less congested band automatically, or you can do it manually if you get a app to see which bands are being used
Very nice. I understand CSMA/CD but had never got round to how WiFi really worked. Another little piece filled in. (Bring back FDDI - no not really, just another tokeny ringy thingy that was much more trouble than it was worth.)
I wonder, if machine A got the CTS, how does machine C know when it's allowed to send another RTS again? Is there a "final acknowledgement" or a "revocation" of the CTS from the AP that machine C can use? Or is there maybe a well-defined time period that the CTS is valid for after which machine C could send its RTS?
similarly: is there some maximum size of data or amount of packages you are allowed to send after receiving a CTS? Or could you literally block the whole system for minutes, sending data. Before watching the video to its end, I imagined it would use something similar as cell towers, where you get some fixed time slots assigned for transmitting (not sure if this is still correct, but i remember hearing that somewhere). Could even (re)negotiate them every now and then to stay flexible regarding other participants
@@Kantenkugel This renegotiation happens for every data chunk transmitted depending on the backoff time. Otherwise, I'm guessing that the protocol will become partial to nodes in some manner and the transmission rates observed on some machines will be higher than others, albeit, very slightly.
As soon as machine C sent the RTS packet, and didn't get a response back in a predefined amount of time (usually defined by the used protocol), then it sends it again in a random interval of time. (For example, he doesn't get a response, and decides to send the RTS packet again in 3 milliseconds. But next time it might will be 4, or 5...) This way the possibility of getting RTS packet from 2 machines at the same time from the perspective of the Access Point is significantly less, than waiting another predefined time before sending the RTS packet again.
@@phizc Technically it's a duration field not length, then the speed of each node doesn't have to be known just time in ms the system sending the RTS already estimated the duration.
What if there's ANOTHER access point in the same bandwidth (channel), how they recover from these collisions? And what if there's noise caused by overlapping channels.
They retry like any other collision, this is why WiFi APs have an 'auto' setting when picking a channel so they can scan for other APs and avoid using channels with the most noise.
What would happen if one computer sends a Request To Send, and then while transmitting the other data, sends *another* Request To Send immediately afterwards? Is it possible for one computer to hog all the router bandwidth through that? Or is it expected that the Router does scheduling and says "Not yet - you already did send, I'm going to wait to check that noone else is sending a Request To Send first."?
Or what if you send a "clear to send" packet addressed to yourself first, so no other nodes send, while waiting for the actual "clear to send" from the access point.
@@benjaminmiller3620 I suspect the "Clear to Send" packet would run the issue of needing to reach the other computers on the WiFi that aren't in range - so you'd need the router to sign off on them not sending.
Many people are asking how does one know about this! One way to learn this is to study the ASCII set of characters and learn the first 31 characters of it... 32(space) is the first char that starts the actual written/data sequence of characters. Call them codes, if you wish.
Any signal on a wire drops off as the square of the distance - same as radio waves. It's just that for Ethernet, they designed the maximum wire length to enable all nodes to see each other.
What viewers will be interested to know is that Request to send/clear to send (RTS/CTS) is optional and you can enable and disable it on a lot of WiFi routers/access points. The benefit, as explained, is to mitigate the hidden node problem, but the cost is that overall, there is more overhead, and latency increases for time critical applications like live audio.
Agreed. Even if the specification were somehow changed for it to be ignored unless deemed legitimate, then it could still be vulnerable to spoofing and MITM attacks. I think the problem is something like how do you force a rogue device to stop transmitting or how would you filter out the noise it's generating? Even if an AP forcibly ignores deauthentication frames the rogue device could still be a problem. I think a short term solution could be some kind of deauthentication frame reflection standard, but it's not clear if it's an outright fix.
IEEE 802.11w solves this by allowing management frames (including deauthentication frames) to be encrypted. This means that you'd have to know the network's PSK in order to send illegitimate deauth frames - and at that point, if a malicious actor already knows your PSK, you've got bigger problems on your hands
Wow. I learned this same material in a Computer Networks course, but that professor managed to make it as boring as possible. I love this short and very well explained format. It makes it so much easier to learn with the nice diagrams and animations.
multiple access points will become very common in households. like relay points. it will be odd in the future when someone says they have only one access point, in all actuality it will be built into the structures of buildings. like building materials, access point beams will be the norm within every building. it will start out as commercial and then go onto the private sector. schools like universities will be the first to adopt this due to their dorm room issues with wifi. the price of electronics will be so cheap that this will be a no brainer, it actually won't even be mentioned unless you are in that field. thats how normal it will be. then the APs will talk with each other and manage household traffic, this will be as common as electrical outlets in a building, it will be a grid like structure, and then nearby houses and other objects built will communicate with each other as well, this will allow for a sort of mesh networking, cars will have parts built into them as well, signals will be thrown in a direction using a type of gps or some type of location verification by pinging off nearby buildings. for moving targets, cell tower technology will deal with that part. but, say you are in houston and you want to send a message to london, messages will be passed along through structures towards london, and then the final area, the tower that registers where that user is if they are out of their home or office, will then send out a signal for the last mile. in which that persons personal device will get a ping from the tower like we do now and get the data intended to be seen by the receiver.
The Request to Send frame is 20 bytes.
2 bytes Frame Control
2 bytes Duration
6 bytes Reciever Address
6 bytes Transmitter Address (TA)
4 bytes Frame Check Sequence (CRC)
The Clear To Send and ACK frames is the same minus the 6 bytes TA.
Thanks
Thanks
Tom Hanks!
Can you tel me where did you learn this, this is not in a N+ neither ccna
Beautiful! Can't wait to explain this to my customers during service calls about the TV picture freezing on the wifi!!
I just did my Computer Networking exam, so I can really appreciate this!
Right? In my networking class we just started learning about wireless. And when facebook went down right before we were learning about BGP
Did you pass?
@@Rickety3263 yes
@@MarukoSakamoto Congrats
Also just covered this on my CompTIA Network+ course!
If there is an RTS collision, the requesters can use binary exponential back-off to send the next RTS at a random time. Each time there's a collision in succession, they will roll a bigger (more sides) "die" to determine how long they should wait before they send another RTS.
When I first started teaching Ethernet over 30 years ago, I too used the analogy of rolling a die (using the word die, instead of dice, always felt wrong to me 😀) with more sides on it.😉
@@rjones6219 I guess you could say ethernet utilizes a real time strategy?
@@rjones6219 Dice is plural of die
That‘s actually smart.
Medium access is hard. Thirty years ago when I was doing my Master's in RF comms we were working on this problem. We were using a slightly different variant called Elimination Yield Non Preemptive Multiple Access. One aspect of WiFi I'd like to see covered is how the protocols characterise the radio environment. You can't just fire off a packet and expect it to be received if, for example, there is multipath propagation (so portions of the signal arrive at different times) or the transmitter and receiver are moving relative to one another (which introduces a Doppler shift). Then there's the channel coding (quadrature keying, RAKE receivers, Viterbi decoders etc.) A lot of interesting stuff is going on in a WiFi setup and to 99.9% of people it's completely invisible.
Doppler shift on WI-FI ?!?!? With which speed are you moving with the laptop/phone to be able to have a measurable doppler shift of the radio waves? If you have the required speed you'll be out of range faster than detect the shift I believe (maybe I'm wrong).
@@apclaudiu At gigahertz frequencies, walking speed is enough to rotate the QAM constellation sufficiently to make your BER go through the roof. It manifests itself as a clock frequency offset between receiver and transmitter (which exists anyway and has to be accounted for). Fortunately it's relatively easy to counter (it looks like a multiplication by a unit modulus number exp(i theta t) in the phasor plane, so you measure it by timing recovery during the channel training phase and apply the countervailing multiplication to derotate the constellation).
@@davidgillies620 Thank you for your explanation but I need to ask more not to refute you but for my understanding. QAM constellation is affected more by reflected signals. Calculating Doppler effect on 2.4 GHz moving with the speed of sound is just 0.0001% shift of frequency. I believe moving in an office/open space will involve more change in reflections than in Doppler effect.
You can use Doppler effect to calculate speed if you really want but I do not believe it will affect the data transfer. Again maybe I'm wrong and I will enjoy being corrected and learning more.
@@apclaudiu QAM encodes data with both phase and amplitude. Walking speed is enough to change that phase a measurable amount relative the QAM encoding lattice (AKA constellation) at frequencies higher than 1GHz.
my understanding is that it's built into the TCP/IP protocol.. at the receiving end it'll reconstruct the packets (can be out of order) and if there's a packet sequence missing it'll ask the sender to resend?
The hidden node problem showed up in my introductory network class just last week but we didn’t get to dive into the details
What a great video at such perfect timing to satisfy my curiosity
This was a huge issue in the WISP industry since every node was effectively hidden. Manufactures started modifying the 802.11 standard and adding TDMA. Ubiquiti, Cambium, etc. use a scheduler with time slots. Each station is given a time slot to send completely eliminating the issue with colliding symbols.
Thank you. This is what drove me to the comments section. Glad to see you already addressed this, so I don't have to!
An additional little bit is that with 802.11n and newer is it also possible for the AP to set up radio frequency bandwidth reservations, rendering the issue largely moot when using commercial multi-multi access points.
Thank you
You forgot the part where this uses GPS time to achieve.
Yep! I work in the WISP industry too.
Consumer access points with wifi 6 also use OFDMA as well.
I was going to ask this very question. TDMA seems like the perfect solution to CD and CSMA. The TDMA could be scaled by the amount of users connecting the wifi access point. This would eliminate the overhead of other redundant commands.
another example is kids have to put their hand up to speak in class. they cant see the other kids behind them asking. and the teacher gives each of them permission to talk.
no need raise hand if nobody did teacher asked me give answer LOL
It's not a perfect analogy for wireless since the medium to ask for permission (visual) is different from the medium for transmission (voice). You can also raise your hand while someone is talking, and multiple people can raise their hand at the same time, the only conflict is if someone is directly hidden by somebody else's raised hand. Wireless would be like the classroom shouting "me" to ask permission, but in a classroom everyone should be able to hear everyone else so it's also not an accurate example either 😀
@@JarppaGuru Never took an English class I guess....
Let's see if fluidly mixing metaphor works: You also have the problem of some nodes with high-gain antennas which aren't located far away from the "teacher" node. Far away at the far end of the 150 person (eg 150 user nodes) classroom is one thing as the person shouts out answers and uses a hearing aid to increase reception of the teacher's shouted response. But if the "teacher" has a bunch of high-gain antennas clustered next to him shouting and receiving all the time, the other members of the classroom have problems.
As a licensed radio operator I thought I'd clarify the exact meanings:
Over = I have finished transmitting and am waiting for a reply
Out = I have finished transmitting and am not waiting for a reply
I imagine it should be fairly obvious why you can't have both of those things at once
Now do "Roger, Wilco".
@cas curse You are close. Your definitions are correct. But I believe it is actually Wilco that implies roger. But Roger does not imply Wilco.
@cas curse And If you sent "Will comply", I'd assume they received the order;
Perhaps it could be reinterpreted as "argue back all you want, I'm gone" 😄
@cas curse lol, I still say "say again" rather than using the R word IRL! (the story I heard was that on MIL-NETS you never say repeat as in "repeat last message" as the word is reserved for Artillery spotters who are asking for a "repeat" of the last artillery salvo. Anyone know where or how it originated?? Is it only UK?
Collision detection is one of the small features that plays a significant role in the efficiency of communication through a wireless network! Love it
did you mean "Collision avoidance", Collision detection is used on wires ....
Some one is going to think 'Ooo what if we do it with car traffic'... Hopefully packet loss will be explained ? lol
I have known "all this" for several decades but I *understand* it much better, now, as a result of this presentation and, so, *gratitude* [and a well-earned thumb].
But he didn't explain how you implement this protocol.
@@onejohn2.26 agree,,, to me he overstated, as well as under informed, in an oversimplified way at that.
It's amazing the genius behind much of what we take for granted.
Originally Developed by CSIRO
should check them out.
Hmmmm. I think it's amazing at the amount of stupidity behind what we accept as normal. :)
@@Graeme_Lastname I stopped being amazed about 50 years ago.
@@joegee2815 I've felt like that since I was a kid. Just got stronger as I got older. Very superstitious family. Me scratching head thinking "bunch of idiots". In a weird way it was funny. B well m8. :)
The technology develops gradually. There's nobody wake up in the morning and suddenly comes up with all of this idea. They solve many smaller problems, build something on top of previous works, and over time, it all looks like a magic.
Addendum to the "over and out" thing, IIRC "over" basically means "please respond", whereas "out" is like "I'm done talking so I'm not going to pay attention if you respond".
There's no "over and out."
There's "over," which comes at the end of the message but the exchange continues with the other party now free to transmit.
There's "out," which is usually preceded by the speaker's callsign, e.g. "Copy that. 51 out."
And over the (military) radio only the caller can send "over and out" - means hang-up. The receiver can't terminate the conversation until the sender does. If done properly and according to protocol. It the receiver wants to terminate he can state so in conversation and receive an "understood, over and out" from the caller to end the conversation.
"Over and out" is only a thing in movies and are only used here, and by people that don't know better.
Why would you ever waste time word mincing saying over when you just mean out? Every extra word spoken is time the "line" is hold op, so other can't use it.
"Over" Transmission complete, over to you. Waiting for a response.
"Out" Transmission complete, end of conversation
@@TheTykbry Source? "Why would you ever waste time word minicing..." (sounds like a guess) - Maybe for clarity? For no misunderstanding? Noisy line? One word might be anything, three words sounding like "over and out" is probably understandable. Don't know for other nations but where I was trained we had a clear protocol sometimes wasting words (or using a spelling alphabet) to ensure no misunderstanding occurs. We don't want to guess what the other side said... And it's at times very hard to hear each syllable over the static and general noise.
@@OLLE3770 alright, over and out!
I absolutely love these videos. They make the magic of computer technology so much easier to understand!
Thank you very much, Mr. Engineer, I really got a delay on my Wi-Fi network, but I couldn't realize what the problem was, but now I've understood the issue behind using a hidden Wi-Fi network
cb radio lingo: "over" means use of the mic is handed over to any other person on the channel. "out" means your leaving the conversation.
thanks a lot! :)
yeah... 2 way radio lingo... cb had to adopt it too.
A: "Understood, over."
B: "Over and Out!"
A: *anger*
QSL
@@S4R1N Over and out= I'm handing the word over to you but i will ignore you and leave. 🤣
Computer tech to a lay person is pretty much magic. And if you understand a bit of it (thanks Computerphile ;) ) it's still magic xD Just the thousands of things happening at any second is incredible to think off. But at the same time the outcome is considered rather mondain these days. Just browsing the web on wi-fi. Not very exiting. Thousands of messages being send via the air and wires over routers and access points, cables that cross the ocean, thousands of miles and all that in split seconds... rather incredible.
i belive it might be that computer tech to *any* person is magic.
Its made out of math and science easy
I am but a humble web development major, just like my great grandpappy
@somedeveloperblokey absolutely 👍🏻
l
This is primarily why MIMO techniques exist like space-division multiplexing in combination with concepts of channel separation/guarding.
There's two reasons for MIMO. One is simply that you can get multiple times the speed through the same bandwidth. The other is to do beamforming, but I don't think it normally works well enough to solve the hidden node problem, but it's usually able to solve the exposed node problem provided the networks are far enough apart.
WiFi's MIMO (in 11n, 11ac, 11ax) standards perform space-division multiplexing (multiple spatial streams) or beamforming (increasing SNR ratio at the receiver by "pointing" the beam). To do either, and especially the first, they need to know the frequency-dependent channel between the two. They do so by sending sounding frames and receiving a quantized compressed representation of the channel (actually, steering vectors).
The amount of separation achieved by this technique at 2.4 or 5 GHz is not really enough to enable "channel separation" through MIMO, because the number of antennas used is small. Increased separation can be achieved at 60GHz (802.11ad or 802.11ay) because these support sectorised antennas, and the latter also supports a large number of antennas - which is possible (and necessary) when operating at a frequency 12-40x "normal" WiFi. Spatial reuse is a big win for 60GHz radio wireless LAN systems because they can only realistically close the link with antenna gain at both ends.
Most people got it wrong and said "over and out", I am glad and surprised you got this down! (Amateur radio operator here). Impressed , thanks for the videos.
It’s been a while since my last networking class. This was a helpful refresher on collision detection and avoidance!
I appreciate the detail of having the clips from other videos talking over each other in the outro.
UA-cams subtitles actually handled your duet surprisingly well! 😀
Some people are just born for teaching! Dr Steve Bagley explains so well and clear the topics he talks about that everything seems a piece of cake.
I'd imagine an entire modem course on telemetry, mac addresses, and CDMA/FDMA, TDMA CSMA are all in order.
Only reason I know about the real archaic RF modulation is because I used to maintain a satellite dish for the military.
My compsci course covered all that, thankfully. It was startling to realise that this is seemingly a comparative rarity. It was a 200 level class, so, second year.
It's really nice knowing how QAM and trellis encoding works, to pick two examples, not just networking one or two levels higher up (though we did that too).
Many years ago, I read through a series of books by James Martin, which covered a lot of telecom stuff, including satellites, data communications and more. These were all in the company library at the telecom company I worked for back then.
IIRC, he was an engineer with IBM. I also learned about some protocols with my work as a technician at that company.
I am taking a networking course for this semester and i went through this but never understood it but all thanks to Computerphile it is concept is clearer than ever before.
Them talking over one another to demonstrate the problem was a nice touch :)
Also, this video just made me even more impatient for the day I get to connect my PC to my router via wire instead of a WiFi USB dongle.
Out.
This is going to be very useful next time we move the office room or new building to position the router.
We had some problem when using one router from two floors at the same time, but not when used from either one floor at-a-time. This explains all that now.
Thanks a lot.!
I honestly can't imagine how they got this to work in busy places such as convention centers, etc.
Computer tech degrees should be rebranded to 'computer wizardry'.
Answer is high frequency :D
They do a survey first, decide where to put the AP's so that their signal strength radii overlap, BUT each AP is set to a different base frequency so that although the range overlaps the actual signals don't interfere with each other. As a mobile device moves across the cells, it hops from one cell to another, changing frequencies as it does so. In my former employer, our network services team used to plan and coordinate surveys. Then specialists with expensive test gear would go and test each floor in turn and confirm the AP locations. Then using PoE switches and AP's simply drop a CAT5 [now CAT6] cable to the AP. Easy when you know how... :-). I have always told people to uses cables first and WiFi only for devices that can't use a cable. Its a shared medium.. trying running a backup over WiFi, then compare the speed with running over a switched Ethernet cable.
@@rogerwhiteley606 That is genuinely interesting, thanks for the reply!
@@PastaAivo Cheers, I spent 37 years playing with networks - and getting paid for it, result!. CSMA/CD on thickwire ethernet and coaxial broadband is where I learnt the basics, along with signal transmission theory which explained why an unterminated coax was a problem.... I don't have a CS degree, just 40+ years making computer systems work.
In the Army radio protocol, you always said Roger Out, indicating Understood, and I'm Gone!
I was an Apps Engineer for Hard Drive companies and while most Host computer companies complied with standard, well-defined protocol, some would try to violate it all the time!
It was always intersting to figure out how they might be screwing things up!
Serial transmissions over wire today use software interrupts to hols a bus until the sender is ready to transmit, whereas before a hardware interrupt was used.
Then there are the problems of even 'race conditions' within a device itself!
Serial commo between a hard drive these days is always point to point and so the host has to handle all of the transactions between the various device on its bus!
it can get very busy for the Root Complex and the PCIe controller to deal with everything, but I imagine it gets seriously more cluttered in a wi-fi scenario!
Good vid and it took me back a few years!!! ;-)
The world could take a lesson from WiFi…”listen before you transmit”
So UA-cam comments should be disabled before the video has finished playing? :)
Though it's more like "hearing before transmitting". Difference being that listening implies, at least notionally, some measure of understanding and comprehending, whereas hearing is really just a check whether the medium is accessible regardless how much or little is notionally contributed rather than just poured out into that medium.
@@Reelix 100% you have to watch the video before you can praise them or critic them.
@@Reelix No, it's poor form on YT to actually watch the video that you are commenting on, AIUI.
The odd thing about this vlog is that I instantly thought of the Victorian Railway management system of 'ownership' tokens. A token is passed from a train to a station (node), and the token is used to 'own' a stretch of line, until the train has passed another station (node), and exchanged another token. The act of 'sharing resources' is perhaps not as 'modern' as we think it is... When you want to solve a 'problem' it might pay to have a look to see if there is a similar 'logical' situation where the conflict has already been resolved. Very informing vlog!
Collision avoidance in its most physical instantiation.
It's like lightspeed air-traffic control for radio-packets.
Please explain the purpose of a mutli-stream router and how to tell if any noticeable rx/tx delays are being caused by LAN or WAN.
First of all Carey I've been subbed for years, you do a great job on UA-cam.
From my knowledge the more streams a router or access point has, the more data it can send to your devices and receive from them. If your device doesn’t support let's say 16 streams, they still utilise the benefit of that redundancy.
I wish I could go into deeper context, but tbh I would be lying if I said I knew the difference between having 12 or 16 streams, I think it depends on your situation so you're quite right to ask this as there hasn't quite been simple explanations of this, at least from my experience.
Hello, I believe multi stream routers use spatial beamforming technology to support the Multi-User Multi-Input-Multi-Output (MU-MIMO) capacities of the Wifi 6 (IEEE 802.11ax) standard. To be brief, beamforming utilises specialised technology to "direct" a stream of data in a particular direction. This essentially establishes "domains" for the router to send over. Ie. the router can send to say 8 devices over 5Ghz network at the same time if they are each in a separate beamforming area. This however, does not mean that a receiving device can send data back in a beamform, as this would require specialised antennas, so sent data is still subject to interference from other devices. Generally however, we fix this problem (slightly) by utilizing channels within the 5Ghz/2.4Ghz band. Generally for 2.4Ghz, these would be the ones that don't overlap: channels 1, 6 and 11; however others may be used with minimal overlap if needed. Also note that the materials in a building's walls can also "skew" beamforming technology: especially 5Ghz. This is not comprehensive, but a start in the right direction.
Correct me if I'm wrong. The multi-stream router prevents multipath fading or propagation from occurring during a transmission.
Multipath fading or propagation is caused by transmitting data over the air, where the router or AP receives data with some inteference.
With multi-stream or multiple antennas in a router, the receiving router could recover the original data by combining the data from these antennas.
step 1 print("fix wifi") wifi got fixed easy
Ping the router from both lan and wlan ? :p
The whole RTS and CTS negotiation is also why it's suboptimal to play video games that depend on split-second timings on wifi. Friends don't let friends game on wifi
This (and not only this) is why you should use cable whenever possible. Its faster and more reliable. + less E-pollution.
On the other hand, for developers it might be interesting to investigate how reliable it is to sent super small packets at lower latency. As it was mentioned that those can be one-shot without requesting sending clearance.
no. problem are collisions from other networks (exposed node problem) and interference from other sources, cdma/cd in itself wont incur single millisecond delay under the worst of conditions. there are also other issues (eg. cpu/radio asics in consumer grade access points getting easily overwhelmed with heavy trafic)
So true. Any gaming device must be hard wired.
Completely overblown. You know these things are done in microseconds right? Human reaction time is in the hundreds of milliseconds.
These solutions always amaze me, it's so cool!
"Exactly. It's happening now."
That was the most beautiful underhanded way of reminding somebody of "You notice how you're interrupting me right now? Yeah like that."
…You can't possibly be unaware this was purposeful on both their parts
@@TheGreatAtario Do you end all of your sentences without a punctuation mark?
@@cwtrain Only when I intend to
@@TheGreatAtario This need to attempt to demonstrate how much cleverer you are is perhaps among the most irritating and negatively impacting of a community there is among CS enthusiasts :/ (and no, this doesn't count for the same, pre-empting that line. The ability to see this does not make me exceptional in any way. It's the _default_ state)
@@mduckernz So I'm demonstrating "how clever I am" by picking up on a blatant conversational beat fully intended by the participants? Wow.
03:01 : Great Analogy
03:20 : Also, great example.
The same thing exists in RS 232 serial , RTS CTS DCD CD ACK NAK the more things improve the more the original ways creep back in to fix things.
The computer equivalent of ‘permission to speak Sir’. Nice video!!!
I like to think of it as a classroom where the teacher is the AP and the students are the nodes. RTS would be a student putting up their hand and CTS would be the teacher pointing and calling out their name.
And the students can't see each other and the teacher is looking at all of them simultaneously.
@@Depressed_Dinosaur As happened recently with remote learning due to the pandemic.
You are awesome. You remind me of Philip Seymour Hoffman. Both men much talented in their respective fields I must add.
This contains comic gold. The part at 3:10 when Steve is explaining how to have a proper conversation where you don't start talking when someone else is talking or it will become unintelligble, and then gets interrupted by the interviewer repeating what he's saying, and he goes yeah exactly it's happening right now as if to say "Shut up". Don't know if anybody else catches the humour in that.
Love the use of the tractor printer paper.
I used to use that for the same drawing purposes years ago !
3:18 I found it funny how they both started talking at the same time while explaining that it shouldn't be done.
They both indirectly agreed to duplex transmission.
Pretty sure they were doing that deliberately to emphasize the point.
Well done, you got the deliberate joke
The thing I find funniest is how it demonstrates that humans are capable of simultaneous Tx,Rx, to an extent. They were doing exactly the thing that Wifi finds impossible, just casually, and with a massive lampshade hung on it. I don't think it was a deliberate joke, but it does show how powerful the human capacity for interrupt without data loss is.
Great video! Carrier-sense multiple access with collision avoidance (CSMA/CA) for wireless is definitely a different beast from Etherner's carrier-sense multiple access with collision detection (CSMA/CD).
"Over and out" is like "call and raise" in poker. No, you only get to do one thing and you already called. (String raise)
Anti-Science is on the Rise. Uneducation causes Muffled Logic to be be more and more accepted, so casual B.S. is getting more and more popular.
...
It's "over" when the speaker has finished talking and turns the conversation over to the other party. This can go on as many times as needed. "Out" means the conversation finished. This happens only once per conversation. There is no "over and out" except in fiction.
@@JFDSmit-rm6tw Learning never ends, duh!
So may i recommend some Science-Channel or just Education-Channel in General?
?
@@loturzelrestaurant Basic military radio communication rules. May I interest you in a course of CSW?
@@JFDSmit-rm6tw Maybe - what is it?
Whats CSW?
A Science-Channel, i hope? Cause i currently wanna dive into that after a real funny channel (Sci Man Dan!) re-awakened my Interest.
First video i have seen by Computerphile - now I'm a subscriber :)
A great explanation of a somewhat complex topic - the RTS flow makes perfect sense 🙂Most of us take wifi for granted these days, but it is truly, a complicated technology, built on top of many other technologies, protocols, etc - wifi is a kind of symphony of networking technologies! Imagine how many RTS are sent every second in an office environment with all the devices jostling for the right to transmit to an access point...
I did think that if Computer A/B could reach the wifi access point and Computer C also could reach wifi access, why cant they detect each other - it is likely a fringe case, when computers are operating on the edge of their wifi range...
I also appreciated the small (deliberate?) touch of using continuous stationery paper for the diagram - who still has that paper around!
Now I get why my FRS radios transmit a sound when I let go of the button. It's just a way of saying "over."
Like udp?
Yes, I believe it's called "roger beep." Some radios let you turn it off/on.
The squelch tail makes it very clear when you let go of the button. The roger beep is unnecessary.
@@rocketman221projects How do you tell the difference?
@@scottmacs Well, the squelch tail is the noise "received" from listening to the background where the carrier used to be a moment ago.
“Over and out.” As a radio dispatcher, I hate it when in movies people use that. It’s like saying “you may talk, as long as you keep your mouth shut.”
Great Video!
It would be interesting to know how this problem is handled when there are multiple independent WiFi networks on the same channel.
The hardware doesn't really care about the ssids etc, that is just a layer on top of the actual channel. It does however lead to a lot of channel congestion which makes the network a nightmare to work on.
It can be a problem. You can read about rogue access points to find out why if you like. With rogue access points you'll find a lot of stuff about cyber attacks, but it also causes channel congestion which is where the problem they mention in this video comes into play. Rogue APs tend to cause a significant decrease in throughput. Think of a bunch of people yelling in a crowded room, it's unintelligible.
where have you been my whole life? Why am I just seeing you now? earned a sub.
This also happens in human speech with aircraft. Two airplanes can talk to the radar controller but not hear each other, leading to talking over each other. Pilots make this a bit better by listening carefully to the controller, since there is a request/reply thing going on.
This is a really good explanation of what happens to sky q in larger houses
I do kinda wonder how machines devide up the time. If I try to send a lot of info, who decides how much info I am allowed to send? I assume the other machines want to send info as well.
Even if you send a lot of info, it will still be chopped up as a stream of small packets. So in between two of those packets, other nodes on the network can get their own packets in. Where Steve says a node will "wait" for some time for a CTS, he really just means milliseconds. So to the end users it will all appear seamless.
@@olavl8827 Thank you for this explanation!
It's common to use max 1500 byte packets since the birth of ethernet. The time needed to send 1500 bytes dropped drastically since then (because of increased bandwidth), so did the likeliness of collision dropp too. But not as much because today there are far more nodes and far more data to transfer.
Also read about wifi 6 that tries to fix this problem.
To build on olovl's answer, in general this problem is called flow control, and it's part of the specification of the protocol. This video is taking about the problems particular to wifi, but commonly with very low latency connections like USB (think hubs) it's as simple as one party is known or declared to be in control, and the other just waits to be asked if it has anything to say. Then the one that's in control just asks everything that's connected in turn. For other cases like the internet, the sender is required to wait for the receiver to reply that it's ready to receive more data after some number of sent bytes, which ends up being just a less chatty version of the same thing. If everything is cut up into tiny packets, then the total effect is that everyone gets the available capacity shared.
Currently doing my ccna exam this vid was actually quite interesting.. just learned about hubs and csma/cd
Holy moly, I thought I already knew how wifi worked. Seems it's a thousand times more complicated/complex than I thought^^°
Unfortunately, they covered how cellular (carrier) communications work on 2G, 3G (H+), and 4G (not including LTE). So your wi-fi doesn't work this way unless you have a mobile router. Even then, it would only work this way when the mobile router communicates with the mobile provider.
Internally, Wi-fi works similarly but doesn't use CDMA/CD or CDMA/CA at all. Instead, Wi-fi uses a different multiplexing technique known as space-division multiplexing (SM or SDM), where various frequencies create multiple channels. This divides the space around you to support simultaneous communications from numerous devices, a concept known as multiple-input multiple-output (MIMO). When numerous devices are operating on the same channel, only then can they behave as they talked about in this video.
@@justinlangley8972 Oh... big thanks to you for clarifying this. I was assuming that the same mechanics are used for wifi too. Interesting to know the differences :)
I learned this topic in my computer science class. But I only understood it clearly now. Thanks.
And you forgot to mention - all of these communication signals use the lowest speed possible (1Mbps) to ensure that even the oldest Wi-Fi devices can use the same Wi-Fi network due to backward compatibility. Therefore, if you have many Wi-Fi devices (even on the same or diffrent ones networks), they all will run at low speeds due to background chat between devices.
I think because these speeds are less prone to noise. It's like if you paint bigger letters, they are easier to read, because more pixels have the same value which is then combined together to achieve more robust consensus even when they are full of noise.
Yes! Please do a video on CSMA! That sounds like something I'd want to know more about!
Wireless technology is remarkably inefficient, if you truly think about it.
Better idea?
@@kieronparr3403 how incredibly constructive, of course I’ll reply with the solution to a billion dollar problem inside UA-cam comments
Inefficient in terms of what? Data packets sent? Sure, but data packets aren't a limited resource.
On the other hand, it removes the need for manufacturing countless wires for nearly every device, and it saves a lot of human time - which is a limited resource.
What do you mean? Not really…. Pretty low power is needed to wirelessly transmit for normal use cases
@@wojtek4p4 inefficient in terms of a lot of duct tape which in turn means security is pretty much always a problem or at least a concern. Nobody here is arguing we should go back to cables, that’s ridiculous, so your “argument” after that is pointless.
Love the attention to detail with there being 4 underscores in the title.
It´s remarkable that Mr Computerphile seems to have adopted a camoulage appearance almost perfectly adapted to his environment, like a chameleon.
Thanks for the consistently interesting content!
Lol... I was a radio operator for a while in the Army and he's almost right about the 'over and out' thing. We don't use the prowords together, but his reasoning is off. "Over" means "I'm done talking and expect a response." It is telling the other person that the net is clear for their next message. "Out" means "I'm done talking and this conversation is concluded." It is informing the entire net that you're clear and someone else can now start their own traffic. They're contradictory prowords. You can't use them together for that reason.
A better analogy at the end, expanding on the "waiting to speak in a conversation" analogy used earlier would be raising hands when a speaker is trying to address a group. You mightn't be able to see other people raising their hands, but the speaker can see everyone, so that small packet of information you send by raising your hand allows them to communicate which audience member should be allowed to speak without speaking over the top of everyone else.
It seems to me that in a very busy wifi network, with dozens or hundreds of clients, it would make more sense to have the access point reserve RTS time slots for every connected client, and broadcast that schedule to all clients.
The reason they don't do that is because internet traffic is spiky by nature and isn't predictable. It wouldn't be efficient. Ideally if I'm sitting there waiting for a server to reply, someone else should be able to use my timeslot for maximum use of the shared channel bandwidth.
@@SocalRider1754 couldn't your timeslot be very small by default, as long as you had the time to re-negotiate it? that would still keep the flexibility
This would only end up in a lot of unused network time.
If I recall correctly thats how cell towers do it. The allocated time slot is very short but done in quick succession so it can handle many calls without brake up.
and they do in some types of networks, eg. cellular. see time division multiple access
I wish I could upvote this twice! So interesting
It's daunting to imagine how many videos one has to make to finally utilize that stockpile of teletype paper still squatting the closet...
Damn, 0:25 really sounded like the joycon snap on the Nintendo switch 😂
By the way, amazing content as always! 💻
So if a malicious or defective node sends RTS:es all the time, or impersonates the access points by sending out fake CTS:es, it can cause a gridlock?
Exactly my thoughts. This seems like it's pretty susceptible to jamming attacks/malicious DoS.
@@JonnyRobbie Wireless is already incredibly vulnarable to DoS and there isn't much we can do about it. Just the nature of the transmission medium
If you're trying to block Wifi, or really *any* radio communication network ever created, then a simple radio jammer would be cheaper, more effective, have a longer range, and just be overall better in every single way than a Wifi device that's spamming RTSes.
In this case the access point sends a focussed EM pulse of several kilowatts in the direction of the malicious actor
@@dreamy97836 little wi-fi go bye-bye . BOOM
Excellent explanation
Thank you for correcting the "over and out"! Over means "over to you" and out is saying I'm outta here. So "over and out" means your turn to speak but I've stopped listening.
TIL not all devices can hear each other. Great explanation; cheers mate!
Over and out is to CB radio as "I see your X and raise you Y" is to poker.
String betting?
@@kieronparr3403 yep, not allowed in almost any game, most players understand this and know why this is the case. Most movies/TV still use this line though.
Very interesting. Very clear explanation. Thanks.
What I wonder is, for a smaller network, would timesliced wifi space be better than the requests for overall bandwidth efficiency?
So say here we have the 3 computers again, each get a 1/3 of the overall bandwidth in an X second period, maybe sub second period actually.
It's not going to be as effective on a huge network, because there'd be HUGE wastes of bandwidth where nothing would ever be sent. But on the smaller side, all those send bytes would add up surely? Or would it?
I'm not entirely sure how the requests for sending are fulfilled, so I'm not sure if the routing system is smart enough to say "okay, router friend, I have to send X bytes, am I clear?". If it is that smart, then the timesliced idea would probably be pointless.
for cellphones something like this is used. A cell can have 62 concurrent calls (that is where the name cellphone comes from) and using Time Division Multiplexing they are each assigned a slot. This works for audio because of the low frequency. The transmission speed is much faster, so you can squeeze many conversations in a space without anyone having a gap once it is converted back to audio. Telegraph systems back in the day used a mechanical system of rotating discs with contacts and by rotating at a set rate each one would be connected for a specific time slot.
Even with 3 devices, it's entirely plausible that one of them wants as much bandwidth as is available all the time, and the other two only need to transmit once every minute or so, but want to send a bunch of data when they do. (E.g., messaging images to someone with your phone while watching video on your TV and your laptop is checking for new email periodically.) Your TV can get much better quality if it can fill its buffer while neither other device is transmitting, and your other devices can be fast if they can half of the bandwidth for a short period of time when they want, rather than being limited to a small amount of bandwidth all the time, such that your phone doesn't finish sending your message until you have the next one ready to start. Note that traditional phone calls are different in that the microphone will record constantly and always have data to send, whether you're talking, saying "mm-hm" while the other person is talking, or silent.
@@iabervon Yeah I was thinking this as well. But say you're in a situation where it's almost guaranteed that everyone is sending a lot of data, would it then be better than wasting a bunch of 20 byte messages every so often requesting that window for messaging?
Say for example a family all came home and they are watching their Netflixes or playing games, a lot of data is flying everywhere pretty regularly. In the case of the game especially, there's always data going back and fourth like you would see in a phone network where even empty messages are still messages in the end.
I guess in a sense, it'd really only make sense if it was a full-on smart(er) protocol that could learn with time, but that also introduces issues, like changes in the network, guests, etc.
The standard exists. It's called time division multiplexing. It used to be used a lot in telephone networking, and goes as far back as telegraph usage. A more advanced version called statistical time division multiplexing exists today and is sometimes seen today in situations like a single communications line being split out to multiple nodes on educational and corporate campuses.
Whoa. Haven't seen that paper in a while. Brings back memories.
I'm curious how this works when multiple independent access points are sharing a frequency when some can and cannot 'see' each other. example being residential buildings with many tenants
There are WiFi bands, 14 if I remember right for 2.4 GHz range and a lot more for 5GHz, I believe they all are slightly different in frequency, WiFi routers usually try and choose and less congested band automatically, or you can do it manually if you get a app to see which bands are being used
Very nice. I understand CSMA/CD but had never got round to how WiFi really worked. Another little piece filled in. (Bring back FDDI - no not really, just another tokeny ringy thingy that was much more trouble than it was worth.)
I wonder, if machine A got the CTS, how does machine C know when it's allowed to send another RTS again? Is there a "final acknowledgement" or a "revocation" of the CTS from the AP that machine C can use? Or is there maybe a well-defined time period that the CTS is valid for after which machine C could send its RTS?
similarly: is there some maximum size of data or amount of packages you are allowed to send after receiving a CTS? Or could you literally block the whole system for minutes, sending data.
Before watching the video to its end, I imagined it would use something similar as cell towers, where you get some fixed time slots assigned for transmitting (not sure if this is still correct, but i remember hearing that somewhere). Could even (re)negotiate them every now and then to stay flexible regarding other participants
@@Kantenkugel This renegotiation happens for every data chunk transmitted depending on the backoff time. Otherwise, I'm guessing that the protocol will become partial to nodes in some manner and the transmission rates observed on some machines will be higher than others, albeit, very slightly.
As soon as machine C sent the RTS packet, and didn't get a response back in a predefined amount of time (usually defined by the used protocol), then it sends it again in a random interval of time. (For example, he doesn't get a response, and decides to send the RTS packet again in 3 milliseconds. But next time it might will be 4, or 5...) This way the possibility of getting RTS packet from 2 machines at the same time from the perspective of the Access Point is significantly less, than waiting another predefined time before sending the RTS packet again.
The RTS and CTS contains a 2 byte length field, so any Transmitter can estimate the duration for the Send + ACK.
@@phizc Technically it's a duration field not length, then the speed of each node doesn't have to be known just time in ms the system sending the RTS already estimated the duration.
Congrats on the 2M subs!
What if there's ANOTHER access point in the same bandwidth (channel), how they recover from these collisions?
And what if there's noise caused by overlapping channels.
You could read about rogue access points (APs) if you'd like to learn about that. I'm sure plenty of video content talks about this problem as well.
They retry like any other collision, this is why WiFi APs have an 'auto' setting when picking a channel so they can scan for other APs and avoid using channels with the most noise.
Uh I didn't know this I've never really considered how WiFi networks actually work, interesting video 👍
What would happen if one computer sends a Request To Send, and then while transmitting the other data, sends *another* Request To Send immediately afterwards?
Is it possible for one computer to hog all the router bandwidth through that? Or is it expected that the Router does scheduling and says "Not yet - you already did send, I'm going to wait to check that noone else is sending a Request To Send first."?
Or what if you send a "clear to send" packet addressed to yourself first, so no other nodes send, while waiting for the actual "clear to send" from the access point.
@@benjaminmiller3620 I suspect the "Clear to Send" packet would run the issue of needing to reach the other computers on the WiFi that aren't in range - so you'd need the router to sign off on them not sending.
Many people are asking how does one know about this!
One way to learn this is to study the ASCII set of characters and learn the first 31 characters of it... 32(space) is the first char that starts the actual written/data sequence of characters. Call them codes, if you wish.
They are codes, no if you wish about it. That's what the C in ASCII stands for "code."
@@freedustin huh! yeaaah! of course they are encoded from 0 to 255... for the basic set. ... 0000 0000 - 1111 1111 to fit nicely in an 8bit context.
...the 'if you wish' is for the people who do not have that type knowledge and refer to 'code' incorrectly when speaking of computers.
I just long to slowly pull the edges off that tractor feed paper.
you need professional help
Nice! For the next one I suggest contrasting with TDMA and CDMA
So blocking wifi is as easy as continuously transmitting a carrier, and nothing will ever interrupt it?
You'll be interrupted by a knock on the door once the authorities have tracked you down. If you're deliberately jamming Wi-Fi, it's a MASSIVE fine.
Great explanation, subscribed!
This is why MIMO is important so that nodes can be allocated their own radio channel and help reduce the hidden node issue.
Excellent video. Thank you so much.
Any signal on a wire drops off as the square of the distance - same as radio waves. It's just that for Ethernet, they designed the maximum wire length to enable all nodes to see each other.
What viewers will be interested to know is that Request to send/clear to send (RTS/CTS) is optional and you can enable and disable it on a lot of WiFi routers/access points.
The benefit, as explained, is to mitigate the hidden node problem, but the cost is that overall, there is more overhead, and latency increases for time critical applications like live audio.
I love listening to Jack black trying to educate a fool like myself on science.
Albino Jack Black. Call it Jack White
Brilliant explanation!
IMHO Deauthentication frame is the worst part of the WiFi spec, anyone can jam any WiFi network and turn it unusable.
been there, done that. i love kali linux
Agreed. Even if the specification were somehow changed for it to be ignored unless deemed legitimate, then it could still be vulnerable to spoofing and MITM attacks. I think the problem is something like how do you force a rogue device to stop transmitting or how would you filter out the noise it's generating? Even if an AP forcibly ignores deauthentication frames the rogue device could still be a problem. I think a short term solution could be some kind of deauthentication frame reflection standard, but it's not clear if it's an outright fix.
IEEE 802.11w solves this by allowing management frames (including deauthentication frames) to be encrypted. This means that you'd have to know the network's PSK in order to send illegitimate deauth frames - and at that point, if a malicious actor already knows your PSK, you've got bigger problems on your hands
@@oolivero45 great! didn't know that
Thanks Dr Bagley ☺
Actually Over is simply end of transmission(packet)
Over AND Out signifies station sign off (AFK)
Wow. I learned this same material in a Computer Networks course, but that professor managed to make it as boring as possible. I love this short and very well explained format. It makes it so much easier to learn with the nice diagrams and animations.
token ring lives!
multiple access points will become very common in households. like relay points. it will be odd in the future when someone says they have only one access point, in all actuality it will be built into the structures of buildings. like building materials, access point beams will be the norm within every building. it will start out as commercial and then go onto the private sector. schools like universities will be the first to adopt this due to their dorm room issues with wifi. the price of electronics will be so cheap that this will be a no brainer, it actually won't even be mentioned unless you are in that field. thats how normal it will be. then the APs will talk with each other and manage household traffic, this will be as common as electrical outlets in a building, it will be a grid like structure, and then nearby houses and other objects built will communicate with each other as well, this will allow for a sort of mesh networking, cars will have parts built into them as well, signals will be thrown in a direction using a type of gps or some type of location verification by pinging off nearby buildings. for moving targets, cell tower technology will deal with that part. but, say you are in houston and you want to send a message to london, messages will be passed along through structures towards london, and then the final area, the tower that registers where that user is if they are out of their home or office, will then send out a signal for the last mile. in which that persons personal device will get a ping from the tower like we do now and get the data intended to be seen by the receiver.