Lecture 16: QoS and 802 - Home | Computer...

12
1 CSE 123: Computer Networks Chris Kanich Lecture 16: QoS and 802.11 Prj2 due for full credit 11:59pm Lecture 16 Overview QoS followup: Packet Scheduling Fair Queueing Fluid Flow 802.11 Wireless CSMA/CA Hidden Terminals RTS/CTS 2 CSE 123 Lecture 16: QoS and 802.11 So far we’ve done flow-based traffic policing Limit the rate of one flow regardless the load in the network In general, need scheduling Dynamically allocate resources when multiple flows compete Give each flow(or traffic class) own queue (at least theoretically) Weighted fair queuing Proportional share scheduling Schedule round-robins among queues in proportion to some weight parameter Scheduling CSE 123 Lecture 15: Routers and QoS 3

Transcript of Lecture 16: QoS and 802 - Home | Computer...

Page 1: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

1

CSE 123: Computer Networks

Chris Kanich

Lecture 16:

QoS and 802.11

Prj2 due for full credit 11:59pm

Lecture 16 Overview

QoS followup: Packet Scheduling

Fair Queueing

Fluid Flow

802.11 Wireless

CSMA/CA

Hidden Terminals

RTS/CTS

2 CSE 123 – Lecture 16: QoS and 802.11

So far we’ve done flow-based traffic policing

Limit the rate of one flow regardless the load in the network

In general, need scheduling

Dynamically allocate resources when multiple flows compete

Give each “flow” (or traffic class) own queue (at least

theoretically)

Weighted fair queuing

Proportional share scheduling

Schedule round-robins among queues in proportion to some

weight parameter

Scheduling

CSE 123 – Lecture 15: Routers and QoS 3

Page 2: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

2

Flow 1

Flow 2

Flow n

I/P O/P

(Weighted) Fair Queuing

CSE 123 – Lecture 15: Routers and QoS 4

Maintain a queue for each flow

What is a flow?

Implements max-min fairness: each flow receives

min(ri, f) , where

ri – flow arrival rate

f – link fair rate (see next slide)

Weighted Fair Queuing (WFQ) – associate a weight

with each flow

Fair Queuing

CSE 123 – Lecture 15: Routers and QoS 5

If link congested, compute f such that

8

6

2

4 4

2

f = 4: min(8, 4) = 4

min(6, 4) = 4

min(2, 4) = 2

10

Fair Rate Computation

CSE 123 – Lecture 15: Routers and QoS 6

Page 3: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

3

TCP vs. UDP

CSE 123 – Lecture 15: Routers and QoS 7

TCP vs. UDP w/Fair Queuing

CSE 123 – Lecture 15: Routers and QoS 8

Associate a weight wi with each flow i

If link congested, compute f such that

8

6

2

4 4

2

f = 2: min(8, 2*3) = 6

min(6, 2*1) = 2

min(2, 2*1) = 2

10 (w1 = 3)

(w2 = 1)

(w3 = 1)

If Σk wk <= C, flow i is guaranteed to be allocated a rate >= wi

Flow i is guaranteed to be allocated a rate >= wi*C/(Σk wk)

Another Example

CSE 123 – Lecture 15: Routers and QoS 9

Page 4: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

4

Flows can be served one bit at a time

WFQ can be implemented using bit-by-bit weighted

round robin

During each round from each flow that has data to send, send a

number of bits equal to the flow’s weight

Fluid Flow

CSE 123 – Lecture 15: Routers and QoS 10

0 15 2 10 4 6 8

5 1 1 1 1 1

Orange flow has packets

backlogged between time 0

and 10

Other flows have packets

continuously backlogged

All packets have the same

size

flows

link

weights

Fluid Flow Example

CSE 123 – Lecture 15: Routers and QoS 11

Packet (Real) system: packet transmission cannot be

preempted. Why?

Solution: serve packets in the order in which they

would have finished being transmitted in the fluid flow

system

Packet-Based Implementation

CSE 123 – Lecture 15: Routers and QoS 12

Page 5: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

5

0 2 10 4 6 8

0 2 10 4 6 8

Select the first packet that finishes in the fluid flow

system

Service

in fluid flow

system

Packet

system

Packet-Based Example

CSE 123 – Lecture 15: Routers and QoS 13

CSE 123 – Lecture 16: QoS and 802.11 14

Infrastructure vs. Ad hoc

infrastructure

network

ad-hoc network

AP AP

AP

wired network

AP: Access Point

CSE 123 – Lecture 16: QoS and 802.11 15

IEEE 802.11 Infrastructure

mobile terminal

access point

fixed

terminal

application

TCP

802.11 PHY

802.11 MAC

IP

802.3 MAC

802.3 PHY

application

TCP

802.3 PHY

802.3 MAC

IP

802.11 MAC

802.11 PHY

LLC

infrastructure

network

LLC LLC

Page 6: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

6

CSE 123 – Lecture 16: QoS and 802.11 16

802.11 Frame Format

synchronization SFD signal service HEC payload

PLCP preamble PLCP header

128 16 8 8 16 variable bits

length

16

Synchronization

synch., gain setting, energy detection, frequency offset compensation

SFD (Start Frame Delimiter)

1111001110100000

Signal

data rate of the payload (0A: 1 Mbit/s DBPSK; 14: 2 Mbit/s DQPSK)

Service Length

future use, 00: 802.11 compliant payload length

HEC (Header Error Check)

protection of signal, service and length, x16+x12+x5+1

CSE 123 – Lecture 16: QoS and 802.11 17

WLAN: IEEE 802.11b

Data rate

1, 2, 5.5, 11 Mbit/s

User data rate max. approx. 6 Mbit/s

Transmission range

300m outdoor, 30m indoor

Max. data rate ~10m indoor

Frequency

Free 2.4 GHz ISM-band

CSE 123 – Lecture 16: QoS and 802.11 18

Physical Channels

US (FCC)/Canada (IC)

2400

[MHz]

2412 2483.5 2437 2462

channel 1 channel 6 channel 11

22 MHz

12 channels available for use in the US

Each channel is 22 MHz wide

Only 3 orthogonal channels

Using any others causes interference

Page 7: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

7

CSE 123 – Lecture 16: QoS and 802.11 19

CSMA: listen before transmit:

If channel sensed idle: transmit entire pkt

If channel sensed busy, defer transmission

Persistent CSMA: retry immediately with

probability p when channel becomes idle

(may cause instability)

Non-persistent CSMA: retry after random

interval

Carrier Sense Multiple Access

CSE 123 – Lecture 16: QoS and 802.11 20

A B C

Hidden Terminal Problem

B can communicate with both A and C

A and C cannot hear each other

Problem

When A transmits to B, C cannot detect the transmission using the

carrier sense mechanism

If C transmits, collision will occur at node B

Solution

Hidden sender C needs to defer

CSE 123 – Lecture 16: QoS and 802.11 21

CSMA/CA

Cannot detect collision w/half-duplex radios

Wireless MAC protocols often use collision avoidance techniques, in conjunction with a (physical or virtual) carrier sense mechanism

Collision avoidance Nodes negotiate to reserve the channel.

Once channel becomes idle, the node waits for a randomly chosen duration before attempting to transmit.

Page 8: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

8

CSE 123 – Lecture 16: QoS and 802.11 22

A B C

When A wants to send a packet to B, A first sends a

Request-to-Send (RTS) to B

On receiving RTS, B responds by sending Clear-to-

Send (CTS), provided that A is able to receive the

packet

When C overhears a CTS, it keeps quiet for the

duration of the transfer

Transfer duration is included in both RTS and CTS

RTS/CTS (MACA)

CSE 123 – Lecture 16: QoS and 802.11 23

Backoff Interval

Problem: With many contending nodes, RTS

packets will frequently collide

Solution: When transmitting a packet, choose a

backoff interval in the range [0, CW]

CW is contention window

Wait the length of the interval when medium is idle

Count-down is suspended if medium becomes busy

Transmit when backoff interval reaches 0

Need to adjust CW as contention varies

CSE 123 – Lecture 16: QoS and 802.11 24

Non-symmetric ranges

C F A B E D

DATA

Transmit “range”

Interference

“range”

Carrier sense

range

F A

Page 9: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

9

CSE 123 – Lecture 16: QoS and 802.11 25

802.11 MAC Modes

Distributed Coordination Function (DCF) CSMA/CA

collision avoidance via randomized “back-off“ mechanism

minimum distance between consecutive packets

ACK packet for acknowledgements (not for broadcasts)

DCF w/ RTS/CTS

Distributed Foundation Wireless MAC

avoids hidden terminal problem

Point Control Fuction (PCF) - optional

Access point polls terminals according to a list

We’re not going to discuss…

CSE 123 – Lecture 16: QoS and 802.11 26

IEEE 802.11 DCF

DCF is CSMA/CA protocol

Uses a Network Allocation Vector (NAV) to implement

collision avoidance

DCF suitable for multi-hop ad hoc networking

Optionally uses RTS/CTS exchange to avoid hidden

terminal problem

Any node overhearing a CTS cannot transmit for the duration

of the transfer

Uses ARQ to provide reliability

CSE 123 – Lecture 16: QoS and 802.11 27

C F A B E D

RTS

RTS = Request-to-Send

Pretending a circular range

IEEE 802.11

Page 10: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

10

CSE 123 – Lecture 16: QoS and 802.11 28

C F A B E D

RTS

RTS = Request-to-Send

NAV = 10

NAV = remaining duration to keep quiet

IEEE 802.11

CSE 123 – Lecture 16: QoS and 802.11 29

C F A B E D

CTS

CTS = Clear-to-Send

IEEE 802.11

CSE 123 – Lecture 16: QoS and 802.11 30

C F A B E D

CTS

CTS = Clear-to-Send

NAV = 8

IEEE 802.11

Page 11: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

11

CSE 123 – Lecture 16: QoS and 802.11 31

C F A B E D

DATA

•DATA packet follows CTS. Successful data reception

acknowledged using ACK.

IEEE 802.11

CSE 123 – Lecture 16: QoS and 802.11 32

C F A B E D

ACK

Reserved area

IEEE 802.11

CSE 123 – Lecture 16: QoS and 802.11 33

When a node fails to receive CTS in response to its

RTS, it increases the contention window

CW is doubled (up to an upper bound)

More collisions longer waiting time to reduce collision

When a node successfully completes a data transfer, it

restores CW to CWmin

Binary Exponential Backoff

Page 12: Lecture 16: QoS and 802 - Home | Computer Sciencecseweb.ucsd.edu/.../su11/cse123-a/slides/123-su11-l16.pdf · 2011. 7. 27. · 1 CSE 123: Computer Networks Chris Kanich Lecture 16:

12

CSE 123 – Lecture 16: QoS and 802.11 34

802.11 Backoffs

SIFS (Short Inter Frame Spacing)

highest priority, for ACK, CTS, polling response

PIFS (PCF IFS)

medium priority, for time-bounded service using PCF

DIFS (DCF, Distributed Coordination Function IFS)

lowest priority, for asynchronous data service

t

medium busy SIFS

PIFS

DIFS DIFS

next frame contention

direct access if

medium is free DIFS

CSE 123 – Lecture 16: QoS and 802.11 35

DCF Example

data

wait

B1 = 5

B2 = 15

B1 = 25

B2 = 20

data

wait

B1 and B2 are backoff intervals

at nodes 1 and 2 cw = 31

B2 = 10

CSE 123 – Lecture 16: QoS and 802.11 36

Fragmentation

t

SIFS

DIFS

data

ACK1

other

stations

receiver

sender frag1

DIFS

contention

RTS

CTS SIFS SIFS

NAV (RTS) NAV (CTS)

NAV (frag1) NAV (ACK1)

SIFS ACK2

frag2

SIFS