hack usenix 2014

Download HACK Usenix 2014

Post on 12-Jan-2017

215 views

Category:

Documents

2 download

Embed Size (px)

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 Aggreg

    ate

    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 Aggreg

    ate

    AP Client

    TCP Data Aggregate

    Block ACK

    Block ACK

    Tim

    e

  • TCP ACKs Aggreg

    ate

    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 TC

    P 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.

    Cant wait longer: other senders might jump in.

    AP Client

    TCP Data Aggregate

    Tim

    e

    SIFS (16s)

    TCP ACKsBlock AC

    K

  • 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 TC

    P ACKs

    AP Client

    TCP Data Aggregate

    Tim

    e

  • E VA L U AT I O N

    Microsofts 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