Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 461 University of Washington1 Topic How do nodes share a single link? Who sends when, e.g., in WiFI? – Explore with a simple model Assume no-one is.

Similar presentations


Presentation on theme: "CSE 461 University of Washington1 Topic How do nodes share a single link? Who sends when, e.g., in WiFI? – Explore with a simple model Assume no-one is."— Presentation transcript:

1 CSE 461 University of Washington1 Topic How do nodes share a single link? Who sends when, e.g., in WiFI? – Explore with a simple model Assume no-one is in charge; this is a distributed system

2 CSE 461 University of Washington2 Topic (2) We will explore random multiple access control (MAC) protocols – This is the basis for classic Ethernet – Remember: data traffic is bursty Zzzz..Busy!Ho hum

3 CSE 461 University of Washington3 ALOHA Network Seminal computer network connecting the Hawaiian islands in the late 1960s – When should nodes send? – A new protocol was devised by Norm Abramson … Hawaii

4 CSE 461 University of Washington4 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 resend That’s it!

5 CSE 461 University of Washington5 ALOHA Protocol (2) Some frames will be lost, but many may get through… Good idea?

6 CSE 461 University of Washington6 ALOHA Protocol (3) Simple, decentralized protocol that works well under low load! Not efficient under high load – Analysis shows at most 18% efficiency – Improvement: divide time into slots and efficiency goes up to 36% We’ll look at other improvements

7 CSE 461 University of Washington7 Classic Ethernet ALOHA inspired Bob Metcalfe to invent Ethernet for LANs in 1973 – Nodes share 10 Mbps coaxial cable – Hugely popular in 1980s, 1990s : © 2009 IEEE

8 CSE 461 University of Washington8 CSMA (Carrier Sense Multiple Access) Improve ALOHA by listening for activity before we send (Doh!) – Can do easily with wires, not wireless So does this eliminate collisions? – Why or why not?

9 CSE 461 University of Washington9 CSMA (2) Still possible to listen and hear nothing when another node is sending because of delay

10 CSE 461 University of Washington10 CSMA (3) CSMA is a good defense against collisions only when BD is small X

11 CSE 461 University of Washington11 CSMA/CD (with Collision Detection) Can reduce the cost of collisions by detecting them and aborting (Jam) the rest of the frame time – Again, we can do this with wires X X X X Jam!

12 CSE 461 University of Washington12 CSMA/CD Complications Want everyone who collides to know that it happened – Time window in which a node may hear of a collision is 2D seconds X

13 CSE 461 University of Washington13 CSMA/CD Complications (2) Impose a minimum frame size that lasts for 2D seconds – So node can’t finish before collision – Ethernet minimum frame is 64 bytes X

14 CSE 461 University of Washington14 CSMA “Persistence” What should a node do if another node is sending? Idea: Wait until it is done, and send What now?

15 CSE 461 University of Washington15 CSMA “Persistence” (2) Problem is that multiple waiting nodes will queue up then collide – More load, more of a problem Now! Uh oh

16 CSE 461 University of Washington16 CSMA “Persistence” (3) Intuition for a better solution – If there are N queued senders, we want each to send next with probability 1/N Send p=½Whew Send p=½

17 CSE 461 University of Washington17 Binary Exponential Backoff (BEB) Cleverly estimates the probability – 1st collision, wait 0 or 1 frame times – 2nd collision, wait from 0 to 3 times – 3rd collision, wait from 0 to 7 times … BEB doubles interval for each successive collision – Quickly gets large enough to work – Very efficient in practice

18 Classic Ethernet, or IEEE 802.3 Most popular LAN of the 1980s, 1990s – 10 Mbps over shared coaxial cable, with baseband signals – Multiple access with “1-persistent CSMA/CD with BEB” CSE 461 University of Washington18

19 CSE 461 University of Washington19 Modern Ethernet Based on switches, not multiple access, but still called Ethernet – We’ll get to it in a later segment Switch Twisted pair Switch ports

20 CSE 461 University of Washington20 Topic How do wireless nodes share a single link? (Yes, this is WiFi!) – Build on our simple, wired model Send?

21 CSE 461 University of Washington21 Wireless Complications Wireless is more complicated than the wired case (Surprise!) 1.Nodes may have different areas of coverage – doesn’t fit Carrier Sense » 2.Nodes can’t hear while sending – can’t Collision Detect » ≠ CSMA/CD

22 CSE 461 University of Washington22 Different Coverage Areas Wireless signal is broadcast and received nearby, where there is sufficient SNR

23 Hidden Terminals Nodes A and C are hidden terminals when sending to B – Can’t hear each other (to coordinate) yet collide at B – We want to avoid the inefficiency of collisions CSE 461 University of Washington23

24 Exposed Terminals B and C are exposed terminals when sending to A and D – Can hear each other yet don’t collide at receivers A and D – We want to send concurrently to increase performance CSE 461 University of Washington24

25 CSE 461 University of Washington25 Nodes Can’t Hear While Sending With wires, detecting collisions (and aborting) lowers their cost More wasted time with wireless Time XXXXXXXXX Wireless Collision Resend X X Wired Collision Resend

26 Possible Solution: MACA MACA uses a short handshake instead of CSMA (Karn, 1990) – 802.11 uses a refinement of MACA (later) Protocol rules: 1.A sender node transmits a RTS (Request-To-Send, with frame length) 2.The receiver replies with a CTS (Clear-To-Send, with frame length) 3.Sender transmits the frame while nodes hearing the CTS stay silent – Collisions on the RTS/CTS are still possible, but less likely CSE 461 University of Washington26

27 CSE 461 University of Washington27 MACA – Hidden Terminals A  B with hidden terminal C 1.A sends RTS, to B DCB A

28 CSE 461 University of Washington28 MACA – Hidden Terminals (2) A  B with hidden terminal C 2.B sends CTS, to A, and C too DCB A RTS

29 CSE 461 University of Washington29 MACA – Hidden Terminals (3) A  B with hidden terminal C 2.B sends CTS, to A, and C too DCB A RTS CTS Alert!

30 CSE 461 University of Washington30 MACA – Hidden Terminals (4) A  B with hidden terminal C 3.A sends frame while C defers Frame Quiet...

31 CSE 461 University of Washington31 MACA – Exposed Terminals B  A, C  D as exposed terminals – B and C send RTS to A and D DCB A

32 CSE 461 University of Washington32 MACA – Exposed Terminals (2) B  A, C  D as exposed terminals – A and D send CTS to B and C DCB A RTS

33 CSE 461 University of Washington33 MACA – Exposed Terminals (3) B  A, C  D as exposed terminals – A and D send CTS to B and C DCB A RTS CTS All OK

34 CSE 461 University of Washington34 MACA – Exposed Terminals (4) B  A, C  D as exposed terminals – A and D send CTS to B and C DCB A Frame

35 ZigZag Exploits 802.11’s behavior Retransmissions  Same packets collide again Senders use random jitters  Collisions start with interference-free bits ∆1 ∆2 PaPa PbPb PaPa PbPb Interference-free Bits

36 How Does ZigZag Work? ∆1 ∆2 Find a chunk that is interference-free in one collisions and has interference in the other 1 1 ∆1 ≠∆2 Decode and subtract from the other collision 1 1

37 ∆2 1 1 2 2 1 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

38 ∆2 1 1 2 2 2 2 ∆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

39 ∆2 1 1 2 2 4 4 ∆1 How Does ZigZag Work? 3 3 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

40 ∆2 1 1 2 2 4 4 4 4 ∆1 How Does ZigZag Work? 3 3 5 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

41 ∆2 1 1 6 6 ∆1 How Does ZigZag Work? 3 3 5 5 5 5 2 2 4 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

42 ∆2 1 1 6 6 6 6 ∆1 How Does ZigZag Work? 2 2 4 4 3 3 5 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

43 ∆2 1 1 6 6 8 8 ∆1 How Does ZigZag Work? 2 2 4 4 3 3 5 5 7 7 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 Delivered 2 packets in 2 timeslots As efficient as if the packets did not collide

44 ZigZag 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%

45 How does the AP know it is a collision and where the second packet starts? Time AP received a collision signal ∆

46 Detecting 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 Preamble Correlation Detect collision and the value of ∆ Works despite interference because correlation with an independent signal is zero

47 How 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

48 Subtracting a Chunk Decode chunk into bits – Removes effects of channel during first collision Re-modulate bits to get channel-free signal Apply effect of channel during second collision – Use correlation to estimate channel despite interference Now, can subtract!

49 What if AP Makes a Mistake?

50 ∆1 ∆2 1 1 1 1 2 2 2 2 Bad News: Errors can propagate 3 3 Can we deal with these errors? What if AP Makes a Mistake?

51 ∆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

52 Errors 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 1 1 2 2 2 2 3 3 AP Decodes Backwards as well as Forwards

53 ZigZag Generalizes

54 ∆1 ∆2 1 1 2 2 1 1 2 2 Flipped order

55 Different packet sizes ZigZag Generalizes ∆1 ∆2 1 1 2 2 1 1 2 2

56 ZigZag Generalizes 1 2 3 1 2 3 1 2 3 Flipped order Different packet sizes Multiple colliding packets 1 1 2 2 1 1 2 2 2 2 1 1 3 3 3 3 3 3


Download ppt "CSE 461 University of Washington1 Topic How do nodes share a single link? Who sends when, e.g., in WiFI? – Explore with a simple model Assume no-one is."

Similar presentations


Ads by Google