HACK: HIERARCHICAL ACKS FOR EFFICIENT WIRELESS MEDIUM UTILIZATION LYNNE SALAMEH, ASTRIT ZHUSHI, MARK HANDLEY, KYLE JAMIESON, BRAD KARP.! UNIVERSITY COLLEGE LONDON
WIFI MOSTLY USED FOR TCP DOWNLOADS Server Access Point (AP) Client TCP Download
WIFI MOSTLY USED FOR TCP DOWNLOADS Server Access Point (AP) Client TCP ACKs
WIFI MOSTLY USED FOR TCP DOWNLOADS Link Layer ACKs Server Access Point (AP) Client
WIFI MEDIUM ACQUISITION INCURS OVERHEAD Backoff Preamble 1500 bytes Preamble SIFS Data DIFS 800 μs Rate =15 Mbps Link-Layer ACK * Diagram to Scale
WIFI MEDIUM ACQUISITION INCURS OVERHEAD Data ACK Rate =15 Mbps ~80% Utilization
WIFI MEDIUM ACQUISITION INCURS HIGH OVERHEAD ACK Rate = 60 Mbps ~51% Utilization
WIFI MEDIUM ACQUISITION INCURS HIGH OVERHEAD ACK Rate = 150 Mbps ~29% Utilization
WIFI MEDIUM ACQUISITION INCURS HIGH OVERHEAD ACK Rate = 600 Mbps ~9% Utilization
AGGREGATION INCREASES UTILIZATION AT HIGH RATES Aggregate Block ACK Rate = 600 Mbps ~80% Utilization
TCP DOUBLES MEDIUM ACQUISITIONS AP Client Acquire TCP Data Aggregate Block ACK TCP ACKs Aggregate Acquire * Not to Scale Time Block ACK
TCP DOUBLES MEDIUM ACQUISITIONS AP Client TCP Data Aggregate At 600 Mbps, ~61% utilization. Block ACK TCP ACKs Aggregate Time Block ACK
DO WE NEED TO ACQUIRE THE MEDIUM FOR FEEDBACK? AP Client TCP ACKs cumulative: no need for Block ACK. Encapsulate TCP ACK in Link-Layer ACK. Time TCP Data Aggregate Block ACK TCP ACKs Aggregate Block ACK
DO WE NEED TO ACQUIRE THE MEDIUM FOR FEEDBACK? AP Client TCP Data Aggregate TCP ACKs cumulative: robust to packet loss. Encapsulate TCP ACK in Link-Layer ACK. Block ACK + Encapsulated TCP ACKs Time
HACK: HIERARCHICAL ACKNOWLEDGEMENTS
GOALS Coexistence with stock 802.11. Simple NIC changes. No TCP changes. Robustness to loss.
BLOCK ACKS MUST MEET HARD DEADLINE AP Client Need to send Block ACK within SIFS. TCP ACKs not ready in time. Can t wait longer: other senders might jump in. Time TCP Data Aggregate Block ACK SIFS (16μs) TCP ACKs
TCP ACKS DON T HAVE A HARD DEADLINE AP Client TCP Data 1, 2 TCP ACKs can afford to wait. Append them to the next Link-Layer ACK. Block ACK TCP Data 3, 4 TCP ACKs 1 & 2 Time Block ACK + TCP ACK 1, 2
CONSECUTIVE TCP ACKS ARE REDUNDANT Urgent Ptr Checksum 1 Offset + Flags Window Size ACK Number Sequence Number Dest. Port Source Port TCP ACK Header (20 Bytes)
CONSECUTIVE TCP ACKS ARE REDUNDANT Urgent Ptr Checksum 1 Offset + Flags Window Size ACK Number Sequence Number Dest. Port Source Port TCP ACK 1
CONSECUTIVE TCP ACKS ARE REDUNDANT Urgent Ptr Check- sum 1 2 Offset + Flags Window Size Size + K ACK Number Number + N Sequence Number Dest. Port Source Port TCP ACK 1 Urgent Ptr Offset + Flags Sequence Number Dest. Port Source Port TCP ACK 2
CONSECUTIVE TCP ACKS ARE REDUNDANT Urgent Ptr Checksum 1 Offset + Flags Window Size ACK Number Sequence Number Dest. Port Source Port TCP ACK 1 K N TCP ACK 2
HACK USES ROHC FOR EFFICIENT COMPRESSION Urgent Ptr Checksum 1 Offset + Flags Window Size ACK Number Sequence Number Dest. Port Source Port TCP ACK 1 HACK uses Robust Header Compression (ROHC, RFC 6846) K N ROHC shrinks a TCP ACK to about 5 bytes TCP ACK 2
TO HACK OR NOT TO HACK? AP Client 4 3 2 1 Tx Queue TCP Data 1 & 2 Block ACK? TCP ACKs 1 & 2 From Network Stack
TO HACK OR NOT TO HACK? AP Client More Data 4 3 Tx Queue 4 Tx Queue 3 TCP Data 1 & 2 Block ACK TCP Data 3 & 4 TCP ACKs 1 & 2 From Network Stack Block ACK + TCP ACKs 1, 2
NIC NEEDS NO TCP KNOWLEDGE AP Client TCP ACKs NETWORK STACK NETWORK STACK Compress More Data? DRIVER Opaque Blob DRIVER NIC NIC
NIC NEEDS NO TCP KNOWLEDGE AP Client TCP ACKs NETWORK STACK NETWORK STACK Compress More Data? DRIVER DRIVER NIC NIC Block ACK
NIC NEEDS NO TCP KNOWLEDGE AP Client TCP ACKs NETWORK STACK NETWORK STACK Decompress DRIVER NIC DRIVER NIC
WHAT ABOUT LOSS OF BLOCK ACKS? AP Client TCP can tolerate loss of ACKs. ROHC cannot: endpoints should remain in sync. HACK should be robust against loss. Details in paper. TCP Data Aggregate Block ACK + Encapsulated TCP ACKs Time
EVALUATION Microsoft s Software Radio (SoRa): 802.11a (no aggregation). ns-3 simulator 802.11n (aggregation).
TCP GOODPUT EXPERIMENT 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
HACK IMPROVES TCP GOODPUT SoRa (802.11a) ns-3 (802.11n) 1 client 2 clients # clients 1 2 4 10 0 5 10 15 20 25 30 Mean Aggregate Goodput (Mbps) TCP/Wifi 0 20 40 60 80 100 120 140 Mean Aggregate Goodput (Mbps) TCP/HACK 29-32 % Improvement 15-22 % Improvement
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES 120 Average Goodput (Mbps) 100 80 60 40 20 0 0 5 10 15 20 25 30 SNR (db) 15 Mbps
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES 120 Average Goodput (Mbps) 100 80 60 40 20 30 Mbps 15 Mbps 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES 120 Average Goodput (Mbps) 100 80 60 40 20 45 Mbps 30 Mbps 15 Mbps 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES 120 Average Goodput (Mbps) 100 80 60 40 20 60 Mbps 45 Mbps 30 Mbps 15 Mbps 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES 120 Average Goodput (Mbps) 100 80 60 40 20 90 Mbps 60 Mbps 45 Mbps 30 Mbps 15 Mbps 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES 120 Average Goodput (Mbps) 100 80 60 40 20 120 Mbps 90 Mbps 60 Mbps 45 Mbps 30 Mbps 15 Mbps 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS 140 FULL RANGE OF LINK RATES Average Goodput (Mbps) 120 100 80 60 40 20 135 Mbps 120 Mbps 90 Mbps 60 Mbps 45 Mbps 30 Mbps 15 Mbps 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS FULL RANGE OF LINK RATES Average Goodput (Mbps) 140 120 100 80 60 40 20 0 0 5 10 15 20 25 30 150 Mbps 135 Mbps 120 Mbps 90 Mbps 60 Mbps 45 Mbps 30 Mbps 15 Mbps SNR (db)
HACK IMPROVES GOODPUT ACROSS FULL RANGE OF LINK RATES Average Goodput (Mbps) 140 120 100 80 60 40 20 0 0 5 10 15 20 25 30 150 Mbps 135 Mbps 120 Mbps 90 Mbps 60 Mbps 45 Mbps 30 Mbps 15 Mbps SNR (db)
HACK IMPROVES GOODPUT ACROSS FULL RANGE OF LINK RATES 140 120 TCP/HACK TCP/802.11n Average Goodput (Mbps) 100 80 60 40 20 0 0 5 10 15 20 25 30 SNR (db)
HACK IMPROVES GOODPUT ACROSS FULL RANGE OF LINK RATES 140 120 TCP/HACK TCP/802.11n Average Goodput (Mbps) 100 80 60 40 TCP/HACK outperforms TCP/802.11n, even in lossy environments 20 0 0 5 10 15 20 25 30 SNR (db)
CONCLUSIONS 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