10.25417/uic.12481496.v1 Marco Montagna Marco Montagna Packet Classification Using Growing Hierarchical Self-Organized Map University of Illinois at Chicago 2019 Neural Network Packet Classification MATLAB Self-Organized Map (SOM) Growing Hierarchical Self-Organized Map (GHSOM) Software-Defined Networking (SDN) 2019-08-01 00:00:00 Thesis https://indigo.uic.edu/articles/thesis/Packet_Classification_Using_Growing_Hierarchical_Self-Organized_Map/12481496 The main goal of this thesis titled ”Packet Classification using Growing Hierarchical Self- Organizing Map” is to validate the possibility of using a new approach for a well know problem. The core idea is to present a possible implementation of a Growing Hierarchical Self-Organized Map (GH-SOM) for use in packet classification in the context of software-defined networking (SDN). SDN applications are characterized by frequent network configuration updates on-the-fly and a large number of rules thereby requiring a highly flexible packet classification mechanism. Moreover, as network bandwidths continue to grow, a high-performance packet classification is imperative. Today’s technology adopted for packet classification does not scale well in throughput and power consumption as number of rules increase. The main change proposed in this implemen- tation is to move all the complexity to an offline phase, train a modeled neural network and exploit its properties to provide a more efficient solution for packet classification during run time. Different input space and different parameters have been tested for training the network; multiple simulations have been performed in order to find the best solution to this problem. The work proposed consists of a trained neural network that classifies the rules of a given data-set, then input packets are applied and rule with highest priority is determined. Multiple simulation has been carried out for finding the best feature map for the different layer of the GH-SOM structure, in order to provide the best accuracy in every application. The MATLAB code was designed to give the possibility to the designer to easily adjust the training parameters of the neural network in order to provide a general implementation of the structure which can be adapted in multiple situations.