Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan...

Post on 20-Dec-2015

221 views 4 download

Tags:

Transcript of Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan...

Fast Packet Classification Using Bloom filters

Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood

Publisher: Architecture for networking and communications systems, Proceedings of the 2006 ACM/IEEE symposiumPresenter: Yu-Ping ChiangDate: 2008/11/5

Outline Related Work

Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm

Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance

Memory RequirementThroughput

Naive Crossproduct Algorithm Pseudo rule

A match for a prefix also match it’s shorter prefix. Too much overhead.

Naive Crossproduct Algorithm

Multi-subset Crossproduct Algo.

Outline Related Work

Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm

Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance

Memory RequirementThroughput

Nested Level Tuple Space Search Definition:

Nested Level: # of marked ancestors of a marked node. Always assume root is marked.

1

21 1

0

111

Nested Level Tuple Space Search Definition:

Nested Level Trie: remove unmarked nodes connecting marked node to nearest ancestor

Nested Level Tuple Space Search Definition:

Nested Level Tuple (NLT):

Do not need crossproduct rules. Number of NLTs is number of subsets.

Nested Level Tuple Space Search

Nested Level Tuple Space Search Definition:

NLT bitmap Set if prefix or it’s sub-prefix belongs to a rule

contained in this NLT.

PL/NL bit-map 32 bits Set at a position indicates that the prefix of

corresponding length is in the rule set.

Nested Level Tuple Space Search

Outline Related Work

Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm

Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance

Memory RequirementThroughput

NLT Merging and Crossproduct

Bounded set numbers Algorithm

Sort NLTs by the number of rules in them. Pick most dense g NLTs. (g is limit # of subsets.) Merge remaining NTL (rules) with one of fixed g NTLs.

Choose “closest” NLT Ex: distance of [4,3,1,2,1] and [4,1,0,2,1]

= |3-1| + |1-0| = 3

If there’s a pseudo-rule threshold, try to insert rule.

If exceeds threshold, don’t insert it.

Outline Related Work

Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm

Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance

Memory RequirementThroughput

On-chip bits per rule: .For NLTSS,

Off-chip bits per item: .For NLTSS,

Average memory consumptionNLTSS: 32 bytesNLTMCL: 45 bytes

Memory Requirement

8#

##640

rules

prefixesrulesm g

8#

#144#

rule

bprefixesrulem gf

1g

1g

Throughput Pipeline

1st stage: LPM 2nd stage: rule lookup

.

. .

.

ondpacketsp

Rlpm

sec/4,2max

10300 6

7272gNLTMCNLTSSlpm borb

Clock rate

LPM stage,144 bits/rule,Burst length: 72 bits

Rule lookup stage

bitsgWbNLTSS 363622

bitsgbgNLTMC 3636634