Download presentation
Presentation is loading. Please wait.
1
1 Memory-Efficient 5D Packet Classification At 40 Gbps Authors: Ioannis Papaefstathiou, and Vassilis Papaefstathiou Publisher: IEEE INFOCOM 2007 Presenter: Yu-Tso Chen Date: July, 09, 2008
2
2 Outline Introduction BSPC Design Simulation Results
3
3 Introduction Should support the current state-of-art networking speeds –(i.e. OC-768 at 40Gpbs) –Should not be prohibitively expensive Decomposing multi-field classification rules into internal single-field rules –Combined using multi-level Bloom filters B2PC uses the BOS single field searching scheme[11]
4
4 BSPC Design Observations –Filter sets’ sizes are small Ranging from tens of filters to less than 5000 –Protocol field is restricted to a small set of values TCP, UDP, and commonly used wildcards (covering more 95%) –Filter specify a limited number of unique transport port range
5
5 BSPC Design Observations (cont.) –The number of single field filters matching a given packet is typically five or less –The number of single field values is significantly less than the number of overall filters
6
6 Overall Architecture of B2PC TableII type 12bit flowID BLH1-4 HSH_TBLindex IP_BLH1-2PR_BLH1-2 TreeBitmap 256-entry directly index
7
7 Hash Function BLH1 = (SIP>>4) xor REV(DIP>>2) xor (SPO<<4) xor (DPO>>3) xor (PRO<<3) BLH2 = SIP xor (DIP >2) xor REV(DPO) xor PRO BLH3 = (SIP<<3) xor REV(DIP) xor REV(SPO) xor DPO xor (PRO<<6) BLH4 = REV(SIP) xor (DIP >3) xor (DPO >2) HSH_TBLindex = (BLH1,00) xor (00,BLH2>>4) xor (00,BLH3) xor (00,REV(BLH4)) IP_BLH1 = { SIP(6:11) xor DIP(0:5), SIP(0:5) xor DIP(6:11) } IP_BLH2 = { SIP(0:5) xor DIP(6:11), SIP(6:11) xor DIP(0:5) } PR_BLH1 = SPO xor (DPO<<2) PR_BLH2 = (SPO<<2) xor REV(DPO)
8
8 Internally Represented Filters In order to reduce the memory we take advantage of the fact that many rules share the same field values. Side-effect of ID sharing scheme is that a certain internal-ID cannot be deleted unless all the rules employing it are deleted. –Keep a reference count for each internal ID –We need 4K 12-bit counters for each field –Total we need 5 x 4096 12-bit counters
9
9 Example Filter Set
10
10 Internal Representation of The Example Filter Set
11
11 Combining Results Number of matching prefixes and the associated IDs –Prefix-based at most 33 matches each –Port fields may provide at most 17 matches –Protocol at most 2 matches Match on the value itself or the wildcard
12
12 Incoming Packet Header Fields Decreasing length order Real-world less than five Total perm = 3*2*1*3*2 = 36
13
13 Set Membership Queries with Bloom Filters How to identify that a permutation belongs to the given set of rules –Sequential access to the rule table is slow –Efficiently represent a given ruleset and support quick set membership queries is need The main advantage of Bloom Filters –Easily be implemented in hardware while supporting set- membership queries at high rates Disadvantage of bloom filters –False-positive error
14
14 Set Membership Queries with Bloom Filters (cont.) Parameters of bloom filters –Bit vector is 2 14 bits wide –The optimal number of hashing functions that set this vector is 4 –Theoretical false positive probability of 6.2% Efficiently support incremental updates –Counting Bloom Filters
15
15 Flow ID Resolving A match in a set-membership query we should first determine whether it is a false positive To locate the FlowID we use HSH_TBL of 16k entries Have the FlowID we access the RULE_TBL, and compare the stored IDs with the IDs of the current permutation –All IDs match, we have found the final result
16
16 Improving the Efficiency of Set Membership Query To avoid these useless queries we have used two additional Bloom Filters If they both provide a match then we query the “Main” Bloom Filter
17
17 Parallel Bloom Filter Queries
18
18 Number of References in Bloom Filters
19
19 Observed False Positives Rate
20
20 Hash Table Collisions (HSH_TBLindex)
21
21 B2PC Components Memory Requirements 36-bit wide memory word
22
22 Total Number of Average Memory Accesses in B2PC
23
23 Worst Case Network Performance of B2PC (40 Bytes packets)
24
24 Summary of Classification Schemes
25
25 Bloom Filter
26
26 Mask
27
27 Number of Memory Access in P2BC Data Structures
28
28 B2PC Silicon Cost
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.