1 / 38

# CPSC 689: Discrete Algorithms for Mobile and Wireless Systems - PowerPoint PPT Presentation

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems. Spring 2009 Prof. Jennifer Welch. Lecture 3. Topics: MAC Protocols part 2 Sources: Schiller, Ch 1-3 Balakrishnan, Ch 11 Vaidya, Ch 1-2, 4-5 MIT 6.885 Fall 2008 slides. Reservation-Based Strategy. Used in MACA and MACAW.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'CPSC 689: Discrete Algorithms for Mobile and Wireless Systems' - hera

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

Spring 2009

Prof. Jennifer Welch

Lecture 3 Systems

• Topics:

• MAC Protocols part 2

• Sources:

• Schiller, Ch 1-3

• Balakrishnan, Ch 11

• Vaidya, Ch 1-2, 4-5

• MIT 6.885 Fall 2008 slides

Discrete Algs for Mobile Wireless Sys

Reservation-Based Strategy Systems

• Used in MACA and MACAW.

• For unicast transmission only.

• Assumes data to be sent can be fairly long.

• Introduces control messages, which are short, so less likely to collide.

• Each data transmission is preceded by a control message handshake to reserve the channel for a period of time.

• Messages: RTS (Request To Send), CTS (Clear to Send), Data

• Sender A sends RTS.

• Contains name of sender A and receiver B, and length of data to be sent (amount of time the data transmission will take).

• Receiver B responds with CTS.

• Contains same info.

• If sender A gets CTS, sends the actual data.

Discrete Algs for Mobile Wireless Sys

A Systems

C

D

Reservation-Based Strategy (cont’d)

• RTS / CTS / Data protocol can be interrupted:

• If sender A hears another CTS with a planned transmission interval that would overlap its proposed interval, then A doesn’t transmit.

• Because some receiver C in A’s range has already OK’d another transmission, say from D.

• So A’s transmission might collide at C with D’s transmission, ruining D’s transmission.

A waits to

not spoil

D's msg

at C

clears C

to send

requests to

send to C

Discrete Algs for Mobile Wireless Sys

A Systems

B

D

C

Reservation-Based Strategy (cont’d)

• RTS / CTS / Data protocol can be interrupted:

• If receiver B hears another RTS, intended for another receiver C, with a planned transmission interval that overlaps the one proposed by A, then B doesn’t respond with the CTS.

• Because the two transmissions might collide at B.

• Reservation approach does not use carrier-sensing---just explicit messages.

requests to

send to B

doesn't

send CTS

requests to

send to C

Discrete Algs for Mobile Wireless Sys

A Systems

B

C

Hidden Terminal Problem

• RTS / CTS / Data protocol solves the hidden terminal problem, assuming conditions don't change after the reservation.

• A requests to send to B with RTS

• B sends CTS, which is heard by A and C

• C will not send to B during A's transmission

Discrete Algs for Mobile Wireless Sys

A Systems

B

C

D

Exposed Terminal Problem

• Handles exposed terminal problem somewhat:

• Suppose that B sets up transmission to A first.

• Sender C sends RTS to D.

• D hasn’t heard the RTS from B to A (not in range), so D can respond to C with CTS.

• Then C can transmit to D, knowing that D shouldn’t be receiving any other transmission.

• However:

• D sends the CTS to C

• But it seems likely that C won’t hear it, because of interference from B’s transmission.

• ?

Discrete Algs for Mobile Wireless Sys

Acks and Reservations Systems

• If the data transmission is followed by link-layer Acks, then we must be sure that Acks succeed also, not just the Data packets.

• Because if Ack is lost, Data must be retransmitted.

• So, expand the proposed reserved transmission time to include enough time for the Ack too.

• Essentially, an RTS / CTS / Data / Ack protocol.

• Since this involves communication in both directions (sender to receiver and receiver to sender), we should treat the link symmetrically.

• Simplest version: Let each sender or receiver defer if it hears either an overlapping RTS or CTS.

Discrete Algs for Mobile Wireless Sys

Evaluation Systems

• RTS / CTS / Data and RTS / CTS / Data / Ack protocols reduce likelihood of collision:

• Now collisions can occur only during the handshake.

• Probability of collision is lower, since control messages are short.

• Ex: Suppose A and C send RTS at the same time for the same receiver B.

• B might not receive either.

• B might receive one, respond with CTS.

• B might receive both, could respond with CTS to one of them.

Discrete Algs for Mobile Wireless Sys

Evaluation Systems

• High, if data packets are short or collisions are infrequent.

• May be acceptable if data packets are long and collisions frequent.

• Assumes symmetrical transmission/reception conditions.

• Good only for unicast.

• RTS / CTS strategy sometimes called “Virtual Carrier Sensing”, since it provides an implicit way to tell if the channel is busy.

Discrete Algs for Mobile Wireless Sys

• The descriptions are in terms of “time”, so it sounds like the nodes should be using (approximately) synchronized clocks.

• But it seems that this could be implemented with un-synchronized local clocks.

• The reservation period is short, and everyone could keep track of proposed intervals in a relative way, in terms of their own clocks.

• Details?

Discrete Algs for Mobile Wireless Sys

• p-persistence:

• At each “valid” transmission opportunity (when sensing mechanisms don’t detect any activity on the channel), allow a node to transmit a packet only with probability p.

• How to choose p?

• Too small: Wasted slots, hurts throughput.

• Too large: High chance of collision.

• Ideal would be p = 1/n, where n is the number of nodes that would like to transmit.

• However, the devices don’t know n.

• E.g., could estimate it as some multiple of the number of known neighbors.

• Again, slots must be synchronized; with clock skew, the slots must be correspondingly larger.

Discrete Algs for Mobile Wireless Sys

p-Persistence Systems

• p-persistence is memoryless:

• Probability a node transmits in a slot doesn’t depend on time since it last attempted to transmit.

• An arbitrary number of slots could pass without some particular node being able to transmit.

• Unfair!

• Might consider letting unsuccessful nodes increase their p.

• Next strategy adds some memory, for better fairness.

Discrete Algs for Mobile Wireless Sys

Backoff Interval Strategy Systems

• Ensures that a node attempts to transmit after a bounded number of valid transmission opportunities (when channel appears to be free).

• Node wanting to transmit sets a counter to a number b, and transmits at the bth valid opportunity.

• Thus, never lets more than b valid opportunities pass before trying to transmit.

• How to choose b?

• Too large: Wastes slots

• Too small: High chance of collision

• Ideal: n, number of contenders, but hard to estimate this.

• Choose b uniformly at random in an appropriate range [0,bmax].

• Randomness avoids synchronized retries and the resulting repeated collisions.

Discrete Algs for Mobile Wireless Sys

Backoff Interval Strategy Systems

• To transmit:

• Pick a number in [0,bmax], uniformly at random.

• Use this to initialize a counter b.

• Try periodically to sense; each time:

• Decrement the counter if the channel appears free.

• Leave the counter alone if the channel appears busy.

• When b = 0, transmit the data.

• Can do this without synchronized clocks.

Discrete Algs for Mobile Wireless Sys

Responding to Packet Loss Systems

• Assume we are using the backoff interval strategy above, plus link-level Acks to tell if transmission succeeds.

• If a node A transmits and no Ack arrives, A must retransmit.

• The failure is evidence that there is too much contention, so instead of using the same bmax to choose b, increase bmax.

• When transmission succeeds, reset bmax to a small number bmin.

Discrete Algs for Mobile Wireless Sys

Responding to Packet Loss Systems

• How to increase bmax?

• Common strategy: Binary exponential backoff (BEB).

• Double bmax.

• Used in Ethernet, works well there (theoretical results prove it’s optimal).

• In wireless setting, may be too pessimistic, since failure could be caused by noise as well as contention.

• Strategy is somewhat unfair:

• A device that is unsuccessful keeps increasing its bmax, which gives it fewer and fewer chances.

• Tends to allow devices who are transmitting successfully to keep transmitting successfully, and to lock out unsuccessful devices.

Discrete Algs for Mobile Wireless Sys

• Use backoff to tell a node when to start an entire RTS / CTS / Data dialog, not just when to transmit actual data.

• Use backoff only for initial entry to the dialog, i.e., for sending the RTS; thereafter, just keep going as before.

• Of course, look out for collisions.

• If dialog is interrupted, increase bmax and start the entire dialog again.

Discrete Algs for Mobile Wireless Sys

Eliminating collisions? Systems

• In many wireless networks, no one starts out knowing what devices are participating.

• In an ad hoc network, we can reduce collisions to short intervals---time to exchange RTS/CTS control packets.

• In a cellular network, a base station can schedule data transmission.

• But there is still a very small probability that a device will be blocked from announcing its presence to the base station.

• It seems that, no matter what we do, there remains some possibility of collisions; all we can do is reduce the probability.

• Q: Prove a theorem?

Discrete Algs for Mobile Wireless Sys

Comparison Systems

• Carrier-Sense Multiple Access (CSMA) strategies, with Collision Avoidance (backoff), can work well when contention level is low.

• Little overhead, low likelihood of colliding.

• Reservation-based protocols work well when contention level is high.

• But they work only for unicast.

• Neither is completely adequate for ad hoc networks---still an active area of research.

• Can be combined, as in 802.11.

Discrete Algs for Mobile Wireless Sys

Specific MAC Protocols Systems

• 802.11

• MACA / MACAW

Discrete Algs for Mobile Wireless Sys

802.11 Overview Systems

• IEEE standard for wireless MAC layer.

• For both cellular systems and ad hoc local networks.

• Centralized Point Coordination Function (PCF)

• Needs an AP (Access Point = base station) to coordinate.

• Both asynchronous and time-bounded service.

• Time-bounded service is good for supporting voice/video.

• AP uses a centralized polling protocol, polling all the devices it is servicing to see if they have something to send.

• Distributed Coordination Function (DCF)

• Works for both cellular and ad hoc settings.

• Just asynchronous service (no time bound guarantees).

• Uses CSMA/CA (with backoff), plus RTS/CTS reservations.

• RTS/CTS often turned off, because of overhead.

Discrete Algs for Mobile Wireless Sys

802.11 Time Synchronization Systems

• Cellular systems:

• Access Point transmits Beacon Frames periodically, containing the value of the AP’s clock at the time of transmission; receiving stations reset their clocks accordingly.

• Beacon Frames should be sent at particular “target beacon transmission times”.

• Doesn't always succeed, because of congestion-induced delays.

• AP does its best.

Discrete Algs for Mobile Wireless Sys

802.11 Time Synchronization Systems

• Alldevices try to send beacons at target times.

• Most of the time, one of the broadcasts wins over the others (because of characteristics of the broadcast medium).

• Everyone sets their clocks according to the received beacon.

• Sometimes no beacon will succeed at some target time.

• Then beacon for that time is lost; algorithm recovers at the next target time.

Discrete Algs for Mobile Wireless Sys

802.11 Time Synchronization Systems

• Ad hoc solution is not completely satisfactory:

• Can lead to discrepancies in large network, even between nearby neighbors.

• Still a research topic.

• Basic 802.11 contention management doesn’t require time synchronization.

• Balakrishnan’s notes assume slots, but that is for performance: recall that collisions are less likely when transmissions occur on synchronized slot boundaries (throughput is twice as great).

Discrete Algs for Mobile Wireless Sys

802.11 Protocol Systems

• Physical carrier sensing:

• Compares level of energy on the channel with usual noise level.

• No “busy-tones”, just basic carrier sensing.

• Uses absence of Acks as a way of detecting collisions.

• Reservations (optional)

• RTS / CTS / Data / Ack

• Reduces collisions due to hidden terminals, by reducing window of vulnerability to short RTS/CTS handshake interval.

• Reservations consume channel resources.

• Often turned off because of overhead.

• But may be worth it, if data is very large.

Discrete Algs for Mobile Wireless Sys

802.11 CSMA/CA Systems

• Main strategy used in 802.11 DCF.

• Slots (but need not be synchronized).

• Slot size = large enough to complete message transmission (e.g., sum of carrier-sensing delay, propagation delay, transmit/receive delay,…).

• Each node maintains CW, the contention window size (like b earlier), initially CWmin (bmin).

• To transmit:

• Pick a random number in [0,CW], to initialize a local “delay” timer.

• Sense at the beginning of each slot, decrementing the delay timer each time the channel appears idle.

• When delay = 0, transmit data.

• If transmission seems to fail, double CW and try again (but just a bounded number of times, not forever).

Discrete Algs for Mobile Wireless Sys

802.11 CSMA/CA Systems

• How does the sender decide that the transmission has failed?

• For unicast, uses link-layer Acks.

• If no Ack received in a reasonable time,…

• Old method: just guess based on physical carrier sensing.

• If channel is busy too many times while counting down delay timer,…

• Not reliable.

• No good solution yet.

Discrete Algs for Mobile Wireless Sys

802.11 CSMA/CA Systems

• To handle hidden or exposed terminals:

• For unicast, can replace transmission of data with entire RTS/CTS/Data/Ack exchange.

• Can rely on characteristics of the medium:

• If the carrier-sense range is >> the reception range, then no hidden terminals will occur.

Discrete Algs for Mobile Wireless Sys

802.11 Pseudocode Systems

succeeded := false

CWmax := CWmin

while not succeeded do

CW := choose uniform[0,…CWmax]

while CW ≠ 0 do

while channel busy do no-op

CW := CW -1

transmit

if successful then succeeded := true

else CWmax := 2 CWmax

Notes: Do the main loop bounded number of times.

transmit is Data/Ack or RTS/CTS/Data/Ack

successful test based on Acks, or physical carrier sensing

Discrete Algs for Mobile Wireless Sys

802.11 for ad hoc networks Systems

• Not completely satisfactory.

• RTS/CTS strategy good only for unicast.

• Not clear whether the backoff strategy is optimal.

• Time synchronization strategy messy, not clear how well it works.

• Needs work!

Discrete Algs for Mobile Wireless Sys

MACAW Overview Systems

• [Bharghavan, Demers, Shenker, Zhang, 1994]

• MAC protocol for a single channel wireless LAN developed at Xerox PARC

• Based on earlier MACA strategy:

• RTS / CTS / Data

• Binary exponential backoff

• Elaborates on the reservation strategy

• Modifies the backoff strategy

Discrete Algs for Mobile Wireless Sys

MACAW Reservation Strategy Systems

• In original RTS / CTS / Data / Ack strategy, nodes defer when they hear RTS or CTS with overlapping interval.

• RTS / CTS / DS / Data / Ack

• DS means CTS has arrived and data transmission is about to occur.

• Helps with exposed terminals:

• If C hears RTS from B to A, then C should defer to avoid:

• Having its data transmission collide (at B) with B’s receipt of an Ack from A.

• Having the CTS from D collide (at C) with B’s data transmission.

• But these are important only if B actually receives the CTS from A.

• DS message confirms this; C defers only if it hears DS (or CTS).

Discrete Algs for Mobile Wireless Sys

A sends CTS for B

B sends data for A

A sends ACK for B

C should not interfere with B's receipt of CTS and ACK from A

So C defers for a long time

But what if A does not send to B?

A

B

C

D

Exposed Terminal Scenario

Discrete Algs for Mobile Wireless Sys

A sends CTS for B

B sends (short) DS, heard by C

B sends data for A

A sends ACK for B

If C does not get DS from A in a timely fashion after getting RTS from A, then it assumes transmission didn’t happen, so it need not defer

A

B

C

D

Exposed Terminal Scenario

Discrete Algs for Mobile Wireless Sys

MACAW Backoff Strategy Systems

• Backoff multiplies counter by 1.5 instead of 2 (recognizing that not all failures are due to collisions).

• Counter decremented by 1 after success, rather than getting reset to bmin (recognizing the contention is most likely ongoing).

• Noted that backoff strategies use too little information---suggest sharing and remembering congestion information.

• Authors say that their solutions are good for the unicast case, but recognize that they still don’t have good solutions for the broadcast case.

Discrete Algs for Mobile Wireless Sys

• Practical:

• Better strategies for handling local broadcast, rather than unicast.

• Better ways to estimate contention, better backoff protocols.

• Managing the overall network for good throughput (capacity).

Discrete Algs for Mobile Wireless Sys

• Theoretical:

• Physical layer models: Capturing signal propagation, noise, device failure, mobility.

• Better backoff protocols, realistic analysis.

• Prove inherent limitations.

• Sort out dependence on time synchronization.

• MAC layer guarantees: What are good abstract models for what the MAC layer should guarantee to higher layers?

• High-probability successful local message delivery, conditioned on some factors about the environment, like amount of contention?

• Also export other information, e.g., about amount of contention, or about occurrence of collisions?

Discrete Algs for Mobile Wireless Sys