Speaker
KyoungSoo Park
Associate Professor, KAIST, Korea
KyoungSoo Park is an associate professor in the electrical engineering department at KAIST. He received his B.S. degree in computer science from Seoul National University in 1997, and his M.A. (in 2004) and Ph.D. (in 2007) degrees in computer science from Princeton University. After his Ph.D., he worked as associate research scholar at Princeton University from 2007 to 2008 and worked as assistant professor in the computer science department at the University of Pittsburgh for the year of 2009. In 2007, he co-founded CoBlitz, Inc. (acquired by Verivue, Inc. in 2010, and later acquired by Akamai,Inc. in 2012) which provides highly scalable and reliable content distribution services to ISPs and telcos.
Title: Unleashing Middleboxes with New Programming Abstraction
Abstract:
Recent popularity of network functions virtualization (NFV) and software-defined networking (SDN) has greatly renewed the interest in easy development and management of network middleboxes. Unfortunately, building flow-processing middleboxes is often challenging since it requires deep understanding of complex TCP state management and custom packet processing library. This is because the current networking API is mostly designed for end-user applications, and it lacks proper abstraction for networking operations typically required by stateful middleboxes.
In this talk, I will present the design and implementation of the mOS networking stack and its API, which abstracts the flow processing layer to suit the needs of complex middlebox operations. With the mOS networking API, developers can focus on their custom logic triggered by user-defined flow-level events, instead of dealing with low-level packet/flow processing. We extend the Berkeley socket API to benefit from its simplicity and flexibility, and base our implementation on mTCP, a high-performance user-level TCP/IP stack. We find that the mOS API allows modular development of stateful middleboxes, often producing a significant code line reduction. We also port popular middlebox applications and libraries such as Snort, nDPI, and PRADS, and find that the mOS networking API greatly simplifies flow-level middlebox processing with little performance degradation.