ES2639638T3 - Sistema de conmutación, procedimiento de control de conmutación y medio de memoria - Google Patents

Sistema de conmutación, procedimiento de control de conmutación y medio de memoria Download PDF

Info

Publication number
ES2639638T3
ES2639638T3 ES11823343.6T ES11823343T ES2639638T3 ES 2639638 T3 ES2639638 T3 ES 2639638T3 ES 11823343 T ES11823343 T ES 11823343T ES 2639638 T3 ES2639638 T3 ES 2639638T3
Authority
ES
Spain
Prior art keywords
openflow
search
tables
section
tcam
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11823343.6T
Other languages
English (en)
Inventor
Yoji Suzuki
Masanori Takashima
Kazushi Kubota
Tetsu Izawa
Masashi Hayashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Application granted granted Critical
Publication of ES2639638T3 publication Critical patent/ES2639638T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un sistema (102) de conmutación que comprende: una sección (105) de funcionamiento Open Flow adaptada para: a) configurar una tabla (113) OpenFlow combinando lógicamente una pluralidad de tablas (124, 125, 126 y 127), cada una de las cuales define el procesamiento para un paquete de recepción predeterminado en base a una condición y un contenido de procesamiento que están definidos en cada tabla, y b) hacer referencia a dicha tabla (113) OpenFlow para determinar el contenido de procesamiento para el paquete de recepción; y una sección (111) de funcionamiento de acción adaptada para ejecutar el procesamiento a dicho paquete de recepción en base al contenido de procesamiento determinado; en el que dicha sección (105) de funcionamiento Open Flow comprende: una sección (115) de funcionamiento de búsqueda L2/L3/otra tabla adaptada para buscar en una tabla (125) L2, una tabla (126) L3 y la otra tabla (127) de entre dicha pluralidad de tablas en base al paquete de recepción, y para emitir una entrada correspondiente al paquete de recepción como un resultado de la búsqueda; una sección (116) de funcionamiento de búsqueda TCAM (memoria direccionable de contenido ternario) adaptada para buscar en la TCAM (124) de dicha pluralidad de tablas en base al paquete de recepción, y para emitir una entrada correspondiente al paquete de recepción como un resultado de la búsqueda; y una sección (107) de resolución de procesamiento OpenFlow que define las prioridades de la TCAM (124), la tabla (125) L2, la tabla (126) L3 y la otra tabla (127), y que está adaptada para recibir los resultados de la búsqueda desde dicha sección (115) de funcionamiento de búsqueda L2/L3/otra tabla y dicha sección (116) de funcionamiento de búsqueda TCAM, y para determinar la entrada a adoptar en base a las prioridades y para determinar el contenido de procesamiento en el paquete de recepción.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Sistema de conmutacion, procedimiento de control de conmutacion y medio de memoria Campo tecnico
La presente invention se refiere a un sistema de conmutacion y, en particular, a un sistema de conmutacion en el que cada conmutador tiene una pluralidad de tablas.
Tecnica anterior
Con el fin de controlar una ruta de comunicacion en un sistema de red, recientemente se ha desarrollado un procedimiento de control de ruta que adopta una tecnica OpenFlow como un protocolo de control para equipos de comunicacion. Una red cuya ruta es controlada segun la tecnica OpenFlow se denomina una red OpenFlow.
En la red OpenFlow, un controlador, tal como un OFC (OpenFlow Controller, controlador OpenFlow), opera cada tabla OpenFlow de un conmutador, tal como OFS (OpenFlow Switch, conmutador OpenFlow), para controlar los comportamientos de los conmutadores. El controlador esta conectado al conmutador a traves de un canal seguro (Secure Channel) para controlar el conmutador usando un mensaje de control adaptado a un protocolo OpenFlow.
El conmutador en la red OpenFlow es un conmutador de borde o un conmutador de nucleo que constituye la red OpenFlow y esta bajo el control del controlador. Una serie de tipos de procesamiento de un paquete desde la reception del paquete en un conmutador de borde en el lado de entrada en la red OpenFlow hasta la transmision del paquete en un conmutador de borde en el lado de salida en la red OpenFlow se denomina flujo.
La tabla OpenFlow es una tabla en la que se registra una entrada de flujo que define un contenido de procesamiento (action) predeterminado a realizar sobre un paquete (datos de comunicacion) en funcion de una condition (regla) de coincidencia predeterminada.
La regla de la entrada de flujo se define segun diversas combinaciones de parte o de la totalidad de entre una direction de destino, una direccion de origen, un puerto de destino y un puerto de origen, que estan incluidos en un campo de cabecera de cada capa de jerarqrna de protocolo en el paquete, y pueden distinguirse unos de otros. Las direcciones indicadas anteriormente incluyen una direccion MAC (Media Access Control Address, direccion de control de acceso al medio) y una direccion IP (Internet Protocol Address, direccion de protocolo de internet). Ademas, la information acerca de un puerto de entrada puede ser usada tambien como la regla de la entrada de flujo.
La accion de la entrada de flujo indica una operation tal como "salida a un puerto particular", "descartar" y "reescribir una cabecera". Por ejemplo, cuando la informacion de identification de un puerto de salida (por ejemplo, el numero de puerto de salida) es presentada en la accion de la entrada de flujo, el conmutador emite un paquete al puerto, y cuando no se presenta la informacion de identificacion del puerto de salida, el conmutador descarta el paquete. De manera alternativa, cuando la informacion de cabecera es presentada en la accion de la entrada de flujo, el conmutador re-escribe una cabecera del paquete en base a la informacion de cabecera.
El conmutador en la red OpenFlow ejecuta la accion de la entrada de flujo sobre un grupo de paquetes (secuencia de
paquetes) que se ajusta a una regla de la entrada de flujo.
Los detalles del conmutador OpenFlow se describen en "The OpenFlow Switch Consortium"

http://www.openflowswitch.org/ y "OpenFlow Switch Specification Version 0.9.0 (Wire Protocol 0x98) July 20, 2009,
Current Maintainer: Brandon Heller (
brandonh@stanford.edu)"
http://www.openflowswitch.org/documents/openflowspec- v0.9.0.pdf.
Se requiere una tabla OpenFlow de gran capacidad para controlar una gran cantidad de flujo en la red. En las presentes circunstancias, la TCAM (Ternary Content Addressable Memory, memoria direccionable de contenido ternario) usada para la tabla OpenFlow no tiene una gran capacidad y, por lo tanto, no se garantiza una cantidad de capacidad necesaria y suficiente. Ademas, es diffcil aumentar la capacidad de cada tabla (principalmente TCAM) del conmutador usado en la tabla OpenFlow.
Como uno de los procedimientos para resolver el problema indicado anteriormente, puede usarse una TCAM externa, pero esto supone costes. Por otra parte, en equipos para transferencia de alta velocidad tales como 10G multi-puerto (equipo de red que tiene una pluralidad de puertos, que puede corresponder a una velocidad de transferencia de datos de 10G bit/segundo), no puede emplearse la TCAM externa. En la actualidad, no hay ninguna TCAM externa capaz de operar en el conmutador 10G.
Los presentes inventores han apreciado que serfa deseable realizar una extension del numero de entradas de una tabla OpenFlow usando las tablas en un conmutador como recursos existentes.
Sumario de la invencion
Un sistema de conmutacion de la presente invencion incluye: una seccion de funcionamiento OpenFlow que configura una 5 tabla de flujo abierto combinando logicamente una pluralidad de tablas, cada una de las cuales define el procesamiento a un paquete de recepcion predeterminado, en base a una condicion y un contenido de procesamiento que estan definidos en cada tabla, y que hace referencia a la tabla de flujo de apertura para determinar el contenido de procesamiento al paquete de recepcion; y una seccion de funcionamiento de accion que ejecuta el procesamiento al paquete de recepcion en base al contenido de procesamiento determinado. La seccion de funcionamiento OpenFlow incluye: una seccion de 10 funcionamiento de busqueda L2/L3/otra tabla que esta adaptada para buscar una tabla L2, una tabla L3 y la otra tabla de entre dicha pluralidad de tablas en base al paquete de recepcion y para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda; una seccion de funcionamiento de busqueda TCAM (Ternary Content Addressable Memory), que esta adaptada para buscar en la TCAM de dicha pluralidad de tablas en base al paquete de recepcion y para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda; y una 15 seccion de resolucion de procesamiento OpenFlow que define prioridades de la TCAM, la tabla L2, la tabla L3 y la otra tabla y que esta adaptada para recibir los resultados de busqueda desde dicha seccion de funcionamiento de busqueda L2/L3/otra tabla y dicha seccion de funcionamiento de busqueda TCAM, y para determinar la entrada a adoptar en base a las prioridades, y para determinar el contenido de procesamiento al paquete de recepcion.
Un procedimiento de control de conmutacion de la presente invencion que se ejecuta en un conmutador de flujo abierto y 20 el procedimiento de control de conmutacion incluye: configurar una tabla de flujo abierto combinando logicamente una pluralidad de tablas, cada una de las cuales define el procesamiento a un paquete de recepcion, en base a una condicion y un contenido de procesamiento definidos en cada tabla; hacer referencia a la tabla de flujo abierto para determinar el contenido de procesamiento al paquete de recepcion; y ejecutar el procesamiento del paquete de recepcion en base al contenido de procesamiento determinado. El procedimiento de control de conmutacion incluye ademas: buscar una tabla 25 L2, una tabla L3 y otra tabla de entre dicha pluralidad de tablas en base al paquete de recepcion para emitir una entrada
correspondiente al paquete de recepcion como un resultado de la busqueda; buscar la TCAM (Ternary Content Addressable Memory) en base al paquete de recepcion de dicha pluralidad de tablas para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda; y definir las prioridades de la TCAM, la tabla L2, la tabla L3 y las otras tablas, determinar la entrada a adoptar a partir del resultado de la busqueda de cada tabla en 30 base a las prioridades, y determinar el contenido de procesamiento al paquete de recepcion.
Un programa segun la presente invencion es un programa para hacer que un ordenador usado como un conmutador ejecute el procesamiento en el procedimiento de control de conmutacion indicado anteriormente. Cabe senalar que el programa segun la presente invencion puede ser almacenado en una unidad de almacenamiento y un medio de almacenamiento.
35 La presente invencion permite al controlador hacer posible el uso de la pluralidad de tablas en el conmutador como una gran capacidad de tabla de flujo abierto.
Breve descripcion de los dibujos
La Fig. 1 es un diagrama conceptual que muestra un ejemplo de configuracion de un sistema de conmutacion segun la presente invencion;
40 La Fig. 2 es un diagrama conceptual que muestra detalles de una seccion de funcionamiento de flujo abierto segun una primera realizacion ejemplar de la presente invencion;
La Fig. 3 es un diagrama conceptual que muestra detalles de un dispositivo de resolucion de accion de flujo abierto segun la primera realizacion ejemplar de la presente invencion;
La Fig. 4 es un diagrama que muestra el esquema de un control de tabla de flujo abierto;
45 La Fig. 5 es un diagrama que muestra los detalles de un ejemplo de un primer tipo de control de tabla de flujo abierto;
La Fig. 6 es un diagrama que muestra los detalles de un ejemplo de un segundo tipo de control de tabla de flujo abierto;
La Fig. 7A es un diagrama que muestra un primer ejemplo de operacion del sistema de conmutacion en el caso de entrada de paquetes;
La Fig. 7B es un diagrama que muestra el primer ejemplo de operacion del sistema de conmutacion en el caso de la 50 entrada de paquetes;
5
10
15
20
25
30
35
40
La Fig. 8A es un diagrama que muestra un segundo ejemplo de operacion del sistema de conmutacion en caso de entrada de paquetes;
La Fig. 8B es un diagrama que muestra el segundo ejemplo de operacion del sistema de conmutacion en el caso de la entrada de paquetes;
La Fig. 9 es un diagrama que muestra un ejemplo especfico del primer tipo de control de tabla de flujo abierto;
La Fig. 10 es un diagrama que muestra un ejemplo espedfico del segundo procedimiento de control de tabla de flujo abierto;
La Fig. 11 es un diagrama conceptual que muestra detalles de un ejemplo 1 del sistema de conmutacion segun una segunda realizacion ejemplar de la presente invencion;
La Fig. 12 es un diagrama conceptual que muestra detalles segunda realizacion ejemplar de la presente invencion; y
La Fig. 13 es un diagrama conceptual que muestra detalles segunda realizacion ejemplar de la presente invencion.
Descripcion de las realizaciones ejemplares
[Primera realizacion ejemplar]
A continuacion, se describira una primera realizacion ejemplar de la presente invencion con referencia a los dibujos adjuntos.
(Estructura del sistema)
Tal como se muestra en la Fig. 1, un sistema de conmutacion segun la presente invencion incluye un controlador 101 y un conmutador 102.
El controlador 101 controla el conmutador 102 en un procesamiento que se ajusta a un protocolo OpenFlow.
(Estructura del conmutador)
El conmutador 102 incluye una seccion 103 de control de protocolo, un puerto 104 de entrada, una seccion 105 de funcionamiento OpenFlow, una seccion 108 de funcionamiento heredado, una seccion 111 de funcionamiento de accion y un puerto 112 de salida.
La seccion 103 de control de protocolo realiza un control de protocolo entre el controlador 101 y el conmutador 102 cuando el controlador 101 realiza una comunicacion para controlar el conmutador 102 en el procesamiento que se ajusta al protocolo OpenFlow. La seccion 103 de control de protocolo no se proporciona necesariamente en el conmutador 102, y puede proporcionarse en una etapa previa al conmutador 102.
El puerto 104 de entrada es una interfaz de entrada de paquetes. El puerto 104 de entrada tiene un puerto valido para OpenFlow y un puerto no valido para OpenFlow. El puerto valido para OpenFlow es un puerto de entrada que se ajusta al protocolo OpenFlow y el puerto no valido para OpenFlow es un puerto de entrada que no se ajusta al protocolo OpenFlow.
La seccion 105 de funcionamiento OpenFlow realiza el procesamiento sobre un paquete introducido desde el puerto valido para OpenFlow.
La seccion 105 de funcionamiento OpenFlow incluye una seccion 106 de gestion de tabla OpenFlow y un dispositivo 107 de resolucion de accion OpenFlow.
La seccion 106 de gestion de tabla OpenFlow retiene la tabla OpenFlow usada por el conmutador 102. Una accion (accion de procesamiento OpenFlow) para un paquete que se ajusta al protocolo OpenFlow se define en la tabla OpenFlow.
El dispositivo 107 de resolucion de accion OpenFlow determina la accion del procesamiento OpenFlow en base a un resultado de busqueda de la seccion 106 de gestion de tabla OpenFlow.
La seccion 108 de funcionamiento heredado realiza el procesamiento sobre el paquete introducido desde el puerto no valido para OpenFlow.
de un ejemplo 2 del sistema de conmutacion segun la de un ejemplo 3 del sistema de conmutacion segun la
5
10
15
20
25
30
35
40
45
La seccion 109 de gestion de tabla heredada es una tabla heredada utilizada por el conmutador 102. La seccion 109 de gestion de tabla heredada define una accion (accion de procesamiento heredado) para un paquete (paquete normal y similares) que no se ajusta al protocolo OpenFlow.
El dispositivo 110 de resolucion de accion heredada determina la accion del procesamiento heredado en base al resultado de busqueda de la seccion 109 de gestion de tabla heredada. En el procesamiento heredado, se usa una funcion de conmutacion normal.
La seccion 111 de funcionamiento de accion realiza la accion determinada en la seccion 105 de funcionamiento OpenFlow o en la seccion 108 de funcionamiento heredado.
El puerto 112 de salida es una interfaz de salida de paquetes.
(Diferencias entre el procesamiento OpenFlow y el procesamiento heredado)
En el procesamiento OpenFlow, la ruta de paquetes es controlada mediante un controlador externo. El controlador selecciona una ruta optima en toda la red. Por el contrario, en el procesamiento heredado, tal como en un conmutador y enrutador normales, una ruta es controlada por distribucion autonoma. El conmutador y el enrutador normales determinan un estado de red a partir de la informacion de su entorno para seleccionar la ruta optima.
En el procesamiento OpenFlow, el paquete puede ser identificado en base a una combinacion de hasta 12 tipos de informacion. Por otra parte, en el procesamiento heredado, el numero de tipos de informacion usados para identificar el paquete es pequeno, tal como una direccion MAC de destino en caso de una red L2 y una direccion IP de destino en el caso de una red L3. Por esta razon, es diffcil realizar un control fino del flujo. Por ejemplo, en el procesamiento heredado, un flujo de la misma direccion IP de destino, pero de un numero de puerto TCP de origen diferente, es determinado como un flujo diferente y se selecciona una ruta diferente.
(Operacion completa del sistema de conmutacion)
A continuacion, se describira la operacion completa del sistema de conmutacion de la Fig. 1.
(Entrada de paquetes)
Cuando un nuevo paquete fluye al conmutador 102, el conmutador 102 recibe el paquete en el puerto 104 de entrada.
El conmutador 102 comprueba si el puerto 104 de entrada que recibe el paquete es o no el puerto valido para OpenFlow. Por ejemplo, el conmutador 102 comprueba si el puerto 104 de entrada es o no el puerto valido para OpenFlow, haciendo referencia al propio conmutador 102 o a la informacion de configuracion (config) del puerto 104 de entrada.
(Conmutacion desde entrada de paquetes a procesamiento OpenFlow)
Cuando el puerto de entrada es el puerto valido para OpenFlow, el conmutador 102 pasa el paquete desde el puerto 104 de entrada a la seccion 105 de funcionamiento OpenFlow.
(Procesamiento OpenFlow)
La seccion 105 de funcionamiento OpenFlow ejecuta el procesamiento de busqueda sobre el paquete pasado en la seccion 106 de gestion de tabla OpenFlow que retiene una pluralidad de tablas del conmutador 102.
A continuacion, la seccion 105 de funcionamiento OpenFlow determina una accion del paquete en base al resultado de la busqueda y una prioridad de cada tabla en el dispositivo 107 de resolucion de accion OpenFlow. La prioridad puede ser referida como un nivel de prioridad.
(Conmutacion desde el procesamiento OpenFlow a la ejecucion de la accion)
Cuando la accion determinada es "Packet-IN" (consultar la accion del paquete al controlador) (por ejemplo, cuando no existe entrada de flujo y la accion no puede ser determinada), la seccion 105 de funcionamiento OpenFlow emite una consulta (por ejemplo, transferencia del paquete) al controlador 101 a traves de la seccion 103 de control de protocolo. Inicialmente, la accion de todos los paquetes distintos de los paquetes destinados al procesamiento heredado puede establecerse a "Packet-IN" sin ninguna condicion. La seccion 105 de funcionamiento OpenFlow recibe "Packet-OUT" (un resultado a la consulta de accion desde el controlador) como respuesta a la consulta, determina el contenido como la accion del paquete y lo registra en una tabla retenida por la seccion 106 de gestion de tabla OpenFlow. En adelante, la seccion 105 de funcionamiento OpenFlow determina la accion de los paquetes que siguen la misma regla que el paquete indicado anteriormente en el dispositivo 107 de resolucion de accion OpenFlow.
5
10
15
20
25
30
35
40
45
a la accion determinada. Es decir, una unidad principal que procesa el paquete conmuta desde la seccion 105 de funcionamiento OpenFlow a la seccion 111 de funcionamiento de accion.
(Conmutacion del procesamiento OpenFlow al procesamiento heredado)
Cuando la accion determinada es "NORMAL" (procesamiento de paquetes usando la seccion 108 de funcionamiento heredado), la seccion 105 de funcionamiento OpenFlow pasa el paquete a la seccion 108 de funcionamiento heredado. Es decir, la unidad principal que procesa el paquete conmuta desde la seccion 105 de funcionamiento OpenFlow a la seccion 108 de funcionamiento heredado.
(Conmutacion desde la entrada de paquetes al procesamiento heredado)
Cuando el puerto 104 de entrada es el puerto no valido para OpenFlow o la accion al paquete determinada de antemano (previamente) en la seccion 105 de funcionamiento OpenFlow es "NORMAL", el conmutador 102 pasa el paquete desde el puerto 104 de entrada a la seccion 108 de funcionamiento heredado. Es decir, la unidad principal que procesa el paquete conmuta desde el puerto 104 de entrada a la seccion 108 de funcionamiento heredado.
(Procesamiento heredado)
La seccion 108 de funcionamiento heredado ejecuta el procesamiento de busqueda sobre el paquete recibido en la seccion 109 de gestion de tabla heredada configurada de la pluralidad de tablas del conmutador 102.
(Conmutacion desde el procesamiento heredado a la ejecucion de la accion)
A continuacion, la seccion 108 de funcionamiento heredado determina la accion del paquete en base a un resultado de busqueda y una prioridad de cada tabla en el dispositivo 110 de resolucion de accion heredada. Es decir, la unidad principal que procesa el paquete conmuta desde la seccion 108 de funcionamiento heredado a la seccion 111 de funcionamiento de accion.
El procesamiento heredado en la seccion 108 de funcionamiento heredado al dispositivo 110 de resolucion de accion heredada usa una funcion de conmutacion normal y, por lo tanto, se omite una descripcion detallada del mismo.
(Ejecucion de la accion)
La seccion 111 de funcionamiento de accion realiza una accion determinada en la seccion 105 de funcionamiento OpenFlow o la seccion 108 de funcionamiento heredado del paquete.
Como ejemplos de la accion determinada en la seccion 105 de funcionamiento OpenFlow, se ejemplifican una re-escritura de la informacion de cabecera, una salida de un paquete desde un puerto de salida designado y un descarte de un paquete. Como ejemplo de la accion determinada en la seccion 108 de funcionamiento heredado, se ejemplifica la transferencia de un paquete por enrutamiento o similar. Sin embargo, la presente invencion no se limita a estos ejemplos.
Finalmente, cuando la accion a realizar incluye "salida de paquetes", la seccion 111 de funcionamiento de accion envfa el paquete desde un puerto 112 de salida apropiado segun el contenido de la accion.
(Control de la tabla OpenFlow por el controlador)
El controlador 101 puede controlar la seccion 106 de gestion de tabla OpenFlow del conmutador 102 mediante la seccion 103 de control de protocolo. Aqrn, "control de la seccion 106 de gestion de tabla OpenFlow" significa registro/cambio/eliminacion/eliminacion por lotes y similares de las entradas de flujo en la tabla OpenFlow.
Cada una de las tablas del conmutador 102, que se retienen en la seccion 106 de gestion de tabla OpenFlow para la tabla OpenFlow, no se ajusta necesariamente a todas las operaciones definidas en la especificacion de OpenFlow.
Por esta razon, el controlador 101 debe controlar la seccion 106 de gestion de tabla OpenFlow en consideracion de las funciones que pueden conseguirse mediante las tablas respectivas retenidas por la seccion 106 de gestion de tabla OpenFlow para la tabla OpenFlow (acciones que pueden establecerse).
(Detalles de la seccion de funcionamiento OpenFlow)
La Fig. 2 es un diagrama que muestra detalles de la seccion 105 de funcionamiento OpenFlow de la presente invencion.
La seccion 105 de funcionamiento OpenFlow, la seccion 106 de gestion de tabla OpenFlow, el dispositivo 107 de resolucion de accion OpenFlow y la seccion 111 de funcionamiento de accion tienen los mismos mecanismos y funciones que los de la Fig. 1.
5
10
15
20
25
30
35
40
45
resolucion de accion OpenFlow.
La seccion 106 de gestion de tabla OpenFlow incluye un grupo 113 de tablas y una seccion 114 de funcionamiento de busqueda.
El grupo 113 de tablas es un grupo de tablas que constituye la tabla OpenFlow.
La seccion 114 de funcionamiento de busqueda busca datos de un paquete introducido en base al grupo 113 de tablas.
La seccion 114 de funcionamiento de busqueda incluye una seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) y una seccion 116 de funcionamiento de busqueda TCAM (OF).
"OF" es una abreviatura de "OpenFlow".
La seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) hace referencia a una tabla L2 (OF), una tabla L3 (OF) y otra tabla (OF) para que el paquete introducido busque una entrada. Una tabla de enrutamiento “multicast” se ejemplifica como un ejemplo de la otra tabla (OF). Es decir, la seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) busca las tablas para el paquete introducido en unidades de protocolos.
La seccion 116 de funcionamiento de busqueda TCAM (OF) se refiere a TCAM (OF) para que el paquete introducido busque una entrada. Es decir, la seccion 116 de funcionamiento de busqueda TCAM (OF) busca TCAM para el paquete introducido.
(Operaciones de la seccion de funcionamiento OpenFlow)
A continuacion, se describiran las operaciones de la seccion 105 de funcionamiento OpenFlow mostrada en la Fig. 2.
El puerto 104 de entrada pasa el paquete introducido desde el puerto valido para OpenFlow a la seccion 105 de funcionamiento OpenFlow.
La seccion 105 de funcionamiento OpenFlow ejecuta el procesamiento de busqueda en el paquete pasado en la seccion 106 de gestion de tabla OpenFlow configurada de la pluralidad de tablas del conmutador 102.
En este momento, la seccion 114 de funcionamiento de busqueda de la seccion 106 de gestion de tabla OpenFlow realiza el procesamiento de busqueda en base a la informacion de entrada registrada en el grupo 113 de tablas que constituye la tabla OpenFlow.
Espedficamente, en la seccion 114 de funcionamiento de busqueda, la seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) realiza primero el procesamiento de busqueda y, a continuacion, la seccion 116 de funcionamiento de busqueda TCAM (OF) realiza el procesamiento de busqueda.
La seccion 114 de funcionamiento de busqueda pasa el resultado de busqueda al dispositivo 107 de resolucion de accion OpenFlow.
El dispositivo 107 de resolucion de accion OpenFlow determina la accion del paquete en base al resultado de busqueda y la prioridad de cada tabla.
(Ejemplo de hardware)
A continuacion, se describiran ejemplos espedficos de hardware para realizar el sistema de conmutacion segun la presente invencion.
Como un ejemplo del controlador 101, se ejemplifica un ordenador, tal como un PC (Personal Computer, ordenador personal), una estacion de trabajo, un ordenador central o servidor y un superordenador. El controlador 101 puede ser una placa de extension montada en el ordenador o una maquina virtual (Virtual Machine (VM)) construida en una maquina ffsica.
Como un ejemplo del conmutador 102, se ejemplifican un conmutador L3 (conmutador de capa 3), un conmutador L4 (conmutador de capa 4), un conmutador L7/conmutador de aplicacion L7 (conmutador de capa 7) o un conmutador de red (conmutador de red) tal como un conmutador multi-capa. Ademas, como un ejemplo del conmutador 102, se ejemplifican un enrutador (enrutador), un proxy (proxy), una pasarela (gateway), un cortafuegos, un equilibrador de carga (dispositivo de distribucion de carga), un controlador de banda/controlador de monitor de seguridad (controlador de acceso), una estacion base, un punto de acceso (Access Point, AP), un satelite de comunicacion (Communication Satellite, CS) y un ordenador que tiene una pluralidad de puertos de comunicacion.
5
10
15
20
25
30
35
40
45
50
OpenFlow, el dispositivo 107 de resolucion de accion OpenFlow, la seccion 108 de funcionamiento heredado, la seccion 109 de gestion de tabla heredada, el dispositivo 110 de resolucion de accion heredado y la seccion 111 de funcionamiento de accion son implementados por un procesador que ejecuta un programa y ejecuta un procesamiento predeterminado, y una memoria que almacena el programa y diversos tipos de datos.
Como un ejemplo del procesador indicado anteriormente, se ejemplifican una CPU (Central Processing Unit, unidad de procesamiento central), un procesador de red (Network Processor, NP), un microprocesador, un microcontrolador o un circuito integrado semiconductor (Integrated Circuit, (IC)) que tienen una funcion dedicada.
Como un ejemplo de la memoria indicada anteriormente, se ejemplifican una RAM (Random Access Memory, memoria de acceso aleatorio), un dispositivo de almacenamiento semiconductor tal como una ROM (Read Only Memory, memoria de solo lectura), una EEPROM (Electrically Erasable and Programmable Read Only Memory, memoria de solo lectura borrable y programable electricamente) y una memoria flash, un dispositivo de almacenamiento auxiliar, tal como un HDD (Hard Disk Drive, unidad de disco duro) y una SSD (Solid State Drive, unidad de estado solido), un disco extrafble, tal como un DVD (Digital Versatile Disk, disco versatil digital) y un medio de almacenamiento (medio), tal como una tarjeta de memoria SD (Secure Digital) (tarjeta de memoria digital segura). Puede adoptarse una memoria intermedia y un registro. De manera alternativa, puede adoptarse un dispositivo de almacenamiento que use DAS (Direct Attached Storage, almacenamiento de conexion directa), FC-SAN (Fibre Channel - Storage Area Network, red de area de almacenamiento basada en tecnologfa Fibre Channel), NAS (Network Attached Storage, almacenamiento conectado en red), IP-SAN (red de area de almacenamiento basada en IP) y similares.
El procesador y la memoria pueden estar integrados. Por ejemplo, en los ultimos anos, el microordenador y similares han sido integrados en un chip. Por consiguiente, un microordenador de 1 chip montado en un equipo electronico puede estar provisto del procesador y la memoria.
De manera alternativa, cada una de entre la seccion 103 de control de protocolo, la seccion 105 de funcionamiento OpenFlow, la seccion 106 de gestion de tabla OpenFlow, el dispositivo 107 de resolucion de accion OpenFlow, la seccion 108 de funcionamiento heredado, la seccion 109 de gestion de tabla heredada, el dispositivo 110 de resolucion de accion heredado , la seccion 111 de funcionamiento de accion puede ser una placa de extension montada en un ordenador o una maquina virtual (VM) construida en una maquina ffsica.
Como un ejemplo del puerto 104 de entrada y del puerto 112 de salida, pueden ejemplificarse un circuito integrado semiconductor tal como una placa que se ajusta a la comunicacion en red (placa madre o tarjeta de E/S), un adaptador de red tal como una NIC (Network Interface Card, tarjeta de interfaz de red) o tarjetas de extension similares, un dispositivo de comunicacion tal como una antena y un puerto de comunicacion tal como un puerto de conexion (conector).
Ademas, un ejemplo de la red usada por el puerto 104 de entrada y el puerto 112 de salida, se ejemplifican Internet, una LAN (Local Area Network, red de area local), una LAN inalambrica (LAN inalambrica), una WAN (Wide Area Network, red de area amplia), una red troncal (Backbone), una lmea de television por cable (CATV), una red de telefoma fija, una red de telefoma movil, WiMAX (IEEE 802.16a), 3G (tercera generacion), una lmea arrendada, IrDA (Infrared Data Association, asociacion de datos por infrarrojos) Bluetooth (marca registrada), una lmea de comunicacion en serie y un bus de datos.
Cabe senalar que cada uno de entre la seccion 103 de control de protocolo, la seccion 105 de funcionamiento OpenFlow, la seccion 106 de gestion de tabla OpenFlow, el dispositivo 107 de resolucion de accion OpenFlow, la seccion 108 de funcionamiento heredado, la seccion 109 de gestion de tabla heredada, el dispositivo 110 de resolucion de accion heredado, y la seccion 111 de funcionamiento de accion puede ser un modulo (modulo), un componente (componente) o un dispositivo dedicado, o inician (mediante llamada) un programa.
Sin embargo, la presente invencion no se limita a estos ejemplos.
(Detalles del dispositivo de resolucion de accion OpenFlow)
La Fig. 3 es un diagrama que muestra los detalles del dispositivo 107 de resolucion de accion OpenFlow de la presente invencion.
El dispositivo 107 de resolucion de accion OpenFlow y la seccion 116 de funcionamiento de busqueda TCAM (OF) tienen el mismo mecanismo y la misma funcion que los de la Fig. 2.
El dispositivo 107 de resolucion de accion OpenFlow se implementa como una parte de la seccion 116 de funcionamiento de busqueda TCAM (OF) ajustando la asignacion de entrada de TCAM (OF).
Por esta razon, el dispositivo 107 de resolucion de accion OpenFlow y la seccion 116 de funcionamiento de busqueda TCAM (OF) constituyen sustancialmente un bloque de funcion (dispositivo de resolucion de accion OpenFlow y busqueda TCAM (OF)). El bloque de funcion tiene una prioridad 117 inter-tablas y una entrada 118 en la TCAM (OF).
5
10
15
20
25
30
35
40
45
La prioridad 117 inter-tablas indica una prioridad de accion esperada. La entrada 118 en TCAM (OF) indica la asignacion de entrada en TCAM (OF) correspondiente a la prioridad.
La entrada 118 en TCAM (OF) incluye un grupo 119 de entrada de busqueda TCAM (OF), una entrada 120 que hace referencia al resultado de busqueda de tabla L2 (OF), una entrada 121 que hace referencia al resultado de busqueda de tabla L3 (OF), una entrada 122 que hace referencia al resultado de busqueda de otra tabla, y una entrada 123 de no coincidencia.
El grupo 119 de entrada de busqueda TCAM (OF) es un conjunto de entradas para conseguir la busqueda TCAM (OF) en la seccion 116 de funcionamiento de busqueda TCAM (OF). La entrada 120 que hace referencia al resultado de la busqueda de tabla L2 (OF) es una entrada para hacer referencia al resultado de la busqueda de la tabla L2 (OF). La entrada 121 que hace referencia al resultado de la busqueda de tabla L3 (OF) es una entrada para hacer referencia al resultado de la busqueda de la tabla L3 (OF). La otra entrada 122 que hace referencia al resultado de la busqueda de la tabla (OF) es una entrada para hacer referencia al resultado de la busqueda de la otra tabla (OF). La entrada 123 de no coincidencia es una entrada para tratar como "sin coincidencia" un paquete que no esta asociado con ninguna entrada. Es decir, son entradas que definen las acciones respectivas indicadas anteriormente.
(Operacion del dispositivo de resolucion de accion OpenFlow)
A continuacion, se describira una operacion del dispositivo 107 de resolucion de accion OpenFlow en la Fig. 3.
Como la orden de busqueda en la tabla OpenFlow, finalmente, la seccion 116 de funcionamiento de busqueda TCAM (OF) realiza una busqueda. Cabe senalar que en la busqueda por parte de la seccion 116 de funcionamiento de busqueda TCAM (OF), el dispositivo 107 de resolucion de accion OpenFlow puede implementarse ajustando la asignacion de entrada de TCAM (OF) en el conmutador de manera que pueda hacer referencia al resultado de busqueda de las tablas L2/L3/otras.
Por ejemplo, la prioridad de accion esperada para cada tabla tal como en la prioridad 117 inter-tablas puede ser gestionada realizando un mapeo como en la entrada 118 en TCAM (OF).
En el caso de un ejemplo mostrado en la Fig. 3, la prioridad 117 de accion se convierte en "completamente compatible (equivalente a TCAM (OF))", "compatible con L2 (equivalente a tabla L2 (OF))", "compatible con L3 (equivalente a la tabla L3 (OF))”, “compatible con otra (equivalente a otra tabla)" desde la prioridad mas alta.
Usando como asignacion de entrada en TCAM (OF), el dispositivo 107 de resolucion de accion OpenFlow puede disponer el "grupo 119 de entrada de realizacion de la funcion de busqueda TCAM (OF)", la "entrada 120 que hace referencia al resultado de la busqueda de la tabla L2 (OF)", la "entrada 121 que hace referencia al resultado de la busqueda de la tabla L3 (OF)", la "entrada 122 que hace referencia al resultado de la busqueda de otra tabla (OF)", y la "entrada 123 de no coincidencia" en este orden a partir de la prioridad de busqueda de TCAM (OF) mas alta.
(Grupo de entrada de busqueda TCAM (OF))
El grupo 119 de entrada de realizacion de la funcion de busqueda TCAM (OF) es un grupo de entrada para realizar la seccion 116 de funcionamiento de busqueda TCAM (OF) para la funcion de busqueda. Cuando un paquete introducido coincide con cualquier entrada del grupo 119 de entrada de realizacion de la funcion de busqueda TCAM (OF), el dispositivo 107 de resolucion de accion OpenFlow selecciona la accion de la entrada como la accion para el paquete.
(Entrada que hace referencia al resultado de la busqueda de la tabla L2 (OF))
Se determina que la entrada 120 que hace referencia al resultado de la busqueda de la tabla L2 (OF) es coincidente en base al resultado de una busqueda anterior de la tabla L2 (OF), cuando existe la entrada correspondiente a un paquete introducido en la tabla L2 (OF).
Por ejemplo, cuando la entrada correspondiente a un paquete introducido existe en la busqueda de la tabla L2 (OF), se establece un indicador "X = 1" y cuando se ha establecido el indicador "X = 1", la entrada se determina como coincidente, en la entrada 120 que hace referencia al resultado de la busqueda de la tabla L2 (OF).
Cuando se determina que la entrada 120 que hace referencia al resultado de la busqueda de la tabla L2 (OF) es coincidente, el dispositivo 107 de resolucion de accion OpenFlow selecciona la accion de la entrada de la tabla L2 (OF) como una accion para el paquete.
(Entrada que hace referencia al resultado de la busqueda de la tabla L3 (OF))
Se determina que la entrada 121 que hace referencia al resultado de la busqueda es coincidente, en base al resultado de una busqueda anterior de la tabla L3 (OF) cuando la entrada correspondiente a un paquete introducido existe en la tabla
5
10
15
20
25
30
35
40
45
L3 (OF).
Por ejemplo, se establece un indicador "Y = 1" cuando la entrada correspondiente a un paquete introducido existe en la busqueda de la tabla L3 (OF), y cuando se ha establecido el indicador "Y = 1", se determina que la entrada es coincidente en la entrada 121 que hace referencia al resultado de la busqueda en la tabla L3 (OF) en TCAM (OF).
Cuando se determina que la entrada 121 que hace referencia al resultado de la busqueda de la tabla L3 (OF) es
coincidente, el dispositivo 107 de resolucion de accion OpenFlow selecciona la accion de la entrada de la tabla L3 (OF)
como una accion para el paquete.
(Entrada que hace referencia al resultado de la busqueda de otra tabla (OF))
Se determina que la entrada 122 que hace referencia al resultado de la busqueda es coincidente en base al resultado de una busqueda anterior de la otra tabla (OF), cuando la entrada correspondiente a un paquete introducido existe en la otra tabla (OF).
Por ejemplo, cuando la entrada correspondiente al paquete introducido existe en la busqueda de la otra tabla (OF), se establece un indicador "Z = 1" y, cuando se ha establecido el indicador "Z = 1", la entrada se determina que es coincidente en el otro resultado de busqueda de la tabla (OF) que hace referencia a la entrada 122 de TCAM (OF).
Cuando se determina que la entrada 122 que hace referencia al resultado de la busqueda de otra tabla (OF) es
coincidencia, el dispositivo 107 de resolucion de accion OpenFlow selecciona la accion de la entrada de la otra tabla (OF)
como una accion para el paquete.
(Entrada de no coincidencia)
La entrada 123 de no coincidencia es una entrada que se determina que es coincidente cuando el paquete introducido no coincide con ninguna entrada TCAM (OF).
En este caso, la entrada 123 de no coincidencia es una entrada con la que coincide un paquete que tiene cualquier patron. Cuando el paquete introducido no coincide con ninguna entrada TCAM (OF) y solo coincide con la entrada 123 de no coincidencia, el dispositivo 107 de resolucion de accion OpenFlow selecciona "Packet-IN" (consulta de la accion del paquete al controlador) o "NORMAL" (procesamiento de paquetes usando la seccion de funcionamiento heredado) como una accion para el paquete segun la configuracion de OpenFlow.
Cuando el usuario intenta cambiar la prioridad de accion de cada tabla, puede cambiarse el orden de la entrada en TCAM (OF).
(Sumario del control de la tabla OpenFlow)
La Fig. 4 es una vista esquematica que muestra el control de la tabla OpenFlow por parte del controlador segun la presente invencion. El controlador 101, el conmutador 102, la seccion 103 de control de protocolo y el grupo 113 de tablas tienen el mismo mecanismo y la misma funcion que los de la Fig. 1 y la Fig. 2.
El conmutador 102 incluye una TCAM 124, una tabla 125 L2, una tabla 126 L3 y otra tabla 127.
La TCAM 124 incluye TCAM (OF) y TCAM (heredada). La tabla 125 L2 incluye una tabla L2 (OF) y una tabla L2 (heredada). La tabla 126 L3 incluye una tabla L3 (OF) y una tabla L3 (heredada). La otra tabla 127 incluye otra tabla (OF) y otra tabla (heredada).
La TCAM (OF), la tabla L2 (OF), la tabla L3 (OF) y la otra tabla (OF) constituyen la tabla OpenFlow.
La TCAM (heredada), la tabla L2 (heredada), la tabla L3 (heredada) y la otra tabla (heredada) constituyen la tabla heredada.
Generalmente, la TCAM 124, la tabla 125 L2, la tabla 126 L3 y la otra tabla 127 en el conmutador 102 es una tabla ffsica.
El conmutador 102 segun la presente invencion tiene una funcion de dividir logicamente una tabla ffsica unica (la TCAM 124, la tabla 125 L2, la tabla 126 L3 y la otra tabla 127) en el grupo 113 de tablas que constituye la tabla OpenFlow y el grupo 128 de tablas que constituye la tabla heredada. Es decir, el conmutador 102 divide e integra logicamente una tabla ffsica (la TCAM 124, la tabla 125 L2, la tabla 126 L3 y la otra tabla 127) en base a las condiciones y contenidos de procesamiento que estan definidos para cada tabla, a Construya la tabla OpenFlow (grupo 113 de tablas) y la tabla heredada (grupo 128 de tablas).
5
10
15
20
25
30
35
40
45
El grupo 128 de tablas que constituye la tabla heredada incluye TCAM (heredada), una tabla L2 (heredada), una tabla L3 (heredada) y otra tabla (heredada).
(Sumario del control de la tabla Open Flow)
A continuacion, se describira el sumario del control de la tabla OpenFlow por parte del controlador en la Fig. 4.
El controlador 101 puede controlar la tabla de Open Flow del conmutador 102 mediante la seccion 103 de control de protocolo.
Generalmente, cada una de las TCAM 124, la tabla 125 L2, la tabla 126 L3 y la otra tabla 127 en el conmutador es una sola tabla ffsica.
El conmutador segun la presente invencion tiene una funcion de recortar y usar una parte del recurso de tabla para OpenFlow y construir logicamente el grupo 113 de tablas que constituye la tabla OpenFlow y el grupo 128 de tablas que constituye la tabla heredada. Es decir, el conmutador 102 construye la tabla logica OpenFlow (grupo 113 de tablas) y la tabla heredada (grupo 128 de tablas) en base a la TCAM 124, la tabla 125 L2, la tabla 126 L3 y la otra tabla 127.
Las tablas que constituyen la tabla OpenFlow tienen diferentes funciones OpenFlow factibles.
Por esta razon, el controlador 101 debe realizar el control de tabla OpenFlow teniendo en consideracion "1: ^Que funcion OpenFlow puede realizarse en cada tabla?" y "2: ^A que tabla que constituye la tabla OpenFlow pertenece la entrada a controlar?"
Con respecto el punto "1", por ejemplo, "el controlador tiene un mecanismo siguiente: una funcion que puede conseguirse en cada tabla es introducida previamente (entrada) y se devuelve un error cuando se intenta otro tipo de control" y "el conmutador tiene un mecanismo siguiente: se devuelve un error para un comando de control desde el controlador, cuando la tabla de destino no tiene la funcion correspondiente al control".
Con respecto al punto "2", por ejemplo, "un cierto intervalo de la prioridad (0-64k) en la tabla OpenFlow es asignada a cada tabla, y la tabla a usar se determina en base al intervalo de prioridades, cuando el controlador realiza el control", o "un ID es asignado a cada tabla que constituye la tabla OpenFlow, la tabla a usar se determina en base al ID cuando el controlador realiza el control".
(Detalles del control de la tabla OpenFlow (1))
La Fig. 5 es un diagrama que muestra detalles de un ejemplo de un primer procedimiento de control de tabla OpenFlow por parte del controlador segun la presente invencion. Aqrn, se describira un caso de designacion de una tabla usando un intervalo de prioridades.
El controlador 101, el conmutador 102, la seccion 106 de gestion de tabla OpenFlow y el grupo 113 de tablas tienen el mismo mecanismo y la misma funcion que los de las Figs. 1 y 2.
La seccion 106 de gestion de tabla OpenFlow de la seccion 105 de funcionamiento OpenFlow asigna el intervalo de prioridades a cada tabla del grupo 113 de tablas que constituye la tabla OpenFlow.
En caso de designar la tabla en base al intervalo de prioridades, los intervalos de prioridades de las tablas no deben superponerse. Un total de los intervalos de prioridades no debe exceder el intervalo de prioridades prescrito en OpenFlow.
El controlador 101 designa la tabla en base a un valor en el intervalo de prioridades asignado a cada tabla.
La seccion 106 de gestion de tabla OpenFlow de la seccion 105 de funcionamiento OpenFlow determina una tabla a usar en base al valor en el intervalo de prioridades, que es designado por el controlador 101.
(Detalles de control de la tabla OpenFlow (2))
La Fig. 6 es un diagrama que muestra detalles de un ejemplo de un segundo procedimiento de control de tabla OpenFlow por parte del controlador segun la presente invencion. Aqrn, se describira un caso de designacion de una tabla usando un ID de tabla.
El controlador 101, el conmutador 102, la seccion 106 de gestion de tabla OpenFlow y el grupo 113 de tablas tienen el mismo mecanismo y la misma funcion que los de la Fig. 1 y la Fig. 2.
La seccion 106 de gestion de tabla OpenFlow de la seccion 105 de funcionamiento OpenFlow asigna un ID 129 de tabla a cada tabla del grupo 113 de tablas que constituye la tabla OpenFlow.
En caso de designar la tabla en base al ID de tabla, los IDs de tabla no deben superponerse. Por otra parte, los intervalos
5
10
15
20
25
30
35
40
45
de prioridades establecidos para las tablas pueden superponerse. Esto es debido a que cada tabla es identificada segun el ID 129 de tabla como una tabla individual, y la prioridad de cada tabla es determinada por el dispositivo 107 de resolucion de accion OpenFlow.
El controlador 101 designa la tabla segun el ID 129 de tabla asignado a cada tabla.
La seccion 106 de gestion de tabla OpenFlow de la seccion 105 de funcionamiento OpenFlow determina la tabla a usar en base a la ID 129 de tabla designada por el controlador 101.
(Ejemplo de operacion de procesamiento en la entrada del paquete (1))
Las Figs. 7A y 7B muestran un primer ejemplo de operacion del sistema de conmutacion a la entrada de un paquete segun la presente invencion. En aras de la simplificacion, solo se muestra el bloque de funcion relacionado con la operacion. La etapa S101 a la etapa S107 muestran un flujo de toda la operacion desde la entrada del paquete.
(1) Etapa S101
El controlador 101 registra previamente una entrada TCAM (OF) (1) de {Condicion de coincidencia: IP de destino = AA, Accion: “Drop’VOmision} al conmutador 102. El conmutador 102 registra la entrada TCAM (OF) (1) en TCAM (OF) del grupo 113 de tablas.
La "condicion de coincidencia" se define en base a una combinacion de informacion de cabecera opcional de L1 a L4. "Accion" define una accion, tal como reenviar/descartar/reescribir informacion de cabecera al paquete que cumple con la condicion de coincidencia.
(2) Etapa S102
El controlador 101 registra previamente una entrada de la tabla L3 (OF) (1) de {Condicion de coincidencia: IP de destino = AA, Accion: salida desde el Puerto 1} y una entrada de la tabla L3 (OF) (2) de {Condicion de coincidencia: IP de destino = BB, Accion: salida desde el Puerto 2} al conmutador 102. El conmutador 102 registra la entrada de la tabla L3 (OF) (1) y la entrada de la tabla L3 (OF) (2) en la tabla L3 (OF) del grupo 113 de tablas.
(3) Etapa S103
Cuando el paquete del IP de destino = AA fluye hacia el puerto valido para OpenFlow en la entrada del paquete, el puerto 104 de entrada transmite el paquete a la seccion 105 de funcionamiento OpenFlow.
(4) Etapa S104
Cuando el paquete del IP de destino = AA fluye hacia el puerto valido para OpenFlow, la seccion 105 de funcionamiento OpenFlow procesa el paquete.
(5) Etapa S105
En primer lugar, en la seccion 105 de funcionamiento OpenFlow, la seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) busca el paquete entrante en la tabla L2/L3/otra (OF). En esta busqueda, el paquete obtiene una coincidencia para la entrada de la tabla L3 (OF) (1).
(6) Etapa S106
La seccion 115 de funcionamiento de busqueda de L2/L3/otra tabla (OF) informa el resultado de la busqueda al dispositivo 107 de resolucion de accion OpenFlow. En la Fig. 7B, el dispositivo 107 de resolucion de accion OpenFlow y la seccion 116 de funcionamiento de busqueda de TCAM (OF) se muestran como un bloque de funcion (busqueda TCAM (OF) y dispositivo de resolucion de accion OpenFlow).
(7) Etapa S107
La seccion 116 de funcionamiento de busqueda TCAM (OF) busca el paquete entrante en TCAM (OF). En esta busqueda, el primer paquete coincide primero con la entrada TCAM (OF) (1). En este momento, se finaliza el procesamiento de busqueda de TCAM (OF). La seccion 116 de funcionamiento de busqueda TCAM (OF) informa el resultado de la busqueda al dispositivo 107 de resolucion de accion OpenFlow.
(8) Etapa S108
El dispositivo 107 de resolucion de accion OpenFlow recibe el resultado de la busqueda de cada una de entre la seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) y la seccion 116 de funcionamiento de busqueda TCAM (OF) y determina la accion para el paquete entrante segun la prioridad inter-tablas. Aqrn, la prioridad de TCAM (OF) es la mas
5
10
15
20
25
30
35
40
45
alta. Por esta razon, el dispositivo 107 de resolucion de accion OpenFlow determina la accion (“Drop”) de la entrada TCAM (OF) (1) como la accion para el paquete entrante, e informa la accion determinada (“Drop”) a la seccion 111 de funcionamiento de accion.
(9) Etapa S109
La seccion 111 de funcionamiento de accion realiza la accion (“Drop”) determinada por el dispositivo 107 de resolucion de accion OpenFlow. Aqm, debido a que la accion es "“Drop”", la seccion 111 de funcionamiento de accion no emite el paquete. La seccion 111 de funcionamiento de accion descarta el paquete entrante y los paquetes subsiguientes pertenecientes al mismo flujo.
(Ejemplo de operacion de procesamiento en la entrada del paquete (2))
Las Figs. 8A y 8B muestran un segundo ejemplo de operacion del sistema de conmutacion en la entrada de un paquete segun la presente invencion. En aras de la simplificacion, solo se muestran los bloques de funcion relacionados con la operacion. La etapa S201 a la etapa S210 muestran un flujo de toda la operacion desde la entrada del paquete.
(1) Etapa S201
El controlador 101 registra previamente una entrada TCAM (OF) (1) de {Condicion de coincidencia: IP de destino = AA, Accion: “Drop”} al conmutador 102. El conmutador 102 registra la entrada TCAM (OF) (1) en TCAM (OF) del grupo 113 de tablas.
(2) Etapa S202
El controlador 101 registra previamente una entrada de tabla L3 (OF) (1) de {Condicion de coincidencia: IP de destino = AA, Accion: salida desde el Puerto 1} y una entrada de tabla L3 (OF) (2) de {Condicion de coincidencia: IP de destino = BB, Accion: salida desde el Puerto 2} al conmutador 102. El conmutador 102 registra la entrada de tabla L3 (OF) (1) y la entrada de tabla L3 (OF) (2) en la tabla L3 (OF) del grupo 113 de tablas.
(3) Etapa S203
Cuando el paquete del IP de destino = BB fluye hacia el puerto valido para OpenFlow en la entrada del paquete, el puerto 104 de entrada transmite el paquete a la seccion 105 de funcionamiento OpenFlow.
(4) Etapa S204
Cuando el paquete del IP de destino = BB fluye hacia el puerto valido para Open Flow, la seccion 105 de funcionamiento OpenFlow procesa el paquete.
(5) Etapa S205
En primer lugar, en la seccion 105 de funcionamiento OpenFlow, la seccion 115 de funcionamiento de busqueda de L2/L3/otra tabla (OF) busca el paquete en L2/L3/otra tabla (OF). En esta busqueda, el paquete coincide con la entrada de la tabla L3 (OF) (2).
(6) Etapa S206
La seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) informa al dispositivo 107 de resolucion de accion OpenFlow del resultado de la busqueda. En la Fig. 8B, el dispositivo 107 de resolucion de accion OpenFlow y la seccion 116 de funcionamiento de busqueda de TCAM (OF) se muestran como un bloque de funcion (busqueda TCAM (OF) y dispositivo de resolucion de accion Open Flow).
(7) Etapa S207
La seccion 116 de funcionamiento de busqueda TCAM (OF) busca el paquete entrante en TCAM (OF). Sin embargo, debido a que el paquete entrante es el paquete del IP de destino = BB, no existe ninguna entrada con la que el paquete coincide con cualquier entrada en TCAM (OF). En este momento, se finaliza el procesamiento de busqueda de TCAM (OF). La seccion 116 de funcionamiento de busqueda TCAM (OF) informa el resultado de busqueda al dispositivo 107 de resolucion de accion OpenFlow. En este momento, se finaliza el procesamiento de busqueda de TCAM (OF). La seccion 116 de funcionamiento de busqueda TCAM (OF) informa el resultado de la busqueda al dispositivo 107 de resolucion de accion OpenFlow.
(8) Etapa S208
5
10
15
20
25
30
35
40
45
115 de funcionamiento de busqueda L2/L3/otra tabla (OF) y la seccion 116 de funcionamiento de busqueda TCAM (OF) y determina una accion para el paquete entrante segun la prioridad inter-tablas. Aqm, la entrada de destino existe solo en la entrada de la tabla L3 (OF) (2). De esta manera, el dispositivo 107 de resolucion de accion OpenFlow determina la accion (salida desde el puerto 2) de la entrada de la tabla L3 (OF) (2) como la accion para el paquete entrante, e informa la accion determinada (salida desde el puerto 2) a la seccion 111 de funcionamiento de accion.
(9) Etapa S209
La seccion 111 de funcionamiento de accion realiza la accion (salida desde el puerto 2) determinada por el dispositivo 107 de resolucion de accion OpenFlow.
(10) Etapa S210
La seccion 111 de funcionamiento de accion emite el paquete entrante y los paquetes subsiguientes pertenecientes al mismo flujo, al puerto 112 de salida que tiene el puerto 2.
(11) Etapa S211
El puerto 112 de salida emite los paquetes emitidos desde la seccion 111 de funcionamiento de accion al puerto 2.
(12) Etapa S212
Los paquetes emitidos desde el puerto 2 fluyen hacia la red y son transmitidos hacia el IP de destino = BB.
En las Figs. 8A y 8B, cuando el paquete entrante coincide con cualquier entrada en la pluralidad de tablas, la seccion 115 de funcionamiento de busqueda de L2/L3/otra tabla (OF) informa todas las entradas coincidentes al dispositivo 107 de resolucion de accion OpenFlow como el resultado de la busqueda. Cuando ningun paquete entrante coincide con ninguna entrada en TCAM (OF) de la prioridad mas alta, el dispositivo 107 de resolucion de accion OpenFlow adopta la coincidencia de entrada en la tabla de prioridad mas alta entre el resultado de la busqueda de la seccion 115 de funcionamiento de busqueda de L2/L3/otra tabla (OF).
En las Figs. 8A y 8B, cuando el paquete entrante coincide con las entradas en la pluralidad de tablas, la seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF) puede informar la entrada que coincide en la tabla de la prioridad mas alta en estas tablas, al dispositivo 107 de resolucion de accion OpenFlow como el resultado de la busqueda segun la prioridad 117 inter-tablas.
(Ejemplo de control de tabla OpenFlow (1))
La Fig. 9 muestra un ejemplo de un primer procedimiento de control de tabla OpenFlow por parte del controlador en caso de designar la tabla en base al intervalo de prioridades.
La informacion 132 de registro es informacion desde el controlador 101 a la seccion 106 de gestion de tabla OpenFlow del conmutador 102. Un resultado 133 de registro es un resultado de registro del grupo 113 de tablas que constituye la tabla OpenFlow.
Cuando se supone que el grupo 113 de tablas que constituye la tabla Open Flow es una tabla, el conmutador 102 controla la tabla esperada segun la prioridad.
(1) Etapa S301
El controlador 101 registra la entrada de {prioridad: 50001, Condicion de coincidencia: XXXX, Accion: YYYY} al conmutador 102.
(2) Etapa S302
Cuando la entrada es registrada desde el controlador 101, el conmutador 102 selecciona la tabla L2 (OF) como la tabla segun la prioridad de la entrada, y registra la entrada en la tabla L2 (OF).
(Ejemplo de control de tabla OpenFlow (2))
La Fig. 10 muestra un ejemplo de un segundo procedimiento de control de tabla OpenFlow por parte del controlador en caso de designar la tabla en base al ID de tabla.
La informacion 134 de registro es informacion de registro desde el controlador a la tabla OpenFlow. Un resultado 135 de registro es un resultado de registro para el grupo de tablas que constituye la tabla Open Flow.
5
10
15
20
25
30
35
40
45
el conmutador 102 controla la tabla esperada segun el ID de tabla.
(1) Etapa S401
El controlador 101 registra la entrada de {ID de tabla: #2, prioridad: 1, Condicion de coincidencia: XXXX, Accion: YYYY} al conmutador 102.
(2) Etapa S402
Cuando la entrada es registrada desde el controlador 101, el conmutador 102 selecciona la tabla L2 (OF) como la tabla segun el ID de tabla, y registra la entrada en la tabla L2 (OF).
(Caractensticas de la primera realizacion ejemplar)
En esta realizacion ejemplar, el dispositivo de resolucion de accion OpenFlow puede integrar recursos de la pluralidad de tablas y puede comparar las prioridades de las tablas entre sf para resolver la accion.
Por consiguiente, la tabla OpenFlow de gran capacidad puede ser construida usando el recurso de la pluralidad de tablas del conmutador. De esta manera, el conmutador puede controlar una gran cantidad de flujo.
En este ejemplo de realizacion, cada tabla que constituye la tabla OpenFlow puede ser identificada en base al "intervalo de prioridades" en caso de usar la tabla OpenFlow como una tabla OpenFlow de gran capacidad o la "ID de tabla" en caso de usar cada tabla del grupo de tablas que constituyen la tabla OpenFlow como la pluralidad de tablas OpenFlow diferentes.
Por consiguiente, la tabla OpenFlow constituida por la pluralidad de tablas del conmutador puede ser usada como una tabla OpenFlow de gran capacidad o la pluralidad de tablas OpenFlow diferentes. De esta manera, la tabla OpenFlow configurada a partir de la pluralidad de tablas puede ser controlada de manera flexible.
[Segunda realizacion ejemplar]
A continuacion, se describira una segunda realizacion ejemplar de la presente invention con referencia a los dibujos adjuntos. La segunda realizacion ejemplar es una realizacion ejemplar del dispositivo de resolucion de accion OpenFlow cuando la section de funcionamiento de busqueda TCAM (OF) no incluye el dispositivo de resolucion de accion OpenFlow.
<Ejemplo 1>
La Fig. 11 es un diagrama que muestra detalles de la seccion 105 de funcionamiento OpenFlow cuando la busqueda es realizada por la "seccion 116 de funcionamiento de busqueda TCAM (OF)" y la "seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF)”, en este orden.
La seccion 105 de funcionamiento OpenFlow, la seccion 106 de gestion de tabla OpenFlow, el dispositivo 107 de resolucion de accion OpenFlow, la seccion 111 de funcionamiento de accion, el grupo 113 de tablas, la seccion 114 de funcionamiento de busqueda, la seccion 115 de funcionamiento de busqueda L2/L3/otra tabla (OF), y la seccion 116 de funcionamiento de busqueda TCAM (OF) tienen el mismo mecanismo y la misma funcion que los de la Fig. 2.
Con referencia a la Fig. 11, se describira una operation de la seccion 105 de funcionamiento OpenFlow cuando la busqueda es realizada por la "seccion 116 de funcionamiento de busqueda TCAM (OF)" y la "seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF)", en este orden.
La Fig. 11 muestra un caso en el que, en la seccion 114 de funcionamiento de busqueda de la seccion 106 de gestion de tabla OpenFlow, la seccion 116 de funcionamiento de busqueda TCAM (OF) no efectua finalmente la busqueda.
En la Fig. 11, debido a que la busqueda es realizada por la “seccion 116 de funcionamiento de busqueda TCAM (OF)” y la "seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF)", en este orden, la seccion 116 de funcionamiento de busqueda TCAM (OF) no puede incluir el dispositivo 107 de resolucion de accion OpenFlow.
<Ejemplo 2>
La Fig. 12 es un diagrama que muestra detalles de la seccion 105 de funcionamiento OpenFlow cuando la seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF) y la seccion 116 de funcionamiento de busqueda de TCAM (OF) realizan simultaneamente la busqueda.
La seccion 105 de funcionamiento Open Flow, la seccion 106 de gestion de tabla OpenFlow, el dispositivo 107 de resolucion de accion OpenFlow, la seccion 111 de funcionamiento de accion, el grupo 113 de tablas, la seccion 114 de funcionamiento de busqueda, la seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF) y la seccion 116 de
5
10
15
20
25
30
35
40
45
funcionamiento de busqueda TCAM (OF) tienen el mismo mecanismo y la misma funcion que los de la Fig. 2.
Con referencia a la Fig. 12, se describira una operacion de la seccion 105 de funcionamiento OpenFlow cuando la seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF) y la seccion 116 de funcionamiento de busqueda de TCAM (OF) realizan simultaneamente la busqueda.
La Fig. 12 muestra un caso en el que, en la seccion 114 de funcionamiento de busqueda de la seccion 106 de gestion de tabla OpenFlow, la seccion 116 de funcionamiento de busqueda de TCAM (OF) no realiza finalmente la busqueda.
Debido a que la seccion 115 de funcionamiento de busqueda L2/L3 otra tabla (OF) y la seccion 116 de funcionamiento de busqueda TCAM (OF) realizan simultaneamente la busqueda, la seccion 116 de funcionamiento de busqueda TCAM (OF) no puede incluir el dispositivo 107 de resolucion de accion OpenFlow.
<Ejemplo 3>
La Fig. 13 muestra una realizacion ejemplar del dispositivo 107 de resolucion de accion OpenFlow cuando la seccion 116 de funcionamiento de busqueda TCAM (OF) no puede incluir el dispositivo 107 de resolucion de accion OpenFlow.
El dispositivo 107 de resolucion de accion OpenFlow y la seccion 111 de funcionamiento de accion tienen el mismo mecanismo y la misma funcion que los de la Fig. 2.
El dispositivo 107 de resolucion de accion OpenFlow incluye una seccion 130 de recepcion de busqueda (receptor de busqueda) y una seccion 131 de resolucion de proceso (dispositivo de resolucion de proceso).
La seccion 130 de recepcion de busqueda (receptor de busqueda) recibe el resultado de la busqueda de cada tabla. La seccion 131 de resolucion de proceso (dispositivo de resolucion de proceso) determina el procesamiento OpenFlow en base al resultado de la busqueda de cada tabla.
Con referencia a la Fig. 13, se describira una operacion del dispositivo 107 de resolucion de accion OpenFlow cuando la seccion 116 de funcionamiento de busqueda TCAM (OF) no puede incluir el dispositivo 107 de resolucion de accion OpenFlow.
Cuando la seccion 116 de funcionamiento de busqueda TCAM (OF) no puede incluir el dispositivo 107 de resolucion de accion OpenFlow, tal como se muestra en la Fig. 13, el dispositivo 107 de resolucion de accion OpenFlow esta montado en el conmutador 102.
En el dispositivo 107 de resolucion de accion OpenFlow, la seccion 130 de recepcion de busqueda (receptor de busqueda) recibe el resultado de la busqueda de cada tabla. La seccion 131 de resolucion de proceso (dispositivo de resolucion de proceso) determina la accion de OpenFlow en base al resultado de la busqueda de cada tabla y la prioridad inter-tablas establecida previamente, e informa la accion determinada a la seccion 111 de funcionamiento de accion.
[Otras realizaciones ejemplares]
Aunque el conmutador 102 se describe como el conmutador OpenFlow en cada una de las realizaciones ejemplares indicadas anteriormente, el conmutador OpenFlow es simplemente un ejemplo. De hecho, el conmutador no esta limitado al conmutador OpenFlow, y la presente invention puede aplicarse tambien a cualquier conmutador que tenga el mismo mecanismo y la misma funcion que el conmutador OpenFlow.
<Caracterfsticas de la presente invencion>
La presente invencion se refiere a un procedimiento para extender la tabla OpenFlow mediante la integration de la pluralidad de tablas.
Segun la presente invencion, en la tabla OpenFlow constituida por una unica tabla (principalmente TCAM) del conmutador, la extension del numero de entradas de flujo en la tabla OpenFlow se consigue construyendo la tabla OpenFlow a partir de la pluralidad de tablas del conmutador.
En la tecnica OpenFlow, una funcion de transferencia y una funcion de control han sido montadas en el mismo equipo NW (enrutador/conmutador y similares) y estan separadas entre sf, la funcion de transferencia todavfa permanece en el equipo NW y la funcion de control es remplazada por un controlador externo. El controlador opera de manera remota la tabla OpenFlow en el equipo NW segun el protocolo OpenFlow para controlar el comportamiento del equipo NW. La tabla OpenFlow esta constituida por un grupo de entradas de flujo que incluye tres tipos de information: {Condition de coincidencia, Accion, Informacion estadfstica}. En la tecnica OpenFlow, la condicion de coincidencia define un flujo a controlar, y la accion y la informacion estadfstica pueden adquirirse en unidades de flujos.
El resumen de {Condicion de coincidencia, Accion, Informacion estadfstica} de OpenFlow es el siguiente.
5
10
15
20
25
30
35
40
45
(Condicion de coincidencia)
"Ingress port (puerto de entrada)7”Src MAC (direccion MAC de origen)7”Dst MAC (direccion MAC destino)7”Ether type (tipo/campo)"/"VLAN ID (informacion de identificacion de LAN virtual)"/"VLAN Priority (prioridad de LAN virtual)7'Src IP (direccion IP de origen)7'Dst IP (direccion IP de destino)"/"IP protocol (numero de protocolo IP)”/”IP ToS (6 bits superiores)7'Src Port (numero de puerto de origen)7'Dst Port (numero de puerto de destino)"
(Accion)
"Forward (salida desde el puerto ffsico)7'All (salida desde todos los puertos distintos del puerto de entrada)"/"Controller (salida al controlador)"/"Local (salida a la pila local del dispositivo)"/"Table (salida segun el contenido en la tabla Open Flow)"/"In_port (salida desde el puerto de entradayTNormal (salida usando el contenido en la tabla heredada)7'Flood (salida desde todos los puertos distintos del puerto de entrada y el puerto de bloque de Spanning Tree)7'Drop (descartar un paquete)7'Modify-Field (reescribir la informacion de cabecera del paquete)"
Por ejemplo, en el caso de "Modify-Field", "VLAN ID", "Vlan Priority (Prioridad)", "Src MAC", "Dst MAC", "Src IP", "Dst IP", "IP ToS" "Src Port" y "Dst Port " pueden reescribirse.
(Informacion estadfstica)
Varios tipos de informacion estadfstica en unidades de "tabla", "flujo", "puerto ffsico" y "cola (“Queue”)"
Segun la presente invencion, la extension del numero de entradas de flujo en la tabla OpenFlow como dispositivo puede realizarse sin aumentar la capacidad de la propia tabla (principalmente TCAM) del conmutador constituyendo la tabla Open Flow usando la pluralidad de tablas del conmutador. Es decir, la pluralidad de tablas en el conmutador pueden ser usadas como la tabla OpenFlow de gran capacidad desde el lado del controlador.
Espedficamente, la integracion en la tabla OpenFlow se consiguen absorbiendo una diferencia entre las funciones (Condicion de coincidencia/Accion) de cada tabla. Debido a que cada una de entre la pluralidad de tablas del conmutador tiene un uso original (por ejemplo, reenvfo L2 en la tabla L2, reenvfo L3 en la tabla L3), no se usan todos los recursos y se recorta y se usa una parte de los recursos.
Tal como se ha descrito anteriormente, las caractensticas de la presente invencion son "absorber la diferencia de Condicion de coincidencia/Accion de la pluralidad de tablas e integrar las tablas en la tabla OpenFlow" y "proporcionar el procedimiento de determinacion de accion espedfica".
Segun la presente invencion, una parte de la pluralidad de recursos de tabla del conmutador es usada como la tabla OpenFlow.
Segun la presente invencion, cada tabla del conmutador es tratada como "recurso de tabla OpenFlow restringido por funcion" segun la funcion factible (Condicion de coincidencia/Accion).
Segun la presente invencion, el dispositivo de resolucion de accion OpenFlow absorbe la diferencia entre las funciones (Condicion de coincidencia/Accion) de cada recurso de tabla, e integra los recursos como el recurso de tabla OpenFlow.
Segun la presente invencion, el dispositivo de resolucion de accion OpenFlow determina la accion en base a la prioridad (Prioridad) de tablas incluyendo TCAM.
En el conmutador en el que finalmente se realiza la busqueda TCAM (OF), el dispositivo de resolucion de accion OpenFlow esta incluido en la seccion de funcionamiento de busqueda de TCAM (OF).
Segun la presente invencion, la tabla OpenFlow configurada de la pluralidad de tablas es controlada de manera flexible por el controlador.
Segun la presente invencion, cuando la pluralidad de tablas se usan como una tabla OpenFlow, la tabla es identificada en base al intervalo de prioridades.
Segun la presente invencion, cuando la pluralidad de tablas se usan como la tabla OpenFlow, las tablas son identificadas en base al ID de tabla.
Aunque las realizaciones ejemplares de la presente invencion han sido descritas en detalle, la presente invencion no esta limitada a las realizaciones ejemplares indicadas anteriormente, y las modificaciones que no se apartan del objeto de la presente invencion estan incluidas dentro del alcance de la presente invencion.

Claims (7)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Un sistema (102) de conmutacion que comprende:
    una seccion (105) de funcionamiento Open Flow adaptada para:
    a) configurar una tabla (113) OpenFlow combinando logicamente una pluralidad de tablas (124, 125, 126 y 127), cada una de las cuales define el procesamiento para un paquete de recepcion predeterminado en base a una condicion y un contenido de procesamiento que estan definidos en cada tabla, y
    b) hacer referencia a dicha tabla (113) OpenFlow para determinar el contenido de procesamiento para el paquete de recepcion; y
    una seccion (111) de funcionamiento de accion adaptada para ejecutar el procesamiento a dicho paquete de recepcion en base al contenido de procesamiento determinado;
    en el que dicha seccion (105) de funcionamiento Open Flow comprende:
    una seccion (115) de funcionamiento de busqueda L2/L3/otra tabla adaptada para buscar en una tabla (125) L2, una tabla (126) L3 y la otra tabla (127) de entre dicha pluralidad de tablas en base al paquete de recepcion, y para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda;
    una seccion (116) de funcionamiento de busqueda TCAM (memoria direccionable de contenido ternario) adaptada para buscar en la TCAM (124) de dicha pluralidad de tablas en base al paquete de recepcion, y para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda; y
    una seccion (107) de resolucion de procesamiento OpenFlow que define las prioridades de la TCAM (124), la tabla (125) L2, la tabla (126) L3 y la otra tabla (127), y que esta adaptada para recibir los resultados de la busqueda desde dicha seccion (115) de funcionamiento de busqueda L2/L3/otra tabla y dicha seccion (116) de funcionamiento de busqueda TCAM, y para determinar la entrada a adoptar en base a las prioridades y para determinar el contenido de procesamiento en el paquete de recepcion.
  2. 2. Sistema de conmutacion segun la reivindicacion 1, en el que dicha seccion (105) de funcionamiento Open Flow comprende:
    medios para asignar un intervalo predeterminado de las prioridades a cada una de entre dicha pluralidad de tablas que constituyen dicha tabla (113) OpenFlow; y
    medios para determinar una tabla, a ser usada, de entre dicha pluralidad de tablas en base a un intervalo de las prioridades especificado desde un controlador cuando dicha tabla de flujo de apertura es controlada desde dicho controlador (101).
  3. 3. Sistema de conmutacion segun la reivindicacion 1, en el que dicha seccion (105) de funcionamiento Open Flow comprende:
    medios para establecer un identificador de tabla para cada una de entre dicha pluralidad de tablas que configuran dicha tabla Open Flow; y
    medios para determinar una tabla a ser usada de entre dicha pluralidad de tablas en base a un identificador de tabla especificado desde un controlador cuando dicha tabla OpenFlow es controlada desde dicho controlador (101).
  4. 4. Un procedimiento de control de conmutador que es ejecutado en un conmutador Open Flow, en el que dicho procedimiento de control de conmutador comprende:
    configurar una tabla (113) Open Flow combinando logicamente una pluralidad de tablas, cada una de las cuales define el procesamiento para un paquete de recepcion en base a una condicion y un contenido de procesamiento definido en cada tabla;
    hacer referencia a dicha tabla (113) OpenFlow para determinar el contenido de procesamiento para el paquete de recepcion; y
    ejecutar el procesamiento del paquete de recepcion en base al contenido de procesamiento determinado; que comprende, ademas:
    5
    10
    15
    20
    25
    30
    35
    buscar una tabla (125) L2, una tabla (126) L3 y otra tabla (127) de entre dicha pluralidad de tablas en base al paquete de recepcion para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda;
    buscar TCAM (memoria direccionable de contenido ternario) (124) en base al paquete de recepcion de dicha pluralidad de tablas para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda; y
    definir las prioridades de la TCAM (124), la tabla (125) L2, la tabla (126) L3 y las otras tablas (127), determinar la entrada a adoptar a partir del resultado de la busqueda de cada tabla en base a las prioridades, y determinar el contenido de procesamiento al paquete de recepcion.
  5. 5. Procedimiento de control de conmutador segun la reivindicacion 4, que comprende, ademas:
    asignar un intervalo predeterminado de las prioridades a cada una de entre dicha pluralidad de tablas que configuran dicha tabla OpenFlow; y
    determinar una tabla a usar de entre dicha pluralidad de tablas en base a un intervalo de las prioridades especificadas desde un controlador cuando dicha tabla Open Flow es controlada desde dicho controlador.
  6. 6. Procedimiento de control de conmutador segun la reivindicacion 5, que comprende, ademas:
    establecer un identificador de tabla para cada una de entre dicha pluralidad de tablas que configuran dicha tabla OpenFlow; y
    determinar una tabla a usar de entre dicha pluralidad de tablas en base a un identificador de tabla especificado desde un controlador cuando dicha tabla Open Flow es controlada desde dicho controlador.
  7. 7. Un medio de grabacion en el que se almacena un programa que hace que un ordenador usado como un conmutador ejecute las tareas de:
    configurar una tabla OpenFlow combinando logicamente una pluralidad de tablas, cada una de las cuales define un procesamiento a un paquete determinado, en base a una condicion y un contenido de procesamiento definido en cada tabla;
    hacer referencia a dicha tabla OpenFlow para determinar el contenido de procesamiento al paquete de recepcion; y
    ejecutar el procesamiento del paquete de recepcion en base al contenido de procesamiento determinado; que comprende, ademas:
    buscar una tabla (125) L2, una tabla (126) L3 y otra tabla (127) de entre dicha pluralidad de tablas en base al paquete de recepcion para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda;
    buscar TCAM (memoria direccionable de contenido ternario) (124) en base al paquete de recepcion de dicha pluralidad de tablas para emitir una entrada correspondiente al paquete de recepcion como un resultado de la busqueda; y
    definir las prioridades de la TCAM (124), la tabla (125) L2, la tabla (126) L3 y las otras tablas (127), determinar la entrada a adoptar a partir del resultado de la busqueda de cada tabla en base a las prioridades y determinar el contenido de procesamiento al paquete de recepcion.
ES11823343.6T 2010-09-08 2011-07-21 Sistema de conmutación, procedimiento de control de conmutación y medio de memoria Active ES2639638T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010200690 2010-09-08
JP2010200690 2010-09-08
PCT/JP2011/066524 WO2012032864A1 (ja) 2010-09-08 2011-07-21 スイッチシステム、スイッチ制御方法、及び記憶媒体

Publications (1)

Publication Number Publication Date
ES2639638T3 true ES2639638T3 (es) 2017-10-27

Family

ID=45810468

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11823343.6T Active ES2639638T3 (es) 2010-09-08 2011-07-21 Sistema de conmutación, procedimiento de control de conmutación y medio de memoria

Country Status (10)

Country Link
US (2) US9577931B2 (es)
EP (1) EP2615781B1 (es)
JP (3) JP5561366B2 (es)
KR (2) KR101538560B1 (es)
CN (2) CN104580026B (es)
CA (1) CA2810486A1 (es)
ES (1) ES2639638T3 (es)
RU (1) RU2595918C2 (es)
TW (1) TWI520527B (es)
WO (1) WO2012032864A1 (es)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9144739B2 (en) 2011-10-26 2015-09-29 Lamar Wilkinson Computer-aided online card games using multiple online player preferences
US9117337B2 (en) * 2011-10-26 2015-08-25 Lamar Wilkinson Performing an automatic fold-out command and assigning player entries in an online card game
ES2659566T3 (es) * 2012-03-19 2018-03-16 Nec Corporation Nodo de comunicación, método y programa de procesamiento de paquetes
US9225635B2 (en) 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
EP2858317B1 (en) * 2012-05-31 2017-07-12 Nec Corporation Control device, communication system, switch control method and program
US10104004B2 (en) * 2012-11-08 2018-10-16 Texas Instruments Incorporated Openflow match and action pipeline structure
CN103023782B (zh) * 2012-11-22 2016-05-04 北京星网锐捷网络技术有限公司 一种访问三态内容寻址存储器的方法及装置
US9923831B2 (en) * 2012-11-29 2018-03-20 Futurewei Technologies, Inc. Packet prioritization in a software-defined network implementing OpenFlow
FI20126275L (fi) 2012-12-07 2014-06-08 Tellabs Oy Menetelmä ja laitteisto ohjelmallisesti määriteltävän verkon konfiguroimiseksi
JP5967222B2 (ja) * 2012-12-19 2016-08-10 日本電気株式会社 パケット処理装置、フローエントリの配置方法及びプログラム
US9559897B2 (en) 2012-12-21 2017-01-31 Brocade Communications Systems, Inc. Device ID assignment in a system of devices
CN103888386B (zh) * 2012-12-24 2017-10-17 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
EP2963870A4 (en) * 2013-02-27 2016-09-28 Nec Corp CONTROL DEVICE, COMMUNICATION SYSTEM, SWITCHING CONTROL METHOD AND PROGRAM
TWI586124B (zh) 2013-04-26 2017-06-01 Nec Corp Communication node, communication system, packet processing method and program
US9313102B2 (en) 2013-05-20 2016-04-12 Brocade Communications Systems, Inc. Configuration validation in a mixed node topology
US9853889B2 (en) 2013-05-20 2017-12-26 Brocade Communications Systems, Inc. Broadcast and multicast traffic reduction in stacking systems
CN103347013B (zh) * 2013-06-21 2016-02-10 北京邮电大学 一种增强可编程能力的OpenFlow网络系统和方法
US9712431B2 (en) * 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
CN103428094B (zh) 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置
US10284499B2 (en) 2013-08-22 2019-05-07 Arris Enterprises Llc Dedicated control path architecture for systems of devices
CN104580027B (zh) * 2013-10-25 2018-03-20 新华三技术有限公司 一种OpenFlow报文转发方法及设备
US10212083B2 (en) 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
US9225641B2 (en) * 2013-10-30 2015-12-29 Globalfoundries Inc. Communication between hetrogenous networks
US9185049B2 (en) 2013-10-31 2015-11-10 Brocade Communications Systems, Inc. Techniques for simplifying stacking trunk creation and management
KR102193371B1 (ko) * 2013-11-14 2020-12-21 한국전자통신연구원 확장된 기능을 구비한 sdn-기반 네트워크 장치 및 상기 장치에서의 패킷 처리 방법
US9577924B2 (en) * 2013-11-14 2017-02-21 Electronics And Telecommunications Research Institute SDN-based network device with extended function and method of processing packet in the same device
CN105052087B (zh) * 2013-11-19 2018-10-09 华为技术有限公司 一种基于流表的表项寻址方法、交换机及控制器
KR101527786B1 (ko) * 2013-12-31 2015-06-09 쿨클라우드(주) 하이브리드 sdn 네트워크 관리 방법
US9577932B2 (en) * 2014-02-12 2017-02-21 Brocade Communications Systems, Inc. Techniques for managing ternary content-addressable memory (TCAM) resources in heterogeneous systems
CN104869062B (zh) * 2014-02-21 2018-11-09 华为技术有限公司 一种数据包转发方法及设备
EP2919423B1 (en) 2014-03-12 2018-11-14 Xieon Networks S.à.r.l. A network element of a software-defined network
US9692695B2 (en) 2014-03-27 2017-06-27 Brocade Communications Systems, Inc. Techniques for aggregating hardware routing resources in a multi-packet processor networking system
US9692652B2 (en) 2014-04-03 2017-06-27 Brocade Communications Systems, Inc. Framework for reliably communicating port information in a system of devices
WO2015156832A1 (en) * 2014-04-08 2015-10-15 Hewlett Packard Development Company, L.P. Pipeline table identification
US10142220B2 (en) 2014-04-29 2018-11-27 Hewlett Packard Enterprise Development Lp Efficient routing in software defined networks
WO2015167597A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Data plane to forward traffic based on communications from a software defined networking (sdn) controller during control plane failure
CN105359470B (zh) 2014-05-27 2019-05-24 华为技术有限公司 流表管理方法及相关设备和系统
WO2016000362A1 (zh) 2014-06-30 2016-01-07 华为技术有限公司 一种配置流表项的方法、装置和系统
EP3176985A4 (en) * 2014-08-01 2018-01-03 Nec Corporation Control device and control method
US10091059B2 (en) 2014-12-16 2018-10-02 Arris Enterprises Llc Handling connections between network devices that support multiple port communication modes
KR101669518B1 (ko) * 2014-12-30 2016-10-27 주식회사 시큐아이 Sdn 기반의 네트워크 모듈 관리 장치 및 방법
CN104683333A (zh) * 2015-02-10 2015-06-03 国都兴业信息审计系统技术(北京)有限公司 基于sdn的实现异常流量拦截的方法
WO2017018989A1 (en) * 2015-07-24 2017-02-02 Hewlett Packard Enterprise Development Lp Simultaneous processing of flow tables
CN106302265B (zh) * 2016-07-21 2019-08-06 新华三技术有限公司 报文转发方法及装置
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
KR101870146B1 (ko) * 2016-10-12 2018-06-25 아토리서치(주) 리프-스파인 구조의 소프트웨어 정의 네트워킹에서 목적지 기반 패킷 전송 제어 방법 및 장치
CN106789706B (zh) * 2016-11-11 2020-08-07 天津光电通信技术有限公司 一种基于tcam的网络分流系统
TWI626837B (zh) 2016-12-01 2018-06-11 財團法人工業技術研究院 封包傳遞方法、封包傳遞裝置及非暫態電腦可讀取媒體
US10404594B2 (en) * 2016-12-13 2019-09-03 Oracle International Corporation System and method for providing partitions of classification resources in a network device
RU178460U1 (ru) * 2017-03-15 2018-04-04 Общество с ограниченной ответственностью "БУЛАТ" Управляемый Ethernet коммутатор
KR101877004B1 (ko) * 2017-09-29 2018-07-10 주식회사 쏠리드 오픈플로우 기반의 분산 안테나 시스템
CN109995659B (zh) 2017-12-29 2022-03-01 阿里巴巴集团控股有限公司 一种网络通信方法及装置
RU183526U1 (ru) * 2018-03-07 2018-09-25 Общество с ограниченной ответственностью "БУЛАТ" Ethernet коммутатор
RU186859U1 (ru) * 2018-11-21 2019-02-06 Общество с ограниченной ответственностью "БУЛАТ" Мультисервисный маршрутизатор
KR102211282B1 (ko) * 2019-11-20 2021-02-03 (주)파이브텍 데이터 라우팅 방법 및 이를 지원하는 스위치

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100333250B1 (ko) * 1998-10-05 2002-05-17 가나이 쓰토무 패킷 중계 장치
JP2002185513A (ja) 2000-12-18 2002-06-28 Hitachi Ltd パケット通信ネットワークおよびパケット転送制御方法
JP3936883B2 (ja) * 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
JP2003304293A (ja) 2002-04-10 2003-10-24 Hitachi Ltd パケット中継装置
NO318843B1 (no) * 2002-11-13 2005-05-09 Telenor Asa AHN-nettverk
FR2849975B1 (fr) 2003-01-14 2005-09-23 Cit Alcatel Procede de configuration d'un chemin de routage dans un routeur ip et reseau
US7308505B2 (en) 2003-12-17 2007-12-11 International Business Machines Corporation Method, system and program product for facilitating forwarding of data packets through a node of a data transfer network using multiple types of forwarding tables
JP4487237B2 (ja) * 2003-12-25 2010-06-23 エルピーダメモリ株式会社 半導体装置
JP2005252954A (ja) 2004-03-08 2005-09-15 Fujitsu Ltd テーブル検索装置
JP2005277731A (ja) 2004-03-24 2005-10-06 Seiko Epson Corp ネットワークシステム、ネットワーク機器、及び、これらの制御方法
JP4336625B2 (ja) * 2004-06-17 2009-09-30 株式会社日立製作所 パケット転送装置
JP2006101343A (ja) 2004-09-30 2006-04-13 Oki Techno Creation:Kk パケット処理装置、パケット処理方法およびパケット処理プログラム
JP2006133520A (ja) * 2004-11-05 2006-05-25 Fuji Xerox Co Ltd 画像形成装置、画像形成装置における表示画面カスタマイズ方法、表示画面カスタマイズプログラム
JP2006174350A (ja) * 2004-12-20 2006-06-29 Fujitsu Ltd 通信装置
US7281085B1 (en) * 2005-01-31 2007-10-09 Netlogic Microsystems, Inc. Method and device for virtualization of multiple data sets on same associative memory
TWI325705B (en) * 2006-06-01 2010-06-01 Via Tech Inc Method and apparatus for packet switching
CN101247337B (zh) * 2008-02-18 2012-11-21 华为技术有限公司 一种报文转发的方法和设备
JP5050978B2 (ja) * 2008-04-21 2012-10-17 富士通株式会社 伝送情報転送装置及び方法
CN101753544A (zh) * 2008-12-05 2010-06-23 华为技术有限公司 包过滤规则处理方法及系统、媒体网关和媒体网关控制器
WO2010090182A1 (ja) 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
JP2010200690A (ja) 2009-03-04 2010-09-16 Kyushu Univ 新規スフィンゴ脂質及びその製造方法
US8289977B2 (en) * 2009-06-10 2012-10-16 International Business Machines Corporation Two-layer switch apparatus avoiding first layer inter-switch traffic in steering packets through the apparatus
US8677030B2 (en) * 2009-12-09 2014-03-18 Oracle America, Inc. Apparatus and method for managing packet classification tables
US8817629B2 (en) * 2010-03-16 2014-08-26 Deutsche Telekom Ag Method for routing-assisted traffic monitoring

Also Published As

Publication number Publication date
EP2615781B1 (en) 2017-06-14
US9577931B2 (en) 2017-02-21
US20130170495A1 (en) 2013-07-04
CN103098427A (zh) 2013-05-08
KR20130050356A (ko) 2013-05-15
CA2810486A1 (en) 2012-03-15
TWI520527B (zh) 2016-02-01
TW201215037A (en) 2012-04-01
JP5773020B2 (ja) 2015-09-02
JP5962808B2 (ja) 2016-08-03
JPWO2012032864A1 (ja) 2014-01-20
JP5561366B2 (ja) 2014-07-30
RU2595918C2 (ru) 2016-08-27
JP2015156697A (ja) 2015-08-27
CN104580026B (zh) 2019-02-15
KR101627475B1 (ko) 2016-06-03
CN104580026A (zh) 2015-04-29
US20150312147A1 (en) 2015-10-29
EP2615781A4 (en) 2014-03-12
EP2615781A1 (en) 2013-07-17
WO2012032864A1 (ja) 2012-03-15
JP2014161083A (ja) 2014-09-04
KR20150039877A (ko) 2015-04-13
RU2013110063A (ru) 2014-10-20
KR101538560B1 (ko) 2015-07-21
CN103098427B (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
ES2639638T3 (es) Sistema de conmutación, procedimiento de control de conmutación y medio de memoria
JP5440712B2 (ja) 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
US9858104B2 (en) Connecting fabrics via switch-to-switch tunneling transparent to network servers
RU2595963C2 (ru) Система коммутации и способ пересылки данных
US9608908B2 (en) Network system and VLAN tag data acquiring method
US8358661B2 (en) Remote adapter configuration
US8446822B2 (en) Pinning and protection on link aggregation groups
EP2905926B1 (en) Communication system, virtual network management apparatus, virtual network management method and program
ES2846757T3 (es) Método y sistema para la interconexión de sitios a través de una red de transporte
US11659436B2 (en) Scalable reachability for movable destinations attached to a leaf-spine switching architecture
US9451053B1 (en) Systems and methods for interfacing software-defined networks with non-software-defined networks