Abstract
For more than three decades, the Internet’s transport layer has essentially supported just two protocols: TCP, for applications that need reliable in-sequence delivery; UDP, for applications that assume nothing but port numbers and a checksum. Applications have been built using these protocols, and other transport protocols have even been layered over these. UDP has become a substrate upon which user-space transport protocols are being developed—with most of these customized for specific applications, as with the recent QUIC protocol from Google. In these cases, much effort is expended re-implementing many common transport functions. This paper proposes an alternative approach to realize a new transport API that allows applications to request the service they need, but is agnostic to the specific choice of transport protocol underneath. This not only allows applications to take advantages of common protocol machinery, it also eases introduction of new network mechanisms and transport protocols. We present NEAT, a user-space library that achieves this goal, and then illustrate important benefits that can be gained from this approach. NEAT was designed in accordance with the standardization efforts on Transport Services (TAPS) in the Internet Engineering Task Force (IETF), but its features exceed the envisioned functionality of a TAPS system.
Original language | English |
---|---|
Pages (from-to) | 46-54 |
Number of pages | 9 |
Journal | IEEE Communications Magazine |
Volume | 55 |
Issue number | 6 |
DOIs | |
Publication status | Published - 12 Jun 2017 |
Bibliographical note
ACKNOWLEDGMENTThe authors would like to thank the anonymous reviewers for their useful remarks.
This work has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No. 644334 (NEAT). The views expressed are solely those of the authors.