Packet classification using tuple space search
- 30 August 1999
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGCOMM Computer Communication Review
- Vol. 29 (4) , 135-146
- https://doi.org/10.1145/316194.316216
Abstract
Routers must perform packet classification at high speeds to efficiently implement functions such as firewalls and QoS routing. Packet classification requires matching each packet against a database of filters (or rules), and forwarding the packet according to the highest priority filter. Existing filter schemes with fast lookup time do not scale to large filter databases. Other more scalable schemes work for 2-dimensional filters, but their lookup times degrade quickly with each additional dimension. While there exist good hardware solutions, our new schemes are geared towards software implementation.We introduce a generic packet classification algorithm, called Tuple Space Search (TSS) . Because real databases typically use only a small number of distinct field lengths, by mapping filters to tuples even a simple linear search of the tuple space can provide significant speedup over naive linear search over the filters. Each tuple is maintained as a hash table that can be searched in one memory access. We then introduce techniques for further refining the search of the tuple space, and demonstrate their effectiveness on some firewall databases. For example, a real database of 278 filters had a tuple space of 41 which our algorithm prunes to 11 tuples. Even as we increased the filter database size from 1K to 100K (using a random two-dimensional filter generation model), the number of tuples grew from 53 to only 186, and the pruned tuples only grew from 1 to 4. Our Pruned Tuple Space search is also the only scheme known to us that allows fast updates and fast search times. We also show a lower bound on the general tuple space search problem, and describe an optimal algorithm, called Rectangle Search , for two-dimensional filters.Keywords
This publication has 6 references indexed in Scilit:
- Router plugins: a software architecture for next generation routersPublished by Association for Computing Machinery (ACM) ,1998
- An extensible probe architecture for network protocol performance measurementPublished by Association for Computing Machinery (ACM) ,1998
- High-speed policy-based packet forwarding using efficient multi-dimensional range matchingPublished by Association for Computing Machinery (ACM) ,1998
- Fast and scalable layer four switchingPublished by Association for Computing Machinery (ACM) ,1998
- Scalable high speed IP routing lookupsPublished by Association for Computing Machinery (ACM) ,1997
- DPFPublished by Association for Computing Machinery (ACM) ,1996