Traditional network resident functions (e.g., firewalls, network address translation) and middleboxes (caches, load balancers) have moved from purpose-built appliances to software-based components. However, L2/L3 network functions (NFs) are being implemented on Network Function Virtualization (NFV) platforms that extensively exploit kernel-bypass technology. They often use DPDK for zero-copy delivery and high performance. On the other hand, L4/L7 middleboxes, which have a greater emphasis on functionality, take advantage of a full-fledged kernel-based system. L2/L3 NFs and L4/L7 middleboxes continue to be handled by distinct platforms on different nodes. This paper proposes MiddleNet that develops a unified network resident function framework that supports L2/L3 NFs and L4/L7 middleboxes. MiddleNet supports function chains that are essential in both NFV and middlebox environments. MiddleNet uses the Data Plane Development Kit (DPDK) library for zero-copy packet delivery without interrupt-based processing, to enable the "bump-in-the-wire" L2/L3 processing performance required of NFV. To support L4/L7 middlebox functionality, MiddleNet utilizes a consolidated, kernel-based protocol stack for processing, avoiding a dedicated protocol stack for each function. MiddleNet fully exploits the event-driven capabilities of the extended Berkeley Packet Filter (eBPF) and seamlessly integrates it with shared memory for high-performance communication in L4/L7 middlebox function chains. The overheads for MiddleNet in L4/L7 are strictly load-proportional, without needing the dedicated CPU cores of DPDK-based approaches. MiddleNet supports flow-dependent packet processing by leveraging Single Root I/O Virtualization (SR-IOV) to dynamically select the packet processing needed (Layers 2 - 7). Our experimental results show that MiddleNet achieves high performance in such a unified environment.
翻译:传统的网络功能(例如防火墙、网络地址转换)和中间件(缓存、负载均衡器)已经从专用设备转移到软件组件。但是,L2/L3 网络功能(NF)正在被部署在网络功能虚拟化(NFV)平台上,这些平台广泛利用内核绕过技术。他们通常使用 DPDK 进行零拷贝传递和高性能。另一方面,更加注重功能性的 L4/L7 中间件则充分利用了完整的内核系统。L2/L3 NF 和 L4/L7 中间件继续由不同平台上的不同节点处理。本文提出了 MiddleNet,该框架开发了一个统一的网络功能框架,支持 L2/L3 NF 和 L4/L7 中间件。MiddleNet 支持必须在 NFV 和中间件环境中使用的功能链。MiddleNet 使用数据平面开发工具包(DPDK)库进行零拷贝数据传输,允许 NFV 所需的“线路中间处理”L2/L3 处理性能。为了支持 L4/L7 中间件功能,MiddleNet 利用了一个集成的基于内核的协议栈进行处理,避免了为每个功能专门设计的协议栈。MiddleNet 充分利用了扩展的伯克利数据包过滤器(eBPF)的事件驱动功能,并将其与共享内存无缝集成,以实现 L4/L7 中间件功能链中的高性能通讯。L4/L7 中的 MiddleNet 的开销是严格的负载比例,不需要 DPDK 等基于 CPU 核的方法所需要的专用 CPU 核。MiddleNet 通过利用单根 I/O 虚拟化(SR-IOV)实现流相关数据包处理,从而动态选择所需的数据包处理(第 2 层 - 第 7 层)。实验结果表明,MiddleNet 在这种统一环境中实现了高性能。