1993 · 147 citations · 21 references
ComputingComputer ScienceComputer SystemsComputer NetworksOperating SystemsSystems ProgrammingData Link LayerInternet Protocol SuiteInterprocess CommunicationNetwork ArchitectureNetwork ProtocolsTransport LayerEthernetFlexibilityHigh PerformanceHigh-performance Computing SystemsHigh-performance NetworkingOperating System ArchitectureProtocol Architecture
Network protocols can be decoupled from operating‑system interfaces, allowing separate handling of application and system interactions. The paper proposes a high‑performance, flexible protocol implementation that remains fully compatible with existing APIs. The approach separates protocol logic into user‑space libraries that handle packet transfer, while an OS server manages heavy abstractions, applied to TCP/IP and UDP/IP on Mach 3.0 and UNIX. The decomposition achieves TCP/IP throughput of 1088 KB/s and UDP round‑trip latency of 1.23 ms, matching kernel implementations and outperforming server‑based designs.
In this paper we describe a new approach to implementing network protocols that enables them to have high performance and high flexibility, while retaining complete conformity to existing application programming interfaces. The key insight behind our work is that an application's interface to the network is distinct and separable from its interface to the operating system. We have separated these interfaces for two protocol implementations, TCP/IP and UDP/IP, running on the Mach 3.0 operating system and UNIX server. Specifically, library code in the application's address space implements the network protocols and transfers data to and from the network, while an operating system server manages the heavyweight abstractions that applications use when manipulating the network through operations other than send and receive. On DECstation 5000/200 systems connected by 10Mb/sec Ethernet, this approach to protocol decomposition achieves TCP/IP throughput of 1088 KB/second, which is comparable to that of a high-quality in-kernel TCP/IP implementation, and substantially better than a server-based one. Our approach achieves small-packet UDP/IP round trip latencies of 1.23 ms, again comparable to a kernel-based implementation and more than twice as fast as a server-based one.
21
Congestion avoidance and control
Van Jacobson · ACM SIGCOMM Computer Communication Review · 1995 · 5.3K citations
Congestion avoidance and control
Van Jacobson · ACM SIGCOMM Computer Communication Review · 1988 · 1.9K citations
Architectural considerations for a new generation of protocols
Dav Clark, David L. Tennenhouse · 1990 · 1.1K citations
W. Richard Stevens, T. Narten · ACM SIGCOMM Computer Communication Review · 1990 · 997 citations
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta, R. Baron, William J. Bolosky et al. · USENIX Summer · 1986 · 919 citations