2016 · 26 citations · 16 references
ComputingComputer ScienceComputer SystemsComputer NetworksDistributed SystemsMessage PassingCongestion ControlData Link LayerInternet Protocol SuiteNetwork LayerNetwork ProtocolsTransport LayerCongestion Control ProtocolsModular DesignNetwork KernelNetwork Protocol StacksNetwork StackNetwork Stack ImplementationTcp ProgrammingZero-copy Communication
Click has significant advantages for middlebox development, including modularity, extensibility, and reprogrammability. Despite these features, Click still has no native TCP support and only uses nonblocking I/O, preventing its applicability to middleboxes that require access to L7 data and blocking I/O. We bridge this gap by introducing Click middleboxes (CliMB). CliMB provides a full-fledged modular TCP layer supporting congestion control, TCP options, both blocking and nonblocking I/O, as well as socket and zero-copy APIs to applications. As a result, any TCP network function may now be realized in Click. As proof of concept, we develop a zero-copy SOCKS proxy server using CliMB that shows up to 4x gains compared to an equivalent implementation using the Linux in-kernel network stack.
16
Eddie Kohler, Robert Morris, Benjie Chen et al. · ACM Transactions on Computer Systems · 2000 · 2.4K citations · Full text
ClickOS and the Art of Network Function Virtualization
2014 · 677 citations
Making middleboxes someone else's problem
Justine Sherry, Shaddi Hasan, Colin Scott et al. · 2012 · 627 citations
Design and implementation of a consolidated middlebox architecture
Vyas Sekar, Norbert Egi, Sylvia Ratnasamy et al. · UC Berkeley · 2012 · 405 citations
Shoumik Palkar, Chang Lan, Sangjin Han et al. · 2015 · 325 citations · Full text