Title: Packet classification using coarsegrained tuple spaces
1Packet classification using coarse-grained tuple
spaces
Authors Haoyu Song, Jonathan Turner, Sarang
Dharmapurikar Publisher Proceedings of the 2006
ACM/IEEE symposium on Architecture for networking
and communications systems Present Min-Yuan
Tsai (???) Date January, 18, 2007
Department of Computer Science and Information
Engineering National Cheng Kung University,
Taiwan R.O.C.
2Outline
- 1. Introduction
- 2. Combining The Two Algorithms
- 3. Longest Prefix Matching
- 4. Evaluation
- 5. Conclusion
3Introduction
- Some disadvantages of current solutions for
packet classification - The fast algorithmic methods require excessive
space - TCAM has high cost per bit, significant power
usage - The method of this paper is combining
cross-product and tuple-space search - Improving one-dimensional(1d) lookups
- combining tree bitmap and Bloom filters
4Outline
- 1. Introduction
- 2. Combining The Two Algorithms
- 3. Longest Prefix Matching
- 4. Evaluation
- 5. Conclusion
5Combining The Two Algorithms
- Cross-Product Method Procedure
- do 1d lookup on all fields
- combine results into lookup key in cross-product
table - cross-product table direct lookup table or hash
table
10100, 01110
S0D1
6Combining The Two Algorithms (contd.)
- Cross-Product Method Expansion
- Assume the prefix pair (A,B) is an original
filter, R1. If the prefix pairs (A,D), (C,B), or
(C,D) are not original filters, we need to add
pseudo-filters for each to guarantee correct
lookups. - For example, if the single
- field lookups return the
- matching prefixes C and
- D, the results imply a
- match to the filter R1.
- Without the pseudo-filter
- (C,D), we will miss this
- match.
7Combining The Two Algorithms (contd.)
- Cross-Product Method performance
- We can also see from the last column of Table 2
that 32 to 87 of entries in the direct lookup
table actually do not contain any matching
filter. - This fact suggests that we use a hash table
instead of a direct lookup table for better
storage efficiency.
8Combining The Two Algorithms (contd.)
- 2D Tuple Space Search
- Group by prefix length
- hash table per group
- up to 33 x 33 1,089 groups
- Rectangle search
- markers to guide search
- at most 63 probes, often less
- Pruned tuple space search
- 1d search on src/dest fields
- find prefix lengths that match src/dest fields of
packet - search intersecting tuples
- if w matching prefixes, at most w2 probes
9Combining The Two Algorithms (contd.)
- Coarse-Grained Tuple Space
- Select coarse-grained partition of tuple space
- Build cross-product table per sub-space
- Search procedure
- 1d lookups for LPM
- identify candidate sub-spaces during 1d lookup
- probe selected sub-spaces
- terminate early if possible
10Combining The Two Algorithms (contd.)
- Coarse-Grained Tuple Space Example
- A given packet
- source IP matching prefix in segments 0, 7 and
17, 32, destination IP matching prefix in
segments 9, 21 and 22, 32. - The best matching filter can
- exist only in the hash tables for
- the tuple sets D, F, G, and I.
- Now the logical choice is to start the search
from the tuple sets I, - G, and F, because if we find matching filters
belonging to - these tuple sets, we do not need to search the
tuple set D.
17
7
A
B
C
8
D
E
F
21
G
H
I
11Outline
- 1. Introduction
- 2. Combining The Two Algorithms
- 3. Longest Prefix Matching
- 4. Evaluation
- 5. Conclusion
12Longest Prefix Matching
Tree Bitmap
Hashing Bloom Filters
- Tree Bitmap is a multibit trie algorithm that
allows fast searches - Bitmaps for
- prefix nodes
- subtree presence
- Expand prefixes to standard lengths
- Off-chip hash table per length
- The lookup process probes all the Bloom filters
simultaneously and uses the output of the Bloom
filters to determine which hash table to query.
13Longest Prefix Matching (contd.)
Bloomfilters
Each encoded subtree is called a Segment Multibit
Trie (SMT)
- Instead of performing the prefix expansion, this
paper encode the subtree between two length
thresholds using the Tree BitMap or Shape
Shifting Tries encoding technique. (a multi-bit
trie algorithm with multilevel jump tables) - Insert tree bitmap subtree roots into off-chip
hash tables - Lookup prefix of subtree roots in Bloom filters
- if match on length k and all shorter lengths,
probe off-chip table for length k
14Longest Prefix Matching (contd.)
- 200K prefixes in the route table
5 bit stride for tree bitmap Using only 5 Bloom
filters
Reducing the number of Bloom filters
15Outline
- 1. Introduction
- 2. Combining The Two Algorithms
- 3. Longest Prefix Matching
- 4. Evaluation
- 5. Conclusion
16Evaluation
a ß means that the source IP address field has
a equal sized segments and the destination IP
address field has ß equal sized segments. a ß
is the worst-case number of hash queries for a
packet
Ratio of cross-products to filter set size
- Equal size divisions of 2d tuple space
- 2x2 partition brings space usage to 2x minimum
- maximum of four probes required
- For 2d filter sets, the best-matching filter with
just 4 hash probes while limiting the memory
space expansion factor to about 2.
17Evaluation (contd.)
Original size of the filter size
18Outline
- 1. Introduction
- 2. Combining The Two Algorithms
- 3. Longest Prefix Matching
- 4. Evaluation
- 5. Conclusion
19Possible Extensions
- This paper present a novel packet classification
algorithm derived from the tuple space search
algorithm and the cross-producting algorithm. - Future work
- Generalization to more dimensions
- handling fields with ranges (for port numbers)
- Tuple partition
- The simple tuple partition seems to work well on
current filters, it make sense to study better
tuple partition algorithm for larger filter sets
in the future - Is this method better than TCAM?