Performance Evaluation of Cutting Algorithms
for the Packet Classification in Next Generation
Networks
Ganesh R. Kendre1, Prof. Vinod S. Jadhav2
Abstract---Packet classification plays an important role in both edge and core routers to provide advanced network services. Packet classification means categorizing the packet into different flows based on one or more fields in its header. It has been extensively employed in the Internet for secure filtering and service differentiation by administrators to reflect policies of network operations and resource allocation. Using pre-defined rules the incoming packets can be categorized that determines to which forwarding class a packet belongs. Packet classification is essentially a problem of multidimensional range matching. In this paper we have been evaluating the performance of (Hierarchical intelligent cutting and Multidimensional cutting) algorithms on network simulator NS2.35. However, very limited work has been done to provide the network simulation based on these algorithms.
The main objective of this report is to implement and evaluate the performance of the cutting algorithms which will fulfill the requirements of multimedia services including VoIP and VoD, network security, network virtualization, including video conferencing which have strict quality of service (QoS) requirements this QoS is depending on Throughput, Storage, Energy and Time Delay between the nodes.
Keywords---video on demand (VoD), voice over IP, Video conferencing, Quality of Service, Resource allocation.
I. INTRODUCTION
Packet classification means grouping of the packet into distinct flows based on one or more fields in its header. Data sent or received over a public network such as theinternet are grouping intoflows, where each flow is an ordered chain of packets, these flows, or classes, are specified by a classifier.
A classifier consist of bunch of filters or known as rules and each rule in a firewall could specify a set of source and destination addresses, and associate a corresponding „deny‟ or „permit‟ action with it.
Manuscript received July, 2015.
Mr.Ganesh Kendre, Electronics and telecommunication Department,Maharashtra Institute of Technology Pune. India.
A packet consists of a header and the data that should be transfer. In the header of thepacketcontaindifferent informationwhich is stored in a number of fields. The Internet is comprised of a mesh of routers interconnected by links. Communication among nodes on the Internet (routers and end-hosts) takes place using the Internet Protocol, commonly known as IP. IP datagram‟s (packets) travel over links from one router to the next on their way towards their final destination. Each router performs a forwarding decision on incoming packets to determine the packet‟s next-hop router.
The capability to forward packets is a requirement for every IP router. Additionally, an IP router may also choose to perform special processing on incoming packets. Such special processing requires that the router should classify incoming packets into one of several flows, all packets of a flow obey a pre-defined rule and are processed in a similar manner by the router.
Packet classification needs to provide better Quality of Multimedia Services and Network operations over the internet, so that QoS is the main driving factor, this QoS depends on the various parameters such as throughput, storage, energy and time delay between the nodes, for this Quality of Service requirement the algorithms such as Hi-Cut (Hierarchical intelligent Cutting) have been used in the network.
To achieve high Quality of Service the Multidimensional CuttingAlgorithm (MCA) has been introduced in this paper. The results of Hi-Cut algorithms are compared with the results of MCAalgorithm and rest of this paper is organized as followsSection II describes the Hierarchical Cutting algorithm Section III describes the Multidimensional Cutting Algorithm Section IV describesSimulations and Results, Section Vconcludes paper.
PACKET CLASSIFICATION BLOCK DIAGRAM
Fig: 1.1 Packet Classification Block Diagram
Packet classification is the process of classifying incoming packets in terms of flow from source to destination. Above Fig1.1 shows a basic classification module in the core router, in this process the incoming packets are arrive at packet interface from source. It is also called as the basic message data type assessors. The token bucket is an algorithm used in packet switched computer networks and Tele-communications networks. It can be used to check the transmission of data packets, conform to define limits on bandwidth i.e. (a measure of the unevenness or variations in the traffic flow). Token bucket can also be used as a scheduling algorithm to estimate the timing of transmissions that will follow the limits set for the bandwidth. The queue is used for the scheduling purpose the packet are transferred from token bucket are collected in queue and send to the destination node in form of FIFO, at the classification block the desired algorithm are implemented to forward the incoming packet in term of flow with efficient bandwidth and quality of service.
PACKET CLASSIFICATION FLOW CHART
The below figure shows the flow chart of packet classification in that chart first the packet is arrived at classifier and the pointer value for the specific destination node is generated. If the node is pointed to leaf node then the incoming packet is compared with node rule table depending on that the appropreate action is taken and finally the ID is attahced to the packet.
Fig 1.2: Packet Classification Flow Chart
II. HIERARCHICAL INTELLIGENT CUTTING ALGORITHM
This section is motivated by the observation that an algorithm capable of adapting its data structure based on the characteristics of the classifier may be better suited for exploiting the structure and redundancy in the classifier. One of the classification algorithm called Hi-Cuts (Hierarchical Intelligent Cuttings) is proposed in this section.
[image:2.612.72.294.69.247.2]Algorithm:
Hi-Cut is one of the first decision tree-based packet classification algorithm. It takes 2D geometric view of the packet classification problem. Consider a k-dimensional geometric search space where k is the number of header fields involved in filters, each filter defines a hyper cube and each packet header defines a point in this multidimensional space.
The decision tree algorithm repetitively cuts the geometric space into smaller sub-regions, one dimension at per step. Each sub-region ends up with fewer overlapped hyper cubes which to a point allow a low cost linear search to find the best matched filter. Based on the packet header value, the algorithm follows the cutting sequence to locate the target sub-region (i.e. a leaf node in the decision tree) and then performs a linear search on such hyper cubes that overlap this sub-region.
Figure 2.1 shows a two-dimensional classifier that has 5 rules. The solid black boxes in the figure represent rules. The classification space is cut into subspaces, where each subspace contains 2 rules or nothing, that is, a bucket size of 2. The bucket size is the maximum number of rules a subspace can contain with no need to divide it further.
At first step, cuts are made along the x-axis to generate 4 sub-regions.At the following steps, we choose two of these sub-regions to cut along the y-axis and x-y-axis, respectively. In below structure each sub-region overlaps ≤ 2 rectangles. If we decided it is affordable to do a linear search on at most 2 filters, then we need to stop cutting the space further. The final decision tree is shown below.
[image:3.612.345.518.40.186.2]The number of nodes in decision tree and the number of stored filters determines the storage of the algorithm data structure, the depth of the decision tree and the number of filters in the leaf nodes determines throughput.
Fig 2.1 : Geometric view of 2D classifier for five Ruleswith binth of two (for Hi-cut)
Rule X-Range Y-Range
R1 15-64 210-245
R2 155-185 90-230
R3 128-158 0-255
R4 0-255 30-120
[image:3.612.325.541.231.429.2]R5 15-113 15-172
Table No 1: Filter ranges for 2D Classifier (1) filter set of five Rules
Fig 2.2:Geometric view of 2D classifier for eleven Rules with binth of three
Rule X-Range Y-Range
R1 110-130 93-127
R2 60-90 93-127
R3 0-255 224-255
R4 0-30 0-255
R5 130-255 127-255
R6 110-130 0-255
R7 30-60 0-127
R8 0-255 93-127
R9 110-120 194-224
[image:3.612.322.540.474.707.2] [image:3.612.80.271.536.670.2]R10 15-30 127-255
[image:4.612.69.291.40.88.2]R11 185-255 0-127
Table No 2: Filter ranges for 2D Classifier (2) filter set ofEleven Rules
Hi-Cuts builds a decision tree data structure (shown in Figure 2.3) such that the internal nodes contain suitable information to guide the classification algorithm, and the external nodes (i.e., the leaves of the tree) store a small number of rules.
[image:4.612.332.542.50.181.2]On receiving an incoming packet, the classification algorithm traverses the decision tree to arrive at a leaf node. The algorithm then searches the rules stored at the leaf node successively to determine the best matching rule. The tree is constructed in such a way that the total number of rules stored in a leaf node is bounded by a small number, which we call binth (for „bin-threshold‟) or it also called as bucket size.
Fig 2.3: Decision tree construction of 2D classifier with Binth of two (Hi-Cut)
Figure 2.2 shows a geometric view of 2D classifier for eleven rules with the binth of three in that structure at first step, cuts are made along the x-axis to generate 8 sub-regions.At the following steps, we choose three of these sub-regions to cut along the y-axis because these sub-regions consist of more than three filters. In this structure each sub-region should overlaps ≤ 3 rectangles. If we decided it is affordable to do a linear search on at most 3 filters, then we need to stop cutting the space further. The final decision tree is shown below.
In decision tree construction the refinement such as node merging is used to reduce the child node that both have same rules in its leaf node and it also used to reduce the storage requirements to store these filters, such type of refinements are explained below.
Fig 2.4: Decision tree construction of 2D classifier with Binth of three (Hi-Cut)
ALGORITHM TO CHOOSE THE NUMBER OF CUTS TO BE MADE AT A NODE V
We are doing a binary search on the number of cuts to be made at node v.
Algorithm
n = numRules (v);/ here v is whole 2D space called as parent node
nump = max (4, sqrt (n)); /* starting value of number of partitions to make at this node */ where n is the number of rules and 4 represent default maximum partitions at node v(partitions must be even). for (done=0; done! = 0 ;)
{
/* assume that the current cut, C, has nump partitions.
Sm(C) = 0;
for each rule r in Colliding RuleSet (v) {
Sm(C) += number of partitions colliding with ruler;
}
Sm(C) += nump; if (sm(C) <spmf (n))
{ numP = numP * 2;/* increase the number of partitions */
}
else { done = 1;}
[image:4.612.75.278.299.436.2]HI-CUT FLOW CHART
Fig 2.5 : Flow Chart of Hi-Cut
Algorithm Refinements and Optimization
A number of refinements are made in the pre-processing algorithm in order to reduce the amount of storage that the Hi-Cuts structure takes.
1. Node Merging:
The first refinement is to merge nodes that have the same set of rules associated with them. For
example consider Figure 2.6 that shows how two nodes with the same rule list can be merged together
to one node. Before merge, two pointers called Aand B points to identical sub trees. After the merge, one of the sub trees is removed and the corresponding pointer points to the other sub-tree instead.
Fig 2.6: Node Merging
2. Redundancy Elimination:
[image:5.612.80.293.88.383.2]The next refinement is to remove redundancies in the decision tree. Rules can become redundant if the region made by a cut is covered by a higher priority rule. For an example of this consider Figure 2.7 that shows two different rules called R1 and R3. If R1 has higher priority than R3 then there is no reason to store R3 in the node, it will never be chosen since R1 covers the region in R3.
Fig 2.7: Redundancy Elimination
3. Child Node Reuse:
[image:5.612.336.527.327.454.2]Fig 2.8 : Child node reuse
III. MULTIDIMENSIONAL CUTTING
(MCA) ALGORITHM
MCA is a decision tree based algorithm. At each node in the decision tree, the set of current rules is split based on information from one or more fields in the rule. At each time a packet arrives, the decision tree is traversed based on information in the packet header to find a leaf node. A small number of matching rules that are stored in the leaf node are linearly traversed to find the highest priority rule that matches the packet. This basic structure is similar to the work in hierarchical cutting except for the possible use of two or more fields at each node.
Algorithm:
MCA is the next decision tree-based packet classification algorithm. It also takes the 2D geometric view of the packet classification problem. Consider a k-dimensional search space where k is the number of header fields present in packet filters. Each filter defines a hyper cube and each packet header defines a point in this multidimensional search space. The decision-tree construction algorithm repetitively cuts the search space into various smaller hyper cubes, on multiple dimensions per step.
The algorithm has similar to Hi-Cut with several differences. Firstly, it allows cutting on multiple dimensions per step rather than only one dimension. Second, it introduces several additional Refinements.The following figure illustrates an example of the decision-tree construction for a two dimensional filter set. On the plane are five rectangles, each representing a filter. At the first step, we give 3 cuts along the x-axis and 1cut along the y -axis to generate 8 regions in total. Only one sub-region overlaps more than 3 rectangles. At the next step, we cut this sub-region along the x-axis (shown
by yellow dash line). Now each sub-region overlaps ≤ 2 rectangles. If we decide It is affordable to do a
[image:6.612.337.526.76.242.2]linear search on at most 2 filters, we can stop cutting thespace further. The resulting decision tree is shown in figure 3.2.
Fig 3.1 : Geometric view of 2D classifier for five Rules with binth of two (for MCA)
Fig3.2: Decision tree construction of 2D classifier with Binth of two (for MCA)
Fig 3.3: Geometric view of 2D classifier for eleven Rules with binth of three (for MCA)
Figure 3.3 represents the geometrical view of 2D classifier with eleven rules in that structure decsion tree is constructed by cutting the whole search space,
255
255 2
at first step cuts are made on the X and Y dimension (shown by red dash line) to make equal size even number of partitions that is four child nodes are created, here if the binth criteria satisfy then the no further cuts are made. In above structure two nodes having greater than binth number of rules due to that further cuts made on these nodes which is called as second cut on X dimension (shown by blue dash line) to satisfy the binth condition, after that all the nodes are having ≤ binth number of rules and these nodes are the leaf of the resulting decesion tree shown in figure 3.4.
Fig 3.4: Decision tree construction of 2D classifier with Binth of three (for MCA)
BUILDING THE DECISION TREE
1. Pre-processing:
The pre-processing algorithm builds the decision tree based on the structure of the classifier. The cuts are made simultaneously in the chosen dimensions and the cuts are made at each level of the decision tree and recursively on the child nodes of that level, until the number of rules in each node is smaller than a predetermined value called bucket Size. No cuts are made in a node with less than bucket Size (binth) rules and that node becomes a leaf of the decision tree.
2. Choosing the dimensions:
Choosing the dimensions to cut on in a node is done in the pre-processing algorithm and it can be done in a number of different ways based on a
trade-off between the depth of the decision tree that will be constructed and the amount of storage that is available.
i. The first way is to choose the dimensions with the largest number of unique rules.
ii. The second way is to choose the dimensions for which the number of unique rules is greater than the mean of the number of unique rules for all the dimensions.
[image:7.612.88.280.199.376.2]MCA FLOW CHART
Fig 3.5: Flow chart of MCA
Algorithm Refinement
[image:7.612.328.550.244.587.2]1. Pushing Common Filter Upwards
[image:8.612.340.544.40.223.2]If all the child nodes share the same subset of filters, then the parent node can hold these filters to avoid the filter duplication. The proposed implementation is toperform a bottom-up traversal of the decision tree after the tree has been constructing. The set of filters shared by all the child nodes is pushed up to the parent node.
Fig 3.6 : Filter Pushing
Theabove figure shows an example of this refinement, four partitions are made on the parent node and R2is in all the child nodes. In such a case, R2 can be held in theParent node. Note that by doing so, thethroughputperformance does not change, although the individual time delay could alter, depending on the search order on the filters stored along thesearching path, this refinement is used in tree formation of Multidimensional cutting algorithm.
IV. SIMULATIONS AND RESULTS
Figure 4.1 Decision tree for Hi-Cut Classifier (1)
[image:8.612.76.278.172.282.2]Figure 4.2 Decision tree for MCA Classifier (1)
[image:8.612.76.287.434.580.2]Figure 4.3 Decision tree for Hi-Cut Classifier (2)
Figure 4.4 Decision tree for MCA Classifier (2)
[image:8.612.340.542.484.660.2]Fig 4.5 Energy for Hi-Cut tree for Classifier (1)
[image:9.612.327.560.56.237.2]Fig4.6 E-E Delay for Hi-Cut tree for Classifier (1)
[image:9.612.76.306.239.417.2]Fig 4.7 Throughput for Hi-Cut tree for Classifier (1)
Fig 4.8 Energy for MCA tree for Classifier (1)
Figure 4.9 E-E Delay for MCA tree for Classifier (1)
[image:9.612.76.306.473.629.2] [image:9.612.334.567.494.664.2]Fig 4.11 Energy for Hi-Cut tree for Classifier (2)
[image:10.612.327.579.53.208.2]Fig4.12 E-E Delay for Hi-Cut tree for Classifier (2)
Fig 4.13 Throughput for Hi-Cut tree for Classifier (2)
[image:10.612.86.300.480.661.2]Fig 4.14 Energy for MCA tree for Classifier (2)
Fig 4.15 E-E Delay for MCA tree for Classifier (2)
Fig 4.17 Rule Storage for Decision Tree.
V. CONCLUSION
From the results it can be conclude that the Multidimensional Cutting Packet Classification algorithm reduces the depth of the decision tree and number of leaf nodes in the decision tree as compared to Hi-Cut Decision tree in both the classifiers, due to that the Throughput is incresed, End to End delay between the node is reduced and Energy required by the MCA Decision tree nodes is slightly minimized than the Hi-Cut Decision tree nodes. The Multidimensional Cutting Algorithm in both the Classifier_1 and Classifier_2 works efficiently the internal nodes of Hi-Cut Decision tree are more than MCA Decision tree. The MCA Performance is better than the Hi-cut in all aspects, it also reduces the rule storage requirements by using refinements like rule shifting etc. Therefore from the above results it can be conclude that the MCA have better performance to provide best Quality of Service requirements in the Next Generation Networks.
REFERENCES
[1]. Hyesook Lim, Nara Lee, Geumdan Jin, Jungwon Lee, Youngju Choi and Changhoon Yim, “Boundary Cutting for Packet Classification”, IEEE/ACM Transactions on Networking, Vol.2, No.2 April 2014, Korea.
[2]. Haoyu Song, Jonathan S. Turner “ABC: Adaptive Binary Cuttings for Multidimensional Packet Classification”, IEEE/ACM Transactions on Networking, Vol. 21, No. 1, February 2013, USA. [3]. Fatin G. Sabbagha, Yang Li “Simulation of IP Packet
Classification on Network Simulator (NS2)”, Department of Computer Sciences and Engineering, Michigan State University, February 2012.
[4]. Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar “Effi-Cuts: Optimizing Packet Classification for Memory and Throughput”August30, SIGCOMM 2010, New Delhi, India.
[5]. JosefineAhl “A new Cutting Algorithm for the Packet Classification”, Lulea University of Technology, May 2008.
[6]. Motasem Aldiab, Emi Garcia-Palacios, Damy Crookes and Sakir Sezer “Packet Classification by Multilevel Cutting of the Classification Space: An Algorithmic-Architectural Solution for IP Packet Classification in Next Generation Networks”, Journal of Computer Systems, Networks, and Communications, Volume 2008, Article ID 603860, 14 pages, 14 September2008. [7]. Pankaj Gupta and Nick McKeown, “Packet