320 likes | 683 Views
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.
E N D
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 • Uses retransmissions and acks to cover wireless errors FH BS MH Internet Link-Layer ARQ Packet 1 Link-Ack 1 Packet 2 Link-Ack 2 Packet 3 Timeout Packet 3 Link-Ack 3
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
FH BS MH Internet 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 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 TCP SRP/UDP Buffer FH BS MH Internet
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
FH BS MH Internet 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 Packet 1 Packet 2 Packet 1 Packet 2 Ack 1 Ack 2 Ack 1 Ack 2 Packet 3 Packet 4 Packet 3 Packet 4 Ack 2 Blocks Dup-Ack Packet 3
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 FH BS MH Internet Packet 3 Packet 4 Packet 3 Packet 4 Log Arrival Time Delay Ack 2 Packet 3 Ack 3 Arrival Time+=Delay Ack’ 3
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
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 FH BS MH Internet Log Hole(Pkt 2) Packet 1 Packet 2 Packet 1 Packet 3 Packet 4 Packet 3 Ack 1 Packet 4 Ack 1 Ack 1 Ack 1 Ack 1(ELN) Ack 1(ELN)
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 FH BS MH Internet
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
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 Packet 2 Ack 1 Window=4 Packet 3 Ack 2 Ack 3 Packet 4 Ack 4 Packet 5 Packet 6 Ack 4 Packet 7 Ack 4 Duplicate Acks Packet 8 Ack 4 Timeout Packet 5 Window=2 Packet 6
TCP Review: Flow Control • Selective Ack • Receiver can indicate missing segments • Handles “holes” efficiently • Co-exists with cumulative acks TCP SACK 0-99 100-199 200-299 300-399 400-499
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 Congestion Avoidance Slow Start Time
TCP Review: Congestion Control • Timeout • Decreases window size to 1 • Halves threshold • Timeout value = f(Mean_RTT, Dev_RTT) Congestion Window Congestion Avoidance Timeout Congestion Avoidance Slow Start Slow Start 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 Three Dup-Acks Congestion Avoidance Congestion Avoidance Slow Start Time