EN ESTA PÁGINA
Descripción de las acciones de reenvío y operación de OpenFlow en dispositivos que ejecutan Junos OS
En este tema se explica cómo los dispositivos de Juniper Networks aíslan y controlan el tráfico de OpenFlow. También resume las características de OpenFlow y las acciones de reenvío admitidas, que son acciones que OpenFlow puede realizar cuando un paquete coincide con los términos de una entrada de flujo. Para obtener información detallada sobre la compatibilidad con mensajes y campos específicos de OpenFlow v1.0, condiciones de coincidencia, comodines, acciones de flujo, estadísticas y características, consulte Matriz de cumplimiento de OpenFlow v1.0 para dispositivos que ejecutan Junos OS. Para obtener una lista detallada de los mensajes y campos de OpenFlow v1.3.1 compatibles, los indicadores y la numeración de la estructura de puertos, las condiciones de coincidencia, las acciones de flujo, los mensajes multiparte, las instrucciones de flujo y los tipos de grupo, consulte Matriz de cumplimiento de OpenFlow v1.3.1 para dispositivos que ejecutan Junos OS.
Operación y soporte de OpenFlow
Para aislar y controlar el tráfico de OpenFlow en dispositivos que ejecutan Junos OS, configure conmutadores virtuales. Puede configurar un conmutador virtual OpenFlow y un controlador OpenFlow activo en cada dispositivo que ejecute Junos OS compatible con OpenFlow. Puede configurar el protocolo OpenFlow, el conmutador virtual y la información de conexión del controlador en el nivel jerárquico [edit protocols openflow]
.
El tráfico de OpenFlow solo puede entrar o salir de puertos habilitados para OpenFlow. Si se envía un mensaje de modificación de flujo a un puerto de entrada que no está habilitado para OpenFlow, el dispositivo envía un ofp_error_msg con un tipo de error de OFPET_FLOW_MOD_FAILED y un código de OFPFMFC_UNKNOWN al controlador. Si se solicita una acción de modificación de flujo para un puerto que no está habilitado para OpenFlow, el dispositivo envía un ofp_error_msg con un tipo de error de OFPET_BAD_ACTION y un código de OFPBAC_BAD_OUT_PORT al controlador.
En la tabla 1 se resume la compatibilidad con las funciones generales en dispositivos que ejecutan Junos OS y admiten OpenFlow v1.0. Para obtener información sobre la compatibilidad en plataformas específicas, consulte Compatibilidad de OpenFlow en dispositivos de Juniper Networks.
Característica |
Apoyo |
---|---|
OpenFlow v1.0 |
Apoyado. |
Conmutador virtual OpenFlow |
Un conmutador virtual OpenFlow. |
Controlador |
Un controlador OpenFlow activo por conmutador virtual. Los controladores probados incluyen Floodlight y OESS. |
Conexión del controlador |
Conexión TCP/IP. Solo se aceptan conexiones pasivas. El controlador no puede conectarse activamente al conmutador OpenFlow. No se admiten conexiones SSL. |
Modo de emergencia |
No se admite como se define en OpenFlow Switch Specification v1.0. Si la conexión del controlador se pierde y no se puede restablecer, el conmutador mantiene todos los estados de flujo en los planos de control y datos. |
Clasificación y mapeo de flujo como una ruta de capa 2 o capa 3 |
No es compatible. |
Prioridad de flujo |
Compatible según la especificación del conmutador OpenFlow v1.3, en la que no hay priorización de entradas de coincidencia exacta sobre entradas comodín. |
Tabla de flujo |
Tabla de flujo única. |
Acciones de reenvío |
Nota:
Los conmutadores QFX5100 y EX4600 no admiten NORMAL para acciones de flujo normal. |
Interfaces híbridas |
Compatible con algunos dispositivos. Los dispositivos habilitados para OpenFlow que admiten interfaces híbridas permiten que una interfaz física admita simultáneamente interfaces lógicas para el tráfico normal e interfaces lógicas para el tráfico de OpenFlow. |
Interfaces |
Puede configurar interfaces Ethernet solo como interfaces OpenFlow. |
Acciones de varias VLAN |
Compatible con algunos dispositivos. Los dispositivos habilitados para OpenFlow que admiten acciones de varias VLAN tienen la capacidad de asociar una VLAN diferente y una acción VLAN diferente con cada puerto de salida. |
Modificación del puerto |
No es compatible. Los dispositivos habilitados para OpenFlow ignoran todas las solicitudes de OFPT_PORT_MOD del controlador OpenFlow. |
Colas, mensajes de cola o acciones en cola |
No es compatible. |
En la tabla 2 se resume la compatibilidad con funciones generales en dispositivos que ejecutan Junos OS y admiten OpenFlow v1.3.1. Para obtener información sobre la compatibilidad en plataformas específicas, consulte Compatibilidad de OpenFlow en dispositivos de Juniper Networks.
Característica |
Apoyo |
---|---|
OpenFlow v1.3.1 |
Apoyado. |
Conmutador virtual OpenFlow |
Un conmutador virtual OpenFlow. |
Controlador |
Un controlador OpenFlow activo por conmutador virtual. Los controladores probados incluyen NEC e Ixia. |
Conexión del controlador |
Conexión TCP/IP. Solo se aceptan conexiones pasivas. El controlador no puede conectarse activamente al conmutador OpenFlow. No se admiten conexiones SSL. |
Clasificación y mapeo de flujo como una ruta de capa 2 o capa 3 |
No es compatible. |
Prioridad de flujo |
Compatible según la especificación del conmutador OpenFlow v1.3, en la que no hay priorización de entradas de coincidencia exacta sobre entradas comodín. |
Instrucciones de flujo |
Para cada entrada de flujo, se admite una instrucción de flujo. Una instrucción de flujo puede ser una de las siguientes:
|
Tabla de flujo |
Tabla de flujo única. |
Acciones de reenvío |
Nota:
Los conmutadores QFX5100 y EX4600 no admiten NORMAL para acciones de flujo normal. |
Acción de grupo |
Apoyado. Un grupo puede incluir de 1 a 32 buckets, y un bucket puede tener un conjunto de acciones (set, pop o output). Se admiten los tipos de grupo OFPGT_ALL y OFPGT_INDIRECT. |
Interfaces |
Puede configurar interfaces Ethernet solo como interfaces OpenFlow. |
Condiciones de coincidencia relacionadas con IPv6 |
Compatible con algunos dispositivos. A partir de Junos OS versión 14.2R3, las direcciones de origen y destino IPv6 y las máscaras de subred se pueden utilizar como condiciones de coincidencia.
Nota:
La implementación de OpenFlow v1.3.1 en Junos OS no admite máscaras de bits arbitrarias para direcciones IPv6. La implementación de Junos OS solo admite máscaras continuas para direcciones de origen y destino IPv6. |
Acciones de varias VLAN |
Compatible con algunos dispositivos. Los dispositivos habilitados para OpenFlow que admiten acciones de varias VLAN tienen la capacidad de asociar una VLAN diferente y una acción VLAN diferente con cada puerto de salida. |
Mensajes de varias partes |
Apoyado para solicitar y devolver la siguiente información:
|
Negociación de versiones de OpenFlow |
Se admite para la negociación de versiones de OpenFlow entre un controlador de OpenFlow y un dispositivo que ejecuta Junos OS. |
Modificación del puerto |
No es compatible. Los dispositivos habilitados para OpenFlow ignoran todas las solicitudes de OFPT_PORT_MOD del controlador OpenFlow. |
Colas, mensajes de cola o acciones en cola |
No es compatible. |
Acciones de reenvío de OpenFlow
La información de esta sección se aplica tanto a OpenFlow v1.0 como a OpenFlow v1.3.1, excepto donde se indique lo contrario.
Los dispositivos habilitados para OpenFlow que ejecutan Junos OS admiten varias acciones de flujo para reenviar paquetes de OpenFlow. Para las acciones de flujo normal, se admiten las siguientes acciones de reenvío:
puerto físico: reenvíe paquetes de unidifusión o multidifusión por las interfaces habilitadas para OpenFlow especificadas.
ALL: inunde el paquete de todas las interfaces de OpenFlow configuradas para esa instancia de conmutador virtual, excepto la interfaz de entrada.
CONTROLLER: envía el paquete al controlador OpenFlow para su procesamiento.
FLOOD: inunde el paquete a lo largo del árbol de expansión mínimo, que incluye todas las interfaces de OpenFlow configuradas para esa instancia de conmutador virtual, excepto la interfaz de entrada y cualquier interfaz deshabilitada por el protocolo de árbol de expansión (STP). Dado que los dispositivos que ejecutan Junos OS no admiten las capacidades de STP 802.1D para OpenFlow, la acción de reenvío FLOOD se comporta como la acción de reenvío ALL.
NORMAL: procese el paquete utilizando el procesamiento tradicional de capa 2 o capa 3.
Los conmutadores QFX5100 y EX4600 no admiten NORMAL para acciones de flujo normal.
El controlador OpenFlow también puede utilizar un mensaje de envío de paquete (OFPT_PACKET_OUT) para indicar al conmutador virtual de OpenFlow que envíe un paquete desde un puerto especificado. El mensaje Enviar paquete incluye el paquete que se va a reenviar y la acción de reenvío que indica la interfaz desde la cual se debe reenviar el paquete. Las acciones de reenvío admitidas para el mensaje Enviar paquete incluyen ALL e FLOOD.
Cada conmutador virtual OpenFlow es un dominio de inundación lógicamente separado. Por lo tanto, las acciones OpenFlow ALL y FLOOD inundan paquetes solo las interfaces OpenFlow configuradas en ese conmutador virtual específico, excluyendo la interfaz OpenFlow de entrada.