fast packet classification using bloom filters authors: sarang dharmapurikar, haoyu song, jonathan...

26
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

Upload: jessica-cooper

Post on 02-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

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

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

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

Outline

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

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

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.

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

Introduction

Proposed in this paper:• A memory efficient and fast algorithm based on bloom

filters.

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

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.

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

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

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

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 <101*, 00*>,but it implies a match for less specific prefix, that is r2 <1*, 00*>.

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.

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

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.

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

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

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

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.

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

Multi-Subset Crossproduct algorithm (cont)

Null

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

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.

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

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.

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

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

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

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

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

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 <101,100>.

• G2 rule hash table key <1,100>.

• G3 do not need hash table.

Classification algorithm:

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

Multi-Subset Crossproduct algorithm (cont)

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

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

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

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 t

he number of ancestors of this node which are also marked.• Nested Level Tree: By removing the unmarked nodes and connecti

ng each marked node to its nearest ancestor.• Nested Level Tuple: Nested level associated with each field prefix o

f that rule.• Ex: NLT for r6 is [1,0] & NLT for r4 is [2,1].

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

Intelligent Grouping (cont)

Page 21: Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Page 22: Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Page 23: Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Page 24: Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Page 25: Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Page 26: Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present: