Abstract
Packet classification is a key building block of many network services, such as Quality of Service and network security. These network services require packet classification to be as fast as possible while using less memory and supporting scalability. Moreover, software-defined networking switches pose new challenges to packet classification in terms of the high dimensionality and large scale of rulesets. In this paper, we propose a new solution called MBitTree, which includes two major improvements over existing decision tree algorithms. First, we introduce a new ruleset partitioning technique to achieve adaptive and fast ruleset partitions. Second, a new multi-bit cutting scheme is used to build short trees while rarely causing rule replication. MBitTree can provide high classification speed and has good scalability. Experimental results show that compared to CutSplit, MBitTree achieves up to 6.8 times less memory consumption, as well as up to 1.7 times reduction on the number of memory accesses. Additionally, we implement the prototype of MBitTree on an FPGA, and the implementation results show that our approach can achieve more than 100 Gbps throughput for 10K rulesets and can handle over 100K rulesets on NetFPGA.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have