Introducción
Este documento describe las redes definidas por software (SDN) como un nuevo enfoque para las redes que complementa las arquitecturas de red tradicionales. La definición original de SDN está vinculada a OpenFlow.
Objetivos de SDN de OpenFlow
Estos son los objetivos clave de OpenFlow SDN.
- Mayor escalabilidad de la red.
- Complejidad de la red reducida.
- Permita un mayor control de las aplicaciones.
- Habilite la independencia de la función.
- Se consigue separando los planos de control y de datos, y estandarizando el plano de datos. El plano de control se implementa como un software omnisciente, sofisticado y distribuido que se ejecuta en servidores multinúcleo de alto rendimiento.
- OpenFlow es una especificación de Open Networking Foundation (ONF) que define una infraestructura de reenvío basada en flujo (modelo de switch) y una interfaz de programación de aplicaciones estandarizada (definición de protocolo).
- OpenFlow permite a un controlador dirigir las funciones de reenvío de un switch a través de un canal seguro. La configuración del dispositivo local está fuera del alcance del protocolo OpenFlow.
Resumen de características
Este es el controlador de Faucet OpenFlow:
- Switches OpenFlow 1.3 (incluido el mensaje de función de tabla de TFM)
- Switching de capa 2, VLAN, ACL, routing IPv4 e IPv6 de capa 3, estático y mediante BGP
- Se implementa como sustituto directo de un switch L2/L3 en la red para habilitar la funcionalidad adicional basada en SDN.
- OpenFlow es un paradigma de reenvío completamente diferente, utiliza el mismo hardware y software de Catalyst 9000.
- El modo se puede alternar entre OPENFLOW y NORMAL, es necesario reiniciar.
OpenFlow es el protocolo entre el controlador (plano de control) y el switch Ethernet (plano de datos). El switch tiene tablas de flujo organizadas en una canalización y los flujos son reglas para examinar los paquetes.
Un flujo especifica:
- Coincidir criterios
- Prioridad
- Acciones que se deben realizar en el paquete
- Timeouts
Canalización de muestra:
Nota: Aunque no hay dependencias de funciones, el switch debe arrancarse en el modo OpenFlow. Plataformas disponibles en modo OpenFlow, switches Catalyst serie 9000 - 9300/9400/9500/9500-H
Implementación de Cisco (modo OpenFlow en Cat9k)
Se utiliza la misma imagen para el funcionamiento normal y de OpenFlow.
El switch debe estar en modo OpenFlow.
ott-of-c9k-210#show boot mode
System initialized in openflow forwarding mode
System configured to boot in openflow forwarding mode
All the front panel ports are openflow ports (no hybrid mode)
Changing the boot mode (reload mandatory)
ott-of-c9k-210(config)#boot mode openflow
Recargue el switch.
Verifique que el switch esté en el modo OpenFlow.
of-switch# show boot mode
System initialized in openflow forwarding mode
System configured to boot in openflow forwarding mode
“no boot mode openflow” followed by reboot reverts to normal mode.
CAT9300#show run openflow
feature openflow
openflow
switch 1 pipeline 1
controller ipv4 10.104.99.42 port 6653 vrf Mgmt-vrf security none
controller ipv4 10.104.99.42 port 6633 vrf Mgmt-vrf security tls
controller ipv4 10.104.99.42 port 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue
¡Hay un total de 8 controladores soportados hoy!
También se admite la configuración y el funcionamiento del controlador IPV6.
bajo OpenFlow |
Propósito |
switch 1 pipeline 1 |
El switch 1 y la canalización 1 son la única opción en C9ks |
controller ipv4 10.104.99.42 port 6653 vrf Mgmt-vrf security none |
controlador sin seguridad |
controller ipv4 10.104.99.42 port 6633 vrf Mgmt-vrf security tls |
controlador con tls, utiliza la configuración global de trustpoint de tls |
controller ipv4 10.104.99.42 port 6637 vrf Mgmt-vrf security tls local-trustpoint tp-blue |
con tls, utiliza la configuración local de tlstrustpoint, pero es remoto desde tlstrustpoint global |
max-backoff 10 |
Tiempo máximo para reintentar la conexión de OpenFlow cuando la conexión del controlador deja de funcionar; el valor predeterminado es 8 s |
probe-interval 10 |
El intervalo de tiempo para sondear la conexión de OpenFlow con la conexión se vuelve inactivo, el valor predeterminado es 5 s. |
rate-limit packet_in 2000 burst 3000 |
límite de velocidad del paquete para el controlador, los valores predeterminados son 0 |
statistics collection-interval 6 |
frecuencia para recopilar estadísticas de flujo, el valor predeterminado es 5seg |
datapath-id 0x1 |
switch datapath unique-id, si el valor predeterminado no configurado es (1<<48) | system-mac-addr) |
default-miss controller |
el paquete que no coincide con ningún flujo se puede enviar al controlador. el valor predeterminado es descartar |
logging flow-modify |
vuelca la información de flow-mod como un registro en show logging, no habilitado de forma predeterminada |
tls trustpoint local tp-local remote tp-remote |
global tls trustpoint for a secure controller connection# |
Solución de problemas/depuración
La depuración en el lado del controlador está fuera del alcance de este documento.
No todas sus CLI de plataforma habituales son compatibles con el switch OpenFlow. Elija y utilice sólo las CLI permitidas para su escenario de depuración.
Consulte esta guía de configuración para ver otros comandos y referencias: https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/prog/configuration/174/b_174_programmability_cg/openflow.html#id_76495
Comandos Show - IOS®
Comando |
Propósito |
show running-config a cielo abierto |
Muestra la información de configuración de ejecución de OpenFlow. |
show openflow switch number controllers |
Muestra información sobre la conectividad del agente OpenFlow con el controlador. |
show a cielo abierto switch número lista de flujos |
Muestra información sobre los flujos de OpenFlow instalados. |
show a cielo abierto switch número puertos |
Muestra información sobre el estado del puerto del agente OpenFlow. |
show a cielo abierto hardware capacidades |
Muestra las funciones de hardware, como el número de tablas, el tamaño de la tabla, la coincidencia, la acción o la pérdida admitidas. |
show a cielo abierto switch número grupos |
Muestra información acerca de los grupos de OpenFlow. |
show a cielo abierto switch número estadísticas |
Muestra las estadísticas de la interfaz de OpenFlow (rx/tx), las estadísticas de la tabla de OpenFlow (flujos máximos por tabla, flujos activos por tabla, número de búsquedas y coincidencias). |
show a cielo abierto switch número estadísticas del controlador |
Muestra la información de estado de los controladores de OpenFlow. |
Comandos show - hardware:
Comando |
Propósito |
show platform software fed switch active a cielo abierto estado |
Muestra estadísticas sobre el número de mensajes instalados/correctos/eliminados. |
show platform software fed switch active a cielo abierto fluir id |
Muestra información de un flujo determinado. |
show platform software fed switch active a cielo abierto grupo |
Muestra información de hardware acerca de los grupos de flujo. |
show platform hardware fed switch active fwd-asic recurso tcam utilización |
Muestra información de hardware sobre el uso de TCAM. |
show platform software fed <switch> active openflow error [brief | evento | detalle] |
Enumera todos los errores de OpenFlow si se registran. |
show platform software fed <switch> active openflow table [<table-id> | mapping]
|
Este comando puede proporcionar el id de tabla para la funcionalidad/coincidencia de capacidades y los tamaños de la tabla. |
show platform software fed switch active openflow event
|
Muestra la lista de eventos de cada tabla con el tiempo empleado en cualquier acción relacionada con el flujo (adición, eliminación, actualización). |