CARR: a Scalable Solution for Network Packet Classification.

Wei Li,Weibin Zheng,Juanjuan Lin,Xiaohong Guan,Ling Li,Sohail S. Chaudhry,Pan Wang,Yanping Liu
DOI: https://doi.org/10.1111/j.1468-0394.2010.00563.x
IF: 3.3
2010-01-01
Expert Systems
Abstract:Modern Internet routers have to handle a large number of packet classification rules, which requires classification schemes to be scalable both in time and space. In this paper, we present a scalable packet classification algorithm that is developed by combining two new concepts to the well-known bit vector (BV) scheme. We propose a range search method based on a cache-aware tree (CATree) which makes full use of processor's cache line to reduce the number of dynamic random access memory (DRAM) accesses. Theoretically, the number of DRAM accesses of CATree is about log(m + 1) times lower than that of the widely used binary search algorithm, where m is the number of keys in a single cache line. Based on our computational results on a set of 1024 keys, the CATree algorithm is 36% faster than binary search algorithm and the performance is better when applied to a larger set of keys. In addition, we develop a rule re-arrangement algorithm to reduce the bitmap space of BV. With this rearrangement, the rules for the same action may be assigned an identical priority. This reduces the number of priorities as well as the memory space of the bitmap. Furthermore, this also reduces the number of memory accesses and hence, increases the CPU cache utilization. With CATree and rule re-arrangement, the cache-aware bit vector with rule re-arrangement algorithm achieves better performance in comparison with the regular BV scheme, both in space and time. In our experiments, the proposed algorithm reduces the bitmap memory space of a practical set of firewall rules by two orders of magnitude and is 91% faster than the regular BV.
What problem does this paper attempt to address?