# Traffic Classification in Software-Defined Networking Using Genetic Programming Tools
## 2 Material and Methods
### Proposed Approach
#### 2.2.1 The Dataset  
The used dataset, that is 'SDN-traffic', was obtained from the Kaggle platform. This dataset was created by gathering data of an SDN architecture and made available by ([PERSON], 2019). It includes traffic data for an SDN network. It consists of 4234 records and 65 features stored in a CSV file describing the data traffic of six different network applications, namely DNS, WWW, FTP, P2P, ICMP, and VoIP. The features included the flow ID, the source and destination IP address, the source and destination port, the transport layer protocol, and other traffic characteristics collected by OpenFlow counters. The detailed list of the features has been visualized in Table 2. This particular dataset was selected due to its real nature, diversity, and richness, which enables it to effectively identify various traffic behaviors.  
The distribution of used applications included in the dataset has been listed in Table 3. From Table 3, it became apparent that WWW is carrying the majority of data traffic, while FTP and DNS protocols convey the lowest portion of traffic. By classifying network traffic into categories per application type, we aim to enhance network performance. The SDN controller, being aware of the running applications (or protocols) and their requirements, can make informed decisions about network, resource, and data traffic management.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Features** & **Description** & **Features** \\ \hline forward\_pl & Package size in bytes & reverse\_pl \\ forward\_piat & Packet arrival interval in seconds & reverse\_piat \\ forward\_pps & Packet per second & reverse\_pps \\ forward\_pps & Bytes per second & reverse\_pps \\ forward\_pl\_mean & Average packet size in bytes & reverse\_pl\_mean \\ forward\_piat\_mean & Average packet arrival interval in seconds & reverse\_piat\_mean \\ forward\_pps\_mean & Average number of packets per second & reverse\_pps\_mean \\ forward\_pps\_mean & Average number of bytes per second & reverse\_pps\_mean \\ forward\_pl\_var & Variance of packet size in bytes & reverse\_pl\_var \\ forward\_piat\_var & Variance of packet arrival interval in seconds & reverse\_piat\_var \\ forward\_pps\_var & Variance of the number of packets per second & reverse\_pps\_var \\ forward\_pps\_var & Variance of the number of bytes per second & reverse\_pps\_var \\ forward\_pl\_q1 & 1 st quartile of packet size in bytes & reverse\_pl\_q1 \\ forward\_pl\_q3 & 3 rd quartile of packet size in bytes & reverse\_pl\_q3 \\ forward\_piat\_q1 & 1 st quartile of the packet arrival interval in seconds & reverse\_piat\_q1 \\ forward\_pl\_q3 & 3 rd quartile of the packet arrival interval in seconds & reverse\_piat\_q3 \\ forward\_pl\_max & Maximum packet size in bytes & reverse\_pl\_max \\ forward\_pl\_min & Minimum packet size in bytes & reverse\_pl\_min \\ forward\_pl\_max & Maximum packet arrival interval in seconds & reverse\_piat\_max \\ forward\_piat\_min & Minimum packet arrival interval in seconds & reverse\_piat\_min \\ forward\_piat\_min & Minimum packet arrival interval in seconds & reverse\_pps\_max \\ forward\_pps\_max & Maximum number of packets per second & reverse\_pps\_min \\ forward\_pps\_min & Maximum number of bytes per second & reverse\_pps\_min \\ forward\_pps\_max & Maximum number of bytes per second & reverse\_pps\_max \\ forward\_pps\_min & Minimum number of bytes per second & reverse\_pps\_min \\ forward\_duration & Duration & reverse\_duration \\ forward\_size\_packets & Size of packets & reverse\_size\_packets \\ forward\_size\_bytes & Size of bytes & reverse\_size\_bytes \\  & Application type & Category \\ \hline \hline \end{tabular}
\end{table}
Table 2: A subset of features included in the SDN-traffic dataset.