tcp over wireless networks - umass amherstarun/653/lectures/l14.pdftcp over wireless networks ......

32
TCP over Wireless Networks CS 653, Fall 2010

Upload: ledang

Post on 26-Mar-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

TCP over Wireless Networks

CS 653, Fall 2010

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Network-assisted congestion control

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

TCP over Wireless: Problems !   Disambiguating wireless bit-errors from congestion

!   Frequent window reduction due to errors !   Frequent timeout due to burst losses

!   High variability !   Contention + channel errors high loss !   Contention + link-layer retransmission high RTT variance

!   Need end-to-end connection all the time !   Wireless links have intermittent connectivity

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Network-assisted congestion control

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

Link-layer based Schemes: ARQ !   Automatic Repeat reQuest (ARQ)

!   Widely used in wireless link-layer protocols !   Retransmissions and acks to cover wireless errors

Packet 1 Link-Ack 1

Packet 2 Link-Ack 2

Packet 3

Packet 3

Timeout

Link-Ack 3

Internet

FH BS MH Link-Layer

ARQ

Link-layer based Schemes: ARQ !   Pros

!   No modification to upper layers

!   Cons !   Fast retransmission due to message lost and out-of-order delivery —redundant retransmission and window reduction

!   Interacts with TCP retransmissions —redundant retransmission

!   H. Balakrishnan, et al. A comparison of mechanisms for improving TCP performance over wireless links, Sigcomm96

!   Large RTT variance —long timeout

!   Head-of-line blocking due to large #retransmission —slow link blocks fast link

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Network-assisted congestion control

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

Split TCP: Indirect TCP !   I-TCP splits end-to-end TCP connection into two connections

!   Fixed host to BS !   BS to mobile host

!   Two TCP connections with independent flow/congestion control contexts

!   Packets buffered at BS

Internet

FH BS MH

TCP TCP Buffer

Split TCP: Indirect TCP !   Pros

!   Separates flow and congestion control of wireless and wired --higher throughput at sender

!   Cons !   Breaks TCP end-to-end semantics

!   Ack at FH does not mean MH has received the packet

!   BS failure causes loss of data !   Neither FH nor MH can recover the data

!   On path change, data has to be forwarded to new BS

!   Wireless part is the bottleneck

Split TCP: Selective Repeat Protocol !   Similar to I-TCP but uses SRP/UDP over wireless link

!   Raj Yavatkar, Namrata Bhagawat, Improving End-to-End Performance of TCP over Mobile Internetworks, 1994

!   Pros !   Better performance over wireless links

!   Cons !   All cons of I-TCP except last one

Internet

FH BS MH

TCP SRP/UDP Buffer

Split-TCP: Mobile TCP !   Similar to I-TCP but tries to keep TCP end-to-end semantics !   BS only acks the last packet after it is received by MH

!   Kevin Brown and Suresh Singh. A network architecture for mobile computing. In Proc. IEEE INFOCOM'96, March 1996

!   Pros !   Data will be recovered eventually after BS failure !   BS buffer does not overflow

!   Cons !   Worse performance !   Still not exactly the TCP semantics

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Network-assisted congestion control

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

TCP-aware Link Layers: Snoop !   Link layer is aware of TCP traffic !   BS caches data and monitors acks. Retransmits on duplicate

acks and drops duplicate acks !   H. Balakrishnan, et al. Improving TCP/IP Performance over

Wireless Networks, 1995

Internet

FH BS MH

Packet 1 Ack 1 Packet 2 Ack 2

Packet 3 Packet 4

Ack 2

Packet 1

Ack 1

Packet 2

Ack 2 Packet 3 Packet 4

Packet 3 Blocks Dup-Ack

TCP-aware Link Layers: Snoop !   Pros

!   No modification to FH and MH !   BS only keeps soft state—BS failure does not break TCP

!   Cons !   Does not work with encrypted packets !   Does not work if data packets and acks traverse different

paths !   Increases RTT—high timeout

TCP-aware Link Layers: WTCP !   Similar to Snoop !   WTCP corrects RTT by modifying the timestamp in return

acks !   K. Ratnam and I. Matta ,WTCP: An Efficient Transmission Control Protocol

for Networks with Wireless Links, 1998

Internet

FH BS MH

Packet 3 Packet 4

Ack 2

Packet 3

Ack’ 3

Packet 4

Packet 3 Ack 3

Log Arrival Time

Arrival Time+=Delay

Delay

TCP-aware Link Layers: Delayed DupAcks Protocol

!   Similar to Snoop, BS does link-layer retrans but does not drop dup-acks

!   MH delays the third duplicate ack—will not trigger fast retransmissions on FH !   Miten N. Mehta, Nitin H. Vaidva, Delayed Duplicate-Acknowledgements: A

proposal to Improve Performance of TCP on Wireless Links, 1997

!   Pros: !   Works with encrypted TCP

!   Cons: !   Unnecessary delay during congestion loss

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Backpressure-based approaches

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

Middle Layer: WCP !   Observation: TCP Acks are expensive, so should be avoided

as much as possible !   Inserts a middle layer between TCP and 802.11

!   Buffer TCP data frames !   Suppress TCP Acks

!   Long Le, et. al, Improving TCP Goodput in 802.11 Access Networks, 2007

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Network-assisted congestion control

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

Explicit Notification: Explicit Loss Notification

!   ELN works with MH is the sender !   BS monitors TCP segments from MH and logs down holes !   BS tags a dup-ack’s ELN bit if corresponds to a logged hole !   No congestion control on MH if an ELN-ack is received

!   Hari Balakrishnan and Randy H. Katz, Explicit Loss Notification and Wireless Web Performance, 1998

Internet

FH BS MH

Packet 1

Ack 1

Packet 2 Packet 3 Packet 4

Packet 1

Packet 3 Packet 4

Ack 1 Ack 1

Log Hole(Pkt 2)

Ack 1(ELN) Ack 1(ELN)

Ack 1

Explicit Notification: ELN2 !   Similar to ELN but works when FH is the sender !   BS monitors TCP segments from FH and logs down holes !   BS tags a dup-ack’s ELN bit if not corresponds to any hole !   No congestion control on FH if an ELN-ack is received

!   S. Biaz and N. Vaidya, Discriminating Congestion Losses from Wireless Losses using Inter-Arrival Times at the Receiver, 1998

Internet

FH BS MH

Outline !   TCP over Wireless: Problems !   TCP over Wireless: Solutions

!   Link-layer based !   Split TCP !   TCP-aware link layer !   Explicit notification !   Network-assisted congestion control

!   Summary !   Hop: a Reliable Hop-by-hop Block Transfer Protocol

Backpressure Approaches: RAIN !   RAIN—Reliable Wireless Network Architecture

!   Small buffer and Adaptive FrEeze(SAFE) link layer !   Congestion control: backpressure w/ small buffer size !   Contention control: off-the-shelf CSMA/CA, link-layer ARQ

!   Simple transport layer !   Pros:

!   Pushes congestion and contention control in-network—prompt and accurate info

!   Cons: !   Link-layer ARQ does not completely solve link-layer contention !   Small buffer does not utilize the bursty-sending feature of wireless links

!   Chaegwon Lim, et.al, RAIN: A Reliable Wireless Network Architecture, 2006

Summary !   Most above protocols focus on “the last mile” problem—

single wireless hop !   Multi-hop wireless mesh networks are blooming, e.g.,

Roofnet, Wildnet, …

!   None of above protocols works during network partitions

Review slides

TCP Review: Flow Control !   Sliding Window

!   Keeps the sender from sending too fast !   Receiver specifies window size !   Sender only sends a window before waiting for acks

TCP Review: Flow Control !   Cumulative Ack

!   Receiver acks back expecting sequence number !   Sends duplicate acks when “holes” are detected

Sender Receiver Packet 1

Ack 1 Packet 2

Packet 3 Ack 2

Ack 3 Packet 4

Packet 5

Packet 6

Ack 4

Ack 4

Ack 4 Packet 7

Packet 8

Ack 4

Packet 5

Packet 6

Timeout

Duplicate Acks

Window=4

Window=2

TCP Review: Flow Control !   Selective Ack

!   Receiver can indicate missing segments !   Handles “holes” efficiently !   Co-exists with cumulative acks

0-99 100-199 200-299 300-399 400-499 TCP SACK

TCP Review: Congestion Control !   Slow Start

!   Actually grows exponentially !   Starts from small window size(2KB) !   Multiplicatively increases window until threshold reached or

loss Congestion Window

Slow Start

Time

TCP Review: Congestion Control !   Congestion Avoidance

!   Incrementally increases window after threshold reached

Congestion Window

Slow Start

Congestion Avoidance

Time

TCP Review: Congestion Control !   Timeout

!   Decreases window size to 1 !   Halves threshold !   Timeout value = f(Mean_RTT, Dev_RTT)

Congestion Window

Slow Start

Congestion Avoidance

Timeout

Slow Start

Congestion Avoidance

Time

TCP Review: Congestion Control !   Fast Retransmits (TCP-Reno)

!   Don’t timeout or reduce window to one on single loss !   On three duplicate acks

!   Retransmits the lost segment right away !   Reduces window size to 0.5xWindow+#dup-acks !   Enters congestion avoidance phase

!   Cons: Can’t handle bursty (3+) acks; Dup-acks are also sent if pkts out of order.

Congestion Window

Slow Start

Congestion Avoidance

Three Dup-Acks

Time

Congestion Avoidance