De-Ossifying the Internet Transport Layer: A Survey and Future Perspectives

It is widely recognized that the Internet transport layer has become ossified, where further evolution has become hard or even impossible. This is a direct consequence of the ubiquitous deployment of middleboxes that hamper the deployment of new transports, aggravated further by the limited flexibility of the application programming interface (API) typically presented to applications. To tackle this problem, a wide range of solutions have been proposed in the literature, each aiming to address a particular aspect. Yet, no single proposal has emerged that is able to enable evolution of the transport layer. In this paper, after an overview of the main issues and reasons for transport-layer ossification, we survey proposed solutions and discuss their potential and limitations. The survey is divided into five parts, each covering a set of point solutions for a different facet of the problem space: 1) designing middlebox-proof transports; 2) signaling for facilitating middlebox traversal; 3) enhancing the API between the applications and the transport layer; 4) discovering and exploiting end-to-end capabilities; and 5) enabling user-space protocol stacks. Based on this analysis, we then identify further development needs toward an overall solution. We argue that the development of a comprehensive transport layer framework, able to facilitate the integration and cooperation of specialized solutions in an application-independent and flexible way, is a necessary step toward making the Internet transport architecture truly evolvable. To this end, we identify the requirements for such a framework and provide insights for its development.

[1]  David D. Clark,et al.  Rethinking the design of the Internet , 2001, ACM Trans. Internet Techn..

[2]  Dino Farinacci,et al.  Lcast: Software-defined inter-domain multicast , 2014, Comput. Networks.

[3]  Gorry Fairhurst,et al.  PATHspider: A tool for active measurement of path transparency , 2016, ANRW '16.

[4]  Theresa Enghardt Socket Intents: Extending the Socket API to Express Application Needs , 2013 .

[5]  Godred Fairhurst,et al.  UDP Usage Guidelines , 2017, RFC.

[6]  Jonathan D. Rosenberg,et al.  Middlebox communication architecture and framework , 2002, RFC.

[7]  Jonathan Rosenberg Interactive Connectivity Establishment (ICE): A Methodology for Nettwork Address Translator (NAT) Traversal for the Session Initiation Protocol (SIP) , 2003 .

[8]  Stein Gjessing,et al.  Beneficial Transparent Deployment of SCTP: The Missing Pieces , 2011, 2011 IEEE Global Telecommunications Conference - GLOBECOM 2011.

[9]  Cedric Aoun,et al.  NAT/Firewall NSIS Signaling Layer Protocol (NSLP) , 2010, RFC.

[10]  Brian Trammell,et al.  Substrate Protocol for User Datagrams (SPUD) Prototype , 2015 .

[11]  Dan Wing,et al.  Port Control Protocol (PCP) , 2013, RFC.

[12]  Brian Trammell,et al.  Evolving Transport in the Internet , 2014, IEEE Internet Computing.

[13]  Brian Trammell,et al.  Report from the IAB Workshop on Stack Evolution in a Middlebox Internet (SEMI) , 2015, RFC.

[14]  Thomas Narten,et al.  Problem Statement: Overlays for Network Virtualization , 2014, RFC.

[15]  Dan Wing,et al.  Session Traversal Utilities for NAT (STUN) , 2020, RFC.

[16]  Michael Tüxen,et al.  UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication , 2013, RFC.

[17]  Xiaofeng Liao,et al.  An initiative for a classified bibliography on TCP/IP congestion control , 2013, J. Netw. Comput. Appl..

[18]  Colin Perkins,et al.  Implementing Real-Time Transport Services over an Ossified Network , 2016, ANRW '16.

[19]  Brian E. Carpenter,et al.  Middleboxes: Taxonomy and Issues , 2002, RFC.

[20]  Bryan Ford,et al.  Peer-to-Peer Communication Across Network Address Translators , 2005, USENIX Annual Technical Conference, General Track.

[21]  Ramesh Govindan,et al.  Reducing web latency: the virtue of gentle aggression , 2013, SIGCOMM.

[22]  Olivier Bonaventure,et al.  Revealing middlebox interference with tracebox , 2013, Internet Measurement Conference.

[23]  Jörg Ott,et al.  Measuring YouTube from Dual-Stacked Hosts , 2015, PAM.

[24]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[25]  M. Welzl A Case for Middleware to enable Advanced Internet Services , 2022 .

[26]  Vaibhav Bajpai,et al.  Measuring TCP connection establishment times of dual-stacked web services , 2013, Proceedings of the 9th International Conference on Network and Service Management (CNSM 2013).

[27]  Cullen Jennings,et al.  Network Address Translation (NAT) Behavioral Requirements for Unicast UDP , 2007, RFC.

[28]  Teruyuki Hasegawa,et al.  Implementation of a proxy-based CMT-SCTP scheme for Android smartphones , 2014, 2014 IEEE 10th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob).

[29]  John Nagle,et al.  Congestion control in IP/TCP internetworks , 1984, CCRV.

[30]  Jeff Dike,et al.  User-mode Linux , 2006, Annual Linux Showcase & Conference.

[31]  Mark Handley,et al.  TCP Extensions for Multipath Operation with Multiple Addresses , 2020, RFC.

[32]  Ryan W. Bickhart TRANSPARENT TCP-TO-SCTP TRANSLATION SHIM LAYER , 2005 .

[33]  Henning Schulzrinne,et al.  An Offer/Answer Model with Session Description Protocol (SDP) , 2002, RFC.

[34]  Costin Raiciu,et al.  Rekindling network protocol innovation with user-level stacks , 2014, CCRV.

[35]  Zdravko Bozakov,et al.  Happy Eyeballs for Transport Selection , 2017 .

[36]  David E. Culler,et al.  A blueprint for introducing disruptive technology into the Internet , 2003, CCRV.

[37]  Ryo Nakamura,et al.  Library Operating System with Mainline Linux Network Stack , 2015 .

[38]  Dan Wing,et al.  Happy Eyeballs: Success with Dual-Stack Hosts , 2012, RFC.

[39]  Jon Postel,et al.  File Transfer Protocol , 1985, RFC.

[40]  Jonathan S. Turner,et al.  Diversifying the Internet , 2005, GLOBECOM '05. IEEE Global Telecommunications Conference, 2005..

[41]  Paul Müller,et al.  A Requirement-Based Socket API for a Transition to Future Internet Architectures , 2012, 2012 Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing.

[42]  Marc Petit-Huguenin,et al.  Traversal Using Relays around NAT (TURN) Resolution Mechanism , 2010, RFC.

[43]  Alan Wagner,et al.  Portable and Performant Userspace SCTP Stack , 2012, 2012 21st International Conference on Computer Communications and Networks (ICCCN).

[44]  K. Schwan,et al.  A Quality-of-Service Enhanced Socket API in GNU / Linux , 2002 .

[45]  Marcelo Bagnulo,et al.  Evolving the internet with connection acrobatics , 2013, HotMiddlebox '13.

[46]  Wim Livens,et al.  Explicit Multicast (Xcast) Concepts and Options , 2007, RFC.

[47]  Saikat Guha,et al.  NAT Behavioral Requirements for TCP , 2009, RFC.

[48]  Scott Shenker,et al.  Overcoming the Internet impasse through virtualization , 2005, Computer.

[49]  Robert L. Grossman,et al.  UDTv4: Improvements in Performance and Usability , 2008, GridNets.

[50]  Sally Floyd,et al.  Determining an appropriate sending rate over an underutilized network path , 2007, Comput. Networks.

[51]  Colin Perkins,et al.  TCP goes to hollywood , 2016, NOSSDAV.

[52]  Lixia Zhang,et al.  Stream Control Transmission Protocol , 2000, RFC.

[53]  B. Liang,et al.  Mobile Edge Computing , 2020, Encyclopedia of Wireless Networks.

[54]  Mark Handley,et al.  The Case for Ubiquitous Transport-Level Encryption , 2010, USENIX Security Symposium.

[55]  David Clark,et al.  Tussle in cyberspace: defining tomorrow's internet , 2002, SIGCOMM 2002.

[56]  Tony Li,et al.  Recommendation for a Routing Architecture , 2011, RFC.

[57]  Reinaldo Penno,et al.  A Framework for Signaling Flow Characteristics between Applications and the Network , 2013 .

[58]  Robert Sparks,et al.  SIP: Basics and Beyond , 2007, ACM Queue.

[59]  George Neville-Neil Whither sockets? , 2009, CACM.

[60]  Gabriel Montenegro,et al.  Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations , 2001, RFC.

[61]  Henning Schulzrinne,et al.  Real Time Streaming Protocol (RTSP) , 1998, RFC.

[62]  Olivier Bonaventure,et al.  Multipath in the middle(box) , 2013, HotMiddlebox '13.

[63]  Adrian Perrig,et al.  NATBLASTER: Establishing TCP Connections Between Hosts Behind NATs ∗ , 2005 .

[64]  Syed Obaid Amin,et al.  Minion: Unordered Delivery Wire-Compatible with TCP and TLS , 2011 .

[65]  A. Langley Probing the viability of TCP extensions , 2008 .

[66]  Michael Tüxen,et al.  Internet Engineering Task Force (ietf) Sockets Api Extensions for the Stream Control Transmission Protocol (sctp) , 2022 .

[67]  Gorry Fairhurst,et al.  Towards a flexible Internet transport layer architecture , 2016, 2016 IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN).

[68]  Kevin C. Almeroth,et al.  The evolution of multicast: from the MBone to interdomain multicast to Internet2 deployment , 2000, IEEE Netw..

[69]  David Thaler,et al.  What Makes for a Successful Protocol? , 2008, RFC.

[70]  Claudia Linnhoff-Popien,et al.  Mobile Edge Computing , 2016, Informatik-Spektrum.

[71]  Jukka Manner,et al.  Generic UDP Tunnelling (GUT) , 2010 .

[72]  Yechiam Yemini,et al.  QoSockets: a new extension to the sockets API for end-to-end application QoS management , 1999, Integrated Network Management VI. Distributed Management for the Networked Millennium. Proceedings of the Sixth IFIP/IEEE International Symposium on Integrated Network Management. (Cat. No.99EX302).

[73]  F. Richard Yu,et al.  Transport Control Strategies in Named Data Networking: A Survey , 2016, IEEE Communications Surveys & Tutorials.

[74]  Kang Li,et al.  TCP-RC: a receiver-centered TCP protocol for delay-sensitive applications , 2005, IS&T/SPIE Electronic Imaging.

[75]  Stefano Secci,et al.  Transparent cloud access performance augmentation via an MPTCP-LISP connection proxy , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[76]  Stuart Cheshire,et al.  Minion - Wire Protocol , 2013 .

[77]  Jonathan D. Rosenberg,et al.  Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols , 2010, RFC.

[78]  Stein Gjessing,et al.  Towards a Protocol-Independent Internet Transport API , 2011, 2011 IEEE International Conference on Communications Workshops (ICC).

[79]  Jason Flinn,et al.  Intentional networking: opportunistic exploitation of mobile network diversity , 2010, MobiCom.

[80]  Henning Schulzrinne,et al.  Internet telephony: architecture and protocols—an IETF perspective , 2001 .

[81]  Anja Feldmann,et al.  Socket intents: leveraging application awareness for multi-access connectivity , 2013, CoNEXT.

[82]  Jon Crowcroft,et al.  Evolving TCP.: how hard can it be? , 2012, CoNEXT Student '12.

[83]  Janardhan R. Iyengar,et al.  Breaking Up the Transport Logjam , 2008, HotNets.

[84]  David Coffield,et al.  Tutorial guide to Unix sockets for network communications , 1987, Comput. Commun..

[85]  Stuart Cheshire,et al.  Encapsulation of TCP and other Transport Protocols over UDP , 2013 .

[86]  Sally Floyd,et al.  Measuring the evolution of transport protocols in the internet , 2005, CCRV.

[87]  Michael Goldweber,et al.  msocket: multiple stack support for the berkeley socket API , 2012, SAC '12.

[88]  Ion Stoica,et al.  HTTP as the narrow waist of the future internet , 2010, Hotnets-IX.

[89]  Godred Fairhurst,et al.  Services Provided by IETF Transport Protocols and Congestion Control Mechanisms , 2017, RFC.

[90]  Gonzalo Salgueiro,et al.  Datagram Transport Layer Security (DTLS) as Transport for Session Traversal Utilities for NAT (STUN) , 2014, RFC.

[91]  Godred Fairhurst,et al.  DCCP-UDP: A Datagram Congestion Control Protocol UDP Encapsulation for NAT Traversal , 2012, RFC.

[92]  Mark Handley,et al.  Is it still possible to extend TCP? , 2011, IMC '11.

[93]  Dirk Henrici,et al.  DANCE: dynamic application oriented network services , 2004 .

[94]  Roy T. Fielding,et al.  Uniform Resource Identifier (URI): Generic Syntax , 2005, RFC.

[95]  Nikos Fotiou,et al.  A Survey of Information-Centric Networking Research , 2014, IEEE Communications Surveys & Tutorials.

[96]  Mark Handley,et al.  Datagram Congestion Control Protocol (DCCP) , 2006, RFC.

[97]  Hannes Tschofenig,et al.  The New Waist of the Hourglass , 2012 .

[98]  Michael Thornburgh,et al.  Adobe's Secure Real-Time Media Flow Protocol , 2013, RFC.

[99]  Somak R Das,et al.  Evaluation of QUIC on web page performance , 2014 .

[100]  Dan Wing,et al.  Happy Eyeballs: Trending Towards Success (IPv6 and SCTP) , 2010 .

[101]  Mark Handley,et al.  SIP: Session Initiation Protocol , 1999, RFC.

[102]  Jerome H. Saltzer,et al.  The Multics kernel design project , 1977, SOSP '77.

[103]  Dino Farinacci,et al.  Designing a Deployable Internet: The Locator/Identifier Separation Protocol , 2012, IEEE Internet Computing.

[104]  David Thaler,et al.  Internet Engineering Task Force (ietf) Default Address Selection for Internet Protocol Version 6 (ipv6) , 2022 .

[105]  Ari Keränen,et al.  TCP Candidates with Interactive Connectivity Establishment (ICE) , 2012, RFC.

[106]  Mark Handley,et al.  Network stack specialization for performance , 2015, SIGCOMM 2015.

[107]  Sally Floyd,et al.  Quick-Start for TCP and IP , 2007, RFC.

[108]  Marshall T. Rose,et al.  The Blocks Extensible Exchange Protocol Core , 2001, RFC.

[109]  Godred Fairhurst,et al.  Transport Features of the User Datagram Protocol (UDP) and Lightweight UDP (UDP-Lite) , 2018, RFC.

[110]  Mark Handley,et al.  Cryptographic Protection of TCP Streams (tcpcrypt) , 2019, RFC.

[111]  Robert L. Grossman,et al.  UDT: UDP-based data transfer for high-speed wide area networks , 2007, Comput. Networks.

[112]  Stuart Cheshire,et al.  NAT Port Mapping Protocol (NAT-PMP) , 2013, RFC.

[113]  Martin Thomson,et al.  Hypertext Transfer Protocol Version 2 (HTTP/2) , 2015, RFC.

[114]  Anantha Ramaiah TCP option space extension , 2012 .

[115]  Bob Briscoe Inner Space for TCP Options , 2014 .

[116]  Jörg Ott,et al.  MPRTP: multipath considerations for real-time media , 2013, MMSys.

[117]  Bernard Cousin,et al.  GXcast: generalized explicit multicast routing protocol , 2004, Proceedings. ISCC 2004. Ninth International Symposium on Computers And Communications (IEEE Cat. No.04TH8769).

[118]  Tim Brecht,et al.  Time-lined TCP for the TCP-friendly delivery of streaming media , 2000, Proceedings 2000 International Conference on Network Protocols.

[119]  Mark Handley,et al.  Why the Internet only just works , 2006 .

[120]  Jonathan D. Rosenberg,et al.  Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations , 2010, RFC.

[121]  Vaibhav Bajpai,et al.  Measuring the Effects of Happy Eyeballs , 2016, ANRW '16.

[122]  Jon Postel,et al.  Transmission Control Protocol , 1981, RFC.

[123]  S. Bocking Sockets++: a uniform application programming interface for basic level communication services , 1996 .

[124]  Daniel B. Grossman Comments on "congestion control in TCP/IP internetworks" , 1985, CCRV.

[125]  Jon Postel,et al.  User Datagram Protocol , 1980, RFC.

[126]  Godred Fairhurst,et al.  The Lightweight User Datagram Protocol (UDP-Lite) , 2004, RFC.

[127]  Mark Handley,et al.  How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP , 2012, NSDI.

[128]  Joseph Touch,et al.  TCP Extended Data Offset Option , 2018 .

[129]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[130]  Bryan Ford Structured streams: a new transport abstraction , 2007, SIGCOMM 2007.

[131]  Eric Rescorla,et al.  Datagram Transport Layer Security Version 1.2 , 2012, RFC.

[132]  Lucy Yong,et al.  Generic UDP Encapsulation , 2019 .

[133]  Mark Allman,et al.  A middlebox-cooperative TCP for a non end-to-end internet , 2015, SIGCOMM 2015.

[134]  Henning Schulzrinne,et al.  An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol , 2004, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

[135]  Christian Huitema,et al.  DTLS as Subtransport protocol , 2015 .

[136]  Janardhan R. Iyengar,et al.  Efficient Cross-Layer Negotiation , 2009, HotNets.

[137]  Michael Tüxen,et al.  On the Cost of Using Happy Eyeballs for Transport Protocol Selection , 2016, ANRW '16.

[138]  Giuseppe Lettieri,et al.  VALE, a switched ethernet for virtual machines , 2012, CoNEXT '12.

[139]  Robert M. Hinden,et al.  Reliable Data Protocol , 1984, RFC.

[140]  Randall Stewart,et al.  SCTP: New Transport Protocol for TCP/IP , 2001, IEEE Internet Comput..

[141]  Alfred C. Weaver,et al.  Xtp: The Xpress Transfer Protocol , 1992 .

[142]  Stefano Secci,et al.  Boosting Cloud Communications through a Crosslayer Multipath Protocol Architecture , 2013, 2013 IEEE SDN for Future Networks and Services (SDN4FNS).

[143]  Brian Trammell,et al.  Architectural Considerations for Transport Evolution with Explicit Path Cooperation , 2015 .