Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:

Similar presentations


Presentation on theme: "Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:"— Presentation transcript:

1 Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present: Chen-Yu Lin Date: Nov,22, 2007

2 Outline Introduction Naive Crossproduct algorithm Multi-subset crossproduct algorithm Intelligent grouping Performance

3 Introduction Motivations Much of the research to date has concentrated on the algorithmic techniques which use hardware or software lookup engines, which access data structure stored in commodity memory. The gap between SRAM and TCAM cost and power consumption makes it worthwhile to continue to explore better algorithmic solutions.

4 Introduction Proposed in this paper: A memory efficient and fast algorithm based on bloom filters.

5 Naive Crossproduct algorithm Basic algorithm: first perform a longest prefix match (LPM) on each field. Let Vi be the longest matching prefix of field Fi Then, lookup the key into a crossproduct rule table. If there is a matching key, then the associated rule IDs are returned.

6 Naive Crossproduct algorithm (cont) Example: Assumption: Only two field : f1 and f2. each field be 4-bit wide. A connection between the nodes of two fields represents a rule. Rule set

7 Naive Crossproduct algorithm (cont) A packet arrives which has longest matching prefix 101* and 00* for field f1 and f2, respectively. There is no original rule,but it implies a match for less specific prefix, that is r2. To maintain the correctness of the search, we add a pseudo rule to the rule table. To summarize, a match for a prefix is also a match for its shorter prefixes.

8 Naive Crossproduct algorithm (cont) Definition: denote the value of field i in packet P. Packet classification process: The memory accesses required for only LPM on each field. Final hash table lookup to search the rule in crossproduct table.

9 Naive Crossproduct algorithm (cont) For 5-tuple classification If we use Bloom filter based LPM technique, we need approximately one memory access per LPM. Therefore, the entire classification process takes five memory accesses with very high probability to classify a packet. However, the overhead of pseudo-rules can be large!! Adding the pseudo-rules

10 Multi-Subset Crossproduct algorithm Proposed algorithm: Split the rule set into multiple smaller subsets and take the crossproduct within each of them. Use multiple hash table accesses. Benefit: The total number of pseudo-rules can be reduced significantly compared to the naive scheme.

11 Multi-Subset Crossproduct algorithm (cont) Null

12 Multi-Subset Crossproduct algorithm (cont) Due to the rule set partitioning, the number of overlapping prefixes of a field are reduced. An independent hash table can be maintained for each rule subset and an independent rule lookup can be performed in each. The splitting introduces two extra memory access overheads: 1.Entire LPM process on all field needs to be repeated for each subset. 2.A separate hash table access per subset is needed to look up the final rule.

13 Multi-Subset Crossproduct algorithm (cont) The longest prefix in one subset might not be the longest prefix in other subset requiring a separate LPM for each subset. Maintain one global prefix table which contains the unique prefixes of that field from all the subsets. Maintain a list of sub-prefixes, each is the longest prefix within a subset.

14 Multi-Subset Crossproduct algorithm (cont) Consider the field 1 of example. If we find the longest matching prefix is 101*, then we know the longest matching prefix is: 101* for G1 1* for G2 Null for G3

15 Multi-Subset Crossproduct algorithm (cont) Definition:  arbitrary entry in LPM table of field i, which is a record that consists of a prefix Each is the longest matching prefix of field i in subset j

16 Multi-Subset Crossproduct algorithm (cont) Probe hash table: If 101 and 100 are the longest matching prefix of field 1 and 2. G1 rule hash table key. G2 rule hash table key. G3 do not need hash table. Classification algorithm:

17 Multi-Subset Crossproduct algorithm (cont)

18 Intelligent Grouping Goal: We would like to limit g to a moderately small value. The key to reducing overhead of pseudo-rules is divide the rule set into subsets intelligently to minimize the crossproduct. The pseudo-rules are required only when rules within the same subset have overlapping prefixes. Two issues: Overlap-free Grouping Limiting the Number of Subsets

19 Intelligent Grouping (cont) Overlap-free Grouping: Based on concept of Nested Level Tuple. Resulting algorithm is Nested Level Tuple Space Search (NLTSS). Definitions: Nested Level: The nested level of a marked node in a binary trie is the number of ancestors of this node which are also marked. Nested Level Tree: By removing the unmarked nodes and connecting each marked node to its nearest ancestor. Nested Level Tuple: Nested level associated with each field prefix of that rule. Ex:NLT for r6 is [1,0] & NLT for r4 is [2,1].

20 Intelligent Grouping (cont)

21

22

23

24

25

26


Download ppt "Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:"

Similar presentations


Ads by Google