I don't know about you, but when I first started using wireless devices, I made
an assumption
that all of these wireless devices were just all communicating at the exact
same time.
And as I got into the world of network engineering and especially the wireless
side of things,
you start to learn that some of your assumptions like that might not quite be
correct.
The reality is that when we're talking about wireless as a medium, this is half
-duplex.
When we think back to our wired Ethernet, studies we recall that half-duplex WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
When we think back to our wired Ethernet, studies we recall that half-duplex
means that we need to take turns.
We can only have a single transmission going at a single time.
And so we think about a room with tons of wireless devices and all of these
devices,
whether it's our mobile phones or our laptops or whatever it is, we have
connected to the Wi-Fi.
They're all blinking their lights and it looks like everybody's just WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
They're all blinking their lights and it looks like everybody's just
communicating at the same time.
But when we shrink the wireless world down to milliseconds and nanoseconds,
what we find is that this device starts transmitting and that transmission ends
.
And then everybody sort of sits there and listens. There's actually a downtime
here.
And once we decide that, "Hey, nobody else is communicating, then somebody else
will start speaking."
And then there will be another wait time and then somebody else will take a
turn and start speaking. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
turn and start speaking.
And again, when we zoom in to this level, we're truly talking about nanoseconds
and milliseconds here.
When we're talking about that small of a time gap, we really do find that there
's only one transmission happening at a time.
Furthermore, with the wired world, we had a sense of whether our transmission
went through.
Remember this concept of CSMA-CD.
This was for the wired world. When you're sharing a medium, it's carrier sense, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
This was for the wired world. When you're sharing a medium, it's carrier sense,
multiple access collision detection.
We don't have to worry about this too much in the world of switches, but back
when we had hubs,
we had to worry a lot about this and whether there'd be a collision on the line
.
Well, we're not talking about wired right now. We're talking about wireless.
And wireless doesn't have the same luxuries, if you want to call it, that the
wired networking had.
So we have to use something else, something we call carrier sense, multiple
access collision avoidance for our wireless communications. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
access collision avoidance for our wireless communications.
Because we need to know if there was a collision of signals at the point of the
receiver.
Now, the problem with this is if I send a signal out to the receiver over here,
how do I know whether or not there was a signal that collided with it right at
the point of the receiver?
With wired, I can tell whether there was a collision or not, because I will
inevitably see whatever caused the collision,
and I can run some math and figure out if my signal happened to be at the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and I can run some math and figure out if my signal happened to be at the
receiver at the same time,
or on the medium at the same time as this other signal.
With wireless, I don't have that luxury. I might get a signal in after I'm done
transmitting and maybe the receiver was here.
Maybe the receiver was here. Maybe the receiver was here. I can't even
necessarily tell the direction of whether these wireless competing devices were
closer to my receiver,
further away from my receiver. This is known as a boundless medium. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
further away from my receiver. This is known as a boundless medium.
There is no way for me to contain this signal. On a wired side, it's contained
to the wire.
And with wired ethernet, I know that I can only go 100 meters.
So again, I can run that math operation to figure out if I just heard a signal
after I was done transmitting,
was that signal colliding with my signal or did that come long enough later
that I know that a collision did not occur?
So what exactly is CSMACA, this collision avoidance technique? It essentially WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So what exactly is CSMACA, this collision avoidance technique? It essentially
boils down to I'm going to transmit,
and then I'm going to wait for an acknowledgement or an act.
Yeah, that says wait there. How about that?
So we are going to wait for an acknowledgement.
What this means is when I have a transmitter and a receiver, my transmission is
going to go out,
and I'm going to hope for the best. I'm going to hope that my receiver got it, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and I'm going to hope for the best. I'm going to hope that my receiver got it,
but I'm not going to assume it got it.
In fact, I'm going to assume the opposite. I'm going to assume that that
transmission did not get through until I receive an acknowledgement back.
Wireless is set up to allow these acknowledgments to come back very, very
quickly after the initial transmission was sent.
So in theory, nobody else can step in and transmit before the acknowledgement
gets out.
So if I get this acknowledgement and I see, oh, okay, good, you did receive the
packet. Let's say I have three packets or really technically wireless frames to WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
packet. Let's say I have three packets or really technically wireless frames to
send, since it's at layer two,
I might send number one and I get the acknowledgement back, so I check it off.
Then I'm ready to send frame number two. So I send frame number two and I get
the acknowledgement back. Great.
Then I'm ready to send frame number three and I don't get an acknowledgement
back.
Let's say I have four frames in this case. So now I didn't get an
acknowledgement back. I'm not going to go on to frame number four.
Instead, I'm going to have to retransmit frame three until I get that
acknowledgement. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
acknowledgement.
So it's a sense of transmissions and retransmissions that hinge on the concept
of an acknowledgement.
So that is what CSMACA is all about.
Now when we talk about collisions, it's a little bit different, but also kind
of the same as wired collisions, it's ultimately the intersection of signals.
So when two signals overlap each other, they can have a detrimental effect on
one another.
Now here's the funny thing. What happens when wireless signals collide in free WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now here's the funny thing. What happens when wireless signals collide in free
space?
I've got a signal coming here and a signal coming here and they're coming right
at each other. What happens when they hit?
Are they permanently disfigured and believe it or not, the answer is no.
If these two signals pass by each other, signal A and signal B are just going
to pass through each other and now signal B is over here and signal A is over
here and they just keep going their merry ways.
That concept of ships in a night, that phrase that basically implies that they WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
That concept of ships in a night, that phrase that basically implies that they
pass right by or in this case right through each other and they just don't care
.
They signals are fully intact.
The problem is what happens if the receiver is right here where the collision
is occurring.
Now there's a problem.
If the receiver is over here and signal A passes through B and it ultimately
arrives at the receiver, it's going to be intact at that point and that's great
.
But if the receiver is here in the middle, this is where that collision concept WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But if the receiver is here in the middle, this is where that collision concept
occurs and now the receiver is not going to be able to tell the difference
between those signals.
This is what we refer to as wireless interference and we do need to keep in
mind that interference only happens for same frequencies.
What happens if A and B come in and they're two completely different WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
What happens if A and B come in and they're two completely different
frequencies? We've got A with a lower frequency and maybe B with a higher
frequency.
Well, there is technically a collision there but we can use some advanced math
to separate those signals out.
And as long as there are different frequencies, we can split them out and make
sure that I'm only looking at the one I care about.
But when it's a same frequency signal that's colliding with another one at the
point of reception, this is where we can't separate those signals out.
It causes interference and I am not going to be able to send that WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It causes interference and I am not going to be able to send that
acknowledgement.
Now this is interesting because we just said that we're taking turns here and
yet we also just said that there's this intersection of signals that can cause
interference.
So if we're taking turns and everybody's doing their part, then how can we even
have two different signals out there of the same frequency?
Well, there's a pretty simple answer for this and it comes back to the fact
that wireless is a boundless medium.
So imagine this. Imagine I have an access point here and I have transmitter A WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So imagine this. Imagine I have an access point here and I have transmitter A
over on the left and I have transmitter B on the right.
So maybe these are two different mobile devices connected to an AP.
So now, again, zooming in here, we see that nobody is communicating.
A and B are both ready to transmit a frame. They listen and they both start
transmitting at the same time.
So that can happen, but I will say it's not very likely. Wireless is pretty
good about operating in distinct intervals and chances are by the time A starts WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
good about operating in distinct intervals and chances are by the time A starts
transmitting B would actually hear A.
But here's the problem. What if A is so far away that by the time its signal
gets to be it's not legible anymore or readable.
Listenable, whatever we want to say, it's lightweight. So I guess we would say
it's not visible anymore to transmit B.
So A listens, it's empty starts transmitting. Later on B decides to start WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So A listens, it's empty starts transmitting. Later on B decides to start
transmitting because it can't actually hear A communicating.
This is called a hidden node problem. It's a very common situation with
wireless.
And because these transmitters are so far apart from one another, they might
actually end up causing a lot of collisions because they're going to keep
trying to speak on top of each other.
But they can't actually hear one another. Meanwhile the AP here in the middle
can hear both of them.
And it's going to result in a lot of problems. And we have mechanisms to help WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And it's going to result in a lot of problems. And we have mechanisms to help
resolve this issue.
But I'm bringing this up as a way to illustrate how collisions can occur and
kind of the challenges that wireless presents that we just don't have to worry
about when it comes to wired communications.
So why can an axis point not read the signal if we have interference? Well,
because when we look at our waveforms,
waveforms are measuring energy. Remember that concept of amplitude and origin, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
waveforms are measuring energy. Remember that concept of amplitude and origin,
the amount of energy that is in the waveform here.
When we're looking at signal A coming in, and then we have signal B down here
that's the same frequency, what we end up doing is sort of this waveform math.
I can take this positive value, let's say it's at positive 2 here. Well, here
it's actually at negative 2.
So you add these up and it's 0. And then same thing here, this is negative 2
and positive 2 or whatever the value is, ultimately these two waveforms end up WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and positive 2 or whatever the value is, ultimately these two waveforms end up
canceling out.
Again, this addition problem, so to speak, is kind of an illustration of what
happens. And so two signals can actually cancel each other out if they're the
exact same frequency.
But interestingly, if we take two signals that are the same, go back a little
ways here, what happens if they're the same as one another.
Well, that waveform math still applies and you end up with a signal that's the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Well, that waveform math still applies and you end up with a signal that's the
same frequency, but a much higher amplitude.
And so we can actually use this to our advantage, a lot of modern wireless
devices do use this to their advantage and this can create a signal boost.
But this requires very precise overlap of signals, requires calculated transm
issions. And so more often than not, we do some form of waveform math that
creates this wonky signal or a canceled out signal that nobody can read. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
creates this wonky signal or a canceled out signal that nobody can read.
And so that's why when we are talking about collisions, that that's bad news.
Now one last thing to keep in mind in all this is what we said up here, which
is that signals degrade over time, meaning that they lose their energy.
Wireless signal doesn't last forever. Most of us are familiar with this concept
just because we use wireless devices and we've got that signal strength
indicator on our phones that maybe indicates whether I've got really strong WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
indicator on our phones that maybe indicates whether I've got really strong
service or really weak service.
And the idea here is that if I'm trying to communicate to a cellular tower or a
Wi-Fi access point either way, that signals do degrade over time.
And so what we'll also find is this is relative to our frequency.
The higher the frequency, the lower the distance, meaning that a high frequency
signal will degrade faster over time. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
signal will degrade faster over time.
So if I draw a high frequency signal here, it'll degrade faster than a low
frequency signal, although both do eventually degrade over time.
So if we're comparing, for example, our 5 gigahertz wireless to our 2.4 giga
hertz wireless will see that 2.4 goes quite a bit further and 6 gigahertz goes
even less far than the 5 gigahertz.
So that's something to consider as we look at deploying different bands and WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So that's something to consider as we look at deploying different bands and
different channels into our environment.
Really, it's more of a band level conversation than channel, but again, in
general, it's relative to frequency.
And so the higher the frequency of a signal, the lower the distance we can
expect it to go, and that will be something we need to consider when it comes
to our cell designs.
designs.