Breaking Up the Transport Logjam Bryan Ford Max Planck Institute for Software Systems Janardhan Iyengar Franklin & Marshall College.

Slides:



Advertisements
Similar presentations
Computer Networks TCP/IP Protocol Suite.
Advertisements

End-host Perspectives on Congestion Management Murari Sridharan CONEX BOF, IETF 76, Hiroshima.
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Ye Wang, Xuan Li, Dongtao Liu, Maoke Chen ICCT2006 Guilin, China Optimizing Cost and Performance for Concurrent Multipath Transferring using extended shim6.
SCTP Tutorial Randall Stewart
Session 6d, June 11, 2008 ICT-MobileSummit 2008 Copyright 2008 End-to-End Efficiency (E 3 ) SCTP for Bandwidth Aggregation and Mobility in a Heterogeneous.
Telematics group University of Göttingen, Germany Overhead and Performance Study of the General Internet Signaling Transport (GIST) Protocol Xiaoming.
Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another.
ISOC-Chicago 2001John Kristoff - DePaul University1 Journey to the Center of the Internet John Kristoff DePaul University.
Protocols and the TCP/IP Suite
5/3/2006 tlpham VOIP/Security 1 Voice Over IP and Security By Thao L. Pham CS 525.
THE OSI REFERENCE MODEL Open Systems Interconnection Reference Model.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Publish/Subscribe Internetworking Transport Abstractions & Congestion Control Somaya Arianfar & Pasi Sarolahti
SOCKS Group: Challenger Member: Lichun Zhan. Agenda Introduction SOCKS v4 SOCKS v5 Summary Conclusion References Questions.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Feb 20, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
Chapter 1 Overview Review Overview of demonstration network
Common Devices Used In Computer Networks
Adaptive Failover Mechanism Motivation End-to-end connectivity can suffer during net failures Internet path outage detection and recovery is slow (shown.
Protocols and the TCP/IP Suite
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
THE OSI REFERENCE MODEL Open Systems Interconnection (OSI) International Organization for Standardization( ISO)
I. Basic Network Concepts. I.1 Networks Network Node Address Packet Protocol.
Introduction 1-1 EKT355/4 ADVANCED COMPUTER NETWORK MISS HASNAH AHMAD School of Computer & Communication Engineering.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
1 Transport Layer Lecture 7 Imran Ahmed University of Management & Technology.
How to truly improve the Internet’s transport layer University of Trento, Michael Welzl.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Multipath TCP Update Philip Eardley, MPTCP WG Co-Chair tsvarea 1 st August, IETF-87, Berlin 1.
Chapter 13 The Internet.
CS 4700 / CS 5700 Network Fundamentals
Improving TCP Performance over Wireless Networks
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
1 Chapters 2 & 3 Computer Networking Review – The TCP/IP Protocol Architecture.
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
1 Protocol Layering Myungchul Kim Tel:
CS 3700 Networks and Distributed Systems
Ph.D Unurkhaan Esbold, Computer Science and Management School, Mongolian University of Science and Technology “InfoSec Mongolia 2006” conference, Ulaanbaatar,
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
U Innsbruck Informatik - 1 Specification of a Network Adaptation Layer for the Grid GGF7 presentation Michael Welzl University.
Breaking Up the Transport Logjam Bryan Ford Max Planck Institute for Software Systems and Yale University Janardhan Iyengar Franklin.
Breaking Up the Transport Logjam Bryan Ford Max Planck Institute for Software Systems and Yale University Janardhan Iyengar Franklin.
How Should We Think About Transport Abstractions? Bryan Ford Yale University w/ Janardhan Iyengar, Michael Nowlan, Nabin Tiwari, Syed Obaid Amin DIMACS.
Minion: An All-Terrain Packet Packhorse to Jump-Start Stalled Internet Transports Jana Iyengar*, Bryan Ford+ Dishant Ailawadi+, Syed Obaid Amin*,
CS 3700 Networks and Distributed Systems
Application Layer Functionality and Protocols Abdul Hadi Alaidi
Lecture (2).
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
OSI Protocol Stack Given the post man exemple.
Long-haul Transport Protocols
Understand the OSI Model Part 2
Network Architecture Introductory material
Congestion Control, Internet transport protocols: udp
Protocols and the TCP/IP Suite
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Review of Important Networking Concepts
I. Basic Network Concepts
Overlay Networking Overview.
Software Defined Networking (SDN)
The Future of Transport
Review of Important Networking Concepts
IT351: Mobile & Wireless Computing
Beyond FTP & hard drives: Accelerating LAN file transfers
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
Protocols and the TCP/IP Suite
CS 31006: Computer Networks – Moving From End-to-End To Per Hop
CSE 542: Operating Systems
Computer Networks Protocols
Presentation transcript:

Breaking Up the Transport Logjam Bryan Ford Max Planck Institute for Software Systems Janardhan Iyengar Franklin & Marshall College HotNets-VII, October 6-7, 2008

Evolutionary Pressures on Transports ● Applications need more flexible abstractions — better datagrams [DCCP], streams [SCTP, Ford07] ● Networks need new congestion control schemes — high-speed [Floyd03], wireless links [Lochert07],... ● Users need better use of available bandwidth — dispersion [Gustafsson97], multihoming [SCTP], logistics [Swany05], concurrent multipath [Iyengar06]… ● Operators need administrative control — Performance Enhancing Proxies [RFC3135], NATs and Firewalls [RFC3022], traffic shapers ● We have partial solutions, but no deployment

Many solutions, None deployable ● New transports undeployable — NATs & firewalls — which comes first: App-demand or OS kernel support? ● New congestion control schemes undeployable — impassable “TCP-friendliness” barrier — must work end-to-end, on all network types in path ● Multipath/multiflow enhancements undeployable — “You want how many flows? Not on my network!” — TCP-unfriendly?

The Transport Layer is Stuck in an Evolutionary Logjam!

The Problem Traditional transports conflate 3 function areas... To break transport logjam, must separate concerns Transport Protocol Endpoint Identification (port numbers) Transport Abstraction Congestion Control Semantics, Reliability Concerns (applications care) Performance Concerns (users, opers care) Naming, Routing Concerns (NATs, firewalls care)

Our Proposal Physical Layer Data Link Layer Network Layer Session Layer Application Layer Presentation Layer Physical Layer Data Link Layer Network Layer Session Layer Application Layer Presentation Layer Endpoint Layer Flow Regulation Layer Transport Layer Break up the Transport according to these functions:

Endpoint Layer

TCP Header UDP Header DCCP Header Endpoint Identification via Ports Current transports have separate port spaces IP Header Source Port Dest Port Source Port Dest Port Source Port Dest Port Source IP Address Dest IP Address TCP Port Space UDP Port Space DCCP Port Space Network Layer IP Address Space

But What Are Ports? ● Ports are really routing info! — IP address ⇒ Inter-Host Routing — port numbers ⇒ Intra-Host Routing ● … should have been part of Network Layer? ● NATs/Firewalls treat ports as routing info! — Care about application endpoints, not just hosts — Therefore, must understand transport headers ● Result: Only TCP, UDP can get through

Proposed Solution Factor endpoint info into uniform Endpoint Layer Transport Header IP Header Source IP Address Dest IP Address Endpoint Layer Port Space Network Layer IP Address Space Endpoint Header Source Port Dest Port

Surprise! Workable starting point exists — UDP! Transport Header IP Header Source IP Address Dest IP Address Endpoint Layer Port Space Network Layer IP Address Space UDP Header Source Port Dest Port

Practical Benefits Can now evolve separately: ● Transport functions: — New transports get through NATs, firewalls — Easily deploy new user-space transports, interoperable with kernel transports — Application controls negotiation among transports ● Endpoint functions: — Better cooperation with NATs [UPnP, NAT-PMP,...] — identity/locator split, port/service names [Touch06], security and authentication info...?

Flow Layer

Traditional “Flow Regulation” Transport includes end-to-end congestion control — to regulate flow transmission rate But one E2E path may cross many... — … different network technologies ● Wired LAN, WAN, WiFi, Cellular, AdHoc, Satellite, … ● Each needs different, specialized CC algorithms! — … different administrative domains ● Each cares about CC algorithm in use!

Proposed Solution Factor flow regulation into underlying Flow Layer Transport Layer Network Layer Endpoint Layer Flow Layer Transport Semantics, Reliability Flow Performance Regulation Endpoint Naming

Practical Benefits (1/3) Can split E2E flow into separate CC segments — Specialize CC algorithm to network technology — Specialize CC algorithm within admin domain … without interfering with E2E transport semantics! Endpoint Flow Host AHost B Network Transport Application Endpoint Flow Network Transport Application Endpoint Flow Network Endpoint Flow Network Flow Middlebox Segment 2 Satellite Segment 1 WiFi LAN Segment 3 Internet Core

Practical Benefits (2/3) Incrementally deploy performance enhancements — multihoming, multipath, dispersion, aggregation... … without affecting E2E transport semantics!

Practical Benefits (3/3) ● Can aggregate flows cleanly within domains for — Efficient traffic measurement, management — Fairness at “macro-flow” granularity

Developing the Flow Layer ● Two likely “starting points” already exist: — Congestion Manager [Balakrishnan99] — DCCP [Kohler06] (just stop thinking of it as a “transport”) ● Major work areas: — Support for flow middleboxes, path segmenting — Interfaces between (new) higher & lower layers

Transport Layer

Contains “what's left”: ● Semantic abstractions that apps care about — Datagrams, streams, multi-streams, … ● Reliability mechanisms — “Hard” acknowledgment, retransmission ● App-driven buffer/performance control — Receiver-directed flow control — Stream prioritization —...

Breaking Up the Transport Logjam ● New transports undeployable — Can traverse NATs & firewalls — Can deploy in kernels or applications ● New congestion control schemes undeployable — Can specialize to different network types — Can deploy/manage within administrative domains ● Multipath/multiflow enhancements undeployable — Can deploy/manage within administrative domains

Only the Beginning... Promising architecture (we think), but lots of details to work out — Functionality within each layer — Interfaces between each layer — Application-visible API changes Big, open-ended design space — We are starting to explore, but would love to collaborate with others! — If you know of spaces where you could use this framework, we'd love to know!

Conclusion ● Transport evolution is stuck ● To unstick, need to separate: — Endpoint naming/routing into separate Endpoint Layer — Flow regulation into separate Flow Layer ● Leave semantic abstractions in Transport Layer

Complexity ● More layers => increase ● Puts necessary hacks into framework => decrease ● What's the balance?

What about the e2e principle? ● Flow layer implements in-network mechanisms that focus on communication performance — Precisely the role for which the e2e principle justifies in-network mechanisms ● All state in the flow middleboxes is performance-related soft state ● Transport layer retains state related to reliability — End-to-end fate-sharing is thus preserved ● Transport layer is still the first end-to-end layer

Kernel/User Transport Interoperation Network Protocol Kernel-space Transport Application Network Protocol User-space Transport UDP Application Kernel User Kernel User Host AHost B

Kernel/User Transport Interoperation

“Zero-RTT” Transport Negotiation