TUPLE PRUNING USING BLOOM FILTERS FOR PACKET CLASSIFICATION

Size: px
Start display at page:

Download "TUPLE PRUNING USING BLOOM FILTERS FOR PACKET CLASSIFICATION"

Transcription

1 ... TUPLE PRUNING USING BLOOM FILTERS FOR PACKET CLASSIFICATION... TUPLE PRUNING FOR PACKET CLASSIFICATION PROVIDES FAST SEARCH AND A LOW IMPLEMENTATION COMPLEXITY. THE TUPLE PRUNING ALGORITHM REDUCES THE SEARCH SPACE TO A SUBSET OF TUPLES DETERMINED BY INDIVIDUAL FIELD LOOKUPS THAT CAUSE OFF-CHIP MEMORY ACCESSES. THE AUTHORS PROPOSE A TUPLE-PRUNING ALGORITHM THAT REDUCES THE SEARCH SPACE THROUGH BLOOM FILTER QUERIES, WHICH DO NOT REQUIRE OFF-CHIP MEMORY ACCESSES. Hyesook Lim So Yeon Kim Ewha Womans University...Packet classification enables routers to support various value-added services, such as blocking traffic from insecure sites, giving preferential treatment to premium traffic, and routing based on traffic type and source. Routers classify arriving packets by comparing them to a set of predefined rules and finding the highest priority rule ortherulethatbestmatchesthepacket header fields (the best matching rule, or BMR). A rule consists of a set of fields made up of the IP source prefix, the IP destination prefix, the source port range, the destination port range, and the protocol type and flags. The difficulty of packet classification is in performing multiple field lookups at wire speed for every incoming packet given that the packet arrival rate can be several million packets per second. Various algorithms have attempted to find an effective solution. Most of these efforts use high bandwidth and a smallon-chipmemory,whilelocatingthe rule database in a slower and higher capacity off-chip memory. 2 Many packet classification algorithms, such as tuple space pruning, 3 cross-producting, coarse-grained tuple space, 5 and modified cross-producting, 6 perform a separate lookup on each field to narrow the search space. Hence, these algorithms cause off-chip memory accesses for both the individual field lookups and the final combined lookup. We propose to replace each field lookup with an on-chip Bloom filter and add a new tuple Bloom filter to further reduce unnecessary off-chip memory accesses. The proposed idea can be applied to any of the above algorithms. Here, we show how we apply it to tuple space pruning. (See the Related work in using tuple spaces for packet classification sidebar for a discussion of this approach.) Bloom filter theory Many current networking applications use Bloom filters. 5-7 A Bloom filter is a spaceefficient data structure consisting of a bit vector that is used to test whether an element is a member of a set. A Bloom filter supports two operations: programming and querying. Programming A Bloom filter, which represents a set P ¼ {x, x 2,..., x n }ofn elements, is described by an array of m bits, initially all set to. For each element in P, k different hash functions... 8 Published by the IEEE Computer Society //$26. c 2 IEEE

2 ... Related work in using tuple spaces for packet classification A tuple space search algorithm converts a packet classification problem into plural exact match problems in tuple space. A tuple is defined as a vector of D lengths for D-dimensional (or field) packet classification. It is denoted as (i, i 2,..., i D ), where i d (for d ¼,..., D) is the length of the dth field. For example, a 2D packet classification using two IP prefix fields can have different tuples given to 32-bit lengths. Hence, a packet arriving at a link can be queried with each tuple. In searching a tuple, we can use an exact-match method, such as hashing, since a tuple is composed of known lengths. Because it is too time consuming to query every tuple in classifying a packet, Srinivasan et al. introduced a practical solution, called tuple space pruning (TSP). Assume a two-field TSP algorithm, which, for a given input, performs individual field lookups. If it finds matches at p different lengths for a field and at q different lengths for the other field, the number of intersected tuples that should be queried is reduced to p by q. Additionally, because there is a high possibility of many inactive tuples that are not associated with any rule, the number becomes less than p by q. Another interesting pruning approach is to partition the tuple space into coarse-grained tuples with dissimilar rules to limit the number of subsets to be searched. 2 Yet another pruning approach uses precomputed markers to direct to the next tuple in the search space. 3 The TSP algorithm is easy to realize and provides fast search performance. However, it can be improved. First, it requires individual field lookups, which cause off-chip memory accesses. Second, the intersected list of tuples includes unnecessary tuples, since the tuple is generated only by combining the lengths without considering values. We describe these issues in more detail in the main article. References. V. Srinivasan, S. Suri, and G. Varghese, Packet ClassificationUsingTupleSpaceSearch, Proc. ACM SIGCOMM, ACM Press, 999, pp H. Song, J. Turner, and S. Dharmapurikar, Packet Classification Using Coarse-Grained Tuple Spaces, Proc. Architecture for Networking and Comm. Systems (ANCS), ACM Press, 26, pp P. Wang et al., Scalable Packet Classification for Enabling Internet Differentiated Services, IEEE Trans. Multimedia, vol. 8, no. 6, 26, pp are computed in such a way that the resulting hash index (which is a pointer to a Bloom filter bit location) j is of the range j < m. All the Bloom filter bit locations corresponding to j are set to. Querying To test whether an element x is a member of P, we perform the following query. For input x, we generate k hash indices using the same hash functions we used to program the filter. We then check the bit locations in the Bloom filter corresponding to the hash indices. If at least one of the locations is, the element is absolutely not a member of P. If it were a member of the set, the bit location corresponding to the hash index would have been set to during programming. This result is called negative. If all the bit locations are set to, the result is called positive. However, even if all the bit locations are set to, they might not have been set only by the element under querying. Some other elements could have set them. This type of positive result is termed false positive. On the whole, a Bloom filter might produce false positives but never false negatives. The proposed algorithm Here, we show the 2D version of our proposed algorithm. We can extend this algorithm for an arbitrary number of fields. Figure shows the overall architectures of the tuple space pruning (TSP) algorithm and our proposed algorithm (using the source and destination prefix fields). Compared to TSP, the proposed architecture replaces each individual field lookup with a Bloom filter either a source Bloom filter (src-bloom filter) or a destination Bloom filter (dst-bloom filter). We also add a tuple Bloom filter (tuple-bloom filter). When programming a fixed number of elements into a Bloom filter, the Bloom filter s size and the number of hash functions affect performance, which is determined by the false positive rate. Analytic discussions on Bloom filter characteristics are available elsewhere. 7,8 Determining the optimum size of a Bloom filter and the optimum number of hash functions needed to minimize the false positives is beyond this article s scope. Because using between 2 and 5 hash functions for a small-size Bloom filter (about to 8 times the given number of elements)... MAY/JUNE 2 9

3 ... FEATURE Input packet Source prefix lookup Off-chip table Off-chip table Matched lengths Intersected list Off-chip hash table (a) Destination prefix lookup Matched lengths Input packet Source Bloom filter Positive lengths On-chip Intersected list Tuble Bloom filter Positive tuples Off-chip hash table Destination Bloom filter Positive lengths (b) Figure. A comparison of the overall structures of the algorithms: the tuple space pruning (TSP) algorithm (a), and the proposed tuple pruning algorithm (b) IEEE MICRO minimizes the probability of a false positive, 7 for simplicity we describe the proposed algorithm using an example with fixed-size Bloom filters and two hash functions. Any arbitrary hash generator can serve as a hash function. The Bloom filter used in the proposed algorithm must accommodate prefixes of arbitrary lengths in a single Bloom filter. It requires a hash generator that produces hash indices for variable-length inputs. A cyclic redundancy check (CRC) generator suits our purpose. 9 CRC generators scramble bits of a given input and produce a fixedlength binary sequence known as a CRC code, regardless of the input length. We can easily obtain any number of hash indices (each of which is used as a pointer to a Bloom filter bit location or to a hash table entry) from the generated CRC code by selecting different combinations of bits. Let P t be a rule set composed of source and destination prefix pairs, and L t be the set of the distinct length pairs of P t.ifp t ¼ {R(*, *), R2(*, *), R3(*, *), R(*, *), R5(*, *), R6(*, *)}, then L t ¼ {(2, ), (, 2), (2, 3), (3, 3), (3, 2), (, )}. Let P and P 2 be the set of distinctsourceandthesetofdistinctdestination prefixes included in P t,andl and L 2 be the sets of distinct lengths. Then, P ¼ {*, *, *, *}, P 2 ¼ {*, *, *, *}, L ¼ {, 2, 3}, and L 2 ¼ {, 2, 3}. Figure 2 shows the detailed structure of the proposed algorithm. Figure 2a shows the CRC-8 generator. A random number ( in this example) initializes the registers of the 8-bit CRC generator. Figure 2b shows the proposed architecture programmed for P t. Figure 2c shows the hash table s resultant entry structure when we use the two prefix fields for tuple pruning. It is a simple hash table storing 5D rules without additional data structure. Its width is 22 bytes. A port range is represented by a start and an end in a single entry. We assume the rules mapped to the same hash table entry are stored by a linked list in decreasing order of priority (as shown in Figure 2b for rules R and R6), and the last field stores a pointer for the linked list. When programming the src-bloom filter for P, we enter a source prefix bit serially

4 2 3 Input (a) On-chip src-bf tuple-bf 2 Input CRC-8 generator L = {, 2, 3} dst-bf CRC-8 generator x CRC-8 generator Off-chip hash table R5 2 3 R2 R 5 R3 6 7 R R6 L 2 = {, 2, 3} L t = {(,), (,2), (2,), (2,3), (3,2), (3,3)} (b) bit 3 bits 6 bits 32 bits 6 bits 32 bits 6 bits 6 bits 6 bits 6 bits bit 8 bits 3 bits Entry valid Rule no. Src. prefix length Src. prefix Dst. Source prefix Dst. prefix port length start Source port end Dst. port start Dst. port end Protocol wild Protocol type Linked list (c) Figure 2. The proposed architecture programmed for an example rule set: the cyclic redundancy check (CRC)-8 generator (a), the programmed Bloom filters and the off-chip hash table (b), and the entry structure of the off-chip hash table (c). into the CRC generator. After entering the last bit of the prefix, we obtain a CRC code. We choose two hash indices from the generated CRC code and repeat this procedure for all elements in P, and remember L to use in the search procedure. Similarly, we program P 2 to the dst-bloom filter, and remember L 2. Table shows the CRC codes and hash indices we used for programming the proposed architecture. We programmed the 8-bit src-bloom filter and dst-bloom filter in Figure 2b using two hash indices chosen from the first and last three bits of the CRC code. We can use any combination of the two prefixes to program the tuple-bloom filter. Here we use the concatenated strings of the two prefixes. For the 6-bit tuple-bloom filter shown in Figure 2b, we chose the hash indices from the first and the last four bits of... MAY/JUNE 2 5

5 ... FEATURE Table. The distinct prefix, cyclic redundancy check (CRC) code, and hash indices used for programming the proposed architecture. Distinct prefixes or concatenated prefixes CRC code Bloom filter indices (decimal) Hash table index (decimal) Source *, 7 N/A * 6, 7 *, 6 * 2, 2 Destination *, 7 N/A * 7, 3 * 2, 6 Tuple R (2, ) * 3, 5 7 R2 (, 2) * 5, 3 3 R3 (2, 3) *, 3 5 R (3, 3) * 2, R5 (3, 2) * 5, 9 R6 (, ) * 2, IEEE MICRO the CRC code, as Table shows. Assuming that the number of hash table entries is 2 dlog 2 N e,wheren is the number of rules, we need a 3-bit hash index to store a rule into the hash table. We programmed the hash table in Figure 2b using the last three bits of the CRC code as shown in Table. Figure 3 describes the proposed algorithm s search procedure. Assume a search where the input length is bits (it is 32 bits in IPv) and the input packet has a source and destination address pair (A, A 2 ) ¼ (, ). Table 2 shows the CRC code (generated when we enter the substrings of the input into the CRC generator), the corresponding Bloom filter indices, and the Bloom filter result. For L ¼ {, 2, 3}, referring to the src- Bloom filter in Figure 2b, the -bit string of the source has a negative result since the bit value of entry 3 (which is indexed by a Bloom filter index of * in Table 2) is zero. The 2- and 3-bit strings have positive results, so L (A ) ¼ {2, 3}. Similarly, for L 2 ¼ {,2,3},L 2 (A 2 ) ¼ {, 2, 3}. Note that a zero length cannot be programmed to the Bloom filter, so it is always positive. Therefore, the intersected list is L (A ) L 2 (A 2 ) ¼ {(2, ), (2, 2), (2, 3), (3, ), (3, 2), (3, 3)}. However, the (2, 2) and (3, ) tuples are inactive tuples that are not included in L t. Hence, L c ¼ {(2, ), (2, 3), (3, 2), (3, 3)}. Table 2 also shows the queried tuple, the concatenated string for the tuple, the corresponding CRC code, the Bloom filter indices, and the Bloom filter results. Since tuple (2, ), (3, 2), and (3, 3) turn out to be negative by referring to the tuple-bloom filter bits in Figure 2b corresponding to the Bloom filter indices in Table 2, the hash table is not accessed for these tuples. Hence the off-chip hash table needs to be accessed only once for the tuple (2, 3). Table 2 also shows the corresponding hash table index. The algorithm compares the input to the entry on index 5 of the hash table shown in Figure 2b, and find that it matches R3 in first two fields. The rule R3 is returned as the BMR if all the remaining fields are matched. If we apply the TSP algorithm to the same example, the source lookup against P produces a match of length 2, and the destination lookup against P 2 produces matches of lengths and 3. Each lookup will cause at least to 5 off-chip memory accesses. The intersected list of tuples is (2, ) and (2, 3), and the TSP algorithm will access the hash table for these two tuples.

6 D_Bloom filter_search (A i ){ for (l = 32; l >;l--) { if ( l is not a member of L i ) break; // l is an inactive length else { CRC_code = CRC_32 (S(A i, l)); ind = CRC_code [32: 32 - l i + ]; //most significant l i bits of CRC code, where size of a src-bloom filter(or dst-bloom filter) is 2 li ind2 = CRC_code [ l i - :]; //least significant l i bits if ( (D_Bloom filter[ind]&d_bloom filter[ind2]) == ) //positive put l into L i (A i ); } return L i (A i ); } Search (in_packet) { BMR = N-; //default BMR is the lowest priority rule L (A ) = D_Bloom filter_search (A ); // L (A )={l l L and S(A, l) is a positive} L 2 (A 2 ) = D_Bloom filter_search (A 2 ); // L 2 (A 2 )={l l L 2 and S(A 2, l) is a positive} L c = L t (L (A ) L 2 (A 2 )); // L L 2 is the intersected set of L (A ) and L 2 (A 2 ) while (L c is not empty) { //for each element of L c, where (l, l 2 ) is a tuple of the element tuple_value = concate (S(A, l ), S(A 2, l 2 )); CRC_code = CRC_6 (tuple_value); ind = CRC_code [63: 63 - l t + ]; //most significant l t bits of CRC code, where size of tuple-bloom filter is 2 lt ind2 = CRC_code [ l t - :]; //least significant l t bits } if ( (tuplebloom filter[ind]&tuplebloom filter[ind2]) == ) { //positive ind_hash = CRC_code [ l h - :]; //least significant l h bits of CRC code, where size of hash table is 2 l h rule = Hash_Table [ind_hash]; if ( (in_packet == rule) & (priority(rule) is higher than BMR)) BMR = priority(rule); } remove the current element from L c ; } return BMR; Figure 3. The proposed algorithm s search procedure, where A and A 2 are the given source and destination addresses of an input packet, and S(A i, l) is the substring of the most significant l bits of A i. Therefore, the TSP algorithm requires to 2 off-chip accesses, whereas the proposed algorithm requires only one. Note that the tuple (2, ) caused an unnecessary access in the TSP algorithm, but was filtered out by the tuple-bloom filter in the proposed algorithm. In the TSP algorithm, a tuple consists only of lengths, and values are not used in determining the tuples to be accessed. However, in the proposed algorithm, the tuple- Bloom filter uses the combined prefix values and filters out unnecessary tuples, such as the tuple (2, ) in this example. For a D-dimensional packet classification for D > 2, we extend the proposed algorithm by using Bloom filters for each field after converting the port ranges to prefixes. As more fields are involved in the tuple space, the number of tuples increases, which negatively affects search performance. Alternatively, using a single field minimizes the number of tuples (which is not actually a tuple since the tuple generally means involving more than a field), but the number of rules associated with a tuple increases. In this case, different rules can... MAY/JUNE 2 53

7 ... FEATURE Table 2. The Bloom filter query results for input (, ). Length Prefix CRC code Bloom filter indices Bloom filter result Hash table index Source address * 3, 6 Negative N/A 2 *, 6 Positive 3 * 2, 7 Positive Destination address 2 * 7, 7 Positive N/A 3 * 7, 3 Positive Tuple (2, ) * 8, Negative N/A (2, 3) *, 3 Positive 5 (3, 2) *, 9 Negative N/A (3, 3) * 8, Negative N/A Table 3. The number of distinct prefixes (or tuples) and the distinct lengths. Source Destination Tuple Type Rule sets No. of rules N n(p ) n(l ) n(p 2 ) n(l 2 ) n(p t ) n(l t ) ACL ACL ACL5, ,3 2 IPC IPC IPC5, , FW FW FW5, , IEEE MICRO have the same value for the chosen field. These rules are mapped to the same hash table entry, degrading the search performance. For efficient tuple space search, the number of tuples should be small while the field values composing the tuple space should have great variety. Hence, it is necessary to select the proper number and type of fields when composing the tuple space. We are currently investigating how to determine the number and type of fields that will optimize the tuple pruning performance. Performance evaluation We performed simulations for rule sets created by Classbench, which is widely used in evaluating the performance of packet classification algorithms. 5,6 In these simulations, we used two prefix fields for tuple pruning. We stored the remaining fields, including the port ranges, in an off-chip hash table, and compared all fields with a given input when the hash entry was accessed. Because the proposed method doesn t necessarily convert a port range into a number of prefixes, it is simpler to implement. We generated three types of 5D rule sets access control list (ACL), IP chain (IPC), and firewall (FW) with two sets for each type one for about, rules and the other for about 5, rules. We also generated input traces. Table 3 shows the characteristics of the rule sets. Let n(s) be the number of elements included in a set S. The ACL has the smallest and the IPC has the largest number of distinct tuples in n(l t ). The FW has the smallest variety and the IPC has the largest variety in n(p t ). These characteristics affect the Bloom filter performance and the off-chip hash table performance, as we will show.

8 Let hn(p)i be the smallest multiple of 2 which is equal to or greater than n(p) that is, hnðpþi ¼ 2 dlog 2 np ð Þe : We can adjust the sizes of the source, destination, and tuple Bloom filters proportional to hn(p )i, hn(p 2 )i, andhn(p t )i, respectively. We first investigated the performance of the individual Bloom filters (the src-bloom filter and the dst-bloom filter) related to size. We fixed the tuple-bloom filter size at hn(p t )i, and increased the size of the individual Bloom filters by a factor of, 8, 6, and 32. Figure shows the number of tuple-bloom filter queries, negatives, and positives, all in terms of the average per packet. As the size of the individual Bloom filters increases, the number of queries to the tuple-bloom filter decreases quickly. Therefore, the individual Bloom filters tuple pruning performance is proportional to the filters size, and the large size effectively filters out the lengths that cannot match. The number of positives (that is, the summation of true and false positives) is directly related to the number of off-chip hash table accesses, and this number decreases as the sizes of the individual Bloom filters increase. The number of true positives is the number of rules matching the two prefix fields among all the positives, and the number of true matches is the number of rules matching all the fields among the true positives. Our next simulation sought to determine the effectiveness of the tuple-bloom filter related to its size since the false positive rate is inversely related to a Bloom filter s size. For fixed-size source and destination Bloom filters, hn(p )i and hn(p 2 )i, Figure 5 shows the number of tuple-bloom filter negatives, positives, true positives, false positives, and true matches, all in terms of the average per packet, as the size of tuple-bloom filter increases by a factor of, 2,..., 32. Because the size of the individual Bloom filters is fixed, the query number to the tuple- Bloom filter is constant 3., 6.8, and.5fortheacl5,ipc5,andfw5,respectively. As the tuple-bloom filter size increases, the number of negatives increases. Number Number Number (a) (b) (c) Source/destination Bloom filter size 8 6 Source/destination Bloom filter size Thus, the tuple-bloom filter effectively filters out unnecessary tuples. The number of positives (and the number of false positives) decreases as the tuple-bloom filter size Query Negative True positive 8 6 Source/destination Bloom filter size False positive Positive True-match Figure. The number of queries, negatives, true positives, false positives, positives, and true matches in terms of the average per packet in the tuple-bloom filter for the 5D rule sets: access control list (ACL5) (a), IP chain (IPC5) (b), and firewall (FW5)(c) MAY/JUNE 2 55

9 ... FEATURE Number Number Number (a) (b) (c) Tuple Bloom filter size Tuple Bloom filter size Negative Positive True positive Tuple Bloom filter size 32 False positive True-match Figure 5. The number of negatives, positives, true positives, false positives, and true matches in terms of the average per packet in the tuple-bloom filter for the 5D rule sets as the tuple-bloom filter s size increases by a factor of to 32: access control list (ACL5) (a), IP chain (IPC5) (b), and firewall (FW5)(c) IEEE MICRO increases. For a tuple-bloom filter size 8hn(P t )i, the average number of tuple- Bloom filter positives per packet is.,.5, and 9.6 for the ACL5, IPC5, and FW5, respectively. Table compares the proposed algorithm s performance with other algorithms in terms of memory requirements and the average and the worst-case search performance per packet measured by the number of memory accesses. We can determine the proper sizes of the Bloom filters for our proposed algorithm based on the decreasing rate of false positives in Figures and 5. Because we used two hash indices in this simulation, the false positives do not decrease much for anything bigger than factor 8. The simulation results in Table use Bloom filters with sizes 8hn(P )i, 8hn(P 2 )i, and 8hn(P t )i. The hash table entry number is hn(n)i, where hnðn Þi ¼ 2 dlog 2 nn ð Þe ; and N is the number of rules. In an ideal case, the average number of offchip hash accesses is equal to the average number of tuple-bloom filter positives in our proposed algorithm, but it is shown to be larger. Notably, the FW type has many more hash accesses than tuple-bloom filter positives. One reason is that in our simulation, we assume the rules mapped to a single hash entry are compared sequentially. Because the FW has the smallest variety in P t, as Table 3 shows, many different rules have a same source-destination pair and map to a single hash entry; they cause many accesses by being compared sequentially. We can solve this issue by applying some of the other fields to tuple pruning. The other reason is that two different rules having a different source-destination pair were collided to the same hash entry. We can solve this issue by finding a better hash function that distributes the rules more uniformly. Techniques to organize the hash table to reduce the number of collided entries are described elsewhere. 8,9 In the TSP algorithm, each field lookup consumes to 5 off-chip memory accesses using the algorithm of binary search on levels. Moreover, the TSP algorithm does not use the combined prefix values in reducing the number of tuples. Hence, its search

10 Table. The performance comparison to the other algorithms. Metrics Rule sets No. of Area-based rules (N) Proposed TSP 3 H-trie quad-trie Prioritybased quad-trie 2 vector Memory requirement ACL (Kbytes) ACL5, ,793. IPC IPC5, ,53. FW FW5, ,3. Memory accesses per ACL packet (average) ACL5, IPC IPC5, FW FW5, Memory accesses per ACL packet (worst case) ACL5, IPC IPC5, FW FW5, , performance is much worse than the proposed algorithm. Detailed description on hierarchical trie (H-trie), area-based quad-trie (AQT), bit-vector (BV), and priority-based quad-trie (PQT) algorithms can be found in previous work.,2 Even though the simulation result is the simplest case of our proposed algorithm, which uses two hash functions and assumes rules mapped to a same entry are sequentially compared, the proposed algorithm shows the best performance in all metrics. The proposed algorithm s memory requirements, shown in Table, are the summation of the memories for the Bloom filters (2 to 6 Kbytes) and the off-chip hash table (2 to 68 Kbytes). If we use a -bit counter for each Bloom filter bit to provide the incremental deletion of rules, the required memory of the Bloom filters would be 8 to 2 Kbytes, still small enough to fit into a chip. For the off-chip hash table, if we use a 25-MHz QDRII SRAM 2 with 36-bit width, each hash entry of 22 bytes is read through five accesses, taking 2 nanoseconds. Since the proposed algorithm consumes 7 to memory accesses per packet, it takes to 8 ns. Hence, the average throughput is.25 to 7. million packets per second (Mpps). In an ideal case, considering the to 2 average number of tuple-bloom filter positives shown in Figure 5, the proposed algorithm could achieve a throughput of Mpps. B ecause the performance of tuple pruning depends on the number and type of selected fields, and because the Bloom filter has a probabilistic data structure, it is not easy to formulate the performance of our proposed algorithm. The mathematical analysis on optimizing the pruning performance through the Bloom filters should be investigated further. Recently, new network applications demanding a multimatch packet classification have emerged. In these applications, all matching results including the BMR must be returned. We therefore need efficient algorithms that can perform both a highest priority match and a multimatch packet classification. Because it is simple to return all matching results in the hash table lookups, the proposed algorithm naturally enables both the highest priority match and the multimatch packet classification. MICRO... MAY/JUNE 2 57

11 ... FEATURE Acknowledgments This work was supported by the National Research Foundation of Korea (NRF) through a grant funded by the Korean government (2-83) and by the Korean Ministry of Knowledge Economy under the HNRC-ITRC support program supervised by the NIPA (NIPA-2-C9-- ).... References. H.J. Chao, Next Generation Routers, Proc. IEEE, vol. 9, no. 9, 22, pp H. Yu and R. Mahapatra, A Memory- Efficient Hashing by Multi-Predicate Bloom Filters for Packet Classification, Proc. IEEE Int l Conf. Computer Comm. (INFOCOM), IEEE Press, 28, pp V. Srinivasan, S. Suri, and G. Varghese, Packet Classification Using Tuple Space Search, Proc. ACM SIGCOMM, ACM Press, 999, pp V. Srinivasan et al., Fast and Scalable Layer Four Switching, Proc. ACM SIGCOMM, ACM Press, 998, pp H.Song,J.Turner,andS.Dharmapurikar, Packet Classification Using Coarse- Grained Tuple Spaces, Proc. Architecture for Networking and Comm. Systems (ANCS), ACM Press, 26, pp S. Dharmapurikar et al., Fast Packet Classification Using Bloom Filters, Proc. Architecture for Networking and Comm. Systems (ANCS), ACM Press, 26, pp S. Dharmapurikar, P. Krishnamurthy, and D. Taylor, Longest Prefix Matching Using Bloom Filters, IEEE/ACM Trans. Networking, vol., no. 2, 26, pp H. Song et al., Fast Hash Table Lookup Using Extended Bloom Filter: An Aid of Network Processing, Proc. ACM SIGCOMM, 25, pp C. Martinez, D. Pandya, and W. Lin, On Designing Fast Non-uniformly Distributed IP Address Lookup Hashing Algorithms, IEEE/ACM Trans. Networking, vol. 7, no. 6, 29, pp F. Yu and T.V. Lakshnam, Efficient Multimatch Packet Classification and Lookup with TCAM, IEEE Micro, vol. 25, no., 25, pp D.E. Taylor, J.S. Turner, ClassBench: A Packet Classification Benchmark, IEEE/ACM Trans. Networking, vol. 5, no. 3, 27, pp H. Lim, M. Kang, and C. Yim, Two-dimensional Packet Classification Algorithm Using a Quad-tree, Computer Comm., vol. 3, no. 6, 27, pp Hyesook Lim is an associate professor in the Department of Electronics Engineering at Ewha Womans University, Seoul, Korea. Her research interests include router design issues such as IP address lookup, packet classification, and deep packet inspection. Lim has a PhD in electrical and computer engineering from the University of Texas at Austin. She is a member of IEEE. So Yeon Kim is a research engineer at Samsung Electronics. Her research interests include fast IP address lookup and packet classification algorithms. Kim has an MS from the Department of Electronics Engineering at Ewha Womans University, Seoul, Korea. Direct questions and comments about this article to Hyesook Lim, Ewha Womans University, Seoul 2-75, Korea; hlim@ ewha.ac.kr IEEE MICRO

12

Computer Networks 56 (2012) Contents lists available at SciVerse ScienceDirect. Computer Networks

Computer Networks 56 (2012) Contents lists available at SciVerse ScienceDirect. Computer Networks Computer Networks 56 (2012) 3010 3022 Contents lists available at SciVerse ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet A new hierarchical packet classification algorithm

More information

Implementation of Boundary Cutting Algorithm Using Packet Classification

Implementation of Boundary Cutting Algorithm Using Packet Classification Implementation of Boundary Cutting Algorithm Using Packet Classification Dasari Mallesh M.Tech Student Department of CSE Vignana Bharathi Institute of Technology, Hyderabad. ABSTRACT: Decision-tree-based

More information

Priority Area-based Quad-Tree Packet Classification Algorithm and Its Mathematical Framework

Priority Area-based Quad-Tree Packet Classification Algorithm and Its Mathematical Framework Appl. Math. Inf. Sci. 7, No. 1, 9-20 (2013) 9 Applied Mathematics & Information Sciences An International Journal Priority Area-based Quad-Tree Packet Classification Algorithm and Its Mathematical Framework

More information

Packet Classification Using Dynamically Generated Decision Trees

Packet Classification Using Dynamically Generated Decision Trees 1 Packet Classification Using Dynamically Generated Decision Trees Yu-Chieh Cheng, Pi-Chung Wang Abstract Binary Search on Levels (BSOL) is a decision-tree algorithm for packet classification with superior

More information

Reducing False Positives of a Bloom Filter using Cross-Checking Bloom Filters

Reducing False Positives of a Bloom Filter using Cross-Checking Bloom Filters Appl. Math. Inf. Sci. 8, No. 4, 1865-1877 (2014) 1865 Applied Mathematics & Information Sciences An International Journal http://dx.doi.org/10.12785/amis/080445 Reducing False Positives of a Bloom Filter

More information

Selective Boundary Cutting For Packet Classification SOUMYA. K 1, CHANDRA SEKHAR. M 2

Selective Boundary Cutting For Packet Classification SOUMYA. K 1, CHANDRA SEKHAR. M 2 ISSN 2319-8885 Vol.04,Issue.34, August-2015, Pages:6786-6790 www.ijsetr.com SOUMYA. K 1, CHANDRA SEKHAR. M 2 1 Navodaya Institute of Technology, Raichur, Karnataka, India, E-mail: Keerthisree1112@gmail.com.

More information

Real Time Packet Classification and Analysis based on Bloom Filter for Longest Prefix Matching

Real Time Packet Classification and Analysis based on Bloom Filter for Longest Prefix Matching Real Time Packet Classification and Analysis based on Bloom Filter for Longest Prefix Matching Ms. Namita N. Kothari ME Information Technology2nd, Amrutvahini College of Engineering, Sangamner, India namitakothari8@gmail.com

More information

Fast Packet Classification Using Bloom filters

Fast Packet Classification Using Bloom filters Fast Packet Classification Using Bloom filters Sarang Dharmapurikar Haoyu Song Jonathan Turner John Lockwood sarang@arl.wustl.edu hs@arl.wustl.edu jst@arl.wustl.edu lockwood@arl.wustl.edu Washington University

More information

Grid of Segment Trees for Packet Classification

Grid of Segment Trees for Packet Classification 2010 24th IEEE International Conference on Advanced Information Networking and Applications Grid of Segment Trees for Packet Classification Yeim-Kuan Chang, Yung-Chieh Lin, and Chen-Yu Lin Department of

More information

On Adding Bloom Filters to Longest Prefix Matching Algorithms

On Adding Bloom Filters to Longest Prefix Matching Algorithms 1 On Adding Bloom Filters to Longest Prefix Matching Algorithms Hyesook Lim, Member, IEEE, Kyuhee Lim, Nara Lee, and Kyong-hye Park, Student Members, IEEE Abstract High speed IP address lookup is essential

More information

Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification

Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification Design of a High Speed FPGA-Based Classifier for Efficient Packet Classification V.S.Pallavi 1, Dr.D.Rukmani Devi 2 PG Scholar 1, Department of ECE, RMK Engineering College, Chennai, Tamil Nadu, India

More information

SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification. Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H.

SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification. Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H. SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification Fang Yu, T.V. Lakshman, Martin Austin Motoyama, Randy H. Katz Presented by: Discussion led by: Sailesh Kumar Packet Classification

More information

PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers

PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers Tania Mishra and Sartaj Sahni Department of Computer and Information Science and Engineering, University of Florida, Gainesville, FL 326 {tmishra,

More information

ClassBench: A Packet Classification Benchmark. By: Mehdi Sabzevari

ClassBench: A Packet Classification Benchmark. By: Mehdi Sabzevari ClassBench: A Packet Classification Benchmark By: Mehdi Sabzevari 1 Outline INTRODUCTION ANALYSIS OF REAL FILTER SETS - Understanding Filter Composition - Application Specifications - Address Prefix Pairs

More information

Packet Classification using Rule Caching

Packet Classification using Rule Caching Packet Classification using Rule Caching Nitesh B. Guinde, Roberto Rojas-Cessa and Sotirios G. Ziavras Electrical and Computer Engineering Department New Jersey Institute Technology Newark, NJ 72, USA

More information

A Multi Gigabit FPGA-based 5-tuple classification system

A Multi Gigabit FPGA-based 5-tuple classification system A Multi Gigabit FPGA-based 5-tuple classification system Antonis Nikitakis Technical University of Crete, Department of Electronic and Computer Engineering Kounoupidiana, Chania, Crete, GR73100, Greece

More information

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results.

Problem Statement. Algorithm MinDPQ (contd.) Algorithm MinDPQ. Summary of Algorithm MinDPQ. Algorithm MinDPQ: Experimental Results. Algorithms for Routing Lookups and Packet Classification October 3, 2000 High Level Outline Part I. Routing Lookups - Two lookup algorithms Part II. Packet Classification - One classification algorithm

More information

Packet classification based on priority with shortest path algorithm

Packet classification based on priority with shortest path algorithm Packet classification based on priority with shortest path algorithm A.Vijayalalitha 1, R.Dharmaraj M.E.,(Ph.D) 2 M.E, Department of CSE,Sri Vidya College of Engineering and Technology, Virudhunagar 1

More information

Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1

Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1 Multi-core Implementation of Decomposition-based Packet Classification Algorithms 1 Shijie Zhou, Yun R. Qu, and Viktor K. Prasanna Ming Hsieh Department of Electrical Engineering, University of Southern

More information

Fast Packet Classification Algorithms

Fast Packet Classification Algorithms Fast Packet Classification Algorithms Mrudul Dixit, Anuja Kale, Madhavi Narote, Sneha Talwalkar, and B. V. Barbadekar Abstract A packet classifier possesses a set of rules for classifying packets based

More information

A Scalable Approach for Packet Classification Using Rule-Base Partition

A Scalable Approach for Packet Classification Using Rule-Base Partition CNIR Journal, Volume (5), Issue (1), Dec., 2005 A Scalable Approach for Packet Classification Using Rule-Base Partition Mr. S J Wagh 1 and Dr. T. R. Sontakke 2 [1] Assistant Professor in Information Technology,

More information

Three Different Designs for Packet Classification

Three Different Designs for Packet Classification Three Different Designs for Packet Classification HATAM ABDOLI Computer Department Bu-Ali Sina University Shahid Fahmideh street, Hamadan IRAN abdoli@basu.ac.ir http://www.profs.basu.ac.ir/abdoli Abstract:

More information

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011

Switch and Router Design. Packet Processing Examples. Packet Processing Examples. Packet Processing Rate 12/14/2011 // Bottlenecks Memory, memory, 88 - Switch and Router Design Dr. David Hay Ross 8b dhay@cs.huji.ac.il Source: Nick Mckeown, Isaac Keslassy Packet Processing Examples Address Lookup (IP/Ethernet) Where

More information

An Enhanced Bloom Filter for Longest Prefix Matching

An Enhanced Bloom Filter for Longest Prefix Matching An Enhanced Bloom Filter for Longest Prefix Matching Gahyun Park SUNY-Geneseo Email: park@geneseo.edu Minseok Kwon Rochester Institute of Technology Email: jmk@cs.rit.edu Abstract A Bloom filter is a succinct

More information

PACKET classification is an enabling function for a variety

PACKET classification is an enabling function for a variety IEEE INFOCOM 5 1 Scalable Packet Classification using Distributed Crossproducting of Field Labels David E. Taylor, Jonathan S. Turner Applied Research Laboratory Washington University in Saint Louis {det3,jst}@arl.wustl.edu

More information

Data Structures for Packet Classification

Data Structures for Packet Classification Presenter: Patrick Nicholson Department of Computer Science CS840 Topics in Data Structures Outline 1 The Problem 2 Hardware Solutions 3 Data Structures: 1D 4 Trie-Based Solutions Packet Classification

More information

High-Performance Packet Classification on GPU

High-Performance Packet Classification on GPU High-Performance Packet Classification on GPU Shijie Zhou, Shreyas G. Singapura, and Viktor K. Prasanna Ming Hsieh Department of Electrical Engineering University of Southern California 1 Outline Introduction

More information

An Efficient TCAM Update Scheme for Packet Classification

An Efficient TCAM Update Scheme for Packet Classification 03 IEEE 7th International Conference on Advanced Information Networking and Applications An Efficient TCAM Update Scheme for Packet Classification Yeim-Kuan Chang Department of Computer Science and Information

More information

Frugal IP Lookup Based on a Parallel Search

Frugal IP Lookup Based on a Parallel Search Frugal IP Lookup Based on a Parallel Search Zoran Čiča and Aleksandra Smiljanić School of Electrical Engineering, Belgrade University, Serbia Email: cicasyl@etf.rs, aleksandra@etf.rs Abstract Lookup function

More information

Towards Effective Packet Classification. J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005

Towards Effective Packet Classification. J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005 Towards Effective Packet Classification J. Li, Y. Qi, and B. Xu Network Security Lab RIIT, Tsinghua University Dec, 2005 Outline Algorithm Study Understanding Packet Classification Worst-case Complexity

More information

Scalable Packet Classification using Distributed Crossproducting of Field Labels

Scalable Packet Classification using Distributed Crossproducting of Field Labels Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCSE-24-38 24-6-23 Scalable Packet

More information

Dynamic Routing Tables Using Simple Balanced. Search Trees

Dynamic Routing Tables Using Simple Balanced. Search Trees Dynamic Routing Tables Using Simple Balanced Search Trees Y.-K. Chang and Y.-C. Lin Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan R.O.C. ykchang@mail.ncku.edu.tw

More information

Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors

Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Towards High-performance Flow-level level Packet Processing on Multi-core Network Processors Yaxuan Qi (presenter), Bo Xu, Fei He, Baohua Yang, Jianming Yu and Jun Li ANCS 2007, Orlando, USA Outline Introduction

More information

Memory-Efficient 5D Packet Classification At 40 Gbps

Memory-Efficient 5D Packet Classification At 40 Gbps Memory-Efficient 5D Packet Classification At 40 Gbps Ioannis Papaefstathiou ECE Department, Technical University of Crete, Kounoupidiana, Chania, Crete, GR73100, Greece ygp@ece.tuc.gr Vassilis Papaefstathiou

More information

MULTI-MATCH PACKET CLASSIFICATION BASED ON DISTRIBUTED HASHTABLE

MULTI-MATCH PACKET CLASSIFICATION BASED ON DISTRIBUTED HASHTABLE International Journal of Science, Environment and Technology, Vol. 4, No 4, 2015, 1098 1106 ISSN 2278-3687 (O) 2277-663X (P) MULTI-MATCH PACKET CLASSIFICATION BASED ON DISTRIBUTED HASHTABLE 1 Neeshma K

More information

Multi-Field Range Encoding for Packet Classification in TCAM

Multi-Field Range Encoding for Packet Classification in TCAM This paper was presented as part of the Mini-Conference at IEEE INFOCOM 2011 Multi-Field Range Encoding for Packet Classification in TCAM Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Department of Computer

More information

DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER

DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER International Journal of Computer Engineering and Applications, Volume VI, Issue II, May 14 www.ijcea.com ISSN 2321 3469 DESIGN AND IMPLEMENTATION OF OPTIMIZED PACKET CLASSIFIER Kiran K C 1, Sunil T D

More information

Rule Caching for Packet Classification Support

Rule Caching for Packet Classification Support Rule Caching for Packet Classification Support Joji Philip, Manish Taneja, and Roberto Rojas-Cessa Abstract The growth of the Internet and requirements for enhanced flexibility and versatility have resulted

More information

Efficient TCAM Encoding Schemes for Packet Classification using Gray Code

Efficient TCAM Encoding Schemes for Packet Classification using Gray Code Efficient TCAM Encoding Schemes for Packet Classification using Gray Code Yeim-Kuan Chang and Cheng-Chien Su Department of Computer Science and Information Engineering National Cheng Kung University Tainan,

More information

Performance Improvement of Hardware-Based Packet Classification Algorithm

Performance Improvement of Hardware-Based Packet Classification Algorithm Performance Improvement of Hardware-Based Packet Classification Algorithm Yaw-Chung Chen 1, Pi-Chung Wang 2, Chun-Liang Lee 2, and Chia-Tai Chan 2 1 Department of Computer Science and Information Engineering,

More information

NETWORK SECURITY PROVISION BY MEANS OF ACCESS CONTROL LIST

NETWORK SECURITY PROVISION BY MEANS OF ACCESS CONTROL LIST INTERNATIONAL JOURNAL OF REVIEWS ON RECENT ELECTRONICS AND COMPUTER SCIENCE NETWORK SECURITY PROVISION BY MEANS OF ACCESS CONTROL LIST Chate A.B 1, Chirchi V.R 2 1 PG Student, Dept of CNE, M.B.E.S College

More information

Efficient Packet Classification using Splay Tree Models

Efficient Packet Classification using Splay Tree Models 28 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.5B, May 2006 Efficient Packet Classification using Splay Tree Models Srinivasan.T, Nivedita.M, Mahadevan.V Sri Venkateswara

More information

Parallel-Search Trie-based Scheme for Fast IP Lookup

Parallel-Search Trie-based Scheme for Fast IP Lookup Parallel-Search Trie-based Scheme for Fast IP Lookup Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai, and Nirwan Ansari Department of Electrical and Computer Engineering, New Jersey Institute

More information

ECE697AA Lecture 21. Packet Classification

ECE697AA Lecture 21. Packet Classification ECE697AA Lecture 21 Routers: Flow Classification Algorithms Tilman Wolf Department of Electrical and Computer Engineering 11/20/08 Packet Classification What is packet classification? Categorization of

More information

Fast and Scalable IP Address Lookup with Time Complexity of Log m Log m (n)

Fast and Scalable IP Address Lookup with Time Complexity of Log m Log m (n) 58 JOURNAL OF ADVANCES IN INFORMATION TECHNOLOGY, VOL. 5, NO. 2, MAY 214 Fast and Scalable IP Address Lookup with Time Complexity of Log m Log m (n) Abhishant Prakash Motilal Nehru National Institute of

More information

High-Performance Packet Classification on GPU

High-Performance Packet Classification on GPU High-Performance Packet Classification on GPU Shijie Zhou, Shreyas G. Singapura and Viktor. Prasanna Ming Hsieh Department of Electrical Engineering University of Southern California Los Angeles, CA 99

More information

FPX Architecture for a Dynamically Extensible Router

FPX Architecture for a Dynamically Extensible Router FPX Architecture for a Dynamically Extensible Router Alex Chandra, Yuhua Chen, John Lockwood, Sarang Dharmapurikar, Wenjing Tang, David Taylor, Jon Turner http://www.arl.wustl.edu/arl Dynamically Extensible

More information

Bloom Filters. References:

Bloom Filters. References: Bloom Filters References: Li Fan, Pei Cao, Jussara Almeida, Andrei Broder, Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol, IEEE/ACM Transactions on Networking, Vol. 8, No. 3, June 2000.

More information

Scalable Packet Classification using Distributed Crossproducting of Field Labels

Scalable Packet Classification using Distributed Crossproducting of Field Labels Scalable Packet Classification using Distributed Crossproducting of Field Labels David E. Taylor, Jonathan S. Turner WUCSE-4-38 June 3, 4 Applied Research Laboratory Department of Computer Science and

More information

Hash-Based String Matching Algorithm For Network Intrusion Prevention systems (NIPS)

Hash-Based String Matching Algorithm For Network Intrusion Prevention systems (NIPS) Hash-Based String Matching Algorithm For Network Intrusion Prevention systems (NIPS) VINOD. O & B. M. SAGAR ISE Department, R.V.College of Engineering, Bangalore-560059, INDIA Email Id :vinod.goutham@gmail.com,sagar.bm@gmail.com

More information

FPGA Implementation of Lookup Algorithms

FPGA Implementation of Lookup Algorithms 2011 IEEE 12th International Conference on High Performance Switching and Routing FPGA Implementation of Lookup Algorithms Zoran Chicha, Luka Milinkovic, Aleksandra Smiljanic Department of Telecommunications

More information

CS 268: Route Lookup and Packet Classification

CS 268: Route Lookup and Packet Classification Overview CS 268: Route Lookup and Packet Classification Packet Lookup Packet Classification Ion Stoica March 3, 24 istoica@cs.berkeley.edu 2 Lookup Problem Identify the output interface to forward an incoming

More information

Scalable Packet Classification on FPGA

Scalable Packet Classification on FPGA Scalable Packet Classification on FPGA 1 Deepak K. Thakkar, 2 Dr. B. S. Agarkar 1 Student, 2 Professor 1 Electronics and Telecommunication Engineering, 1 Sanjivani college of Engineering, Kopargaon, India.

More information

AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION

AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION AN EFFICIENT HYBRID ALGORITHM FOR MULTIDIMENSIONAL PACKET CLASSIFICATION Yaxuan Qi 1 and Jun Li 1,2 1 Research Institute of Information Technology (RIIT), Tsinghua University, Beijing, China, 100084 2

More information

Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline

Forwarding and Routers : Computer Networking. Original IP Route Lookup. Outline Forwarding and Routers 15-744: Computer Networking L-9 Router Algorithms IP lookup Longest prefix matching Classification Flow monitoring Readings [EVF3] Bitmap Algorithms for Active Flows on High Speed

More information

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table

Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table Fast IP Routing Lookup with Configurable Processor and Compressed Routing Table H. Michael Ji, and Ranga Srinivasan Tensilica, Inc. 3255-6 Scott Blvd Santa Clara, CA 95054 Abstract--In this paper we examine

More information

An Efficient Parallel IP Lookup Technique for IPv6 Routers Using Multiple Hashing with Ternary marker storage

An Efficient Parallel IP Lookup Technique for IPv6 Routers Using Multiple Hashing with Ternary marker storage An Efficient Parallel IP Lookup Technique for IPv Routers Using Multiple Hashing with Ternary marker storage P. Kiran Sree Dr. Inampudi Ramesh Babu Mr. P.Kiran Sree,Associate Professor, Department of Computer

More information

New Directions in Traffic Measurement and Accounting. Need for traffic measurement. Relation to stream databases. Internet backbone monitoring

New Directions in Traffic Measurement and Accounting. Need for traffic measurement. Relation to stream databases. Internet backbone monitoring New Directions in Traffic Measurement and Accounting C. Estan and G. Varghese Presented by Aaditeshwar Seth 1 Need for traffic measurement Internet backbone monitoring Short term Detect DoS attacks Long

More information

Lecture 11: Packet forwarding

Lecture 11: Packet forwarding Lecture 11: Packet forwarding Anirudh Sivaraman 2017/10/23 This week we ll talk about the data plane. Recall that the routing layer broadly consists of two parts: (1) the control plane that computes routes

More information

An Ultra High Throughput and Memory Efficient Pipeline Architecture for Multi-Match Packet Classification without TCAMs

An Ultra High Throughput and Memory Efficient Pipeline Architecture for Multi-Match Packet Classification without TCAMs ANCS 2009 An Ultra High Throughput and Memory Efficient Pipeline Architecture for Multi-Match Pacet Classification without TCAMs Yang Xu, Zhaobo Liu, Zhuoyuan Zhang, H. Jonathan Chao Polytechnic Institute

More information

IP Address Lookup and Packet Classification Algorithms

IP Address Lookup and Packet Classification Algorithms IP Address Lookup and Packet Classification Algorithms Zhen Xu, Jeff Nie, Xuehong Sun, and Yiqiang Q. Zhao School of Mathematics and Statistics, Carleton University Outline 1. Background 2. Two IP Address

More information

Packet Classification: From Theory to Practice

Packet Classification: From Theory to Practice Packet Classification: From Theory to Practice Jun Li Most contributions from Yaxuan Qi and many other students of mine Tsinghua Univ., Beijing, China Outline Packet Classification Introduction Review

More information

Design of a Near-Minimal Dynamic Perfect Hash Function on Embedded Device

Design of a Near-Minimal Dynamic Perfect Hash Function on Embedded Device Design of a Near-Minimal Dynamic Perfect Hash Function on Embedded Device Derek Pao, Xing Wang and Ziyan Lu Department of Electronic Engineering, City University of Hong Kong, HONG KONG E-mail: d.pao@cityu.edu.hk,

More information

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA

Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Decision Forest: A Scalable Architecture for Flexible Flow Matching on FPGA Weirong Jiang, Viktor K. Prasanna University of Southern California Norio Yamagaki NEC Corporation September 1, 2010 Outline

More information

Routing Lookup Algorithm for IPv6 using Hash Tables

Routing Lookup Algorithm for IPv6 using Hash Tables Routing Lookup Algorithm for IPv6 using Hash Tables Peter Korppoey, John Smith, Department of Electronics Engineering, New Mexico State University-Main Campus Abstract: After analyzing of existing routing

More information

LONGEST prefix matching (LPM) techniques have received

LONGEST prefix matching (LPM) techniques have received IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 2, APRIL 2006 397 Longest Prefix Matching Using Bloom Filters Sarang Dharmapurikar, Praveen Krishnamurthy, and David E. Taylor, Member, IEEE Abstract We

More information

A Robust Bloom Filter

A Robust Bloom Filter A Robust Bloom Filter Yoon-Hwa Choi Department of Computer Engineering, Hongik University, Seoul, Korea. Orcid: 0000-0003-4585-2875 Abstract A Bloom filter is a space-efficient randomized data structure

More information

Length Indexed Bloom Filter Based Forwarding In Content Centeric Networking

Length Indexed Bloom Filter Based Forwarding In Content Centeric Networking Length Indexed Bloom Filter Based Forwarding In Content Centeric Networking Vishal Manghnani Rochester Institute of Technology vjm1952@rit.edu Abstract Named Data Network (NDN) is a modern networking architecture

More information

Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields

Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields 5 CHAPTER 4 Recursive Flow Classification: An Algorithm for Packet Classification on Multiple Fields Introduction Chapters 2 and 3 described algorithms for routing lookups. In this chapter and the next

More information

One Memory Access Bloom Filters and Their Generalization

One Memory Access Bloom Filters and Their Generalization This paper was presented as part of the main technical program at IEEE INFOCOM 211 One Memory Access Bloom Filters and Their Generalization Yan Qiao Tao Li Shigang Chen Department of Computer & Information

More information

SINCE the ever increasing dependency on the Internet, there

SINCE the ever increasing dependency on the Internet, there IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 8, NO. 6, DECEMBER 2006 1239 Scalable Packet Classification for Enabling Internet Differentiated Services Pi-Chung Wang, Member, IEEE, Chia-Tai Chan, Chun-Liang Lee,

More information

Homework 1 Solutions:

Homework 1 Solutions: Homework 1 Solutions: If we expand the square in the statistic, we get three terms that have to be summed for each i: (ExpectedFrequency[i]), (2ObservedFrequency[i]) and (ObservedFrequency[i])2 / Expected

More information

Efficient Packet Classification on FPGAs also Targeting at Manageable Memory Consumption

Efficient Packet Classification on FPGAs also Targeting at Manageable Memory Consumption Efficient Packet Classification on FPGAs also Targeting at Manageable Memory Consumption Nitesh Guinde, Sotirios G. Ziavras and Roberto Rojas-Cessa Department of Electrical and Computer Engineering New

More information

A Configurable Packet Classification Architecture for Software- Defined Networking

A Configurable Packet Classification Architecture for Software- Defined Networking A Configurable Packet Classification Architecture for Software- Defined Networking Guerra Pérez, K., Yang, X., Scott-Hayward, S., & Sezer, S. (2014). A Configurable Packet Classification Architecture for

More information

Error Detection and Correction by using Bloom Filters R. Prem Kumar, Smt. V. Annapurna

Error Detection and Correction by using Bloom Filters R. Prem Kumar, Smt. V. Annapurna Error Detection and Correction by using Bloom Filters R. Prem Kumar, Smt. V. Annapurna Abstract---Bloom filters (BFs) provide a fast and efficient way to check whether a given element belongs to a set.

More information

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup Yan Sun and Min Sik Kim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington

More information

Last Lecture: Network Layer

Last Lecture: Network Layer Last Lecture: Network Layer 1. Design goals and issues 2. Basic Routing Algorithms & Protocols 3. Addressing, Fragmentation and reassembly 4. Internet Routing Protocols and Inter-networking 5. Router design

More information

Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification

Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Yaxuan Qi, Jun Li Research Institute of Information Technology (RIIT) Tsinghua University, Beijing, China, 100084

More information

Packet Classification Using Standard Access Control List

Packet Classification Using Standard Access Control List Packet Classification Using Standard Access Control List S.Mythrei 1, R.Dharmaraj 2 PG Student, Dept of CSE, Sri Vidya College of engineering and technology, Virudhunagar, Tamilnadu, India 1 Research Scholar,

More information

Packet Inspection on Programmable Hardware

Packet Inspection on Programmable Hardware Abstract Packet Inspection on Programmable Hardware Benfano Soewito Information Technology Department, Bakrie University, Jakarta, Indonesia E-mail: benfano.soewito@bakrie.ac.id In the network security

More information

National Chiao Tung University, HsinChu, Taiwan

National Chiao Tung University, HsinChu, Taiwan Fast Packet Classification on OpenFlow Switches Using Multiple R*-Tree Based Bitmap Intersection Ding-Fong Huang 1, Chien Chen 12 and Mahadevan Thanavel 3 1 Department of Computer Science, 2 Information

More information

Bitmap Intersection Lookup (BIL) : A Packet Classification s Algorithm with Rules Updating

Bitmap Intersection Lookup (BIL) : A Packet Classification s Algorithm with Rules Updating ICCAS25 Bitmap Intersection Lookup (BIL) : A Packet Classification s Algorithm with Rules Updating Akharin Khunkitti*, Nuttachot Promrit** *Faculty of Information Technology, King Mongkut's Institute of

More information

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture Generic Architecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California,

More information

Bloom Filter for Network Security Alex X. Liu & Haipeng Dai

Bloom Filter for Network Security Alex X. Liu & Haipeng Dai Bloom Filter for Network Security Alex X. Liu & Haipeng Dai haipengdai@nju.edu.cn 313 CS Building Department of Computer Science and Technology Nanjing University Bloom Filters Given a set S = {x 1,x 2,x

More information

Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables

Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables Disjoint Superposition for Reduction of Conjoined Prefixes in IP Lookup for Actual IPv6 Forwarding Tables Roberto Rojas-Cessa, Taweesak Kijkanjanarat, Wara Wangchai, Krutika Patil, Narathip Thirapittayatakul

More information

Scalable Packet Classification for IPv6 by Using Limited TCAMs

Scalable Packet Classification for IPv6 by Using Limited TCAMs Scalable Packet Classification for IPv6 by Using Limited TCAMs Chia-Tai Chan 1, Pi-Chung Wang 1,Shuo-ChengHu 2, Chung-Liang Lee 1,and Rong-Chang Chen 3 1 Telecommunication Laboratories, Chunghwa Telecom

More information

DBS: A Bit-level Heuristic Packet Classification Algorithm for High Speed Network

DBS: A Bit-level Heuristic Packet Classification Algorithm for High Speed Network 9 15th International Conference on Parallel and Distributed Systems : A Bit-level Heuristic Packet Classification Algorithm for High Speed Network Baohua Yang *,, Xiang Wang, Yibo Xue, and Jun Li, * Dept.

More information

Scalable Enterprise Networks with Inexpensive Switches

Scalable Enterprise Networks with Inexpensive Switches Scalable Enterprise Networks with Inexpensive Switches Minlan Yu minlanyu@cs.princeton.edu Princeton University Joint work with Alex Fabrikant, Mike Freedman, Jennifer Rexford and Jia Wang 1 Enterprises

More information

Rule Caching in Software- Define Networkings. Supervisor: Prof Weifa Liang Student: Zhenge Jia, u Date of presentation: 24 th May 2016

Rule Caching in Software- Define Networkings. Supervisor: Prof Weifa Liang Student: Zhenge Jia, u Date of presentation: 24 th May 2016 Rule Caching in Software- Define Networkings Supervisor: Prof Weifa Liang Student: Zhenge Jia, u5433077 Date of presentation: 24 th May 2016 Background Related Work System Model CONTENT Wildcard Rule Caching

More information

HIGH-PERFORMANCE PACKET PROCESSING ENGINES USING SET-ASSOCIATIVE MEMORY ARCHITECTURES

HIGH-PERFORMANCE PACKET PROCESSING ENGINES USING SET-ASSOCIATIVE MEMORY ARCHITECTURES HIGH-PERFORMANCE PACKET PROCESSING ENGINES USING SET-ASSOCIATIVE MEMORY ARCHITECTURES by Michel Hanna B.S., Cairo University at Fayoum, 1999 M.S., Cairo University, 2004 M.S., University of Pittsburgh,

More information

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture EECS : Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley,

More information

Tree-Based Minimization of TCAM Entries for Packet Classification

Tree-Based Minimization of TCAM Entries for Packet Classification Tree-Based Minimization of TCAM Entries for Packet Classification YanSunandMinSikKim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington 99164-2752, U.S.A.

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

THE rapid growth of Internet traffic requires routers to

THE rapid growth of Internet traffic requires routers to 784 IEEE TRANSACTIONS ON COMPUTERS, VOL. 59, NO. 6, JUNE 2010 Priority Tries for IP Address Lookup Hyesook Lim, Member, IEEE, Changhoon Yim, Member, IEEE, and Earl E. Swartzlander, Jr., Fellow, IEEE Abstract

More information

Optimized Paging Cache Mappings for efficient location management Hyun Jun Lee, Myoung Chul Jung, and Jai Yong Lee

Optimized Paging Cache Mappings for efficient location management Hyun Jun Lee, Myoung Chul Jung, and Jai Yong Lee Optimized Paging Cache Mappings for efficient location management Hyun Jun Lee, Myoung Chul Jung, and Jai Yong Lee Abstract Cellular IP maintains distributed cache for location management and routing purposes.

More information

ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing

ITTC High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing High-Performance Networking The University of Kansas EECS 881 Packet Switch I/O Processing James P.G. Sterbenz Department of Electrical Engineering & Computer Science Information Technology & Telecommunications

More information

Configuring ACLs. ACL overview. ACL categories. ACL numbering and naming

Configuring ACLs. ACL overview. ACL categories. ACL numbering and naming Contents Configuring ACLs 1 ACL overview 1 ACL categories 1 ACL numbering and naming 1 Match order 2 ACL rule numbering 3 Implementing time-based ACL rules 3 IPv4 fragments filtering with ACLs 3 Flow templates

More information

Stochastic Pre-Classification for SDN Data Plane Matching

Stochastic Pre-Classification for SDN Data Plane Matching Stochastic Pre-Classification for SDN Data Plane Matching Luke McHale, C. Jasson Casey, Paul V. Gratz, Alex Sprintson Presenter: Luke McHale Ph.D. Student, Texas A&M University Contact: luke.mchale@tamu.edu

More information

Network Verification Using Atomic Predicates (S. S. Lam) 3/28/2017 1

Network Verification Using Atomic Predicates (S. S. Lam) 3/28/2017 1 Network Verification Using Atomic Predicates 1 Difficulty in Managing Large Networks Complexity of network protocols o unexpected protocol interactions o links may be physical or virtual (e.g., point to

More information

Multi-pattern Signature Matching for Hardware Network Intrusion Detection Systems

Multi-pattern Signature Matching for Hardware Network Intrusion Detection Systems This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE GLOBECOM 5 proceedings. Multi-pattern Signature Matching for Hardware

More information