CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

40
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch

description

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems. Spring 2009 Prof. Jennifer Welch. Lecture 2. Topics: Introduction Physical Layer MAC Protocols part 1 Sources: Schiller, Ch 1-3 Balakrishnan, Ch 11 Vaidya, Ch 1-2, 4-5 MIT 6.885 Fall 2008 slides. - PowerPoint PPT Presentation

Transcript of CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

Page 1: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

Spring 2009

Prof. Jennifer Welch

Page 2: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 2

Lecture 2 Topics:

Introduction Physical Layer MAC Protocols part 1

Sources: Schiller, Ch 1-3 Balakrishnan, Ch 11 Vaidya, Ch 1-2, 4-5 MIT 6.885 Fall 2008 slides

Page 3: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 3

Wireless Computing Vision Future of computing includes

portable computers wireless communication

Why portable computers? Many devices are designed to move with people: cell phones, PDAs, cars, planes

Why wireless communication? quick, for temporary purposes (e.g., tradeshow) unintrusive, for delicate situations (e.g., historic bldg) useful when no infrastructure (countryside, rugged

terrain, after a natural disaster)

Page 4: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 4

Applications car of the future: cars driving in same area build

a local ad-hoc network, use to learn about emergencies, keep safe distance

emergencies: ambulance can send info about injuried people to hospital from accident scene

business: traveling salesman can keep laptop in constant synch with company's database

infotainment: as you travel, get up-to-date info about nearby goods and services; buy tickets, etc.

Page 5: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 5

From Vision to Reality System support for such applications is in its

infancy Open research areas from Schiller book:

handle interference of radio transmissions use radio frequencies more efficiently

political and social issues regarding control of the spectrum

tolerate high delays and variation in delays security (easier to eavesdrop on wireless) coordinate access to shared medium well routing, service discovery, etc. scalably and reliably

Page 6: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 6

Protocol Stack Physical layer

convert bit stream into (analog) signals and back Data link layer

provide reliable connection between a sender and one or more receivers (w/in range)

Network layer (cf. IP) route packets from sender to receiver (not necessarily

w/in range) Transport layer (cf. TCP and UDP)

establishes an end-to-end connection Application layer

Page 7: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 7

Protocol Stack

Application

Transport

Network

Data link

Physical

Application

Transport

Network

Data link

Physical

Application

Transport

Network

Data link

Physical

not every node needs every layer

Page 8: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 8

Implementing the Protocol Stack Physical layer: signals, antennas, etc. Data link layer: various "medium access control" (MAC)

protocols developed to help nodes coordinate when they transmit to reduce likelihood of interference

Network layer: Extensions to IP to deal with mobility have been developed. addressing, routing, device location, handover between

networks Transport layer: Extensions to TCP have been developed.

quality of service, flow control, congestion control Applications: new ones ("find closest parking place")

service location, support for multimedia, adapt to variations in transmission characteristics

Page 9: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 9

Our Use of the Protocol Stack

Use it as a rough organizing principle. Won't focus on mobile versions of IP or

TCP Use general idea of layers of abstraction Broader perspective of structuring mobile

and wireless systems not just mimicking wired Internet

Page 10: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 10

Physical Layer: Overview Mobile devices communicate using radio broadcasts,

over radio spectrum. Only a limited set of frequencies for transmission.

Communicating devices must share a common medium. Concurrent communications by nearby nodes may interfere

with each other, so that a receiver may hear garbled signals. Antennas provide the coupling between the

transmitter and space, and between space and the receiver.

What is actually transmitted is an analog signal. Discrete information has to be encoded into analog signals.

Page 11: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 11

Physical Layer Wireless transmission uses certain frequencies of

the electromagnetic spectrum very low: submarines, underwater infrared: connecting laptops and PDAs

Data is encoded in signals Signals in radio transmission are usually sine

waves Amplitude, frequency and/or phase shift of a sine

wave are changed to represent different information: called modulation

Page 12: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 12

Physical Layer: Antennas Antennas convert electromagnetic energy between space

and a wire. Ideal antenna radiates equal power in all directions from a

point in space

transmission

detectioninterference

transmission: receiver gets signal with sufficiently low error rate

detection: receiver can detect signal but error rate is too high

interference: receiver cannot detect signal but signal may interfere with other xmissions by adding to background noise

Page 13: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 13

Physical Layer: Attenuation In a vacuum, received power is proportional to

1/d2, where d is distance of receiver from sender signal travels away from sender at speed of light signal is a wave with spherical shape sphere keeps growing and energy is equally distributed

over the sphere's surface surface area s = 4 d2

In non-vacuum, signal decreases even faster due to atmosphere ("path loss" or "attenuation") exponent between 2 and 4

Page 14: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 14

Physical Layer: Propagation Types of propagation behaviors:

groundwave (< 2 MHz): follow earth's surface; can propagate long distances, penetrate objects (ex: submarine communication)

sky wave (2-30 MHz): waves bounce b/w ionosphere and earth's surface, traveling around world (ex: short wave radio)

line-of-sight (> 30 MHz): waves follow a straight line (ex: mobile phones, satellites)

Obstacles are problem for line-of-sight: blocked, reflected, refracted, scattering, diffraction solution: additional antennas to fill in coverage gaps

Page 15: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 15

Physical Layer: Propagation

Because of all these physical effects, radio signal behavior is highly variable depends on type of antenna and environment

Example problem: 2-ray ground propagation model:

Page 16: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 16

Physical Layer: Bottom Line Not every message sent is received Loss due to noise and interference Not easy to model in a realistic way Mathematical models for propagation are not

accurate representations of real channel behavior.

In practice, we want algorithms that can adapt to real channel characteristics.

Models are useful mainly for analysis and simulation: get general idea of algorithms’ behavior, in some ideal cases

Page 17: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 17

Physical Layer: Multiplexing Share the electromagnetic spectrum w/o

undue interference along several dimensions: space, time, frequency, code

Space division: senders are so far apart they don't interfere Ex: FM radio stations in different towns w/

same frequency (90.9) Disadvantages: wastes space, what if senders

are close to each other?

Page 18: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 18

Physical Layer: Multiplexing

Frequency division: divide spectrum into several non-overlapping frequency bands Ex: radio stations in same town use different

frequencies (90.9 vs. 89.1) Disadvantages: wastes frequency (unless

senders transmit all the time); fixed assignment of frequency to sender is inflexible and limits number of senders

Page 19: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 19

Physical Layer: Multiplexing

Time division: all senders use same frequency but at different times Ex: different radio shows on the same station

but at different times Disadvantages: need precise synchronization;

receiver has to listen at right time Advantage: can assign more sending time to

senders with heavier load

Page 20: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 20

Physical Layer: Multiplexing Code division:

all users use same frequency at same time, each user has different "code".

With right choice of codes, transmissions can be done simultaneously constructive interference properties of radio signals

allow the codes to be separated at receives Advantages: code space is huge, good protection

against interference and tapping Disadvantages: receiver must know code and separate

the desired information from background noise; receiver must be synchronized with sender

Page 21: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 21

Data Link Layer: Overview Medium Access Control (MAC) protocols try to

synchronize when nearby nodes transmit, in order to reduce the likelihood of interference

The "medium" is the communication resource Purpose: Achieve relatively reliable local

communication of packets (fixed-length messages) among nearby devices. Both point-to-point and broadcast. Reasonable throughput (capacity). Reasonable fairness to each transmitter and

receiver.

Page 22: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 22

Challenge for MAC Protocols Communication provided by physical layer is not very

reliable: Messages might not get delivered, because of noise or

interference (collisions). MAC layer should improve the reliability.

Won’t make it perfect, in spite of many tricks. Main job of MAC layer: Manage contention among

nearby transmitters and receivers. Q: What are reasonable statements of the

guarantees of a MAC layer? Probabilistic delivery guarantees? Conditional? Layer should be efficiently implementable. Should support higher-level programming.

Page 23: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 23

Reinventing the Wheel?

Most of the complication is with schemes based on time division multiplexing.

There are MAC protocols in wired networks (ex: Ethernet)

Must they be changed to work in wireless networks? If so, how?

Page 24: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 24

CSMA/CD MAC Protocol for (Wired) Ethernet Carrier Sense Multiple Access with Collision

Detection sender senses the medium (wire) to see if it is free if busy, sender waits until it is free once medium is free, sender starts transmitting data

and continues to listen if sender detects a collision while sending, it stops and

sends a jamming signal Ethernet hardware allows collision detection by

sender

Page 25: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 25

Anomaly: Hidden Terminals Consider three wireless devices, A, B, and C, such that

A and C can both reach B, A and C cannot reach each other, or even detect each other.

A and C can both start transmitting to B. Since A and C cannot hear each other, they will not know

anything is wrong. But B receives both transmissions, garbled. A and C are “hidden” from each other.

Problem does not occur if detection range is > 2X transmission range.

A B C

Page 26: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 26

Anomaly: Exposed Terminals

Consider four wireless devices, A, B, C, and D, such that B can reach A, C can reach D, B and C can detect each other. A cannot detect C, D cannot detect B.

B might want to transmit to A, and C to D. Since they hear each other’s transmissions, they might decide

they should not both transmit. But this would be OK: they would not interfere. B and C are “exposed” to each other.

A B C D

Page 27: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 27

Wireless MAC Protocol: Fixed TDM

Algorithm: allocate time slots in a fixed pattern just wait for your time slot to send

Evaluation: Gives fixed bandwidth: inefficient for

bursty data or asymmetric connections Requires time synchronization between

nodes

Page 28: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 28

Time Synchronization For wireless local area networks (LANs), IEEE

802.11 standard: local nodes synchronize to one node, the beacon if there is infrastructure, beacon can be specified in ad-hoc case, use random backoff so that only one

node attempting to be a beacon succeeds Gives local synchronization, which is enough for a

LAN Later we will see more general, and more

complicated, methods

Page 29: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 29

Trivial MAC protocol: Pure Aloha

When packet arrives at transmitter, transmitter immediately sends.

Resolving collisions is responsibility of higher layer Q: What is the probability of a transmission succeeding? Window of vulnerability for a transmission:

Interval in which a transmission from another sender can interfere with reception.

2L, where L is the length of the transmission interval. Assumes negligible propagation delay.

Transmission

Window of vulnerability

Page 30: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 30

Slotted Aloha Assumes every transmission takes time L. Instead of transmitting at arbitrary points in time, divide time into

slots of length L and transmit only on slot boundaries. Reduces window of vulnerability by a factor of 2, to one slot:

Requires synchronized clocks. If they are approximately synchronized, with bounded skew, we

must increase the slot size to compensate. Synchronized clocks are not so easy to achieve in large ad hoc

networks.

Transmission

Window of vulnerability

Page 31: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 31

Success Probability in Slotted Aloha

Simplifying assumptions: Each transmission takes one slot. n nodes Each has probability p of transmitting at each slot.

Probability that a given transmission succeeds: (1-p)n-1. Probability that, in a given slot, a given node transmits

successfully: p (1-p)n-1 . Throughput = expected number of successful transmissions

per slot: n p (1-p)n-1 .

Maximize throughput when p = 1/n, limiting value is 1/e.

Page 32: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 32

Success Probability in Unslotted Aloha

Probability that a given transmission succeeds: (1-p)2(n-1)

Because each other sender must avoid 2 “slots”. Probability that, in a given slot, a given node transmits

successfully: p (1-p)2(n-1)

Throughput = expected number of successful transmissions per slot: n p (1-p)2(n-1) .

Maximize throughput when p = 1/(2n-1), limiting value is 1/(2e).

Moral: Synchronizing sending on slot boundaries doubles the throughput.

Page 33: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 33

Techniques for Improving Throughput Carrier sensing Busy-tones Link-layer Acks Reservation-based strategies Acks and reservations Reducing collision probability

p-persistence Backoff strategies TDMA

Page 34: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 34

Carrier Sensing Determine whether the channel seems to be busy, before

starting to transmit. Sense the energy on the channel, see if it exceeds the Carrier

Sense (CS) Threshold. Choice of threshold is flexible:

Higher: More spatial reuse Smaller signal-to-noise ratio (SNR), so reliability of communication

is worse. Lower:

Less spatial reuse Larger SNR, so reliability is better.

Tradeoff: Overall network throughput depend both on spatial reuse and channels’ reliable transmission rates.

Used in practical protocols like 802.11.

Page 35: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 35

Problems with Carrier Sensing Doesn’t avoid all collisions. Hidden terminals:

C does not detect that A is transmitting. Could lower threshold, but would get more “false positives”.

Exposed terminals: C detects that B is transmitting.

A B C

A B C D

Page 36: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 36

Problems with Carrier Sensing

The problem: What we really care about is collisions at the receiver, but carrier sensing checks for collisions at the sender.

In wired networks, like Ethernet, these are pretty much the same, but they’re different in wireless networks.

Page 37: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 37

Busy-Tones

A simple strategy for avoiding collisions at a receiver.

Receiver who is successfully receiving a transmission broadcasts a special “busy tone” on a separate channel.

Other nodes that receive the busy tone delay transmission.

Requires complex hardware to receive message and broadcast busy-tone at the same time.

Page 38: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 38

Busy-Tones Solves hidden terminal problem:

When B is receiving from A, its busy tone reaches C.

Still get collision if A and C start transmitting at just the same time.

But not very likely.

A B C

Page 39: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 39

Link-Layer Acks Messages sometimes fail to get through. So it makes sense to retransmit. But how does a sender know whether its message got through? If the message has single intended target node, can use an Ack-

based protocol: Receiver sends an Ack message immediately after receiving a

message. Sender sets timeout to a little more than the normal round-trip time,

resends if timeout expires. Use sequence numbers for repeated receipts of the same data

packet. Retransmit only a bounded number of times.

To maintain some predictability for message delays. Also, because in mobile setting, the receiver could have moved

away.

Page 40: CPSC 689:  Discrete Algorithms for Mobile and Wireless Systems

Discrete Algs for Mobile Wireless Sys 40

Protecting the Acks

Need collision avoidance for Ack messages as well as the data messages.

Loss of an Ack causes the data message to be retransmitted, costly.

Solution 1: Defer for longer Nodes that sense the channel as busy (using physical carrier

sensing) defer sending for a while after the channel becomes free.

Enough time for the sender to receive an Ack. Solution 2: Busy-tones for Acks

Nodes that sense the channel as busy (using physical carrier sensing) defer sending for a very small time after the channel becomes free.

Also, recipient of an Ack sends busy-tones, and anyone hearing a busy-tone defers sending, as usual.