Las redes definidas por software o SDN, agrupan un conjunto de técnicas asociadas a las
transmisiones de información, que persiguen mejorar su rendimiento por medio de la simplificación,
la implantación e implementación de los servicios de redes de forma más concreta, dinámica y
escalable. Permitiendo una gestión, por parte del administrador, a un alto nivel de programación. La
ONF (Open Networking Foundation) [2], las define como una arquitectura de red dinámica,
gestionable y adaptable, con un coste eficiente. Lo cual las hace idóneas para las altas demandas de
ancho de banda y la naturaleza dinámica de las aplicaciones actuales. Mediante la desaplicación del
control de la red y la funcionalidad de reenvío de información, se consigue que el control de la red
sea completamente programable, logrando la abstracción de las aplicaciones y servicios de red de la
infraestructura de la red subyacente. Este revolucionario concepto no es tan actual como se podría
pensar en una primera toma de contacto. La idea de poder programar las redes nació con la
aparición de internet, en torno a 1985, ya entonces se consideraba internet como una tecnología
establecida, con una gran aceptación en la sociedad. Resultando evidente la necesidad de una
gestión y evolución constantes, enfocadas a su capacidad de ser programables. Con esta idea en
mente se pueden destacar tres fases o etapas en el desarrollo de esta tecnología: