Development, Deployment and Analysis of a Software Defined Networking Test Environment for Network Traffic Monitoring

Software Defined Networking (SDN) is a new network paradigm that decouples the network control plane from the forwarding plane. This innovative architecture creates an abstraction layer over the underlying infrastructure that provides high interoperability with external applications and services, while the extraction of the control functions from network devices to a logically centralized controller allows network operators to directly program the network's intelligence with a global view. Network traffic monitoring is a key element for network operators to manage networks efficiently. It provides critical information to the network intelligence to ensure the stability and security for network services and applications. This information can be used by many different network management systems are as follows: Traffic Engineering System, QoS Provisioning System, Billing System, Anomaly Detection Systems, etc. SDN paradigm enhances network traffic monitoring functionality providing a global view of the network while inspecting all transmitted flows in a fine-grained way. In this Master's thesis, a SDN-enabled environment is developed and deployed using virtualization tool Virtual Networks over linuX (VNX) to test network-wide SDN monitoring implementations. VNX tool supports creation of large and complex virtual networks in a flexible way, thus reducing the requirements of physical resources thanks to virtualization techniques such as KVM and LXC. A performance analysis on different SDN-related softwares using these virtualization techniques is performed. This environment allows users to quickly run and test their own SDN and NFV related developments such as SDN-Mon framework: a scalable framework that provides network traffic monitoring in SDN in a flexible and fine-grained manner for controller applications. This framework achieves a flexible and efficient network-wide monitoring solution in SDN, overcoming challenges such as the switch-controller communication overhead or the usage of the memory and computing resources of the network's switches. Thanks to the introduced SDN-enabled virtual environment, this above mentioned monitoring framework which have been taken as use case, is integrated and tested to analyze its benefits and drawbacks on large scale networks with different topologies and different deployment configurations. Finally, this project goes beyond by extending the controller's NorthBound interface, and then introducing new simple external applications that rely on information provided by SDN-Mon framework for security purposes. Therefore, this Master's thesis not only proposes an SDN-enabled environment but also starts building a complete SDN solution, aiming at becoming a base for future related works where SDN-provided monitoring information can be used for more complex multiple-purpose applications that are proposed to the readers. It is to be noted that this project has been partially done during an international internship stay at the National Institute of Informatics (NII) in Tokyo, Japan, where mentioned SDN-Mon framework has been developed by intern researchers.