¿OpenFlow básicamente centraliza las decisiones de enrutamiento?

OpenFlow en sí mismo no centraliza las decisiones o protocolos de enrutamiento. Es un estándar abierto para que un “controlador de red” se comunique con los conmutadores, lo que permite que el programa del controlador cambie el hardware. La centralización de las decisiones de enrutamiento depende de la implementación del controlador. Piense en OpenFlow como una forma de hacer que un interruptor sea “programable”. No es la única forma, ya que en teoría los proveedores podrían lanzar API basadas en REST para lograr la capacidad de programación del interruptor. La gran ventaja de OpenFlow es que es un estándar abierto y se puede usar para controlar cualquier interruptor que lo admita. El inconveniente frente a cualquier esquema de programabilidad patentado por el proveedor es precisamente porque se supone que OpenFlow funciona con todos los conmutadores, no puede aprovechar las ventajas de capacidades de hardware específicas en un conmutador determinado, que una API de proveedor podría.

Un controlador puede programar ‘flujos’ en un conmutador utilizando el protocolo OpenFlow. Los flujos pueden coincidir en campos como dirección IP, puertos de entrada y otros. Las acciones incluyen enviar paquetes a puertos específicos, asignar parámetros de calidad de servicio y enviar paquetes al controlador a través de la interfaz del controlador al conmutador. De esta manera, el controlador puede tomar conciencia de los nuevos flujos y tomar decisiones sobre qué hacer cuando los vea.

OpenFlow comenzó como una excelente manera de crear prototipos de ideas y características en una red de producción. Una vez que se demostró que una idea funcionaba, en teoría podría incorporarse al silicio de conmutación e implementarse en hardware. Dicho esto, a medida que OpenFlow comenzó a implementarse en centros de datos, ha habido casos de uso distintos a la centralización del plano de control que han sido más populares. Creo que muchas preguntas sobre casos de uso viables comenzarán a ser respondidas a medida que los arquitectos y operadores de centros de datos tengan en sus manos interruptores con soporte OpenFlow y comiencen a explorar cómo pueden aprovechar una mayor capacidad de programación de la red.

OpenFlow es una interfaz estándar hacia el norte de Network Elements (conmutadores / enrutadores / posiblemente conmutadores de longitud de onda también). OpenFlow parece ser la forma más popular de controlar elementos de red desde esta entidad centralizada llamada “Controlador”. Teóricamente, el controlador podría tomar todas las decisiones de enrutamiento para la red subyacente que controla, pero esto no es necesario. Por ejemplo, enrutamiento entre dominios:

La imagen muestra un controlador que habla a tres nubes (dominios). El controlador solo conoce los nodos de borde en los tres dominios. Para configurar una ruta de extremo a extremo de A a F, el controlador podría:
(1) Hable con A y / o B y configure una ruta e2e dentro de la nube MPLS: Internamente, el enrutamiento de ruta A a B aún podría usar la señalización MPLS existente (LDP / RSVP-TE)
(2) Hable con C y / o D y configure una ruta e2e dentro de la nube OTN: internamente, GMPLS podría usarse para señalar el enrutamiento
(3) —- “—- dentro de la nube Ethernet: OSPF / CSPF para enrutamiento.

En este caso, cada nube continúa utilizando su propio enrutamiento intradominio. Pero las rutas entre dominios están “cosidas” por el controlador.

Entonces, en esencia, puede tener un caso de uso híbrido. Donde las redes aún podrían aprovechar su enrutamiento / señalización dentro del dominio y el Controlador podría tomar decisiones de enrutamiento entre dominios.

TL; DR; – No es necesario que SDN / OpenFlow centralice todas las decisiones de enrutamiento.

(NOTA: introduce escenarios de protección / restauración, y se vuelve aún más complejo)

Buenas respuestas. Si puedo agregar. En algún momento parece que openflow centraliza las decisiones debido al uso de un controlador. Sin embargo, estos controladores no tienen que estar centralizados. El protocolo le permite usar muchos controladores, distribuir controladores, integrar controladores. Este nivel de mezcla y combinación brinda una capacidad sin precedentes para implementar sus planes.

Sin embargo, PUEDE hacerlo centralizado si lo desea. Pero recuerde que las reglas están instaladas, los conmutadores de flujo abierto las ejecutan ellos mismos.