The packer filter: an efficient mechanism for user-level network code
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Analysis and simulation of a fair queueing algorithm
SIGCOMM '89 Symposium proceedings on Communications architectures & protocols
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
Efficient fair queueing using deficit round robin
SIGCOMM '95 Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Link-sharing and resource management models for packet networks
IEEE/ACM Transactions on Networking (TON)
DPF: fast, flexible message demultiplexing using dynamic code generation
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Hierarchical packet fair queueing algorithms
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
A simulation study of IP switching
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Scalable high speed IP routing lookups
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
A hierarchical fair service curve algorithm for link-sharing, real-time and priority services
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Faster IP lookups using controlled prefix expansion
SIGMETRICS '98/PERFORMANCE '98 Proceedings of the 1998 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
Scout: a path-based operating system
Scout: a path-based operating system
A framework for alternate queueing: towards traffic management by PC-UNIX based routers
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
WF2Q: worst-case fair weighted fair queueing
INFOCOM'96 Proceedings of the Fifteenth annual joint conference of the IEEE computer and communications societies conference on The conference on computer communications - Volume 1
Fast and scalable layer four switching
Proceedings of the ACM SIGCOMM '98 conference on Applications, technologies, architectures, and protocols for computer communication
Packet classification using tuple space search
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Active network vision and reality: lessions from a capsule-based system
Proceedings of the seventeenth ACM symposium on Operating systems principles
Proceedings of the seventeenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
Scheduling computations on a software-based router
Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Fast firewall implementations for software-based and hardware-based routers
Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A mobile agent-based active network architecture for intelligent network control
Information Sciences—Informatics and Computer Science: An International Journal - Special issue: Intelligent multimedia computing and networking
Transport-Level Protocol Coordination in Cluster-to-Cluster Applications
IDMS '01 Proceedings of the 8th International Workshop on Interactive Distributed Multimedia Systems
Evolution in Action: Using Active Networking to Evolve Network Support for Mobility
IWAN '02 Proceedings of the IFIP-TC6 4th International Working Conference on Active Networks
IWAN '02 Proceedings of the IFIP-TC6 4th International Working Conference on Active Networks
Flexible, Dynamic, and Scalable Service Composition for Active Routers
IWAN '02 Proceedings of the IFIP-TC6 4th International Working Conference on Active Networks
SWAT '00 Proceedings of the 7th Scandinavian Workshop on Algorithm Theory
Dynamic Algorithms with Worst-Case Performance for Packet Classification
NETWORKING '00 Proceedings of the IFIP-TC6 / European Commission International Conference on Broadband Communications, High Performance Networking, and Performance of Communication Networks
Implementation and evaluation of a QoS-capable cluster-based IP router
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
High-speed I/O: the operating system as a signalling mechanism
NICELI '03 Proceedings of the ACM SIGCOMM workshop on Network-I/O convergence: experience, lessons, implications
NETKIT: a software component-based approach to programmable networking
ACM SIGCOMM Computer Communication Review
Extended Video Stream by Media Transcoding Functions
ICDCSW '04 Proceedings of the 24th International Conference on Distributed Computing Systems Workshops - W7: EC (ICDCSW'04) - Volume 7
Coordinated multi-streaming for 3D tele-immersion
Proceedings of the 12th annual ACM international conference on Multimedia
Scalable packet classification
IEEE/ACM Transactions on Networking (TON)
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Framework for supporting multi-service edge packet processing on network processors
Proceedings of the 2005 ACM symposium on Architecture for networking and communications systems
Survey and taxonomy of packet classification techniques
ACM Computing Surveys (CSUR)
Quality of service provisioning for composable routing elements
Computer Networks: The International Journal of Computer and Telecommunications Networking
A highly flexible service composition framework for real-life networks
Computer Networks: The International Journal of Computer and Telecommunications Networking - Active networks
ACM Transactions on Multimedia Computing, Communications, and Applications (TOMCCAP)
A remotely accessible network processor-based router for network experimentation
Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
On runtime management in multi-core packet processing systems
Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
Journal of Computer Systems, Networks, and Communications
Configurable software-based edge router architecture
Computer Communications
Simplifying data path processing in next-generation routers
Proceedings of the 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
Specification of network services and mapping algorithms
MILCOM'06 Proceedings of the 2006 IEEE conference on Military communications
A flow caching mechanism for fast packet forwarding
Computer Communications
CaptureFoundry: a GPU accelerated packet capture analysis tool
Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference
Hi-index | 0.00 |
Present day routers typically employ monolithic operating systems which are not easily upgradable and extensible. With the rapid rate of protocol development it is becoming increasingly important to dynamically upgrade router software in an incremental fashion. We have designed and implemented a high performance, modular, extended integrated services router software architecture in the NetBSD operating system kernel. This architecture allows code modules, called plugins, to be dynamically added and configured at run time. One of the novel features of our design is the ability to bind different plugins to individual flows; this allows for distinct plugin implementations to seamlessly coexist in the same runtime environment. High performance is achieved through a carefully designed modular architecture; an innovative packet classification algorithm that is both powerful and highly efficient; and by caching that exploits the flow-like characteristics of Internet traffic. Compared to a monolithic best-effort kernel, our implementation requires an average increase in packet processing overhead of only 8%, or 500 cycles/2.1ms per packet when running on a P6/233.