Making our networking stack truly extensible

Making our networking stack truly extensible
复制标题

使我们的网络堆栈真正可扩展

DOI:
--
复制
发表时间:
2019
期刊:
LCN Symposium
影响因子:
--
通讯作者:
O. Bonaventure
O. Bonaventure
中科院分区:
--
文献类型:
--
作者:
O. Bonaventure

文献摘要

被引文献

相似文献

BPF是一个简单的虚拟机,旨在促进数据包过滤。它后来被扩展并附加到Linux内核,在那里它提供了越来越多的有用服务。本次演讲探讨了eBPF如何使我们僵化的网络堆栈变得真正可扩展。演讲首先简要描述了eBPF使IPv6分段路由真正可编程。然后,我解释了如何在TCP堆栈中使用适当的eBPF支持,使用应用程序注入的eBPF代码来支持新的TCP选项或修改TCP算法。然后,我描述了eBPF如何使多路径TCP比现在更灵活。类似的技术也适用于较高层协议。然后,我解释了我们如何将eBPF支持添加到QUIC中,并使用这种新的可扩展性技术来创建插件化的QUIC,这是QUIC的一种变体,服务器可以通过QUIC连接发送eBPF字节码,以增加对客户端新扩展的支持。我们使用这种技术来实现多路径QUIC,QUIC VPN,并添加对前向擦除校正的支持,以展示其灵活性。类似的技术已应用于ToR、BGP和OSPS。谈话结束时讨论了这种新方法的建筑影响。
BPF is a simple virtual machine that was designed to facilitate packet filtering. It was later extended and attached to the Linux kernel where it provides a growing number of useful services. This talk explores how eBPF enables our ossified networking stack to become truly extensible. The talk starts with a brief description of eBPF makes IPv6 Segment Routing truly programmable. Then, I explain how with proper eBPF support in the TCP stack, it becomes possible to support new TCP options or modify TCP algorithms using eBPF code that is injected by applications. I then describe how eBPF can make Multipath TCP much more flexible than it is today. Similar techniques are also applicable for higher layer protocols. I then explain how we added eBPF support to QUIC and used this new extensibility technique to create pluginised QUIC, a variant of QUIC where a server can send over a QUIC connection eBPF bytecode that adds support for new extensions on the client. We used this technique to implement Multipath QUIC, QUIC VPN and add support for Forward Erasure Correction to demonstrate its flexibility. A similar technique has been applied to ToR, BGP and OSPS. The talk ends with a discussion of the architectural impacts of this new approach.