Comparative evaluation of Recursive Dimensional Cutting Packet Classification , DimCut , with Analysis

an infinitely expanding number of network appliances are utilising packet classifiers to fulfil Quality of Service, security, and traffic engineering tasks. Packet classification is an important role of firewalls and routers. Internet firewalls, routers an d service providers perform different operations at different flows. All the packets have to be classified methodically for emerging broadband internet services, and applications such as Internet TV/Radio, gaming, Video on Demand (VoD) and e-businesses, which are in perpetual demand for a higher degree of transmission bandwidth, complex security, and specific Quality of Service (QoS). This paper presents a comparative evaluation packet classification of algorithms, HiCut, based on a decision tree structure, and the Recursive Dimensional Cutting (DimCut). The comparison has been conducted on operations based on similar principles and design choices. Performances measurements have been obtained by placing the implemented classifiers in the same test conditions scenario. In particular, the comparison aims at achieving a good arrangement between performance, memory usage and flexibility. The Recursive Dimensional Cutting (DimCut) is the extension of HiCut algorithm with new heuristics ideas, implementing techniques and parallel programming features which classify packets while retaining HiCut’s basic framework. After testing the DimCut algorithm, for classifying packets based on five header fields, it is observed that the algorithm can classify packets rapidly. The DimCut algorithm has two separated levels, pre-processing level (tree construction and making index table) and search level. Keywords— Firewalls; Rules; Packet Classification; Partitioning; Evaluation; DimCut INTRODUCTION Internet traffic comprises of an ordered sequence of packets, where every packet consists of header and data. The data in each packet contains a fraction of the large set of data which has been branched into packets at the source, that later get assembled into the original data when reaching the destination. The main function of a firewall is to inspect and decide about the network traffic in accordance with the security policy. The security policy system clarifies how to process the network traffic. Normally, the security policy and rules are entered manually by a system administrator to specify an action for traffic flows, and defines how to process the traffic [1]. A packet classifier must compare header fields of every incoming packet against a set of rules with the purpose of assign a flow identifier that is applied in security policies [2][3][4]. Providing enhanced data structures, assigning priorities to rules to avoid conflicting and multiple matches, and pre-processing the Rule Base, have been some of the common techniques used by various researchers to improve the algorithms [5]. The basic difficulty of packet classification are large number of rules (size of rule set), growing network traffic (traffic intensity) and large dimensionality of the packet attributes data base (large item sets) [6][7][8][9][10][11][12]. Through this paper, our objective is to modify the existing packet classification system, based on heuristic method, to reach a faster packet classification system and providing a comparative evaluation. It results in a more appropriate and reasonable performance with a logical benchmark. OpenMP [13] (Open Multi-Processing) is well-thought-out as an execution of multithreading. The threads run parallel with the runtime environment, assigning threads to varied processors. We have used the OpenMP API commands and functions that support C programing language to implement the DimCut and have attempted to forward a new algorithmic technique to solve the packet classification problems. In this paper we explain briefly our previous proposed DimCut packet classification algorithm and compare it with the HiCut decision tree-based packet classification algorithm, upon which the DimCut is based. The suggested improvements have been validated through simulated trials [2][14]. Hediyeh AmirJahanshahi Sistani et al. / International Journal of Computer Science & Engineering Technology (IJCSET) ISSN : 2229-3345 Vol. 5 No. 02 Feb 2014 80 The present study paper is organized as follows. Section One contains the various algorithms studied to capture the basic ideas, as each one has its own advantages and disadvantages. Section Two explains and studies the HiCut and DimCut algorithms. Section Three deals with the implementation objectives and the directions followed to develop the software. Section Four provides the results of the comparative evaluation on the concerned work, and also analyses the results of our experiments and findings. Section Five provides the final conclusive remarks. I. RELATED WORK In the multidimensional packet classification, trade memory is used for better speed and performance. When the number of rules increases, the result is poor, either towards search time or memory usage. Researchers have been attempting to solve these problems in industrial and academic areas [6] and [15]. The packet classification problem still remains a vital challenge in network processing [6][11][15][16][17][18]. A considerable survey on packet classification algorithms is found in the “Survey & Taxonomy of Packet Classification Techniques” paper [5]. The authors, Srinivasan, Varghese, Suri, and Waldvogel, have recommended the Grid-of-Tries and CrossProducting algorithms for packet classification. The data structure of ‘Grid of Tries’ algorithm is extended to two fields, and uses a decision tree for packet classification on source and destination address prefixes. The authors suggest the CrossProducting solution for multiple fields and bigger classifiers, and also propose a caching technique with the non-deterministic classification time [11]. Baboescu, Singh, and Varghese are researchers who have proposed Extended Grid-of-Tries (EGT) which essentially sustains multiple fields. It is important to note that the EGT alters the switch pointers to become jump pointers that maneuver the search to all feasible matching filters, rather than the filters with the longest matching destination and source address prefixes [19]. Feldman and Muthukrishnan have developed independent field searches on Fat Inverted Segment (FIS) Trees. It provisions a geometric view of the rule set and maps rules in d-dimensional space [18]. Packet classification, when viewed geometrically, uses the construction of data structures and representation of rules. The preprocessing of rule sets uses the strategy of cutting, or projecting, of the multi-dimensional space. The rule set is partitioned and regrouped, so that a packet can quickly identify a reduced rule set that includes the matching rule. Woo’s modular packet classification, Multidimensional Cuttings (HyperCut) and Hierarchical Intelligent Cuttings (HiCut), utilizes this approach in algorithms [2][3][19]. The recursive flow classification (RFC) algorithm is competent in reducing the storage. It has been observed that the storage is reduced, while maintaining the high throughput even for larger filter sets. These recommended tradeoffs should be maintained to obtain better performance [11][17]. There is also a packet classification algorithm that uses the tuple space search technique to expresses a Tuple as a pair of prefix lengths, where one hash table stores the filters that belong to one same tuple [20]. The lookup implementation for tuple space techniques differs significantly. Lookups in individual tuple can be conducted through a simple hash table [2]. The bit vector search algorithm [12] is based on a set of rules which matches a packet in a dimension. The characteristics of this technique is that, the packet header can be split into substring and matched with a subset of rules, whose intersection will give a rule to match the whole packet header. Baboescu and Varghese had proposed the Aggregated Bit-Vector (ABV) algorithm that helped to improve the performance function of the Parallel BV technique [12][21]. Every technique possesses some shortcomings, positive and negative aspects, extensions and limitations. To achieve a decent performance, the algorithm has to be designed to combine all methods, useful characteristics and also utilize the time-space tradeoff well. Many researches have analyzed and explained the problems of packet classification, and several solution algorithms have been proposed, but it still remains a problem, especially for emerging services, which eventually increases the number of classification rules, classification packets and bandwidth [1][22]. II. HICUT AND DIMCUT ALGORITHMS A. HiCut Gupta and McKeown have introduced a packet classification algorithm called Hierarchical Intelligent Cuttings (HiCut) [2]. The concept of “cutting” comes from viewing the packet classification problem geometrically. HiCut preprocesses the rule set in order to build a decision tree with leaves containing a small number of rules delimited by a threshold. Packet header fields are used to traverse the decision tree until a leaf is reached. The rules stored in that leaf are then linearly searched for a match. HiCut uses of only four fields (dimension) to construct the decision tree. The algorithm uses various heuristics to select decision principles at each node that minimize the depth of the tree while controlling the amount of memory used. The number of cuts Hediyeh AmirJahanshahi Sistani et al. / International Journal of Computer Science & Engineering Technology (IJCSET) ISSN : 2229-3345 Vol. 5 No. 02 Feb 2014 81 is determined by the local cutting situation and a configurable space measure factor, spmf. The largest possible number of cuts is taken as long as the following inequality is satisfied. spmf * number of rules at node r ≥ ∑ number of rules at each child of node r + number of cuts Apart from the number of cuts, the dimension to cut along ea