This project aims at explaining and defining the SDN technology with integration of the NFV technology. We will also see the logic of this technology applied to a program designed for this project. The objective of this project is to understand the purpose of this technology, where is it going to be used, why companies like Google or Microsoft for over 2 years have been investing time and resources to develop and to implement the technology on the corporate level, as well as on the level of regular user like you and me. Firstly we will focus on the explanation of the SDN technology, what it is, what for is it going to be used and what is the future of this technology. Why the SDN is so important? Next, we will explain the use of the NFV and show how it is going to change the way we see the network right now. NFV also works with the SDN. Once we define the basics of the two technologies, we will proceed to the explanation of the practical part of this project. I would like to comment on the software used for this project is open source, since the OS used on the machine that carried out the simulations, and wrote this lines, to the package Rstudio. The practical part is to simulate how will work the network flows when this technology is used. The program will optimize the resources that we want for the proper performance of the global system. For example, we can optimize the path, the number of machines the flow has to cross, optimize the global delay of the flow, etc. Finally, we will reach specific conclusions based on the work we have done, as well as some personal outcome, such as the analysis of the difficulties encountered during the performance, as well as training and finally knowledge gained through work