Network packet classification is important network kernel function to enables various network services such as Quality of Service (QoS), security and resource reservation. The OpenFlow protocol is the responsible of the packet classification, it uses a set of rules called ruleset, each rule in that rule set contain a set of matching fields. With the rapid growing of rulesets size and rule fields numbers in the modern networks, it became so difficult to classify incoming packets at reasonable speed using the classical packet classification techniques. Many modern software-based classification solutions have been proposed to accelerate packet classification in additional to hardware-based solutions. In general, to design packet classification algorithm, it is important to strike a balance between high throughput and low memory requirements. This paper proposes an R-tree based parallel many-field packet classification technique using multi-threading to classify packet into the flow it belongs to; Multi-threading has been employed to accelerate packet classification by introduce a parallelism packet classification scheme. Two main algorithms that represent the main two parts of the proposed technique have been described, first algorithm describes how to constructing R-tree from the corresponding ruleset, and the other algorithm describes the R-tree querying in parallel manner. The performance of the proposed technique has been evaluated with consideration of throughput, latency, and memory access by testing the proposed many-fields packet classification algorithms on Class-Bench rulesets. Experiment results showed that the proposed parallel query algorithm can classify packets with very good throughput, latency, and memory access compared with other many-fields packet classification solutions.
[1]
Viktor K. Prasanna,et al.
400 Gbps energy-efficient multi-field packet classification on FPGA
,
2014,
2014 International Conference on ReConFigurable Computing and FPGAs (ReConFig14).
[2]
Anand Rangarajan,et al.
Algorithms for advanced packet classification with ternary CAMs
,
2005,
SIGCOMM '05.
[3]
George Varghese,et al.
Scalable packet classification
,
2001,
TNET.
[4]
Stephan Wong,et al.
Hashing Functions Performance in Packet Classification
,
2007
.
[5]
Mohan Lal Jangir,et al.
EQC16: An optimized packet classification algorithm for large rule-sets
,
2014,
2014 International Conference on Advances in Computing, Communications and Informatics (ICACCI).
[6]
Jianhua He,et al.
Modeling Contention Based Bandwidth Request Scheme for IEEE 802.16 Networks
,
2007,
IEEE Communications Letters.
[7]
George Varghese,et al.
Packet classification using multidimensional cutting
,
2003,
SIGCOMM '03.
[8]
Marios Hadjieleftheriou,et al.
R-Trees - A Dynamic Index Structure for Spatial Searching
,
2008,
ACM SIGSPATIAL International Workshop on Advances in Geographic Information Systems.
[9]
Venkatachary Srinivasan,et al.
Packet classification using tuple space search
,
1999,
SIGCOMM '99.
[10]
Subhash Suri,et al.
Space Decomposition Techniques for Fast Layer-4 Switching
,
1999,
Protocols for High-Speed Networks.
[11]
Srinivasan,et al.
Efficient Packet Classification using Splay Tree Models
,
2006
.
[12]
Hyesook Lim,et al.
Hierarchical Binary Search Tree for Packet Classification
,
2007,
IEEE Communications Letters.
[13]
George Varghese,et al.
Scalable packet classification
,
2001,
SIGCOMM 2001.