Literature on the use of machine learning (ML) algorithms for classifying IP traffic has relied on fullflows or the first few packets of flows. In contrast, many real-world scenarios require a classification decision well before a flow has finished even if the flow’s beginning is lost. This implies classification must be achieved using statistics derived from the most recent N packets taken at any arbitrary point in a flow’s lifetime. We propose training the classifier on a combination of short sub-flows (extracted from fullflow examples of the target application’s traffic). We demonstrate this optimisation using the Naïve Bayes ML algorithm, and show that our approach results in excellent performance even when classification is initiated mid-way through a flow with windows as small as 25 packets long. We suggest future use of unsupervised ML algorithms to identify optimal subflows for training.
Thuy T. T. Nguyen, Grenville J. Armitage