fast packet classification using bloom filters author: sarang dharmapurikar, haoyu song, jonathan...
Post on 20-Dec-2015
223 views
TRANSCRIPT
![Page 1: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/1.jpg)
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
![Page 2: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/2.jpg)
Outline Related Work
Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm
Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance
Memory RequirementThroughput
![Page 3: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/3.jpg)
Naive Crossproduct Algorithm Pseudo rule
A match for a prefix also match it’s shorter prefix. Too much overhead.
![Page 4: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/4.jpg)
Naive Crossproduct Algorithm
![Page 5: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/5.jpg)
Multi-subset Crossproduct Algo.
![Page 6: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/6.jpg)
Outline Related Work
Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm
Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance
Memory RequirementThroughput
![Page 7: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/7.jpg)
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
![Page 8: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/8.jpg)
Nested Level Tuple Space Search Definition:
Nested Level Trie: remove unmarked nodes connecting marked node to nearest ancestor
![Page 9: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/9.jpg)
Nested Level Tuple Space Search Definition:
Nested Level Tuple (NLT):
![Page 10: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/10.jpg)
Do not need crossproduct rules. Number of NLTs is number of subsets.
Nested Level Tuple Space Search
![Page 11: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/11.jpg)
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.
![Page 12: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/12.jpg)
Nested Level Tuple Space Search
![Page 13: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/13.jpg)
Outline Related Work
Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm
Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance
Memory RequirementThroughput
![Page 14: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/14.jpg)
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.
![Page 15: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/15.jpg)
Outline Related Work
Naive Crossproduct AlgorithmMulti-subset Crossproduct Algorithm
Nested Level Tuple Space Search (NLTSS) NLT Merging and Crossproduct (NLTMC) Performance
Memory RequirementThroughput
![Page 16: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/16.jpg)
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
![Page 17: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/17.jpg)
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
![Page 18: Fast Packet Classification Using Bloom filters Author: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, John Lockwood Publisher: Architecture for networking](https://reader034.vdocuments.site/reader034/viewer/2022042821/56649d4d5503460f94a2bb03/html5/thumbnails/18.jpg)