Download - HACK Usenix 2014

Transcript

H A C K : H I E R A R C H I C A L A C K S F O R E F F I C I E N T W I R E L E S S M E D I U M U T I L I Z AT I O NLY N N E S A L A M E H , A S T R I T Z H U S H I , M A R K H A N D L E Y, K Y L E J A M I E S O N , B R A D K A R P. !U N I V E R S I T Y C O L L E G E L O N D O N

W I F I M O S T LY U S E D F O R T C P D O W N L O A D S

Access Point (AP)

ClientServer

TCP Download

W I F I M O S T LY U S E D F O R T C P D O W N L O A D S

Access Point (AP)

ClientServer

TCP ACKs

W I F I M O S T LY U S E D F O R T C P D O W N L O A D S

Access Point (AP)

ClientServer

Link Layer ACKs

D I F S

B a c k o f f P r e a m b l eP r e a m b l e

D a t a

S I F S

L i n k - L a y e r A C K

W I F I M E D I U M A C Q U I S I T I O N I N C U R S O V E R H E A D

* Diagram to Scale

Rate =15 Mbps

800 μs

1500 bytes

D a t a

A C K

~80% Utilization

Rate =15 Mbps

W I F I M E D I U M A C Q U I S I T I O N I N C U R S O V E R H E A D

A C K

~51% Utilization

Rate = 60 Mbps

W I F I M E D I U M A C Q U I S I T I O N I N C U R S H I G H O V E R H E A D

A C K

Rate = 150 Mbps

~29% Utilization

W I F I M E D I U M A C Q U I S I T I O N I N C U R S H I G H O V E R H E A D

A C K

Rate = 600 Mbps

~9% Utilization

W I F I M E D I U M A C Q U I S I T I O N I N C U R S H I G H O V E R H E A D

B l o c k A C K

Rate = 600 Mbps

~80% Utilization

Aggregate

A G G R E G AT I O N I N C R E A S E S U T I L I Z AT I O N AT H I G H R AT E S

TCP ACKs Aggregate

T C P D O U B L E S M E D I U M A C Q U I S I T I O N S

AP Client

TCP Data Aggregate

Block ACK

Block ACK

Tim

e

* Not to Scale

Acquire

Acquire

At 600 Mbps, ~61% utilization.

T C P D O U B L E S M E D I U M A C Q U I S I T I O N S

TCP ACKs Aggregate

AP Client

TCP Data Aggregate

Block ACK

Block ACK

Tim

e

TCP ACKs Aggregate

AP Client

TCP Data Aggregate

Block ACK

Block ACK

Tim

e

• TCP ACKs cumulative: no need for Block ACK.

• Encapsulate TCP ACK in Link-Layer ACK.

D O W E N E E D T O A C Q U I R E T H E M E D I U M F O R F E E D B A C K ?

D O W E N E E D T O A C Q U I R E T H E M E D I U M F O R F E E D B A C K ?

Block ACK

+ Encapsulated TCP ACKs

• TCP ACKs cumulative: robust to packet loss.

• Encapsulate TCP ACK in Link-Layer ACK.

AP Client

TCP Data Aggregate

Tim

e

H A C K : H I E R A R C H I C A L A C K N O W L E D G E M E N T S

G O A L S

• Coexistence with stock 802.11.

• Simple NIC changes.

• No TCP changes.

• Robustness to loss.

B L O C K A C K S M U S T M E E T H A R D D E A D L I N E

• Need to send Block ACK within SIFS.

• TCP ACKs not ready in time.

• Can’t wait longer: other senders might jump in.

AP Client

TCP Data Aggregate

Tim

e

SIFS (16μs)

TCP ACKsBlock ACK

• TCP ACKs can afford to wait.

• Append them to the next Link-Layer ACK.

AP Client

TCP Data 1, 2

Block ACK

TCP Data 3, 4

T C P A C K S D O N ’ T H AV E A H A R D D E A D L I N E

Tim

e

Block ACK

+ TCP ACK 1, 2

TCP ACKs

1 & 2

C O N S E C U T I V E T C P A C K S A R E R E D U N D A N T

Sour

ce

Port

Dest

. P

ortSequence

NumberACK

NumberOffs

et

+ Fl

ags

Wind

ow

Size

Chec

k-

sum

1

Urge

nt

Ptr

TCP ACK Header (20 Bytes)

C O N S E C U T I V E T C P A C K S A R E R E D U N D A N T

Sour

ce

Port

Dest

. P

ortSequence

NumberACK

NumberOffs

et

+ Fl

ags

Wind

ow

Size

Chec

k-

sum

1

Urge

nt

Ptr

TCP ACK 1

Sour

ce

Port

Dest

. P

ortSequence

NumberOffs

et

+ Fl

ags

Urge

nt

Ptr

C O N S E C U T I V E T C P A C K S A R E R E D U N D A N T

Sour

ce

Port

Dest

. P

ortSequence

NumberACK

NumberOffs

et

+ Fl

ags

Wind

ow

Size

Chec

k-

sum

1

Urge

nt

Ptr

TCP ACK 1

TCP ACK 2

Sour

ce

Port

Dest

. P

ortSequence

Number

ACK Number + N

Offs

et

+ Fl

ags

Wind

ow

Size

+ K

Chec

k-

sum

2

Urge

nt

Ptr

C O N S E C U T I V E T C P A C K S A R E R E D U N D A N T

Sour

ce

Port

Dest

. P

ortSequence

NumberACK

NumberOffs

et

+ Fl

ags

Wind

ow

Size

Chec

k-

sum

1

Urge

nt

Ptr

TCP ACK 1

TCP ACK 2

K N

H A C K U S E S R O H C F O R E F F I C I E N T C O M P R E S S I O N

Sour

ce

Port

Dest

. P

ortSequence

NumberACK

NumberOffs

et

+ Fl

ags

Wind

ow

Size

Chec

k-

sum

1

Urge

nt

Ptr

TCP ACK 1

TCP ACK 2

K N

• HACK uses Robust Header Compression (ROHC, RFC 6846)

• ROHC shrinks a TCP ACK to about 5 bytes

Client

TCP Data 1 & 2

Block ACK

AP

T O H A C K O R N O T T O H A C K ?

1234

Tx Queue

TCP ACKs

1 & 2

Fro

m N

etw

ork

Sta

ck

?

Client

TCP Data 1 & 2

Block ACK

TCP Data 3 & 4

Block ACK +

TCP ACKs 1, 2

AP

T O H A C K O R N O T T O H A C K ?

34

Tx Queue

TCP ACKs

1 & 2

Fro

m N

etw

ork

Sta

ck

34

Tx Queue

More Data

N I C N E E D S N O T C P K N O W L E D G E

Client

NETWORK STACK

DRIVER

NIC

TCP ACKs

More Data?

NETWORK STACK

DRIVER

NIC

AP

Opaque Blob

Compress

NETWORK STACK

DRIVER

NIC

Block ACK

NETWORK STACK

DRIVER

NIC

ClientAP

TCP ACKs

More Data?Compress

N I C N E E D S N O T C P K N O W L E D G E

NETWORK STACK

DRIVER

NIC

Decompress

TCP ACKsNETWORK STACK

DRIVER

NIC

ClientAP

N I C N E E D S N O T C P K N O W L E D G E

• TCP can tolerate loss of ACKs.

• ROHC cannot: endpoints should remain in sync.

• HACK should be robust against loss.

• Details in paper.

W H AT A B O U T L O S S O F B L O C K A C K S ?

Block ACK

+ Encapsulated TCP ACKs

AP Client

TCP Data Aggregate

Tim

e

E VA L U AT I O N

Microsoft’s Software Radio (SoRa):

• 802.11a (no aggregation).

ns-3 simulator

• 802.11n (aggregation).

T C P G O O D P U T E X P E R I M E N T

SoRa NS-3

802.11a 802.11n

54 Mbps 150 Mbps

High Quality Link

1, 2 Clients Up to 10 Clients

Measure steady state aggregate goodput

H A C K I M P R O V E S T C P G O O D P U T1

clie

nt2

clie

nts

Mean Aggregate Goodput (Mbps)

0 5 10 15 20 25 30

TCP/Wifi TCP/HACK

# cl

ient

s

1

2

4

10

Mean Aggregate Goodput (Mbps)

0 20 40 60 80 100 120 140

SoRa (802.11a) ns-3 (802.11n)

29 - 32 % Improvement 15 - 22 % Improvement

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps30 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps30 Mbps

45 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps30 Mbps

45 Mbps60 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps30 Mbps

45 Mbps60 Mbps

90 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps30 Mbps

45 Mbps60 Mbps

90 Mbps

120 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

15 Mbps30 Mbps

45 Mbps60 Mbps

90 Mbps

120 Mbps135 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

150 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

15 Mbps30 Mbps

45 Mbps60 Mbps

90 Mbps

120 Mbps135 Mbps

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

150 Mbps

15 Mbps30 Mbps

45 Mbps60 Mbps

90 Mbps

120 Mbps135 Mbps

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

TCP/HACK TCP/802.11n

Ave

rag

e G

oo

dp

ut (M

bp

s)

0

20

40

60

80

100

120

140

SNR (dB)

0 5 10 15 20 25 30

TCP/HACK TCP/802.11n

H A C K I M P R O V E S G O O D P U T A C R O S S F U L L R A N G E O F L I N K R AT E S

TCP/HACK outperforms TCP/802.11n, even in lossy environments

C O N C L U S I O N S

• TCP/HACK reduces medium acquisitions.

• Increases goodput by:

• ~29 - 32% with no aggregation

• ~11 - 20% with aggregation

• Practical to deploy on real NICs.

http://www0.cs.ucl.ac.uk/staff/A.Zhushi/hack/index.html


Top Related