[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/41457.37505acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
Article
Free access

The packer filter: an efficient mechanism for user-level network code

Published: 01 November 1987 Publication History

Abstract

Code to implement network protocols can be either inside the kernel of an operating system or in user-level processes. Kernel-resident code is hard to develop, debug, and maintain, but user-level implementations typically incur significant overhead and perform poorly.
The performance of user-level network code depends on the mechanism used to demultiplex received packets. Demultiplexing in a user-level process increases the rate of context switches and system calls, resulting in poor performance. Demultiplexing in the kernel eliminates unnecessary overhead.
This paper describes the packet filter, a kernel-resident, protocol-independent packet demultiplexer. Individual user processes have great flexibility in selecting which packets they will receive. Protocol implementations using the packet filter perform quite well, and have been in production use for several years.

References

[1]
Ed Basart. The Ridge Operating System: High performance through message-passing and virtual memory. Proceedings of the 1 st International Conference on Computer Workstations, IEEE, November, 1985, pp. 134-143.]]
[2]
David R. Boggs, John F. Shoch, Edward A. Taft, and Robert M. Metcalfe. "Pup: An intemetwork architecture." IEEE Transactions on Communications COM-28, 4 (April 1980), 612-624.]]
[3]
David Boggs and Edward Taft. Private communication. 1987.]]
[4]
David R. Cheriton. "The V Kemel: A software base for distributed systems." IEEE Software 1, 2 (April 1984), 19-42.]]
[5]
David R. Cheriton. VMTP: A Transport Protocol for the Next Generation of Communication Systems. Proceedings of SIGCOMM '86 Symposium on Communications Architectures and Protocols, ACM SIG- COMM, Stowe, Vt., August, 1986, pp. 406-415.]]
[6]
David R. Cheriton and Willy Zwaenepoel. "Distributed process groups in the V kernel." ACM Transactions on Computer Systems 3, 2 (May 1985), 77-107.]]
[7]
Communications Machinery Corporation. DRN-1700 LanScan Ethernet Monitor User's Guide. 4th edition, Communications Machinery Corporation, Santa Barbara, Califomia, 1986.]]
[8]
Computer Systems Research Group. Unix Programmer's Reference Manual, 4.3 Berkeley Software Distribution, Virtual VAX-11 Version. Computer Science Division, University of California at Berkeley, 1986.]]
[9]
The Ethernet, A Local Area Network: Data Link Layer and Physical Layer Specifications (Version 1.0). Digital Equipment Corporation, Intel, Xerox, 1980.]]
[10]
TOPS-20 User's Guide. Digital Equipment Corporation, Maynard, MA., 1980. Form No. AA-4179C- TM.]]
[11]
LANalyzer EX 5000E Ethernet Network Analyzer User Manual. Revision A edition, Excelan, Inc., San Jose, California, 1986.]]
[12]
Ross Finlayson, Timothy Mann, Jeffrey Mogul, Marvin Theimer. A Reverse Address Resolution Protocol. RFC 903, Network Information Center, SRI International, June, 1984.]]
[13]
Susan L. Graham, Peter B. Kessler, and Marshall K. McKusick. gprof: a Call Graph Execution Profiler. Proceedings of the ACM SIGPLAN '82 Symposium on Compiler Construction, ACM SIGPLAN, June, 1982, pp. 120-126.]]
[14]
Robert Gurwitz. Private communication. 1986.]]
[15]
ISO. ISO Transport Protocol Specification: ISO DP 8073. RFC 905, Network Information Center, SRI International, April, 1984.]]
[16]
M. Kirk McKusick, Mike Karels, and Sam Leffler. Performance Improvements and Functional Enhancements in 4.3BSD. Proc. Summer USENIX Conference, June, 1985, pp. 519-531.]]
[17]
Robert. M. Metcalfe and David. R. Boggs. "Ethernet: Distributed packet switching for local computer networks." Communications of the ACM 19, 7 (July 1976), 395-404.]]
[18]
The Sniffer: Operation and Reference Manual. Network General Corporation, Sunnyvale, California, 1986.]]
[19]
Jon Postel. Internet Protocol. RFC 791, Network Information Center, SRI International, September, 1981.]]
[20]
Jon Postel. Transmission Control Protocol. RFC 793, Network Information Center, SRI International, September, 198 I.]]
[21]
D. M. Ritchie and K. Thompson. "The UNIX timesharing system." The Bell System Technical Journal 57, 6 (July/August 1978), 1905-1929.]]
[22]
Sun Microsystems, Inc. Unix Interface Reference Manual. Sun Microsystems, Inc., Mountain View, California, 1986. Revision A.]]
[23]
Brent B. Welch. The Sprite Remote Procedure Call System. UCB/CSD 86/302, Department of Electrical Engineering and Computer Science, University of California -- Berkeley, June, 1986.]]

Cited By

View all
  • (2024)eBPF: Pioneering Kernel Programmability and System Observability - Past, Present, and Future Insights2024 3rd International Conference on Artificial Intelligence and Computer Information Technology (AICIT)10.1109/AICIT62434.2024.10730620(1-10)Online publication date: 20-Sep-2024
  • (2023)NatiSand: Native Code Sandboxing for JavaScript RuntimesProceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3607199.3607233(639-653)Online publication date: 16-Oct-2023
  • (2023)Network-Centric Distributed Tracing with DeepFlow: Troubleshooting Your Microservices in Zero CodeProceedings of the ACM SIGCOMM 2023 Conference10.1145/3603269.3604823(420-437)Online publication date: 10-Sep-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SOSP '87: Proceedings of the eleventh ACM Symposium on Operating systems principles
November 1987
162 pages
ISBN:089791242X
DOI:10.1145/41457
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 1987

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 174 of 961 submissions, 18%

Upcoming Conference

SOSP '25
ACM SIGOPS 31st Symposium on Operating Systems Principles
October 13 - 16, 2025
Seoul , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)248
  • Downloads (Last 6 weeks)49
Reflects downloads up to 20 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)eBPF: Pioneering Kernel Programmability and System Observability - Past, Present, and Future Insights2024 3rd International Conference on Artificial Intelligence and Computer Information Technology (AICIT)10.1109/AICIT62434.2024.10730620(1-10)Online publication date: 20-Sep-2024
  • (2023)NatiSand: Native Code Sandboxing for JavaScript RuntimesProceedings of the 26th International Symposium on Research in Attacks, Intrusions and Defenses10.1145/3607199.3607233(639-653)Online publication date: 16-Oct-2023
  • (2023)Network-Centric Distributed Tracing with DeepFlow: Troubleshooting Your Microservices in Zero CodeProceedings of the ACM SIGCOMM 2023 Conference10.1145/3603269.3604823(420-437)Online publication date: 10-Sep-2023
  • (2020)Specification and verification in the fieldProceedings of the 14th USENIX Conference on Operating Systems Design and Implementation10.5555/3488766.3488769(41-61)Online publication date: 4-Nov-2020
  • (2019)I/O Is Faster Than the CPUProceedings of the Workshop on Hot Topics in Operating Systems10.1145/3317550.3321426(81-87)Online publication date: 13-May-2019
  • (2019)Deep Pipelining: Efficient Pipelining of Network Function Chains with Coroutines2019 IEEE Conference on Network Softwarization (NetSoft)10.1109/NETSOFT.2019.8806673(324-332)Online publication date: Jun-2019
  • (2018)Application-Agnostic Offloading of Datagram Processing2018 30th International Teletraffic Congress (ITC 30)10.1109/ITC30.2018.00015(46-54)Online publication date: Sep-2018
  • (2017)PacketlabProceedings of the 2017 Internet Measurement Conference10.1145/3131365.3131396(254-260)Online publication date: 1-Nov-2017
  • (2017)Systematic Literature Review on Usability of Firewall ConfigurationACM Computing Surveys10.1145/313087650:6(1-35)Online publication date: 6-Dec-2017
  • (2017)Randomization Can’t Stop BPF JIT SprayNetwork and System Security10.1007/978-3-319-64701-2_17(233-247)Online publication date: 26-Jul-2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media