The Internet transport layer: what’s wrong, and a way forward Telecom Bretagne, Rennes, France, 3/12/09 Michael Welzl.

Slides:



Advertisements
Similar presentations
Computer Networks Transport Layer. Topics F Introduction (6.1)  F Connection Issues ( ) F TCP (6.4)
Advertisements

CCNA – Network Fundamentals
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
The Tension Between High Video Rate and No Rebuffering Te-Yuan (TY) Huang Stanford University IRTF Open 87 July 30th, 2013 Joint work Prof.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Firewalls and Intrusion Detection Systems
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
ISOC-Chicago 2001John Kristoff - DePaul University1 Journey to the Center of the Internet John Kristoff DePaul University.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
CSE 461: Sliding Windows & ARQ. Next Topic  We begin on the Transport layer  Focus  How do we send information reliably?  Topics  The Transport layer.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
TCP/IP Basics A review for firewall configuration.
Gursharan Singh Tatla Transport Layer 16-May
Receiver-driven Layered Multicast Paper by- Steven McCanne, Van Jacobson and Martin Vetterli – ACM SIGCOMM 1996 Presented By – Manoj Sivakumar.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Whither Congestion Control? Sally Floyd E2ERG, July
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
MulTFRC: TFRC with weighted fairness draft-welzl-multfrc-00 Michael Welzl, Dragana Damjanovic 75th IETF Meeting Stockholm, Sweden 29 July 2009.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,
U Innsbruck Informatik - 1 CADPC/PTP in a nutshell Michael Welzl
How to truly improve the Internet’s transport layer University of Trento, Michael Welzl.
QoS research in a complicated world Christian Huitema Architect Windows Networking & Communications Microsoft Corporation.
CS 453 Computer Networks Lecture 18 Introduction to Layer 3 Network Layer.
Uni Innsbruck Informatik - 1 We Don‘t Need No Control Plane Michael Welzl, Kashif Munir Michael Welzl DPS NSG Team
DCCP, TFRC & Open Problems in Congestion Control for Media Applications Tom Phelan 13-Feb-2007 ICCRG.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
Uni Innsbruck Informatik - 1 Open Issues and New Challenges for End-to-End Transport E2E RG Meeting - July 28/29, MIT, Cambridge MA Michael Welzl
MulTFRC: TFRC with weighted fairness draft-welzl-multfrc-01 Michael Welzl, Dragana Damjanovic 76th IETF Meeting Hiroshima, Japan 10 November2009.
1 1 July 28, Goal of this session is too have a discussion where we learn about the relevant data to help us understand the problem and design.
DCCP: Issues From the Mailing List Sally Floyd, Eddie Kohler, Mark Handley, et al. DCCP WG March 4, 2004.
Our pre-TAPS work on transport services Michael Welzl TAPS, 92 nd IETF meeting 23. March 2015.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
Multipath TCP Signaling Options or Payload? Costin Raiciu
Transport Protocols.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
1 Advanced Transport Protocol Design Nguyen Multimedia Communications Laboratory March 23, 2005.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
RMCAT architectural overview Michael Welzl 1 RMCAT, 85 th IETF Meeting
Thoughts on the Evolution of TCP in the Internet Sally Floyd PFLDnet 2004 February 16, 2004.
Uni Innsbruck Informatik th IETF, PMTUD WG: Path MTU Discovery Using Options draft-welzl-pmtud-options-01.txt Michael Welzl
1 Sheer volume and dynamic nature of video stresses network resources PIE: A lightweight latency control to address the buffer problem issue Rong Pan,
Data Link Layer. Data link layer The communication between two machines that can directly communicate with each other. Basic property – If bit A is sent.
Tightly Coupled Congestion Control in WebRTC Michael Welzl Upperside WebRTC conference Paris
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.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
Data Link Layer.
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 Janardhan Iyengar Franklin & Marshall College.
Internet Networking recitation #9
UNIT-V Transport Layer protocols for Ad Hoc Wireless Networks
Discussion: Messaging
TCP-in-UDP draft-welzl-irtf-iccrg-tcp-in-udp-00.txt
Introduction of Transport Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Software Defined Networking (SDN)
I like the protocol. What I have to say makes me sad.
Falling Back! … and: a Functional Decomposition of Post-Sockets
IT351: Mobile & Wireless Computing
Internet Networking recitation #10
Department of Informatics Networks and Distributed Systems (ND) group
How Applications (Will Hopefully Soon) Use the Internet
Presentation transcript:

The Internet transport layer: what’s wrong, and a way forward Telecom Bretagne, Rennes, France, 3/12/09 Michael Welzl

Is there really something wrong? It works – and has been working for a long time now – The Internet is very successful, with continuous growth, so why do I say that something’s wrong? Success = quality? – MS Windows is also very successful – Opinions diverge… 2

What do I claim to be wrong? It can’t really be improved! Internet transport layer = TCP, UDP – TCP: RFC 791, UDP: RFC 768, Probably only two truly significant changes: 1.Addition of congestion control to TCP: Change of default TCP CC. in Linux to BIC: 2004 (a bit later: CUBIC)... not IETF-approved! 3

IETF has developed much more Getting deployed: – Many, many TCP bug fixes Hardly getting deployed: – New protocols: UDP-Lite, SCTP, DCCP Newer things - can’t evaluate deployment yet (but don’t want this to end up “in the red” !) – PCN, LEDBAT, MPTCP… 4

There’s an underlying design flaw (Just my opinion of course) Let’s talk about OSI – OSI failed, DoD model (TCP/IP) was successful, so is OSI even worth thinking about? – Again: success = quality? – Failure of OSI as a protocol suite doesn’t mean that there were no good ideas there Note: sorry if I’m misrepresenting history - I’m not an Internet historian, and I wasn’t “there” when it all happened 5

OSI Key idea: abstraction – Layers merely provide a service – Inner operation + lower layers hidden  could be replaced! 6 node Anode B protocol Layer N+1 Layer N: services N 1, N 2 service interface entitiy vertical comm. horizontal comm. N1N1 N2N2 N1N1 N2N2

7 OSI vs. the Internet Transport layer should be easy to change Internet abstraction: socket interface – TCP stream – UDP datagrams Service = what these protocols provide – Not very abstract Source: A. Tanenbaum, Computer Networks

The Internet vs. OSI The Internet was not designed for security, lots of problems with this – so there’s a tendency to disable/block everything that looks “strange” in middleboxes / firewalls – TCP, UDP, and special applications, i.e. port numbers, are considered acceptable everything else is “strange” – “Deep Packet Inspection” is very much non-OSI and against Internet design: “be liberal in what you accept” But what can we do, sue maintainers / developers of these boxes? 8 Well, maybe we can! thanks to network neutrality!

That’s it. This ends the talk. Let’s all file a lawsuit together. Problem solved. 9

A way forward 10

Pragmatic incentive view I believe that most Internet deployment failures (yes also QoS) are at least partially due to misaligned incentives – We should no longer develop technology without considering this I’m not the first one to say this: David D. Clark, John Wroclawski, Karen R. Sollins, Robert Braden: “Tussle in cyberspace: defining tomorrow's internet”, SIGCOMM 2002 – Let’s apply these principles to the transport layer... 11

The transport tussle 1.Application designers – want to get best performance with minimal effort Note: difference between updating an already working application and writing a new one from scratch – make use of a protocol which is now only available in 1% of the world: usually not worth it Note for commercial applications: programming effort = time = money – Future: if things change, we can still update our application 12

The transport tussle /2 2.OS developers – want to get best performance with minimal risk – e.g. Linux: it seems that whatever makes the OS work better without reducing stability is welcome – supporting a protocol which might be used one day is not a big risk, maybe worth it (in Linux, even protocol designers do the work) Note: if only this group says “yes”, not much might happen. 13

The transport tussle /3 3.Designers (and maintainers – but let’s ignore them for now and assume that they use “system defaults”) of middleboxes / firewalls – Devices / software often promise “security and good network performance” – Whatever is unknown can be a security risk – But: if blocking something notably degrades performance, customers won’t like that might not block it by default 14

Analyzing success stories TCP “bug fixes” – in accordance with originally planned behavior – installing in OS (group 2) yields a direct benefit for group 2 (and group 1) (CU)BIC congestion control as default in Linux TCP – not even a standard! but a major press release + available code, written by the designers – installing in OS (group 2 only) yielded a direct benefit for group 2 (and group 1) 15

How to accommodate the tussle? We are talking about people here; no hard facts, nothing is set in stone – People can change their minds – Group 3 is often seen as unchangeable; I don’t believe in this – Main “message” of this talk: we should take this tussle serious, and develop suitable technology! – Shorter-term and longer-term plans possible Three ideas for getting existing protocols deployed follow (long-term and short-term) 16

Idea 1, long term: just imagine......that we’d have a more abstract transport API. 1.Applications say... what kind of service they prefer what kind of traffic they will generate 2.Using its resources (protocols, signaling with the inner network,...), the transport layer does its best (still best effort!) to provide a good service Could try a new protocol, and give up in case of failure Could maybe also answer: “hey, you’re even getting a guarantee here!” 17

Idea 1, cont’d I believe that such an API + transport operation below is key for solving the problem – Again, I’m not the only one thinking this way... Bryan Ford and Janardhan Iyengar: “Breaking Up the Transport Logjam”, HotNets-VII, October Michael Welzl: "A Case for Middleware to Enable Advanced Internet Services", NGNM'04 workshop, co-located with Networking 2004, Athens, Greece, 14 May, But this would probably have the same (intermediate?) deployment problems – so, not enough 18

2. Make protocols more attractive Example: DCCP, group 1 point of view +Suitable congestion control for unreliable real- time applications (e.g. streaming media) +No need to do the work in applications above UDP +Good performance (cc. in the OS, where it belongs), TCP-friendly, support for ECN – New API to use – New protocol, not yet available in all OS’s, many middleboxes will drop it 19

Congestion control trade-off (selfish single-flow view) + reduced loss — necessary to adapt rate – Use sender buffer, drain it with varying rate – Change encoding Delay sensitive Delay insensitive Trade-off: sender buffer size (=delay) vs. frequency of encoding changes VoIP, Games Streaming Media Videoconf. Sweet spot?

Is TCP the ideal protocol for one- way streaming media? Remember: we‘re at the “buffering“ side of the spectrum – Buffers (delay) don‘t matter – User perception studies of adaptive multimedia apps have shown that users dislike permanent encoding changes (big surprise :-) )  no need for a smooth rate! Little loss case: TCP retransmissions won‘t hurt Heavy loss case: DCCP: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10… TCP: (assume window = 3): 1, 2, 3, 2, 3, 4, 3, 4, 5, 4… – Application would detect: 4 out of 10 expected packets arrived  should reduce rate – Is receiving 1, 4, 7, 10 instead of 1, 2, 3, 4 really such a big benefit? Or is it just a matter of properly reacting? See TCP usage in RealPlayer, MediaPlayer, YouTube, Andreas Petlund‘s Ph.D. thesis

Idea 2, cont’d How can we make DCCP more attractive? – “TCP-friendliness” is maybe not very interesting from the user point of view: preserve network stability ensure that other flows (other applications of the same user, or other users) get a fair bandwidth share – TCP-friendliness also means 75% link utilization if we’re the only application (or more if buffers (  and delay) are large) 22

Idea 2, cont’d: MulTFRC Dragana Damjanovic, Michael Welzl: "MulTFRC: Providing Weighted Fairness for Multimedia Applications (and others too!)", ACM Computer Communication Review 39(3), July Like TCP-friendly Rate Control (TFRC), but weighted: can act like N flows, where N is a positive rational number – 3 flows: 90% link utilization. 6 flows: 95% Utilization = /(1+3N) percent. From: E. Altman, D. Barman, B. Tuffin, M. Vojnovic: "Parallel TCP Sockets: Simple Model, Throughput and Validation", Infocom – 0 < N < 1 also works just fine For DCCP based applications, this means: can saturate links better, can give a knob to users 23

3. Beneficial Transparent Deployment For a new protocol, first show that there can be a benefit from transparently deploying it – in the OS; involves only group 2 – always ensure fallback, no disadvantage from trying the new protocol; could eventually give more and more people from group 3 a reason to say “yes” – once group 2 and group 3 have it, it makes sense for group 1 to use it  full benefit! 24

Idea 3, cont’d: SCTP example SCTP is already (somewhat?) attractive – resilience can improve if used transparently (automatically use multihoming) Can get more benefits out of transparent usage: using multi-streaming – map short TCP connections onto long SCTP association, exploit large congestion window IFF this yields a benefit – Sorry, no diagram; one of my master students is working on this, he says it works... we plan to have a paper soon 25

26 Source: A. Tanenbaum, Computer Networks TCP flow 1, mapped to SCTP TCP flow 2, makes sense to map to the same SCTP association

Idea 3, cont’d: DCCP example Can we transparently use DCCP such that a noticable benefit for applications is attained? – enforce appropriate behavior for applications that don’t have no, or no “good” congestion control 27 RealPlayer WMP

3: Enforcing congestion control Various issues: – Introduce + control extra buffer close to sender – Control sender (explicit or implicit feedback) – Get feedback from receiver: maybe less signaling than per-packet ACKs Solving this is hard, but feasible [ Sven Hessler, "Protection of Data Networks by Enforcing Congestion Control on UDP Flows”, Ph.D. thesis, October 2008, TU Darmstadt] Source of diagrams on previous, this, and next slide. 28 Artificial RealPlayer sender control

3: Enforcing congestion control /2 29 RealPlayer without (left) and with(right) congestion-enforcing element No explicit-feedback sender control Still open question: can we get enough benefit for applications?

Conclusion I repeat: main “message” of this talk: we should take this tussle serious, and develop suitable technology! – Secondary message: also consider aligning existing technology with it There’s a lot of work to be done – measure what middleboxes do, evaluate encapsulation variants (everything-over-UDP?), connection setup (meta-syn, or multiple SYNs (“happy eyeballs”), or TCP SYN with a special flag?)... gets even more difficult (= interesting!) when routers are involved Let’s avoid repeating past mistakes over and over again, and really improve the Internet 30

A funding view Some time ago, it was said, often, everywhere: “We need a clean-slate design” 1.don’t care about the Internet, do something new 2.think about gradually moving to the new thing A lot of money has gone into 1) – It’s time to ask for money for 2) ! 31

Thank you Questions? 32