RFC 7663
Report from the IAB Workshop on Stack Evolution in a Middlebox Internet (SEMI)
RFC 7663: Report from the IAB Workshop on Stack Evolution in a Middlebox Internet (SEMI) π¦
- Request for Comments: 7663
- Authors: B. Trammell, Ed. and M. Kuehlewind, Ed. (both from ETH Zurich) π
- Published by: Internet Architecture Board (IAB)
- Category: Informational
- ISSN: 2070-1721
- Date: October 2015
Abstract β¨
okay so the IAB, through its IP Stack Evolution program, the Internet Society, and the Swiss Federal Institute of Technology (ETH) Zurich teamed up to host the Stack Evolution in a Middlebox Internet (SEMI) workshop in Zurich on 26-27 January 2015. π The big question was how we can keep evolving the transport layer when middleboxes and interfaces have basically frozen the whole stack in place. The goal was to produce architectural and engineering guidance to break the logjam π₯, focusing on approaches that can be deployed bit by bit and that give both endpoints (new transport layers and applications) and middleboxes (run by network operators) a clear reason to actually adopt them.
This document recaps what people contributed to the workshop, walks through the discussion, and lists the outcomes and next steps the workshop identified. ngl the views and positions in here belong to the workshop participants. They do not necessarily reflect the IAB's views and positions. π«Ά
Status of This Memo π
This document is not an Internet Standards Track specification. It's published for informational purposes. πΈ
This document is a product of the Internet Architecture Board (IAB). It holds information the IAB has decided is worth keeping on the permanent record, and it represents the consensus of the IAB. Documents the IAB approves for publication are not candidates for any level of Internet Standard. See Section 2 of RFC 5741 for more on that.
For current status, errata, and how to send feedback, check http://www.rfc-editor.org/info/rfc7663. β¨
Copyright Notice π
Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please read these carefully, bestie, because they spell out your rights and restrictions for this document. π
Table of Contents ποΈ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Organization of This Report . . . . . . . . . . . . . . . 4
2. The Situation in Review . . . . . . . . . . . . . . . . . . . 4
3. Incentives for Stack Ossification and Evolution . . . . . . . 5
4. The Role and Rule of Middleboxes . . . . . . . . . . . . . . 6
5. Evolving the Transport Layer . . . . . . . . . . . . . . . . 6
6. Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.1. Minimal Signaling for Encapsulated Transports . . . . . . 7
6.2. Middlebox Measurement . . . . . . . . . . . . . . . . . . 8
6.3. Guidelines for Middlebox Design and Deployment . . . . . 9
6.4. Architectural Guidelines for Transport Stack Evolution . 9
6.5. Additional Activities in the IETF and IAB . . . . . . . . 10
6.6. Additional Activities in Other Venues . . . . . . . . . . 10
7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
8. Informative References . . . . . . . . . . . . . . . . . . . 10
Appendix A. Attendees . . . . . . . . . . . . . . . . . . . . . 13
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction β¨
okay the transport layer of the Internet has become seriously ossified π. It's squeezed between narrow interfaces (everything from BSD sockets to pseudo-transport over HTTPS) and a growing pile of in-network changes to traffic from middleboxes that make assumptions about the protocols running through them. That ossification makes it really hard to innovate at the transport layer, whether by deploying new protocols or extending existing ones. Meanwhile, emerging applications need things that current protocols can only do inefficiently, if they can do them at all. π
So the IAB, as part of its IP Stack Evolution Program, organized a workshop to figure out how to de-ossify transport, especially when it comes to interactions with middleboxes and new ways of implementing transport protocols. We know the end-to-end principle has been compromised for a while now, so we're starting from the basic question: how do we match the paths through the Internet that have certain characteristics with what applications and transports actually need? π§
The call for papers asked these questions:
- Which paths through the Internet are actually available to applications?
- Which transports can be used over these paths?
- How can applications cooperate with network elements to improve path establishment and discovery?
- Can common transport functionality and standardization help application developers implement and deploy such approaches in today's Internet?
- Could cooperative approaches give us a way to rebalance the Internet back toward its end-to-end roots? πΈ
The call for papers also encouraged a focus on approaches that can be deployed incrementally within the present Internet. The topics it named were:
- Development and deployment of transport-like features in application-layer protocols
- Methods for discovery of path characteristics and protocol availability along a path
- Methods for middlebox detection and characterization of middlebox behavior and functionality
- Methods for NAT and middlebox traversal in the establishment of end-to-end paths
- Mechanisms for cooperative path-endpoint signaling, and lessons learned from existing approaches
- Economic considerations and incentives for cooperation in middlebox deployment π
The Internet Architecture Board (IAB) holds occasional workshops to look at long-term issues and strategies for the Internet, and to suggest future directions for the Internet architecture. This long-term planning is complementary to the ongoing engineering work done by IETF working groups, under the leadership of the Internet Engineering Steering Group (IESG) and the area directorates. π
SEMI partly grew out of the IAB's longer-term interest in how the Internet evolves and how Internet protocols get adopted. That includes the Internet Technology Adoption and Transition workshop [RFC7305], "What Makes for a Successful Protocol" [RFC5218], and all the way back to Deering's plenary talk [deering-plenary] at IETF 51 in 2001. It's giving history π
1.1. Organization of This Report ποΈ
This workshop report sums up the contributions and discussions from the workshop, organized by topic. We start with a summary of where things stand on stack ossification. Then we dig into the incentives that created this situation and the role incentives play in evolution. Lots of contributions split into two main areas: middlebox measurement, classification, and defenses against middlebox modification of packets; and approaches that support transport evolution. All accepted position papers and detailed discussion transcripts are available at https://www.iab.org/activities/workshops/semi/. π¦
The outcomes of the workshop are covered in Section 6, including progress made since the workshop toward each of the identified work items as of the time this report was published. π
2. The Situation in Review π₯
When Deering gave his talk in 2001, network address translation (NAT) was named as the key challenge to the Internet architecture. Since then, the NAT traversal problem has mostly been solved, but the boxes in the middle keep getting smarter and more varied. π
SEMI, like the IP Stack Evolution program in general, is far from the first attempt to fix the problems caused by middlebox interference with the end-to-end model. Inside the IETF alone, the MIDCOM, NSIS, and BEHAVE efforts have dealt with this problem, and the TRAM working group is updating the NAT traversal outcomes of MIDCOM to match current reality. π§
We think there's a real chance to improve things right now because a few forces are converging. The tussle between security and middleboxes isn't new, but the accelerating deployment of cryptography for integrity and confidentiality makes many packet inspection and packet modification operations obsolete, which creates pressure to change things. There's also new energy in the IETF around work that needs transport-layer flexibility we're not sure we have (e.g., WebRTC), as well as flexibility at the transport interface (TAPS). β¨
3. Incentives for Stack Ossification and Evolution π
The current situation is, of course, the result of many processes and the convergence of incentives for network operators, content providers, network equipment vendors, application developers, operating system developers, and end users. Moore's Law makes it easier to deploy more processing on-path, network operators need to find ways to add value, enterprises find it more scalable to deploy functionality in the network than on endpoints, and middleboxes are something vendors can sell. These trends increase ossification of the network stack. π©
So any effort to reduce that ossification and make the transport stack easier to evolve has to consider the incentives each of these actors has to deploy new approaches. π«Ά
As Christian Huitema [huitema-semi] pointed out, encryption is a powerful incentive here. Putting a transport protocol on top of a cryptographic protocol on top of UDP resets the transport-versus-middlebox tussle, because inspection and modification above the encryption and demux layer become impossible. π Any transport evolution strategy that uses this approach must also deliver better performance or functionality (e.g., setup latency) than existing approaches, while being as deployable as those approaches, or more so. π
Dave Thaler, pointing to [RFC5218], said that significant positive net value at each organization where change is required (operators, application developers, equipment vendors, enterprise and private users) is the best way to drive deployment of a new protocol. Every tussle in networking comes from conflicting incentives that are unavoidable in a free market. For upper-layer protocols, incentives tend to favor protocols that work anywhere, use the most efficient mechanism that works, and are as simple as possible from an implementation, maintenance, and management standpoint. For lower-layer protocols, incentives tend to push toward ignoring or disabling optional features, because there's a positive feedback cycle between being rarely used and rarely implemented. π
4. The Role and Rule of Middleboxes π
okay so middleboxes are EVERYWHERE on the Internet π and they seriously limit what we can roll out, like new protocols and protocol extensions just get stuck. π To deal with this, we need a "bestiary" of middleboxes π, which is basically a catalogue of what kinds of impairments they cause and how often they show up. Benoit Donnet put that together in [edeline-semi] and it's iconic work, no cap. π
Now, the move toward Network Function Visualization (NFV) makes middleboxes faster to update, so they get more flexible β¨ but the functions they provide aren't going anywhere. π«Ά Honestly, service chaining could mean even more add-ons piling up to fix and manage problems in the network, which makes network management even more complicated π. Ted Hardie [hardie-semi] warned that each instance may add a new queue and make the bufferbloat problem worse, and that's bad news for latency-sensitive apps that are just starting to show up. π BUT, this new flexibility is also a chance to move functionality back to the end host π§. Another option is that more appropriate in-network functionality could use extra information about applications and path characteristics, though that comes with a bunch of complicated trust relationships among nodes in the network. πΈ Either way, in-network functionality is trending up, especially in mobile networks π±.
Costin Raiciu [raiciu-semi] said middleboxes make the Internet unpredictable, which creates a trade-off between efficiency and reachability. βοΈ One approach is constructive cooperation with middleboxes, so the network and the endpoint agree on a clear contract π€. But if the environment isn't very cooperative, enforcing that contract might need extensive tunneling π. Raiciu's work on "ninja tunneling" shows one approach like that, and it's giving clever π₯·β¨.
5. Evolving the Transport Layer π¦
okay, so for evolution in the transport layer itself, people have floated a bunch of ideas π. One is developing new protocols (maybe as user-level stacks) that get encapsulated in UDP with a transport identification sub-header. Another is using TCP as a substrate where TCP's semantics get relaxed (things like reliability, ordering, and flow control) and the application gets a more flexible API π₯.
The discussion at the workshop split pretty amicably into two camps π. One group wanted to fix the deployability of TCP extensions, which they jokingly called "the TCP Liberation Front" β. The other wanted to build new encapsulation-based mechanisms so that totally new protocols could be deployed, known as "the People's Front of UDP" π. David Black [black-semi] pointed out that UDP encapsulation has to be adapted and discussed separately for every use case, and that can be a long, painful process π©. Still, UDP encapsulation can help build more specialized protocols that address the special needs of certain applications π. However, Stuart Cheshire [cheshire-semi] (as presented by Brian Trammell) pointed out that designing a new protocol instead of fixing or extending TCP might not always solve the problem π.
To tackle TCP's extensibility problem, Bob Briscoe proposed Inner Space [briscoe-semi] π«§. The main idea is to extend layer X's header inside layer X+1. For TCP, that means extra TCP header and option space gets placed inside the TCP payload, so middleboxes can't currently inspect or modify it π.
Micheal Welzl [welzl-semi] also points out that not every path is ossified, so there are lots of paths where new extensions and protocols could work πΏ. To use those paths, an end host would need to probe or use a happy-eyeball-like approach [RFC6555] and possibly fall back π. The TAPS working group is working on the first step: decoupling applications from transport protocols so the transport layer gets the flexibility it needs π.
6. Outcomes π
The SEMI workshop identified several areas for further work, which are outlined below π.
6.1. Minimal Signaling for Encapsulated Transports π‘
Assuming transport evolution in user space involves encapsulation in UDP datagrams, the workshop figured it might be useful to have a facility built on top of UDP. It would provide minimal signaling of flow semantics that TCP already offers. At the very least, it would indicate first and last packets in a flow, so firewalls and NATs can make policy decisions and maintain state π‘οΈ. This facility could also provide minimal application-to-path and path-to-application signaling, though people didn't agree on exactly what should or could be signaled π€·ββοΈ.
The workshop also noted that, since encryption is becoming more common on the Internet, this facility should cooperate with Datagram Transport Layer Security (DTLS) [RFC6347] π. The goal is to selectively expose information about traffic flows where the transport headers and payload are themselves encrypted π.
To develop this concept further, it was decided to propose a BoF session, not a working group, called SPUD (Substrate Protocol for User Datagrams), at the IETF 92 meeting in March in Dallas π€ . A use cases document [SPUD-USE], a prototype specification for a shim protocol over UDP [SPUD-PROTO], and a separate specification for using DTLS as a subtransport layer [TLS-DTLS] were prepared after the SEMI discussions and presented at the BoF π€.
It was clear from discussion before and during the SPUD BoF, and from experience with earlier endpoint-to-middle and middle-to-endpoint signaling approaches, that any selective exposure of traffic metadata outside a relatively restricted trust domain must be declarative rather than imperative, non-negotiated, and advisory π¨. Each exposed parameter should also be independently verifiable, so each entity can decide how much trust to give the others π . Basic transport over the substrate MUST keep working even if signaling is ignored or stripped, to support incremental deployment. These restrictions on vocabulary are discussed further in [EXP-COOP] π.
There was a lot of interest in the room in continuing work on an approach like the one being discussed π. It was pretty clear, though, that the discussion and prototyping are not yet mature enough for standardization within an IETF working group π₯². Where the work should continue is still unclear π€.
Discussion continues on the spud mailing list (spud@ietf.org) π¬. The UDP shim layer prototype is described in [SPUD-PROTO] β¨.
6.2. Middlebox Measurement π
Talking about the impairments middleboxes cause quickly showed that we need better, more detailed data on how common each type of impairment is in the network π. For example, it doesn't make much sense to engineer complicated workarounds for certain impairments into transport protocols if those impairments are fairly rare π ββοΈ. There are dedicated measurement studies for some types of impairment, but the workshop noted that prevalence data might already exist in error logs from TCP stacks and applications on both clients and servers π. Those entities can tell when attempts to use particular transport features failed, so they can measure the network just by being used πͺ. Lots of clients already have a feature that sends these bug reports back to their developers π. All of this gives us a chance to bring real data into decisions about protocol engineering in an Internet full of middleboxes π.
The HOPS (How Ossified is the Protocol Stack) informal birds of a feather session, also called the "Bar BoF," was held at the IETF 92 meeting in Dallas π€ . It discussed ways to aggregate data from these logs about potential middlebox impairment, focusing on common data formats and on preserving end-user privacy π. Some discussion focused on aggregating impairment observations at the network level, but initial work will focus on making relative prevalence information available on an Internet-wide scope π. The first step is to match the types of data needed to answer protocol engineering questions with the data that is already being collected or can easily be collected π§©.
A mailing list (hops@ietf.org) has been set up to keep the discussion going π¬.
6.3. Guidelines for Middlebox Design and Deployment π οΈ
The workshop found the potential to update [RFC3234] so it provides guidelines on middlebox design, implementation, and deployment π. The aim is to reduce inadvertent or accidental impact on stack ossification in existing and new middlebox designs π¦. The IAB Stack Evolution Program will follow up on this with the participants in the now-closed BEHAVE working group, since it most closely follows that group's work π€. It will draw partly on the BEHAVE working group's work and on experience with STUN, TURN, and ICE, all of which focus more specifically on network address translation π.
6.4. Architectural Guidelines for Transport Stack Evolution ποΈ
The workshop identified a need for general architectural guidance on transport stack evolution π§±. That covers tradeoffs between user-space and kernel-space implementations, tradeoffs and considerations for encapsulations (especially UDP), tradeoffs between implicit and explicit interaction with devices along the path, and so on π§. The IAB IP Stack Evolution Program will produce this document, and the new transport encapsulations document [EXP-COOP] may grow into the basis for this work π±.
Also, because of the underlying discussion on trust and the need for a "balance of power" between end hosts and the network, the workshop participants concluded that it is necessary to define approaches based on the cryptographic protocol to enable transport protocol extensibility π.
6.5. Additional Activities in the IETF and IAB ποΈ
The workshop identified a need to socialize ideas around transport stack evolution within the IETF community π£. That includes presentations in the transport and applications open area meetings on protocol extensibility, UDP encapsulation considerations, and applying TLS/DTLS to prevent middlebox meddling π . Much of the energy from the workshop went into the SPUD BoF (see Section 6.1), so these presentations will be given at future meetings ποΈ.
There are also clear connections between the future work following the SEMI workshop and the IAB's Privacy and Security Program. Privacy and Security program members will be encouraged to follow developments in transport stack evolution, especially for the privacy implications of the workshop's outcomes ππ.
6.6. Additional Activities in Other Venues π
Bob Briscoe informally liaised the SEMI workshop discussions to the ETSI Network Function Virtualization (NFV) Industry Specification Group (ISG) after the workshop π£οΈ. He also focused on the implications of end-to-end encryption for the present and future of in-network functionality π. In the ISG's Security Working Group, he proposed text for best practices on middlebox access to data when end-to-end encryption is in use π«Ά.
7. Security Considerations π
This document presents no security considerations π.
8. Informative References β¨
Okay bestie, here's the reading list π Every source the RFC leans on is below, with all the details kept exactly as written.
- [RFC3234] Carpenter, B. and S. Brim, "Middleboxes: Taxonomy and Issues", RFC 3234, DOI 10.17487/RFC3234, February 2002,
<http://www.rfc-editor.org/info/rfc3234>. - [RFC5218] Thaler, D. and B. Aboba, "What Makes For a Successful Protocol?", RFC 5218, DOI 10.17487/RFC5218, July 2008,
<http://www.rfc-editor.org/info/rfc5218>. - [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, January 2012,
<http://www.rfc-editor.org/info/rfc6347>. - [RFC6555] Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with Dual-Stack Hosts", RFC 6555, DOI 10.17487/RFC6555, April 2012,
<http://www.rfc-editor.org/info/rfc6555>. - [RFC7305] Lear, E., Ed., "Report from the IAB Workshop on Internet Technology Adoption and Transition (ITAT)", RFC 7305, DOI 10.17487/RFC7305, July 2014,
<http://www.rfc-editor.org/info/rfc7305>. - [SPUD-USE] Hardie, T., "Use Cases for SPUD", Work in Progress, draft-hardie-spud-use-cases-01, February 2015.
- [SPUD-PROTO] Hildebrand, J. and B. Trammell, "Substrate Protocol for User Datagrams (SPUD) Prototype", Work in Progress, draft-hildebrand-spud-prototype-03, March 2015.
- [TLS-DTLS] Huitema, C., Rescorla, E., and J. Jana, "DTLS as Subtransport protocol", Work in Progress, draft-huitema-tls-dtls-as-subtransport-00, March 2015.
- [EXP-COOP] Trammell, B., Ed., "Architectural Considerations for Transport Evolution with Explicit Path Cooperation", Work in Progress, draft-trammell-stackevo-explicit-coop-00, September 2015.
- [black-semi] Black, D., "UDP Encapsulation: Framework Considerations", January 2015,
<https://www.iab.org/wp-content/IAB-uploads/2014/12/semi2015_black.pdf>. - [briscoe-semi] Briscoe, B., "Tunneling Through Inner Space", October 2014,
<https://www.iab.org/wp-content/IAB-uploads/2014/12/semi2015_briscoe.pdf>. - [cheshire-semi] Cheshire, S., "Restoring the Reputation of the Much-Maligned TCP", January 2015,
<https://www.iab.org/wp-content/IAB-uploads/2015/01/semi2015-cheshire.pdf>. - [deering-plenary] Deering, S., "Watching the Waist of the Protocol Hourglass", August 2001,
<https://www.ietf.org/proceedings/51/slides/plenary-1>. - [edeline-semi] Edeline, K. and B. Donnet, "On a Middlebox Classification", January 2015,
<https://www.iab.org/wp-content/IAB-uploads/2014/12/semi2015_edeline.pdf>. - [hardie-semi] Hardie, T., "Network Function Virtualization and Path Character", January 2015,
<https://www.iab.org/wp-content/IAB-uploads/2014/12/semi2015_hardie.pdf>. - [huitema-semi] Huitema, C., "The Secure Transport Tussle", October 2014,
<https://www.iab.org/wp-content/IAB-uploads/2014/12/semi2015_huitema.pdf>. - [raiciu-semi] Raiciu, C., Olteanu, V., and , "Good Cop, Bad Cop: Forcing Middleboxes to Cooperate", January 2015,
<https://www.iab.org/wp-content/IAB-uploads/2015/01/ninja.pdf>. - [welzl-semi] Welzl, M., Fairhurst, G., and D. Ros, "Ossification: a result of not even trying?", January 2015,
<https://www.iab.org/wp-content/IAB-uploads/2014/12/semi2015_welzl.pdf>.
Appendix A. Attendees π§
The people who showed up to the SEMI workshop were:
Mary Barnes, Richard Barnes, David Black, Marc Blanchet, Bob Briscoe, Ken Calvert, Spencer Dawkins, Benoit Donnet, Lars Eggert, Gorry Fairhurst, Aaron Falk, Mat Ford, Ted Hardie, Joe Hildebrand, Russ Housley, Felipe Huici, Christian Huitema, Jana Iyengar, Mirja Kuehlewind, Eliot Lear, Barry Leiba, Xing Li, Szilveszter Nadas, Erik Nordmark, Colin Perkins, Bernhard Plattner, Miroslav Ponec, Costin Raiciu, Philipp Schmidt, Martin Stiemerling, Dave Thaler, Brian Trammell, Michael Welzl, Brandon Williams, Dan Wing, and Aaron Yi Ding.
Stuart Cheshire and Eric Rescorla also contributed to the workshop, even though they couldn't make it in person. π₯Ή
Acknowledgments π«Ά
The IAB is so grateful to the SEMI Program Committee: Brian Trammell, Mirja Kuehlewind, Joe Hildebrand, Eliot Lear, Mat Ford, Gorry Fairhurst, and Martin Stiemerling. π They also thank Prof. Dr. Bernhard Plattner of the Communication Systems Group at ETH for hosting the workshop, and the Internet Society for its support. Huge thanks as well to Suzanne Woolf and Aaron Falk for the feedback and review πΈ
Authors' Addresses π¦
Brian Trammell (editor)
ETH Zurich
Gloriastrasse 35
8092 Zurich
Switzerland
Email: ietf@trammell.ch
Mirja Kuehlewind (editor)
ETH Zurich
Gloriastrasse 35
8092 Zurich
Switzerland
Email: mirja.kuehlewind@tik.ee.ethz.ch
π¦ where this page comes from
- ietf: rfc7663 2015-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms