1 Upgrading Transport Protocols using Untrusted Mobile Code Parveen Patel Andrew Whitaker Jay Lepreau David Wetherall Tim Stack (Univ. of Washington) (Univ.

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Improving TCP over Wireless by Selectively Protecting Packet Transmissions Carla F. Chiasserini Michele Garetto Michela Meo Dipartimento di Elettronica.
Laboratório de Teleprocessamento e Redes1 Unix Network Programming Prof. Nelson Fonseca
Chapter 6 The Transport Layer.
APOHN: Subnetwork Layering to Improve TCP Performance over Heterogeneous Paths April 4, 2006 Dzmitry Kliazovich, Fabrizio Granelli, University of Trento,
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Chapter 3: Transport Layer
IETF WG Presentation1 Beth Johnson TCP over Satellite (tcpsat)
The Transport Layer Chapter 6. The TCP Segment Header TCP Header.
1 Hybrid Resource Control for Active Extensions Parveen Patel Jay Lepreau University of Utah.
Open Issues on TCP for Mobile Computing Ibrahim Matta Computer Science, Boston University Vassilis Tsaoussidis Computer Science, Northeastern University.
The Transport Layer Chapter 6. Performance Issues Performance Problems in Computer Networks Network Performance Measurement System Design for Better Performance.
Aleksandar Kuzmanovic & Edward W. Knightly A Performance vs. Trust Perspective in the Design of End-Point Congestion Control Protocols.
The Transport Layer Chapter 6. The Transport Service Services Provided to the Upper Layers Transport Service Primitives Berkeley Sockets An Example of.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
1 TCP Meets Mobile Code Parveen PatelDavid Wetherall Jay Lepreau Andrew Whitaker (Univ. of Utah) (Univ. of Washington)
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Datagram Congestion Control Protocol Timothy Sohn Eiman Zolfaghari CS268 Project May 15, 2002.
Whither Congestion Control? Sally Floyd E2ERG, July
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
CS640: Introduction to Computer Networks Aditya Akella Lecture 22 - Wireless Networking.
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011 The Transport Layer Chapter 6.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Quick-Start for TCP and IP A.Jain, S. Floyd, M. Allman, and P. Sarolahti ICSI, April 2006 This and earlier presentations::
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Part.
Datagram Congestion Control Protocol
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
MaxNet NetLab Presentation Hailey Lam Outline MaxNet as an alternative to TCP Linux implementation of MaxNet Demonstration of fairness, quick.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Rate Control Rate control tunes the packet sending rate. No more than one packet can be sent during each packet sending period. Additive Increase: Every.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Improving TCP Performance over Wireless Networks
The Transport Layer Chapter 6 12/14/2015www.ishuchita.com1.
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
IP Configuration API. Network Interface Configuration NAIfconfigIsDeviceUp() NAIfconfigDeviceFromInterface() NAIfconfigBringDeviceUp() NAIfconfigSetIpAddress()
Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell.
Thoughts on the Evolution of TCP in the Internet Sally Floyd PFLDnet 2004 February 16, 2004.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
© 2006 Andreas Haeberlen, MPI-SWS 1 Monarch: A Tool to Emulate Transport Protocol Flows over the Internet at Large Andreas Haeberlen MPI-SWS / Rice University.
The Transport Layer Implementation Services Functions Protocols
COMP 431 Internet Services & Protocols
Transmission Control Protocol (TCP)
TCP.
TCP-in-UDP draft-welzl-irtf-iccrg-tcp-in-udp-00.txt
Chapter 6 The Transport Layer.
The Transport Layer Chapter
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Transport Layer Our goals:
The Transport Layer Chapter 6.
Computer Networks Protocols
ECN in QUIC - Questions Surfaced
Presentation transcript:

1 Upgrading Transport Protocols using Untrusted Mobile Code Parveen Patel Andrew Whitaker Jay Lepreau David Wetherall Tim Stack (Univ. of Washington) (Univ. of Utah)

2 Key Point Untrusted mobile code can allow anybody to build and use new transport protocols cleanly, safely and without delay. Self-spreading Transport Protocols (STP) is our prototype solution.

3 New transport protocols keep coming  Karn/Partridge algorithm (1988)  Header Prediction (1990)  RFC 1232 (1992)  T/TCP (1995)  TCP Vegas (1995)  RAP (1996)  TCP SACK (1996)  FACK (1996)  Syn-cookies (1996)  Fast recovery (1997)  WTCP (1998)  NewReno (1999)  Congestion Manager (1999)  TCP Connection Migration (2000)  The eiffel algorithm (2000)  TFRC (2000)  D-SACK (2000)  Limited Transmit (2001)  ECN (2001)  ECN nonce (2001)  TCP Nice (2002)  DCCP (2002)  SCTP (2002)  RR-TCP (2002)  TCP Westwood (2002)  Appropriate Byte Counting (2002)  TCP sender timeout randomization (2003)

4 Problem scenario A content provider (e.g., Yahoo) develops a new transport protocol to deliver content to its customers A mobile client needs “TCP connection migration” at a telnet server to allow itself to move How do they deploy new protocols?

5 Upgrading transports takes years Research and simulation Prototype Standards committee Implementation in OS 1 Implementation in OS 2 … Addition into standard build OS 1 Addition into standard build OS 2 … Enable by default Enable by default on peer

6 Fallback: backwards-compatible change Often does not work  Can’t exchange new information  Example: TCP Migrate requires cooperation from both ends Does not work very well  Lose the benefit of cooperation between both ends  Example: one-way delay estimation using rtt includes reverse-path noise

7 Solution: STP Host can upgrade its connection peer with new transports by sending untrusted code TPFoo (Use TPFoo) TPFoo Self-spreading Transport Protocols TPFoo

8 Upgrading with STP is faster Research and simulation Prototype Standards committee Implementation to the STP API Implementation in OS 1 Implementation in OS 2 … Addition into standard build OS 1 Addition into standard build OS 2 … Enable by default Enable by default on peer

9 STP Challenges 1. Network safety – should not hog bandwidth or attack other nodes 2. Host safety – must isolate and limit resource consumption 3. Performance – should not undermine improvement due to extensions

10 STP Design Sockets Layer STP Network Layer APPLICATION 1 Compiler TP-B TP-A STP SANDBOX STP API Download/Policy mgr

11 1. Network safety TCP background TCP-friendliness is well-defined [SIGCOMM ’98] 1 Rate = R *√(2 * L /3) + (t_RTO*3* √(3* L /8)* L *(1+32+ L 2 )) R = Round-trip time, L = Loss-rate TCP sending speed governed by inflow of acks from receiver. Prevent a TCP receiver from faking acks (hiding loss) by requiring it to echo a nonce. [ICNP’01]

12 Loss Detection in STP Through the design of its API, STP enforces loss detection that is independent of transport protocol header formats. STP TP-A packet with nonce stp_send (packet, seq) STP TP-A packet with nonce sender receiver

13 Loss Detection in STP STP TP-A ack + nonce STP TP-A stp_send_ack (nonce) ack + nonce sender receiver stp_got_ack (seq, nonce)

14 2. Host safety Constrained domain: no shared state between transports  Makes resource accounting straightforward  Makes termination tractable Memory safety: type-safety of Cyclone [PLDI ’02 ] CPU timer-based CPU resource protection

15 3. Performance Connections proceed without delays  Code is downloaded out of the critical path  Benefits later connections  Exploits communication pattern of today’s Internet Efficient to interface C with Cyclone  Share data between the kernel and Cyclone code  Not necessary to use garbage collection

16 Implementation Prototype in FreeBSD 4.7 Ported UDP-Flood, TCP NewReno and TCP SACK to the STP API

17 Evaluation Network Safety Overall Performance CPU Overhead Transport Experience

18 STP enforces TCP-friendliness

19 STP does not restrict TCP

20 STP is as fast as TCP for Internet-like paths

21 STP transports achieve gigabit speed 2GHz machine with fast PCI bus

22 CPU utilization (gigabit link) Overhead inherent in Cyclone’s type-safety ( bounds/null checks ) is low: 6% Suspect most of overhead due to marshaling that will be straightforward to optimize in newer version of compiler. TCP Version FreeBSDSTP-C (ratio to BSD) STP-Cyclone (ratio to BSD) Sender59%59% (1.01)73% (1.24) Receiver48%61% (1.29)73% (1.54)

23 Transport experience API supports all 27 studied extensions except 2 that are inherently not TCP-friendly Shipping whole protocols is practical: 4K33K31K Object 10K95K87K Source (Gzip) UDPFloodSACKTCP Code

24 Future work So far:  STP is proof-of-concept of a system that synthesizes a set of ideas Next up: Make the vision more real  Stress-test system with adversarial transports  Prove that API is sufficient and OS-portable  Learn what policies work well in practice

25 Conclusions STP lets anybody build and use new transport protocols cleanly, safely and without delay.  Built on untrusted mobile code  Avoids hacks, standards and OS vendors This is a qualitative change!  Imagine real experience before standards  Fundamental change in incentive balance

26 END OF TALK …. BACKUP/DETAIL SLIDES