Efficient Hardware Hashing Functions for High Performance Computers
IEEE Transactions on Computers
Fast address lookups using controlled prefix expansion
ACM Transactions on Computer Systems (TOCS)
Packet classification using tuple space search
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
SIAM Journal on Computing
Introduction to Algorithms
Packet classification using multidimensional cutting
Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications
Packet Classification Using Extended TCAMs
ICNP '03 Proceedings of the 11th IEEE International Conference on Network Protocols
IPStash: a Power-Efficient Memory Architecture for IP-lookup
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
A Tree Based Router Search Engine Architecture with Single Port Memories
Proceedings of the 32nd annual international symposium on Computer Architecture
Fast hash table lookup using extended bloom filter: an aid to network processing
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Algorithms for advanced packet classification with ternary CAMs
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Survey and taxonomy of packet classification techniques
ACM Computing Surveys (CSUR)
Packet classification using coarse-grained tuple spaces
Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems
Fast packet classification using bloom filters
Proceedings of the 2006 ACM/IEEE symposium on Architecture for networking and communications systems
Network Algorithmics,: An Interdisciplinary Approach to Designing Fast Networked Devices (The Morgan Kaufmann Series in Networking)
ClassBench: a packet classification benchmark
IEEE/ACM Transactions on Networking (TON)
Simple summaries for hashing with choices
IEEE/ACM Transactions on Networking (TON)
CHAP: Enabling Efficient Hardware-Based Multiple Hash Schemes for IP Lookup
NETWORKING '09 Proceedings of the 8th International IFIP-TC 6 Networking Conference
Algorithms for packet classification
IEEE Network: The Magazine of Global Internetworking
Advanced hashing schemes for packet forwarding using set associative memory architectures
Journal of Parallel and Distributed Computing
A novel scalable IPv6 lookup scheme using compressed pipelined tries
NETWORKING'11 Proceedings of the 10th international IFIP TC 6 conference on Networking - Volume Part I
FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie
IEEE/ACM Transactions on Networking (TON)
Hi-index | 0.00 |
As the Internet grows, both the number of rules in packet filtering databases and the number of prefixes in IP lookup tables inside the router are growing. The packet processing engine is a critical part of the Internet router as it is used to perform packet forwarding (PF) and packet classification (PC). In both applications, processing has to be at wire speed. It is common to use hash-based schemes in packet processing engines; however, the downside of classic hashing techniques such as overflow and worst case memory access time, has to be dealt with. Implementing hash tables using set associative memory has the property that each bucket of a hash table can be searched in one memory cycle outperforming the conventional Ternary CAMs in terms of power and scalability. In this paper we present "Progressive Hashing" (PH), a general open addressing hash-based packet processing scheme for Internet routers using the set associative memory architecture. Our scheme is an extension of the multiple hashing scheme and is amendable to high-performance hardware implementation with low overflow and low memory access latency. We show by experimenting with real IP lookup tables and synthetic packet filtering databases that PH reduces the overflow over the multiple hashing. The proposed PH processing engine is estimated to achieve an average processing speed of 160 Gbps for the PC application and 320 Gbps for the PF application.