How to get good TCP performance over asymmetric networks Hari Balakrishnan MIT Lab for Computer Science With:

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

A Comparison of Mechanisms for Improving TCP Performance over Wireless Links Published In IEEE/ACM TRANSACTIONS ON NETWORKING, VOL.5 NO.6,DECEMBER 1997.
1 Improving TCP/IP Performance Over Wireless Networks Authors: Hari Balakrishnan, Srinivasan Seshan, Elan Amir and Randy H. Katz Presented by Sampoorani.
Improving TCP over Wireless by Selectively Protecting Packet Transmissions Carla F. Chiasserini Michele Garetto Michela Meo Dipartimento di Elettronica.
Hui Zhang, Fall Computer Networking TCP Enhancements.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
Performance Improvement of TCP in Wireless Cellular Network Based on Acknowledgement Control Osaka University Masahiro Miyoshi, Masashi Sugano, Masayuki.
Improving TCP/IP Performance Over Wireless Networks Authors: Hari Balakrishnan, Srinivasan Seshan, Elan Amir and Randy H. Katz Jerome Mitchell Resilient.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 10 TCP/IP Performance over Asymmetric Networks.
TCP in Wireless Ad Hoc Networks
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
1 Lecture 10: TCP Performance Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides for.
Three Challenges to Reliable Data Transport over Heterogeneous Wireless Networks Hari Balakrishnan Daedalus Group Department of Electrical Engineering.
CS 268: Wireless Transport Protocols Kevin Lai Feb 13, 2002.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Data Communication and Networks
Reliable Transport Layers in Wireless Networks Mark Perillo Electrical and Computer Engineering.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
CIS 725 Wireless networks. Low bandwidth High error rates.
CS640: Introduction to Computer Networks Aditya Akella Lecture 22 - Wireless Networking.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Adaptive Transmission Protocols for the Future Internet Hari Balakrishnan MIT Lab for Computer Science
TCP in Wireless Ad Hoc Networks TCP on Wireless Ad Hoc Networks TCP overview Ad hoc TCP and network layer: mobility, route failures and timeout.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
Understanding the Performance of TCP Pacing Amit Aggarwal, Stefan Savage, Thomas Anderson Department of Computer Science and Engineering University of.
Obile etworking M-TCP : TCP for Mobile Cellular Networks Kevin Brown and Suresh Singh Department of Computer Science Univ. of South Carolina.
Reliable Data Transport over Heterogeneous Wireless Networks Hari Balakrishnan MIT Lab for Computer Science.
Computer Networking TCP (cont.). Lecture 16: Overview TCP congestion control TCP modern loss recovery TCP interactions TCP options TCP.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
The Future of Transport Hari Balakrishnan LCS and EECS Massachusetts Institute of Technology
Lecture 9 – More TCP & Congestion Control
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Challenges to Reliable Data Transport Over Heterogeneous Wireless Networks.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
TCP on Wireless Ad Hoc Networks CS 218 Oct 22, 2003 TCP overview Ad hoc TCP : mobility, route failures and timeout TCP and MAC interaction study TCP fairness.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Hari Balakrishnan Daedalus Group
The Future of Transport
Jiyong Park Seoul National University, Korea
CS640: Introduction to Computer Networks
An Integrated Congestion Management Architecture for Internet Hosts
TCP Congestion Control
Transport Layer: Congestion Control
TCP flow and congestion control
Impact of transmission errors on TCP performance
Presentation transcript:

How to get good TCP performance over asymmetric networks Hari Balakrishnan MIT Lab for Computer Science With: Venkata Padmanabhan (Microsoft Research) and Randy Katz (UC Berkeley)

Motivation Many emerging (in some cases, “emerged!”) networks are asymmetric –Cable modems, “wireless” cable, (A)DSL –Direct Broadcast Satellites –Packet radio networks How does TCP behave over asymmetric networks? –TCP relies on ACK feedback to work, which might be an issue

When is a network asymmetric? Bandwidth: X more in forward direction Latency: Due to MAC protocol interactions Loss-rate: Higher loss-rate in one direction The network characteristics in one direction significantly affect performance in the other Sender Receiver Forward Reverse Router

Why is this a problem for TCP? TCP relies on ACKs for reliability and for congestion control New, cumulative ACKs “slide” and “bump up” window, allowing new transmissions (ACK clocking) Smooth ACK flow  smooth transmits; flaky ACK flow  bursty transmits Cumulative Acknowledgments (ACK)

0 TCP Overview –Window-based algorithm to determine sustainable rate –Upon congestion, reduce window –“ACK clocking” sends data smoothly lost 1 5 Timeout = srtt + 4 * rtt_deviation (coarse-grained) Fast retransmissions when duplicate ACKs arrive 1. Loss recovery 2. Congestion control

TCP Dynamics Data ACKs Window Fast retransmission Duplicate ACKs Sequence number (bytes) Time (s) RTT

Typical Performance Goal: To bridge the gap between perceived and rated performance

Bandwidth Asymmetry Shows up in asymmetric access technologies –ADSL, (wireless) cable modems, DBS Low-bandwidth ACK channel ACKs don’t come back fast enough or get lost Problem: Imperfect ACK feedback degrades TCP performance

Problems Sender Receiver Forward ACKs Router Bottleneck Router 0 Data 8 Data 11 Data 10 Data Acks arrive slowly (large buffer) Acks are dropped (small buffer) 1 Data 3. Acks are queued behind data packets Lakshman & Madhow 97 Kalampoukas et al. 97 Balakrishnan et al. 97 Performance depends on 1. Normalized asymmetry ratio 2. Bottleneck buffer sizes 3. Competing reverse traffic

Hybrid Wireless Cable TCP Throughput (Mbps) 10 Mbps Ethernet 28.8 C-SLIP 28.8 SLIP 9.6 C-SLIP 9.6 SLIP Return channel speed and latency affects performance Receiver socket buffer size (KB)

Latency Asymmetry: Packet Radio Networks Internet PT ER FH GW MH Modem PR ER PT Fixed Host Ethernet Radios Poletop Radios Mobile Host RTS CTS Half-duplex radios Synchronization before communication

MAC Protocol Interactions Internet PT ER FH GW MH Modem PR ER PT Fixed Host Ethernet Radios Poletop Radios Mobile Host Pkt Ack RTS No response Exponential backoff Problem: Large, variable communication latency

Problem: Large Round-Trip Time Variations Metricom Ricochet Wireless Network Mean rtt = 2.45s, std deviation = 1.5s  long timeout! Long idle periods after multiple losses (~ 20 Kbps) In contrast, UDP throughput = Kbps ACK flow affects data latency Fast retransmissions Timeouts

Solutions Problems arise because of imperfect ACK feedback 1. Reduce frequency of acks –ACK Filtering (AF) –ACK Congestion Control (ACC) 2. Handle infrequent acks –Sender Adaptation (SA) –ACK Reconstruction (AR) General solutions for different asymmetric situations

ACK Filtering (AF) Forward Router 1 Server Client Router Purge all redundant, cumulative ACKs from constrained reverse queue No persistent filter state Used in conjunction with sender adaptation or ACK reconstruction

Server Client Router 8 Data 21 Data 22 Data Data Delack factor = 2 Adaptive extension of TCP delayed ACKs Forward ACK Congestion Control (ACC)

Sender Router Data 22 Data 12 Data RED marking of ECN bit (Explicit Congestion Notification) Delack factor = 2 Receiver Forward

ACK Congestion Control (ACC) Router Data Data 40 Data 22 Echo ECN marking to receiver Delack factor = 2 Forward Sender Receiver

ACK Congestion Control (ACC) Router Data 42 Data 43 Data Data 40 Delack factor = 4 Forward Sender Receiver

Sender Adaptation (SA) Infrequent ACKs slow window growth Sender tends to be bursty Server cwnd += 8 cwnd += 8/cwnd Incr window by amount acked Regulation: pace packets out at rate estimated by cwnd/srtt This reduces burstiness Forward Receiver

ACK Reconstruction (AR) ACK filterACK reconstructor Server Forward Client Regenerate ACKs at other end of reverse link Shield sender from gaps in ACK sequence (no TCP changes needed) AR rate determined by input ACK rate and target ACK spacing Reconstructor state is soft 1

Performance: Bandwidth Asymmetry –TCP transfers in the forward direction alone –Maximum window size 100 KB; no forward losses –Header compression helps –Large reverse buffer hurts for Reno and ACC –Fairness greatly improves using AF and ACC

Multihop Wireless Simulations –1 to 3 wireless hops on path –Radio turnaround time = 3-12 ms –Radio queue size = 10 packets –Exponential backoff in multiples of 20 ms slots ER PT Receiver Sender 100 Kbps, 10 ms 10 Mbps 1 ms PT

Single TCP Transfer AF reduces chances that peer radio is busy –MAC backoffs less frequent RTT std deviation reduces from 1.5s to 0.6s Throughput (Kbps) AF: 20-35% throughput improvement compared to Reno

Concurrent Transfers Metrics: utilization and fairness Simultaneous connections over 2-hop network –Predictable and consistent performance with AF Long timeouts cause unpredictable performance AF: 25% improvement in fairness over Reno

Combining Technologies Internet server Internet Hybrid PoP Client 10 Mbps, 2 ms Wireless transmitter PT ER Requests & ACKs Web data Cable forward channel with packet radio reverse channel Workload: Multiple concurrent Web-like transfers Result: Ack filtering greatly improves scaling behavior (average completion time vs. # of concurrent transactions)

Status Extensive simulation results under various bandwidth and latency asymmetric conditions Implementation and evaluation under BSD/OS 3.0 (code available) Documentation –Paper to appear ACM MONET (extended, revised version from MOBICOM 97 –Internet-draft submitted (PILC WG)

Cross-layer optimizations A way of performing protocol-specific optimizations at link-layer Lightweight, soft-state agents in network infrastructure State is soft: not essential for correctness; improves performance Easy to implement! Examples include ACK filters and reconstructors

Summary Asymmetry affects TCP performance –ACK channel affects forward throughput Asymmetry comes in various flavors –Bandwidth asymmetry (technology) –Latency asymmetry (MAC interactions) Fortunately, good performance can be obtained using a two-pronged approach –Reduce frequency of ACKs (AF, ACC) –Handle infrequent ACKs (SA, AR) Cross-layer optimizations are A Good Thing!