TY - JOUR
T1 - NEAT
T2 - A Platform- And Protocol-Independent Internet Transport API
AU - Khademi, Naeem
AU - Ros, David
AU - Welzl, Michael
AU - Bozakov, Zdravko
AU - Brunstrom, Anna
AU - Fairhurst, Gorry
AU - Grinnemo, Karl-Johan
AU - Hayes, David
AU - Hurtig, Per
AU - Jones, Tom
AU - Mangiante, Simone
AU - Tüxen, Michael
AU - Weinrank, Felix
N1 - ACKNOWLEDGMENT
The 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.
PY - 2017/6/12
Y1 - 2017/6/12
N2 - 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.
AB - 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.
U2 - 10.1109/MCOM.2017.1601052
DO - 10.1109/MCOM.2017.1601052
M3 - Article
VL - 55
SP - 46
EP - 54
JO - IEEE Communications Magazine
JF - IEEE Communications Magazine
SN - 0163-6804
IS - 6
ER -