1 Topic How do nodes share a single link Who sends when eg in WiFI Explore with a simple model Assume noone is in charge this is a distributed system CSE 461 University of Washington ID: 805289
Download The PPT/PDF document "CSE 461 University of Washington" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CSE 461 University of Washington
1
Topic
How do nodes share a single link? Who sends when, e.g., in WiFI?Explore with a simple modelAssume no-one is in charge; this is a distributed system
Slide2CSE 461 University of Washington
2
Topic (2)
We will explore random multiple access control (MAC) protocolsThis is the basis for classic EthernetRemember: data traffic is bursty
Zzzz..
Busy!
Ho hum
Slide3CSE 461 University of Washington
3
ALOHA Network
Seminal computer network connecting the Hawaiian islands in the late 1960sWhen should nodes send?A new protocol was devised by Norm Abramson …
Hawaii
Slide4CSE 461 University of Washington
4
ALOHA Protocol
Simple idea:Node just sends when it has traffic. If there was a collision (no ACK received) then wait a random time and resendThat’s it!
Slide5CSE 461 University of Washington
5
ALOHA Protocol (2)
Some frames will be lost, but many may get through…Good idea?
CSE 461 University of Washington
6
ALOHA Protocol (3)
Simple, decentralized protocol that works well under low load!Not efficient under high loadAnalysis shows at most 18% efficiencyImprovement: divide time into slots and efficiency goes up to 36%We’ll look at other improvements
Slide7CSE 461 University of Washington
7
Classic Ethernet
ALOHA inspired Bob Metcalfe to invent Ethernet for LANs in 1973Nodes share 10 Mbps coaxial cableHugely popular in 1980s, 1990s
: © 2009 IEEE
Slide8CSE 461 University of Washington
8
CSMA (Carrier Sense Multiple Access)
Improve ALOHA by listening for activity before we send (Doh!)Can do easily with wires, not wirelessSo does this eliminate collisions?Why or why not?
Slide9CSE 461 University of Washington
9
CSMA (2)
Still possible to listen and hear nothing when another node is sending because of delay
Slide10CSE 461 University of Washington
10
CSMA (3)
CSMA is a good defense against collisions only when BD is small
X
Slide11CSE 461 University of Washington
11
CSMA/CD (with Collision Detection)
Can reduce the cost of collisions by detecting them and aborting (Jam) the rest of the frame timeAgain, we can do this with wires
X
X
X
X
X
X
X
X
Jam!
Jam!
Slide12CSE 461 University of Washington
12
CSMA/CD Complications
Want everyone who collides to know that it happenedTime window in which a node may hear of a collision is 2D seconds
X
Slide13CSE 461 University of Washington
13
CSMA/CD Complications (2)
Impose a minimum frame size that lasts for 2D secondsSo node can’t finish before collisionEthernet minimum frame is 64 bytes
X
Slide14CSE 461 University of Washington
14
CSMA “Persistence”
What should a node do if another node is sending? Idea:
Wait until it is done,
and send
What now?
Slide15CSE 461 University of Washington
15
CSMA “Persistence” (2)
Problem is that multiple waiting nodes will queue up then collideMore load, more of a problem
Now!
Now!
Uh oh
Slide16CSE 461 University of Washington
16
CSMA “Persistence” (3)
Intuition for a better solutionIf there are N queued senders, we want each to send next with probability 1/N
Send p=½
Whew
Send p=½
Slide17CSE 461 University of Washington
17
Binary Exponential Backoff (BEB)
Cleverly estimates the probability1st collision, wait 0 or 1 frame times2nd collision, wait from 0 to 3 times3rd collision, wait from 0 to 7 times …BEB doubles interval for each successive collision
Quickly gets large enough to workVery efficient in practice
Slide18Classic Ethernet, or IEEE 802.3
Most popular LAN of the 1980s, 1990s
10 Mbps over shared coaxial cable, with baseband signalsMultiple access with “1-persistent CSMA/CD with BEB”
CSE 461 University of Washington18
Slide19CSE 461 University of Washington
19
Modern Ethernet
Based on switches, not multiple access, but still called EthernetWe’ll get to it in a later segment
Switch
Twisted pair
Switch ports
Slide20CSE 461 University of Washington
20
Topic
How do wireless nodes share a single link? (Yes, this is WiFi!)Build on our simple, wired model
Send?
Send?
Slide21CSE 461 University of Washington
21
Wireless Complications
Wireless is more complicated than the wired case (Surprise!)Nodes may have different areas of coverage – doesn’t fit Carrier Sense »Nodes can’t hear while sending – can’t Collision Detect
»
≠ CSMA/CD
Slide22CSE 461 University of Washington
22
Different Coverage Areas
Wireless signal is broadcast and received nearby, where there is sufficient SNR
Slide23Hidden Terminals
Nodes A and C are hidden terminals
when sending to BCan’t hear each other (to coordinate) yet collide at B
We want to avoid the inefficiency of collisionsCSE 461 University of Washington23
Slide24Exposed Terminals
B and C are exposed terminals
when sending to A and DCan hear each other yet don’t collide at receivers A and D
We want to send concurrently to increase performanceCSE 461 University of Washington24
Slide25CSE 461 University of Washington
25
Nodes Can’t Hear While Sending
With wires, detecting collisions (and aborting) lowers their costMore wasted time with wireless
Time
XXXXXXXXX
XXXXXXXXX
Wireless
Collision
Resend
X
X
Wired
Collision
Resend
Slide26Possible Solution: MACA
MACA uses a short handshake instead of CSMA (Karn
, 1990)802.11 uses a refinement of MACA (later)
Protocol rules:A sender node transmits a RTS (Request-To-Send, with frame length)The receiver replies with a CTS (Clear-To-Send, with frame length)Sender transmits the frame while nodes hearing the CTS stay silentCollisions on the RTS/CTS are still possible, but less likely
CSE 461 University of Washington
26
Slide27CSE 461 University of Washington
27
MACA – Hidden Terminals
AB with hidden terminal CA sends RTS, to B
D
C
B
A
Slide28CSE 461 University of Washington
28
MACA – Hidden Terminals (2)
AB with hidden terminal CB sends CTS, to A, and C too
D
C
B
A
RTS
Slide29CSE 461 University of Washington
29
MACA – Hidden Terminals (3)
AB with hidden terminal CB sends CTS, to A, and C too
D
C
B
A
RTS
C
TS
C
TS
Alert!
Slide30CSE 461 University of Washington
30
MACA – Hidden Terminals (4)
AB with hidden terminal CA sends frame while C defers
Frame
Quiet...
Slide31CSE 461 University of Washington
31
MACA – Exposed Terminals
BA, CD as exposed terminalsB and C send RTS to A and D
D
C
B
A
Slide32CSE 461 University of Washington
32
MACA – Exposed Terminals (2)
BA, CD as exposed terminalsA and D send CTS to B and C
D
C
B
A
RTS
RTS
Slide33CSE 461 University of Washington
33
MACA – Exposed Terminals (3)
BA, CD as exposed terminalsA and D send CTS to B and C
D
C
B
A
RTS
RTS
C
TS
C
TS
All OK
All OK
Slide34CSE 461 University of Washington
34
MACA – Exposed Terminals (4)
BA, CD as exposed terminalsA and D send CTS to B and C
D
C
B
A
Frame
Frame
Slide35ZigZag
Exploits 802.11’s behavior
Retransmissions
Same packets collide againSenders use random jitters Collisions start with interference-free bits
∆1
∆2
P
a
P
b
P
a
P
b
Interference-free Bits
Slide36How Does ZigZag Work?
∆1
∆2
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
1
∆1 ≠∆2
Decode and subtract
from the other collision
1
Slide37∆2
1
2
1
∆1
How Does ZigZag Work?
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Slide38∆2
1
2
2
∆1
How Does ZigZag Work?
3
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Slide39∆2
1
2
4
∆1
How Does ZigZag Work?
3
3
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Slide40∆2
1
2
4
4
∆1
How Does ZigZag Work?
3
5
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Slide41∆2
1
6
∆1
How Does ZigZag Work?
3
5
5
2
4
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Slide42∆2
1
6
6
∆1
How Does ZigZag Work?
2
4
3
5
7
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Slide43∆2
1
6
8
∆1
How Does ZigZag Work?
2
4
3
5
7
7
Find a chunk that is
interference-free
in one collisions and has
interference
in the other
∆1 ≠∆2
Decode and subtract
from the other collision
Delivered 2 packets in 2 timeslots
As efficient as if the packets did not collide
Slide44ZigZag
A receiver design that decodes collisions
As efficient as if the colliding packets were sent in separate time slots
Experimental results shows that it reduces hidden terminal losses from 72% to 0.7%
Slide45How does the AP know it is a collision and where the second packet starts?
Time
AP received a collision signal
∆
Slide46Detecting Collisions and the Value of
∆
Time
AP received signal
Packets start with known preamble
AP
correlates
known preamble with signal
Correlation
Time
Correlate
∆
Preamble Correlation
Detect collision and the value of
∆
Works despite interference
because correlation with an independent signal is zero
Slide47How Does the AP Subtract the Signal?
Channel’s attenuation or phase may change between collisions
Can’t simply subtract a chunk across collisions
Alice’s signal in first collision
Alice’s signal in second collision
Slide48Subtracting a Chunk
Decode
chunk into bits
Removes effects of channel during first collisionRe-modulate bits to get channel-free signalApply effect of channel
during second collisionUse correlation to estimate channel despite interference
Now, can subtract!
Slide49What if AP Makes a Mistake?
Slide50∆1
∆2
1
1
2
2
Bad News: Errors can propagate
3
Can we deal with these errors?
What if AP Makes a Mistake?
Slide51∆1
∆2
What if AP Makes a Mistake?
Good News: Temporal Diversity
A bit is unlikely to be affected by noise in both collisions
Get two independent
decodings
Slide52Errors propagate differently in the two
decodings
For each bit, AP picks the decoding that has a higher PHY confidence [JB07, WKSK07]
Which decoded value should the AP pick?
∆1
∆2
1
1
2
2
3
AP Decodes Backwards as well as Forwards
Slide53ZigZag Generalizes
Slide54ZigZag
Generalizes
∆1
∆2
1
2
1
2
Flipped order
Slide55Flipped order
Different packet sizes
ZigZag
Generalizes
∆1
∆2
1
2
1
2
Slide56ZigZag
Generalizes
1
2
3
1
2
3
1
2
3
Flipped order
Different packet sizes
Multiple colliding packets
1
2
1
2
2
1
3
3
3