<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi,
<div class=""><br class="">
</div>
<div class="">I am a student worker with the Internet Networks Architecture department at TU Berlin and I am working with APIs for network protocols.</div>
<div class=""><br class="">
</div>
<div class="">We are currently looking into implementing TAPS, a novel way to offer transport layer services to the application layer.</div>
<div class=""><span style="background-color: rgb(255, 255, 255);" class="">The idea is to offer an API on top of multiple different transport protocols, such as TCP and QUIC. Instead of explicitly choosing a transport protocol, the application only provides
 abstract requirements, e.g., reliability. The TAPS system maps these properties to transport protocols, potentially trying out multiple protocols in parallel. Furthermore, TAPS can select between multiple local interfaces and remote IP addresses.</span></div>
<div class="">A short talk (~25 minutes) from the All systems go! conference about it is available here: <a href="https://media.ccc.de/v/ASG2018-188-the_future_of_networking_apis" class="">https://media.ccc.de/v/ASG2018-188-the_future_of_networking_apis</a>. </div>
<div class=""><br class="">
</div>
<div class=""><span style="background-color: rgb(255, 255, 255);" class="">TAPS is currently being standardized in the IETF (</span><a href="https://datatracker.ietf.org/wg/taps/about/" class="" style="background-color: rgb(255, 255, 255);">https://datatracker.ietf.org/wg/taps/about/</a><span style="background-color: rgb(255, 255, 255);" class="">).</span></div>
<div class=""><span style="background-color: rgb(255, 255, 255);" class="">Here you can find the proposed architecture:</span><span style="background-color: rgb(255, 255, 255);" class=""> <a href="https://datatracker.ietf.org/doc/draft-ietf-taps-arch/" class="">https://datatracker.ietf.org/doc/draft-ietf-taps-arch/</a></span>,
 interface:<span style="background-color: rgb(255, 255, 255);" class=""> </span><a href="https://datatracker.ietf.org/doc/draft-ietf-taps-interface/" style="background-color: rgb(255, 255, 255);" class="">https://datatracker.ietf.org/doc/draft-ietf-taps-interface/</a><span style="background-color: rgb(255, 255, 255);" class=""> and
 an informal draft on </span><span style="background-color: rgb(255, 255, 255);" class="">implementation considerations: <a href="https://datatracker.ietf.org/doc/draft-ietf-taps-impl/" class="">https://datatracker.ietf.org/doc/draft-ietf-taps-impl/</a></span>. </div>
<div class=""><br class="">
</div>
<div class="">One if the implementations currently in the works is done by Apple in form of their Network.framework API (<a href="https://developer.apple.com/documentation/network" class="">https://developer.apple.com/documentation/network</a>). While this
 implementation is relatively advanced, it is so far only available for MacOS, iOS and it derivatives. As such, it would be favorable to have a platform agnostic and open-source implementation as well. </div>
<div class=""><br class="">
</div>
<div class="">From what we can tell, asyncio seems to offer a lot of the ground work necessary to implement it efficiently, so here are some questions we have before beginning with the implementation:</div>
<div class=""><br class="">
</div>
<div class="">- Is something like this in the scope to become part of the standard python library or something that would be done in an external library? If it is in    <span class="Apple-tab-span" style="white-space: pre;">
</span>scope, what would the requirements for it to become part of the standard library be?</div>
<div class="">- Are there currently any other active efforts to implement new network functionality into the standard library?</div>
<div class="">- Are there currently any considerations to expand the standard transports offered by asyncio (TCP, UDP and SSL) by additional ones like SCTP, or more importantly QUIC?</div>
<div class=""><br class="">
</div>
<div class="">Any comments or further pointers to sources that could be helpful with this would be greatly appreciated. </div>
<div class=""><br class="">
</div>
<div class="">Best regards </div>
<div class=""><br class="">
</div>
<div class="">Max</div>
</body>
</html>