MTCLASS: Enabling statistical traffic classification of multi-gigabit aggregates on inexpensive hardware
Francesco Gringoli, Lorenzo Nava, Alice Este, Luca Salgarelli · 2012
Traffic classification on high-speed, multi-Gb/s links has up to now been demonstrated on complex Linux setups using multi-queue Ethernet cards, thread affinity, zero-copy buffers and specialized socket types. Although these approaches do work in principle, the complexity of the involved networking system ends up consuming almost all computational resources to pass packets between kernel and user space, leaving no CPU time to run any actual statistical classification algorithm. In this paper we present a new approach that harnesses a lightweight and inexpensive NetFPGA/1G to group incoming packets in jumboframes so that almost all CPU cycles of a commodity PC running a stock Linux kernel can be dedicated to run a statistical traffic classification algorithm. Experimental results show that our inexpensive setup can execute Support Vector Machine traffic classification in real time to aggregates of up to 7.44M pps. We make MTCLASS' source code available to the community under an open source license.