It is widely believed that software routers based on commodity operating systems cannot deliver high-speed packet processing, and a number of alternative approaches (including user-space network stacks) have been proposed. This paper revisits the inefficiency of kernel-level packet processing inside modern OS-based software routers and explores whether a redesign of kernel network stacks can improve the incompetence. We present a case contrary to the belief through a redesign: Kafe - a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. The Kafe neither adds any new API nor depends on proprietary hardware features, but the Kafe outperforms Linux by seven times and RouteBricks by three times. The current implementation of the Kafe can forward 64-byte IPv4 packets at 28.2 Gbps using eight cores running at 2.6 GHz. Our evaluation results show that the Kafe achieves similar packet forwarding performance to Intel DPDK while consuming much less CPU and memory resources.
Bibliographical noteFunding Information:
Manuscript received January 16, 2017; revised January 19, 2018 and July 23, 2018; accepted October 3, 2018; approved by IEEE/ACM TRANSAC-TIONS ON NETWORKING Editor Y. Chen. Date of publication November 21, 2018; date of current version December 14, 2018. This work was supported by the Institute for Information & Communications Technology Promotion (IITP) Grant 2015-0-00280 funded by the Korea government (MSIT), in part by the (SW Starlab) Next generation cloud infra-software toward the guarantee of performance and security SLA; in part by the Research of Network Virtualiza-tion Platform and Service for SDN 2.0 Realization under Grant 2015-0-00288; and in part by the National Research Foundation of Korea (NRF) Grant 2010-0029180 funded by the Korea government (MSIT). (Corresponding author: Chuck Yoo.) C.-H. Hong is with the School of Electrical and Electronics Engineering, Chung-Ang University, Seoul 06974, South Korea (e-mail: cheolhohong@ cau.ac.kr).
© 1993-2012 IEEE.
- OS network stack
- Software router
ASJC Scopus subject areas
- Computer Science Applications
- Computer Networks and Communications
- Electrical and Electronic Engineering