Network traffic classification can be used to identify different applications and protocols that exist in a network. Actions such as monitoring, discovery, control and optimization can be performed by using classified network traffic. The overall goal of network traffic classification is improving the network performance. Once the packets are classified as belonging to a particular application, they are marked. These markings or flags help the router determine appropriate service policies to be applied for those flows.