arrow
Return

Programming Network Stack for Physical Middleboxes and Virtualized Network Functions

delete2024-04-01
delete0
PRE
AI
黎浩 (Hao Li) *
Y
Yihan Dang
G
Guangda Sun
C
Changhao Wu
P
Peng Zhang
D
Danfeng Shan
T
Tian Pan
C
Chengchen Hu
DOI:10.1109/TNET.2023.3307641delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Middleboxes are becoming indispensable in modern networks. However, programming the network stack of middleboxes to support emerging transport protocols and flexible stack hierarchy is still a daunting task. To this end, we propose Rubik, a language that greatly facilitates the task of middlebox stack programming. Different from existing hand-written approaches, Rubik offers various high-level constructs for relieving the operators from dealing with massive native code, so that they can focus on specifying their processing intents. We show that using Rubik one can program the middlebox stack with minor effort, e.g., 250 lines of code for a complete TCP/IP stack, which is a reduction of 2 orders of magnitude compared to the hand-written versions. To maintain a high performance, we conduct extensive optimizations at the middle-and back-end of the compiler. Experiments show that the stacks generated by Rubik outperform the mature hand-written stacks by at least 30% in throughput.
Keywords:
Middleboxes
network function virtualization (NFV)
software defined networking

Journal

I
IEEE-ACM Transactions on Networking
IF:
3.6
Papers:
4.4K
Citations:
9.5K

Organization

B
beijing university of posts & telecommunications
Scholars:
1.4W
Papers: 1.2W
Citations: 9
X
xi'an jiaotong university
Scholars:
9.1W
Papers: 6.6W
Citations: 75
N
National University of Singapore
Scholars:
7.5W
Papers: 6.4W
Citations: 11.4W
researcher View more organizations