Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Implementing network protocols at user level
IEEE/ACM Transactions on Networking (TON)
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
TCP extensions for space communications
MobiCom '96 Proceedings of the 2nd annual international conference on Mobile computing and networking
ASHs: Application-specific handlers for high-performance messaging
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Dummynet: a simple approach to the evaluation of network protocols
ACM SIGCOMM Computer Communication Review
The Flux OSKit: a substrate for kernel and language research
Proceedings of the sixteenth ACM symposium on Operating systems principles
Application performance and flexibility on exokernel systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
TCP for high performance in hybrid fiber coaxial broad-band access networks
IEEE/ACM Transactions on Networking (TON)
On the generation and use of TCP acknowledgments
ACM SIGCOMM Computer Communication Review
TCP congestion control with a misbehaving receiver
ACM SIGCOMM Computer Communication Review
ACM SIGCOMM Computer Communication Review
Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures
Challenges to reliable data transport over heterogeneous wireless networks
Challenges to reliable data transport over heterogeneous wireless networks
An extensible protocol architecture for application-specific networking
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Protected shared libraries: a new approach to modularity and sharing
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
Transport protocols for Internet-compatible satellite networks
IEEE Journal on Selected Areas in Communications
Scale and performance in the Denali isolation kernel
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
MANTIS: system support for multimodAl NeTworks of in-situ sensors
WSNA '03 Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications
Transforming policies into mechanisms with infokernel
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Network protocol development with nsclick
Wireless Networks
iOverlay: a lightweight middleware infrastructure for overlay application implementations
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
Scale and performance in the Denali isolation kernel
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
An operating system architecture for network processors
Proceedings of the 2005 ACM symposium on Architecture for networking and communications systems
Transparent end-host-based service composition through network virtualization
Proceedings of the first ACM international workshop on Multimedia service composition
Supporting Configurable Congestion Control in Data Transport Services
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
Denali: a scalable isolation kernel
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms
Mobile Networks and Applications
Simulation with real world network stacks
WSC '05 Proceedings of the 37th conference on Winter simulation
WNS2 '06 Proceeding from the 2006 workshop on ns-2: the IP network simulator
Deploying safe user-level network services with icTCP
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
TESLA: a transparent, extensible session-layer architecture for end-to-end network services
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
A virtual platform for network experimentation
Proceedings of the 1st ACM workshop on Virtualized infrastructure systems and architectures
Rump file systems: kernel code reborn
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
NetBump: user-extensible active queue management with bumps on the wire
Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems
Direct code execution: revisiting library OS architecture for reproducible network experiments
Proceedings of the ninth ACM conference on Emerging networking experiments and technologies
mTCP: a highly scalable user-level TCP stack for multicore systems
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
In traditional operating systems, modifying the network protocol code is a tedious and error-prone task, largely because the networking stack resides in the kernel. For this reason, among others, many have proposed moving the networking stack to user-level. Unfortunately, implementations of this design have never entered widespread use due to the impractical requirements they place on the user: either the kernel or applications must be modified; or code cannot be moved seamlessly between the user-level and kernel stacks. In this paper, we present Alpine, a user-level networking infrastructure free from these drawbacks. Alpine supports a FreeBSD networking stack on top of a Unix operating system. It is freely available as source code. In this paper, we discuss the challenges we faced in virtualizing the FreeBSD networking stack without compromising on kernel, networking stack, and application compatibility. We then show how Alpine is effective at easing the burden of debugging and testing protocol modifications or new network protocols. In our experience, Alpine can reduce the overhead of modifying a protocol from hours to minutes.