ES2388428T3 - Sistema y método para el procesamiento de paquetes - Google Patents
Sistema y método para el procesamiento de paquetes Download PDFInfo
- Publication number
- ES2388428T3 ES2388428T3 ES02768881T ES02768881T ES2388428T3 ES 2388428 T3 ES2388428 T3 ES 2388428T3 ES 02768881 T ES02768881 T ES 02768881T ES 02768881 T ES02768881 T ES 02768881T ES 2388428 T3 ES2388428 T3 ES 2388428T3
- Authority
- ES
- Spain
- Prior art keywords
- packet
- rules
- set forth
- flow
- identification
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012545 processing Methods 0.000 title claims abstract description 71
- 230000008569 process Effects 0.000 claims abstract description 52
- 230000009466 transformation Effects 0.000 claims abstract description 46
- 238000004891 communication Methods 0.000 claims description 42
- 238000010200 validation analysis Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003066 decision tree Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 27
- 238000012795 verification Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un método para procesar un paquete de un flujo de paquetes, que comprende las etapas de:recibir el paquete;procesar (322) el paquete utilizando una o más reglas de transformación sin procesamiento de protocolo encapas en caso de que el paquete satisfaga una o más reglas de identificación para el flujo, en el que unaregla de transformación final de las reglas de transformación contiene una identificación de una interfaz desalida para el flujo, yprocesar (306) el paquete utilizando un proceso estándar de procesamiento de protocolo en capas en caso deque el paquete no satisfaga las una o más reglas de identificación para el flujo, enviando el paquete a una pila(120) de protocolo para la conmutación del paquete
Description
Sistema y método para el procesamiento de paquetes.
CAMPO DE LA INVENCIÓN La presente invención se refiere en general al campo de las comunicaciones, y más en particular, a un sistema y un método para el procesamiento de paquetes.
ANTECEDENTES DE LA INVENCIÓN La creciente demanda de comunicaciones de datos ha fomentado el desarrollo de técnicas que proporcionen medios más económicos y eficientes de utilización de redes de comunicación para manejar más información y nuevos tipos de información. Una de esas técnicas consiste en segmentar la información, que puede ser una comunicación de voz o de datos, en paquetes. Un paquete es típicamente un grupo de dígitos binarios, que incluye al menos información de datos y de control. Las redes de paquetes integrados (típicamente redes de paquetes rápidos) se utilizan en general para transportar dos (2) clases de tráfico, las cuales pueden incluir, por ejemplo, tasa de bits continua (“CBR”), conversación (“Voz en Paquetes”), datos (“Datos en Tramas”), imagen, y así sucesivamente. Las redes de paquetes originan, sumergen y/o envían paquetes de protocolo. Cada paquete tiene un formato bien definido y consiste en una o más cabeceras de paquete y algunos datos. La cabecera contiene típicamente información que proporciona control y/o información de la dirección, tal como la fuente y el destino del paquete.
La creación de la cabecera del paquete requiere típicamente una cantidad significativa de recursos de sistema, tal como una unidad central de procesamiento (“CPU”) y/o un conmutador. Como resultado, la capacidad de tratamiento de un conmutador de comunicaciones está limitada o restringida por la capacidad de la CPU dentro del conmutador y de las demás funciones de procesamiento que la CPU debe proporcionar también. Tales restricciones de procesamiento provocan problemas de congestión y de Calidad de Servicio (QoS) en el interior del conmutador. Además, la capacidad de tratamiento del conmutador está determinada principalmente por la capacidad de la estructura de conmutación. Además, gran parte de la capacidad de procesamiento del conmutador está dedicada a procesar cabeceras de paquetes, las cuales típicamente no varían apreciablemente entre paquetes consecutivos. Como resultado, la capacidad de tratamiento del conmutador está limitada por el número de paquetes que éste puede procesar, a pesar del hecho de que el procesamiento es con frecuencia repetitivo. En consecuencia, existe una necesidad de un sistema y un método para el procesamiento de paquetes que incremente la capacidad de tratamiento del conmutador.
El libro blanco “Enrutamiento Basado en Políticas” de Cisco, describe ya un método de enrutamiento de paquetes de datos mediante el cual los clientes pueden implementar políticas que provoquen selectivamente que los paquetes tomen diferentes trayectorias. El enrutador hace pasar los paquetes a través de filtros denominados mapas de ruta que contienen cláusulas de emparejamiento que definen criterios sobre si los paquetes cumplen una política particular. En base a los criterios definidos en los mapas de ruta, los paquetes son reenviados a un siguiente salto. Los paquetes que no cumplen los criterios son enviados a través de canales de reenvío normales realizando un enrutamiento basado en el destino.
La solicitud de Patente US 5.732.079 se refiere a un sistema de procesamiento de datos con un bus de datos subdividido en una pluralidad de trayectorias de datos independientes y una pluralidad de componentes de sistema acoplados al bus de datos. Un circuito de control de asignación acoplado a los componentes del sistema asigna oportunidades de transmisión.
El documento “Diseño, Simulación y Evaluación de Conmutación TCP”, de Bo Yang y Fen Wang, 4 de Diciembre de 2000, describe arquitecturas de conmutación en las que un clasificador de flujo determina si se deben asignar recursos a un flujo.
Sin embargo, ninguno de los documentos de la técnica anterior resuelve los problemas mencionados en lo que antecede.
SUMARIO DE LA INVENCIÓN La presente invención proporciona un sistema y un método para el procesamiento de datos en paquete, o paquetes, a través de un conmutador de comunicaciones que utiliza un sistema de Envío de Flujo Rápido (“FFF”). El FFF proporciona un envío expedito de paquetes basado en reglas de coincidencia de patrones y de manipulación de datos, que atraviesan los límites de la capa de protocolo. El FFF puede ser implementado en muchos entornos de protocolo para incrementar la eficacia del conmutador identificando paquetes asociados a un flujo particular. Un flujo es una corriente de paquetes correlacionados que se origina a partir de una fuente específica y que son suministrados a uno o más destinos específicos. Típicamente, esos flujos tendrán las mismas direcciones de origen y de destino, y otros criterios en común, que se originan a partir de una única sesión de cliente-servidor.
La presente invención proporciona un método para el procesamiento de un paquete en el que el paquete es recibido
y procesado utilizando una o más reglas de transformación en caso de que el paquete satisfaga una o más reglas de identificación. En otro caso, el paquete es procesado utilizando un proceso estándar en caso de que el paquete no satisfaga la una o más reglas de identificación. Este método puede ser implementado utilizando un producto de programa de ordenador que tenga un segmento de código para ejecutar cada etapa del método cuando se cargue en un conmutador de comunicaciones.
Adicionalmente, la presente invención proporciona un conmutador de comunicaciones que tiene una o más tarjetas de entrada, una o más tarjetas de control, una o más tarjetas de salida, y un bus de comunicaciones. El bus de comunicaciones acopla comunicativamente las tarjetas de entrada, las tarjetas de control y las tarjetas de salida entre sí. Cada tarjeta de control tiene al menos un procesador. Además, cada tarjeta de entrada recibe uno o más paquetes, procesa cada paquete utilizando una o más reglas de transformación en caso de que el paquete satisfaga una o más reglas de identificación, y envía cada paquete a uno de los procesadores para su procesamiento utilizando un proceso estándar en caso de que el paquete no satisfaga la una o más reglas de identificación.
La presente invención proporciona también un conmutador de comunicaciones que tiene una o más tarjetas de entrada, una o más tarjetas de control, una o más tarjetas de procesamiento de señal, una o más tarjetas de salida, una estructura de conmutación y un bus TDM. Cada tarjeta de control tiene al menos un procesador. Además, cada tarjeta de procesamiento de señal contiene una batería de procesadores de señales digitales. Cada procesador de señal digital crea uno o más paquetes y envía el uno o más paquetes a un motor de reenvío de flujo rápido. Cada motor de reenvío de flujo rápido recibe el uno o más paquetes, procesa cada paquete utilizando una o más reglas de transformación en caso de que el paquete satisfaga una o más reglas de identificación, y envía cada paquete a uno de los procesadores para su procesamiento utilizando un proceso estándar en caso de que el paquete no satisfaga las una o más reglas de identificación. La estructura de conmutación acopla comunicativamente las tarjetas de entrada, las tarjetas de procesamiento de señal, las tarjetas de control y las tarjetas de salida entre sí. El bus TDM acopla comunicativamente las tarjetas de entrada, las tarjetas de procesamiento de señal, las tarjetas de control, y las tarjetas de salida.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Para una mejor comprensión de la invención, y para mostrar a título de ejemplo cómo puede ser llevada a cabo la misma, se hará ahora referencia a la descripción detallada de la invención junto con los dibujos que se acompañan, en los que los números correspondientes de las diferentes figuras se refieren a partes correspondientes, y en los que:
La Figura 1 es un diagrama de bloques de una realización de un conmutador de comunicaciones de acuerdo con la presente invención; La Figura 2 es un diagrama de flujo de un controlador de envío de flujo rápido de acuerdo con la presente invención; La Figura 3 es un diagrama de flujo de un motor de envío de flujo rápido de acuerdo con la presente invención; La Figura 4 es un diagrama de un conmutador de red de paquetes de acuerdo con una realización de la presente invención, y La Figura 5 es un diagrama esquemático de un conmutador de red de paquetes de acuerdo con una realización de la presente invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Mientras que en lo que sigue se discute con detalle la realización y utilización de varias realizaciones de la presente invención, debe apreciarse que la presente invención proporciona muchos conceptos inventivos aplicables, que pueden ser materializados según una amplia diversidad de contextos específicos. Por ejemplo, además de en sistemas de telecomunicaciones, la presente invención puede ser aplicable a otras formas de comunicaciones o de procesamiento general de datos. Otras formas de comunicaciones pueden incluir las comunicaciones entre redes, comunicaciones vía satélite, o cualquier forma de comunicaciones no conocida aún por el hombre en la fecha de la presente invención. Las realizaciones específicas discutidas en la presente memoria son únicamente ilustrativas de formas específicas de realización y uso de la invención, y no limitan el alcance de la invención.
La presente invención proporciona un sistema y un método para el procesamiento de datos en paquetes, o paquetes de datos, mediante un conmutador de comunicaciones que utiliza un sistema de Envío de Flujo Rápido (“FFF”). El FFF proporciona el envío expedito de paquetes basado en reglas de emparejamiento de patrones y de manipulación de datos que cruzan los límites de la capa de protocolo. El FFF puede ser implementado en muchos entornos de protocolos, para incrementar la eficacia de la conmutación mediante identificación de paquetes asociados a un flujo particular. Un flujo es una corriente de paquetes correlacionados que se origina a partir de una fuente específica y que son suministrados a uno o más destinos específicos. Típicamente, estos flujos tendrán las mismas direcciones de origen y de destino, y otros criterios en común, que se originan a partir de una única sesión de servidor-cliente.
Por ejemplo, en el caso de un protocolo de voz por Internet (“VoIP”), una conversación de voz que podría comprender muchos paquetes de Protocolo de Internet (“IP”) con diferentes VoIP de datos, es la capacidad de hacer
llamadas de teléfono y enviar faxes sobre redes de datos basadas en IP. Una red integrada de voz/datos permite una mayor estandarización y reduce las necesidades totales de equipamiento. El VoIP puede soportar aplicaciones multimedia y multi-servicio. Sin embargo, todos los paquetes asociados a una conversación específica tienen típicamente una información de cabecera igual o similar, y pueden así ser descritos como flujo. Una vez que la presente invención detecta un flujo, y las etapas de procesamiento estándar son registradas, el mismo tratamiento de procesamiento puede ser definido por unas pocas reglas generales que pueden ser aplicadas mediante dispositivos relativamente simples y no inteligentes (desconocimiento de protocolo). Por otra parte, en sistemas de procesamiento estándar (procesamiento de protocolo convencional), los paquetes de IP asociados a un flujo particular son conmutados individualmente en base a un proceso de software de protocolo por capas, mencionado como pila de protocolo. Sin embargo, este método reduce la eficacia de un conmutador debido a que cada paquete individual es procesado de forma similar por medio de los procesadores del conmutador, reduciendo con ello la capacidad de tratamiento del sistema y/o introduciendo una latencia de paquete inaceptable. Evitando el procesamiento de protocolo por capas de la trayectoria de procesamiento estándar para el resto del flujo, un conmutador que utilice el FFF de la presente invención permite una capacidad de tratamiento significativamente más alta para aquellos paquetes identificados como parte de un flujo.
IP especifica el formato de los paquetes, también llamados datagramas, y el esquema de direccionamiento. La mayor parte de las redes combinan IP con un protocolo de nivel más alto. Un protocolo de ese tipo es el llamado Protocolo de Control de Transporte (“TCP”), el cual establece una conexión virtual entre un destino y un origen. IP permite que un paquete sea direccionado y omitido en un sistema, pero no existe un enlace directo entre el remitente y el receptor. TCP/IP establece, por otra parte, una conexión entre dos anfitriones de modo que éstos pueden enviar mensajes de ida y vuelta durante un período de tiempo.
Otra cabecera de paquete de IP es el protocolo de transporte en tiempo real (“RTP”), el cual es un estándar de Internet para el transporte de datos en tiempo real, incluyendo audio y video. RTP se utiliza para identificar paquetes como contenedores de una muestra de voz en un formato de codificación particular. Se utiliza típicamente un número de secuencia y de fecha y hora para re-ensamblar una corriente de voz síncrona a partir de un caudal de paquetes de RTP. El RTP puede ser usado también para servicios multimedia bajo demanda y servicios interactivos tales como telefonía de IP. Por otra parte, la cabecera de protocolo de datagrama de usuario (“UDP”) proporciona untransporte de datos eficiente pero no fiable (sin garantía). Éste se utiliza para el transporte de datos de voz en tiempo real puesto que la retransmisión de los datos en tiempo real podría añadir demasiado retardo a la conversación de voz. IP, sin embargo, proporciona una encapsulación estándar de datos para su transmisión por la red. Ésta contiene una dirección de origen y de destino utilizada para enrutamiento. MAC realiza funciones de gestión y maneja el protocolo de resolución de dirección (“ARP”) para el dispositivo.
Haciendo ahora referencia a la Figura 1, se ha mostrado un diagrama de bloques de una realización de un conmutador 100 de comunicaciones de acuerdo con la presente invención. El conmutador 100 incluye una o más tarjetas 102 de control, una o más tarjetas 104 de entrada, y una o más tarjetas 106 de salida. Las tarjetas 102 de control, las tarjetas 104 de entrada y las tarjetas 106 de salida, están acopladas comunicativamente entre sí por medio de un bus 108 de comunicaciones, tal como un bus de interconexión de componentes periféricos (“PCI”). Las tarjetas 102 de control están también acopladas comunicativamente a una conexión 110 Ethernet a través de una interfaz 112 de Ethernet.
Las tarjetas 102 de control incluyen una o más CPUs o controladores 114 acoplados comunicativamente con la interfaz 116 de PCI, la cual permite el acceso al bus 108 de PCI. El controlador 114 está acoplado comunicativamente a un gestor 118 de protocolo, el cual contiene uno o más agentes que procesan paquetes en cada nivel de la pila 120 de protocolo. Como resultado, existe al menos un gestor 118 de protocolo y una pila 120 de protocolo por cada tipo de protocolo que está siendo procesado por la tarjeta 102 de control. Por ejemplo, una pila de protocolo de IP podría incluir, desde la parte inferior hasta la superior, una capa 120a de Ethernet, una capa 120b de IP, una capa 120c de UDP y una capa 120d de RTP. De manera similar, el gestor 118 de protocolo tiene un gestor 118a, 118b, 118c y 118d de gestor de capa correspondiente por cada capa de la pila 120 de protocolo. El número de capas de protocolo y de gestores de capa dependerá del protocolo que se esté procesando. El controlador 114, el gestor 118 de protocolo y la pila 120 de protocolo proporcionan el procesamiento de protocolo estándar para la presente invención.
Las tarjetas 102 de control de la presente invención incluyen también un controlador 122 de FFF, el cual incluye al menos un ejemplo de gestor 124 de FFF y una aplicación 126 de FFF. El controlador 122 de FFF está acoplado comunicativamente al controlador 114, a la interfaz 116 de PCI y al gestor 118 de protocolo. La operación del controlador 122 de FFF, del gestor 124 de FFF y de la aplicación 126 de FFF, va a ser descrita con mayor detalle en relación con la Figura 2. Las tarjetas 102 de control pueden incluir también un motor 128 de FFF acoplado comunicativamente a la interfaz 112 de Ethernet, a la pila 120 de protocolo, al controlador 122 de FFF y a una base de datos 130 de FFF. La operación del motor 128 de FFF y de la base de datos 130 de FFF, va a ser descrita con mayor detalle con referencia a la Figura 3. En otro caso, la pila 120 de protocolo está acoplada comunicativamente a la interfaz 112 de Ethernet.
Las una o más tarjetas 104 de entrada incluyen una interfaz 132 de red de entrada para recibir comunicaciones 134, una interfaz 136 de PCI acoplada comunicativamente al bus 108 de PCI y un excitador 138 de entrada acoplado comunicativamente a la interfaz 132 de red de entrada y a la interfaz 136 de PCI. Las tarjetas 104 de entrada incluyen también uno o más motores 140 de FFF acoplados comunicativamente a la interfaz 132 de red de entrada, a la interfaz 136 de PCI, al excitador 138 de entrada y a una base de datos 142 de FFF. La operación del motor 140 de FFF y de la base de datos 142 de FFF va a ser descrita con mayor detalle con referencia a la Figura 3. Las una o más tarjetas 106 de salida incluyen una interfaz 144 de red de salida para recibir comunicaciones 146, una interfaz 148 de PCI acoplada comunicativamente al bus 108 de PCI y un excitador 150 de salida acoplado comunicativamente a la interfaz 144 de red de salida y a la interfaz 148 de PCI.
Las una o más aplicaciones 126 de FFF monitorizan el gestor 118 de protocolo y la pila 120 de protocolo para detectar nuevos flujos y los cambios en los flujos existentes. Las aplicaciones 126 de FFF trabajan con el (los) gestor(es) 118a-d de capa para detectar, crear y borrar reglas de identificación, validación y/o transformación para un flujo particular. Las aplicaciones 126 de FFF están configuradas para construir un conjunto completo de reglas de ajuste de caudal, las cuales pueden incluir una o más reglas de identificación, una o más reglas de validación, y/o una o más reglas de transformación, para su instalación en un motor de FFF, tal como el 128 o el 140. El gestor 124 de FFF maneja la interfaz de gestión para el sistema de FFF y controla la comunicación entre las aplicaciones 126 de FFF y los motores 128 y 140 de FFF. Además, el gestor 124 de FFF acepta peticiones de adición, eliminación y/o averiguación de flujo procedentes de las aplicaciones 126 de FFF y traduce la(s) petición(es) a un formato entendible por los motores 128 y 140 de FFF. Adicionalmente, el gestor 124 de flujo comunica reglas de identificación, validación y/o transformación a los motores 128 y 140 de FFF, los cuales almacenan las reglas en las bases de datos 130 y 142 de FFF, respectivamente. Un gestor de bases de datos de FFF (no representado) controla las bases de datos 130 y 142 de FFF. Los motores 128 y 140 de FFF, y el gestor de bases de datos de FFF (no representado), han sido previstos a modo de una o más rutinas de librería en cualquier excitador, tal como el excitador 138 de entrada, que está configurado para participar en FFF. La(s) rutina(s) de librería está(n) implementada(s) en software o está(n) acelerada(s) por hardware.
El gestor de bases de datos de FFF (no representado) almacena las reglas de identificación, validación y/o transformación en forma de árbol de decisión para facilitar un procesamiento rápido de trama por parte de los motores 128 y 140 de FFF. El árbol de decisión incluye uno o más nodos de los que cada nodo es una tabla hash. El uso de tablas hash en árboles de decisión es bien conocido por los expertos en la materia. Adicionalmente, los motores 128 y 140 de FFF determinan si un paquete de datos forma parte de un flujo identificado por emparejamiento de una trama entrante respecto a patrones de flujo existentes, que están almacenados a modo de una o más reglas de identificación almacenadas en las bases de datos 130 y 142 de FFF. Las una o más reglas de identificación pueden incluir una secuencia de patrones de datos, máscaras de datos, y/o derivaciones relativas de los paquetes de datos de IP que identifiquen unívocamente los paquetes de datos de IP como pertenecientes a un flujo específico. Los motores 128 y 140 de FFF pueden también validar la trama de llegada utilizando una o más reglas de validación almacenadas en las bases de datos 130 y 142 de FFF. Las una o más reglas de validación se utilizan para verificar además que el paquete reúne los requisitos para el FFF. Si el paquete es sucesivamente identificado y validado, los motores 128 y 140 de FFF lo procesan utilizando una o más reglas de transformación almacenadas en las bases de datos 130 y 142 de FFF. Típicamente, una regla de transformación final contiene una identificación de una interfaz de salida para que los paquetes transformados sean transmitidos. Una vez transformado, el paquete es enviado directamente a la tarjeta 106 de salida a través del bus 108 de PCI y de las interfaces 136 y 148 de PCI. Si, no obstante, el sistema contiene un puerto de salida que coexista en una misma placa de circuito impreso con los motores 128 y 140 de FFF, el paquete puede ser enviado directamente al puerto de salida.
Tras la inicialización del sistema, las bases de datos 130 y 142 de FFF (árbol de decisión) están típicamente vacías. A continuación de la inicialización del sistema, las bases de datos 130 y 142 (árbol de decisión) pueden ser cargadas con la información almacenada. Si la información de las bases de datos almacenadas no está disponible o no existe, los motores 128 y 140 de FFF fallan en cuanto al enrutamiento de los paquetes asociados a un flujo particular hasta la pila 120 de protocolo para su procesamiento estándar hasta que las bases de datos 130 y 142 de FFF son cargadas con el ajuste de caudal. Además, las bases de datos 130 y 142 de FFF (árbol de decisión) se modifican dinámicamente según se añade, modifica y extrae ajuste de caudal desde los motores 128 y 140 de FFF.
Haciendo ahora referencia a ambas Figuras 1 y 2, la Figura 2 representa un diagrama de flujo de un controlador de envío de flujo rápido de acuerdo con la presente invención. El proceso para crear, actualizar y borrar las reglas de ajuste de caudal (identificación, verificación y transformación) se inicia en el bloque 200. El controlador 122 de FFF, y más específicamente las una o más aplicaciones 126 de FFF, monitoriza el procesamiento estándar de paquetes en la pila 120 de protocolo por medio del gestor 118 de protocolo en el bloque 202. Si el controlador 122 de FFF no ha recibido ningún dato externo, tal como información de establecimiento de llamada, según se determina en el bloque 204 de decisión, y se ha detectado un nuevo flujo, según se determina en el bloque 206 de decisión, las una
o más reglas de identificación, una o más reglas de verificación o validación y las una o más reglas de transformación, son creadas en el bloque 208. El gestor 124 de FFF realiza a continuación las reglas de ajuste de flujo (una o más reglas de identificación, una o más reglas de verificación o validación, y las una o más reglas de
transformación) disponibles para el motor 128 ó 140 de FFF que está manejando el flujo detectado en el bloque 210. Como resultado, el motor 128 ó 140 de FFF es habilitado en el bloque 212. A continuación, el controlador 122 de FFF continúa monitorizando el procesamiento estándar de paquetes a través de las aplicaciones 126 de FFF en el bloque 202.
Si, no obstante, el controlador 122 de FFF recibe datos externos, tal como información de establecimiento de llamada, según se determina en el bloque 204 de decisión, y los datos externos son suficientemente predictivos para permitir la creación con anterioridad de las reglas de ajuste de caudal para la llamada, según se determina en el bloque 214 de decisión, las reglas de establecimiento de ajuste de caudal (una o más reglas de identificación, una o más reglas de verificación o validación, y las una o más reglas de transformación) son creadas en el bloque 208 y el proceso continúa según se ha descrito anteriormente. Si, no obstante, los datos externos no son suficientemente predictivos para permitir la creación con anterioridad de las reglas de ajuste de caudal para la llamada, según se determina en el bloque 214 de decisión, el controlador 122 de FFF continúa monitorizando el procesamiento estándar de paquetes a través de las aplicaciones 126 de FFF en el bloque 202.
Si, no obstante, no se ha detectado un nuevo flujo, según se determina en el bloque 206 de decisión, pero se ha detectado un cambio en un flujo ya existente, según se determina en el bloque 216 de decisión, las una o más reglas de identificación, una o más reglas de verificación o validación y las una o más reglas de transformación, son actualizadas en el bloque 218. El gestor 124 de FFF realiza a continuación la actualización de las reglas de ajuste de caudal (una o más reglas de identificación, una o más reglas de verificación o validación y las una o más reglas de transformación) disponibles para el motor 128 ó 140 de FFF que está manejando el flujo detectado en el bloque 220. A continuación, el controlador 122 de FFF continúa monitorizando el procesamiento estándar de paquetes a través de las aplicaciones 126 de FFF en el bloque 202.
Si, no obstante, no se ha detectado un cambio en un flujo existente, según se determina en el bloque 216 de decisión, sino que se ha detectado una condición de retardo, terminación o reposición, según se determina en el bloque 222 de decisión, las una o más reglas de identificación, una o más reglas de verificación o validación y las una o más reglas de transformación son puestas a cero o borradas en el bloque 224. Como resultado, el motor 128 ó 140 de FFF aplicable es deshabilitado en el bloque 226. A continuación, el controlador 122 de FFF sigue monitorizando el procesamiento estándar de paquetes a través de las aplicaciones 126 de FFF en el bloque 202.
Haciendo ahora referencia a ambas Figuras 1 y 3, la Figura 3 representa un diagrama de flujo de un motor de envío de flujo rápido de acuerdo con la presente invención. El motor 128 ó 140 de FFF que procesa los paquetes, se inicia en el bloque 300. El motor 128 ó 140 de FFF recibe el paquete en el bloque 302. Si el motor 128 ó 140 de FFF está deshabilitado o las reglas de ajuste de caudal no están cargadas en las bases de datos 130 ó 142 de FFF, según se determina en la el bloque 304 de decisión, el paquete es procesado y enviado utilizando el proceso estándar en el bloque 306. Esto significa que el paquete es enviado a la pila 120 de protocolo para su procesamiento. A continuación, si el motor 128 ó 140 de FFF recibe una condición de retardo, terminación o reposición, según se determina en el bloque 308 de decisión, las una o más reglas de identificación, una o más reglas de verificación o validación y las una o más reglas de transformación, son puestas a cero o borradas en el bloque 310 y el proceso del motor 128 ó 140 de FFF finaliza en el bloque 312. Como resultado, el motor 128 ó 140 de FFF aplicable es deshabilitado.
Si, no obstante, el motor 128 ó 140 de FFF es habilitado y las reglas de ajuste de caudal son cargadas en la base de datos 130 ó 142 de FFF, según se determina en el bloque 304 de decisión, el paquete es comprobado respecto a las una o más reglas de identificación en el bloque 314. Si el proceso de identificación no tiene éxito, según se determina en el bloque 316 de decisión, el paquete es procesado y enviado utilizando el proceso estándar en el bloque 306 y el proceso continúa según ha sido previamente descrito. Esto significa que el paquete es enviado a la pila 120 de protocolo para su procesamiento. Si, no obstante, el proceso de identificación ha tenido éxito, según se determina en el bloque 316 de decisión, el paquete es comprobado frente a las una o más reglas de validación o verificación en el bloque 318. Si el proceso de validación o verificación no tiene éxito, según se determina en el bloque 320 de decisión, el paquete es procesado y enviado utilizando el proceso estándar en el bloque 306 y el proceso continúa según ha sido descrito con anterioridad. Esto significa que el paquete es enviado a la pila 120 de protocolo para su procesamiento. Si, no obstante, el proceso de validación o verificación ha tenido éxito, según se determina en el bloque 320 de decisión, el paquete es procesado utilizando una o más de las reglas de transformación en el bloque 322 y el paquete procesado o transformado es enviado directamente al puerto de salida asignado en el bloque 324. A continuación, el proceso realiza un bucle de retorno hasta el bloque 308 de decisión, según se ha descrito anteriormente, y lo más probable es que reciba el siguiente paquete en el bloque 302 y repita el proceso.
Haciendo ahora referencia a la Figura 4, se va a describir un conmutador 400 de comunicaciones conforme a la presente invención. El conmutador 400 de red de paquetes puede ser usado para procesar VoIP, voz sobre Frame Relay (“VoFR”) y otros tipos de llamadas. Además, el conmutador de red 400 de paquetes es similar a un conmutador de modo de transferencia asíncrona (“ATM”). El ATM es una tecnología orientada de conexión utilizada tanto en entornos de red de área local (“LAN”) como de red de área amplia (“WAN”). Consiste en una tecnología de
conmutación rápida de paquetes que permite una asignación libre de capacidad a cada canal. El conmutador 400 de red de paquetes incluye una o más tarjetas 402a y 402b de entrada, una o más tarjetas 404 de procesamiento de señal, una o más tarjetas 406 de control, una o más tarjetas 408a y 408b de salida, una estructura 410 de conmutación y un bus 412 de TDM. Cada tarjeta 404 de procesamiento de señal contiene una batería de procesadores de señal digital (“DSP”) (no representados) y cada tarjeta 406 de control contiene uno o más procesadores (no representados). La estructura 410 de conmutación acopla comunicativamente las tarjetas 402 de entrada, las tarjetas 404 de procesamiento de señal, las tarjetas 406 de control y las tarjetas 408 de salida entre sí. El bus 412 de TDM acopla también comunicativamente las tarjetas 402 de entrada, las tarjetas 404 de procesamiento de señal, las tarjetas 406 de control y las tarjetas 408 de salida entre sí. Con preferencia, las tarjetas 402, 404, 406 y 408 pueden ser insertadas en cualquier orden dentro del conjuntado 400 de red de paquetes. Además, el conmutador 400 de red de paquetes podría incluir cantidades suficientes de tarjetas redundantes para que sirvan como tarjetas de seguridad en caso de que una tarjeta 402, 404, 406 y 408 falle.
La función principal de un conmutador 400 de red de paquetes consiste en remitir células de datos de usuario desde puertos de entrada hasta los puertos de salida apropiados. Cuando una llamada o una comunicación debe ser manejada por el conmutador 400 de red de paquetes, un controlador de red (no representado) proporciona a la tarjeta 408 de control la información necesaria de establecimiento de llamada. La tarjeta 408 de control utiliza esta información de establecimiento de llamada para asignar un puerto en las tarjetas 402a o 402b de entrada para recibir la llamada desde la Red de Telefonía Conmutada Pública (“PSTN”), un DSP dentro de la tarjeta 404 de procesamiento para procesar la llamada, y un puerto en las tarjetas 408a o 408b de salida para enviar la llamada a la red de IP (no representada). Cada tarjeta 408 de control tiene su propia memoria y de ese modo evita los problemas típicos asociados a la memoria compartida, tal como llamadas recursivas y problemas de sincronización e interrupción. Las comunicaciones o mensajes en base a TDM entran a través de las tarjetas 402a o 402b de entrada y son enrutadas hasta la tarjeta 404 de procesamiento apropiada a través del Bus 412 de TDM. Los DSPs de la tarjeta 404 de procesamiento convierten los mensajes entre formatos de información analógicos y digitales, y proporcionan funciones de compresión digital y conmutación. En una realización, cada tarjeta 404 de procesamiento está capacitada para procesar 1024 sesiones simultáneas. La tarjeta 404 de procesamiento envía entonces los mensajes desde el DSP hasta la estructura 410 de conmutador de célula, la cual es principalmente responsable del enrutamiento y transferencia de mensajes o células de datos, la unidad de transmisión básica entre elementos de conmutación. La estructura 410 de conmutación puede proporcional también memoria de almacenamiento intermedio de célula concentración y multiplexado de tráfico, redundancia para tolerancia de fallo, radiodifusión o multidifusión, y planificación de célula en base a prioridades de retardo y monitorización de congestión. La estructura 410 de conmutación enruta finalmente los mensajes hasta las tarjetas 408a o 408b de salida. En una realización, cada tarjeta 408 de salida está capacitada para manejar al menos 8000 llamadas. Las tarjetas 408a y 408b de salida envían típicamente los mensajes a una Ethernet de un gigabits (no representada). Como su nombre indica, la Ethernet de un gigabits soporta tasas de datos de un (1) gigabits (1.000 megabits) por segundo.
Haciendo ahora referencia a la Figura 5, se ha mostrado un diagrama esquemático de un conmutador 500 de red de paquetes de acuerdo con una realización de la presente invención. El conmutador 500 de red de paquetes incluye tarjetas 502a y 502b de entrada acopladas comunicativamente a un bus 504 de TDM. El bus 504 de TDM está acoplado comunicativamente a un número de DSPs 506a, 506b, 506c, ..., 506n. Los DSPs 506a, 506b, 506c, ..., 506n están configurados típicamente según una batería de DSPs situados sobre una o más tarjetas de procesamiento de señal. Cada uno de los DSP 506a, 506b, 506c, ..., 506n está acoplado comunicativamente a un motor 508a, 508b, 508c, ..., 508n de FFF, cada uno de los cuales posee una base de datos (no representada) de FFF según se ha descrito anteriormente. Cada motor 508a, 508b, 508c, ..., 508n de FFF está acoplado comunicativamente a una estructura 510 de conmutación. La estructura 510 de conmutación está acoplada comunicativamente a tarjetas 512a y 512b de salida. El conmutador 500 de red de paquetes incluye también una o más CPUs 514, las cuales están situadas típicamente sobre una o más tarjetas de control. La CPU 514 está acoplada comunicativamente a las tarjetas 502a y 502b de entrada, a los DSPs 506a, 506b, 506c, ..., 506n, y a las tarjetas 512a y 512b de salida. Un controlador 516 de FFF, que incluye un gestor (no representado) de FFF y una o más aplicaciones (no representadas) de FFF, está acoplado comunicativamente a la CPU 514 y a los motores 508a, 508b, 508c, ..., 508n de FFF.
Durante la conversión de una comunicación 518a o 518b basada en multiplexado por división de tiempo (“TDM”) en una comunicación 520a o 520b basada en IP, la CPU 514 recibe instrucciones 522 de señalización para la llamada y asigna un puerto de la tarjeta 502a, 502b de entrada, y un puerto de la tarjeta 510a, 510b de salida, y un DSP 506a, 506b, 506c, ..., 506n para procesar la llamada. De forma similar, el controlador 516 de FFF (gestor de FFF) asigna un motor 508a, 508b, 508c, ..., 508n de FFF para procesar el paquete después de que éste haya sido creado por el DSP 506a, 506b, 506c, ..., 506n respectivo. El DSP 506a, 506b, 506c, ..., 506n recibe información de establecimiento de llamada desde la CPU 514 y solicita una plantilla desde la CPU 514 en base a la información de establecimiento de llamada o al tipo de portador. El DSP 506a, 506b, 506c, ..., 506n recibe y carga la plantilla. La plantilla contiene los parámetros operativos necesarios para configurar apropiadamente el DSP 506a, 506b, 506c, ..., 506n para procesar un cierto tipo de llamada. La carga en tiempo real de plantillas permite que cada DSP 506a, 506b, 506c, ..., 506n procese cualquier tipo de llamada. El uso de plantillas permite también que el conmutador 500 de red de paquetes sea actualizado para procesar nuevos tipos de llamadas o procesar más eficazmente tipos de
llamadas ya existentes mediante actualizaciones o descargas de software. Adicionalmente, el conmutador 500 de red de paquetes puede usar la asignación de plantillas para controlar dinámicamente la asignación de ancho de banda a los diversos tipos de llamadas para asegurar estándares de QoS y/o el cumplimiento de restricciones de licencia.
A continuación, el DSP 506a, 506b, 506c, ..., 506n procesa los datos modulados por código de pulso (“PCM”) y lleva a cabo una discriminación adicional de los datos para determinar si se requiere una plantilla diferente. Si se necesita cambiar la plantilla, el DSP 506a, 506b, 506c, ..., 506n solicita una plantilla diferente, y recibe y carga la plantilla diferente. Por ejemplo, la información de establecimiento de llamada puede indicar que el tipo de soporte de la llamada es voz incluso aunque el tipo de soporte pueda ser o bien voz o bien fax. De ese modo, si el DSP 506a, 506b, 506c, ..., 506n reconoce mediante discriminación adicional de los datos de PCM que la llamada es realmente un fax en vez de una llamada de voz, el DSP 506a, 506b, 506c, ..., 506n solicitará una plantilla diferente con el fin de configurar apropiadamente el DSP 506a, 506b, 506c, ..., 506n para que procese el fax.
Una vez que se ha cargado la plantilla apropiada, el DSP 506a, 506b, 506c, ..., 506n recibe los datos de la llamada desde el puerto de la tarjeta 502a, 502b de entrada asignado a través del bus 504 de TDM. El DSP 506a, 506b, 506c, ..., 506n comprime entonces los datos de la llamada y crea una porción de datos del paquete. El DSP 506a, 506b, 506c, ..., 506n puede crear también una o más muestras digitales a partir de los datos de llamada comprimidos y crear la porción de datos del paquete utilizando las una o más muestras digitales. El DSP 506a, 506b, 506c, ..., 506n crea también una o más cabeceras, tal como una cabecera de RTP, una cabecera de UDP, una cabecera de IP y una cabecera de MAC, utilizando los datos de la llamada y la información de establecimiento de llamada. Más específicamente, las cabeceras de RTP y de UDP son generadas a partir de los datos de la llamada mientras que las cabeceras de IP y de MAC son generadas a partir de la información de establecimiento de llamada. Obsérvese que el DSP 506a, 506b, 506c, ..., 506n no se limita a la creación de ninguna cabecera específica, tal como una cabecera de RTP, una cabecera de UDP, una cabecera de IP o una cabecera de MAC, sino que puede ser también usado para crear cualquier cabecera necesaria para el suministro apropiado de un paquete.
El DSP 506a, 506b, 506c, ..., 506n fija a continuación las una o más cabeceras a la porción de datos del paquete. El DSP 506a, 506b, 506c, ..., 506n envía el paquete completo (datos más cabeceras) al motor 508a, 508b, 508c, ..., 508n de FFF asignado. El motor 508a, 508b, 508c, ..., 508n de FFF asignado procesa el paquete utilizando una o más reglas de transformación en caso de que el paquete satisfaga una o más reglas de identificación y/o de verificación o reglas de validación. En otro caso, el motor 508a, 508b, 508c, ..., 508n de FFF asignado procesa el paquete utilizando un proceso estándar en caso de que el paquete no satisfaga las una o más reglas de identificación y/o de verificación o reglas de validación. El proceso estándar ha sido descrito en lo que antecede con referencia a la Figura 1. Los procesos de FFF han sido descritos en lo que antecede con referencia a las Figuras 1
3. El paquete procesado es enviado a continuación al puerto de la tarjeta 512a, 512b de salida apropiada por medio de la estructura 510 de conmutación para su transmisión al exterior por la red de IP.
Las realizaciones y ejemplos expuestos en la presente memoria han sido presentados para explicar mejor la presente invención y su aplicación práctica y para permitir con ello que los expertos en la materia realicen y utilicen la invención. Sin embargo, los expertos en la materia reconocerán que la descripción y los ejemplos que anteceden han sido presentados con fines ilustrativos y de ejemplo solamente. No se pretende que la descripción realizada sea exhaustiva o limite la invención a la forma precisa divulgada. Son posibles muchas modificaciones y variaciones a la vista de las enseñanzas anteriores sin apartarse del alcance de las reivindicaciones que siguen.
Claims (35)
- REIVINDICACIONES1.- Un método para procesar un paquete de un flujo de paquetes, que comprende las etapas de:recibir el paquete; procesar (322) el paquete utilizando una o más reglas de transformación sin procesamiento de protocolo en capas en caso de que el paquete satisfaga una o más reglas de identificación para el flujo, en el que una regla de transformación final de las reglas de transformación contiene una identificación de una interfaz de salida para el flujo, y procesar (306) el paquete utilizando un proceso estándar de procesamiento de protocolo en capas en caso de que el paquete no satisfaga las una o más reglas de identificación para el flujo, enviando el paquete a una pila(120) de protocolo para la conmutación del paquete.
- 2.-El método según se expone en la reivindicación 1, en el que las una o más reglas de identificación comprenden además una o más reglas de validación.
- 3.- El método según se expone en la reivindicación 1, que comprende además la etapa (208) de crear las una o más reglas de identificación y las una o más reglas de transformación en base a datos externos.
- 4.-El método según se expone en la reivindicación 1, en el que los datos externos consisten en una información de establecimiento de llamada.
- 5.- El método según se expone en la reivindicación 1, que comprende además la etapa (324) de enviar el paquete a un puerto de salida después de que el paquete haya sido procesado utilizando las una o más reglas de transformación.
- 6.- El método según se expone en la reivindicación 1, que comprende además las etapas de:monitorizar (202) el proceso estándar para detectar uno o más flujos de paquetes, y crear las una o más reglas de identificación y las una o más reglas de transformación en caso de que se detecte un flujo de paquetes.
- 7.-El método según se expone en la reivindicación 6, que comprende además la etapa de actualizar las una o más reglas de identificación y las una o más reglas de transformación en caso de que se detecte un cambio en el flujo de paquetes.
- 8.-El método según se expone en la reivindicación 1, en el que las una o más reglas de identificación comprenden un árbol de decisión.
- 9.-El método según se expone en la reivindicación 8, en el que el árbol de decisión comprende uno o más nodos y cada nodo es una tabla hash.
- 10.- El método según se expone en la reivindicación 1, en el que cada regla de transformación comprende una instrucción de procesamiento.
- 11.- El método según se expone en la reivindicación 1, en el que el paquete es un paquete de IP.
- 12.- El método según se expone en la reivindicación 1, en el que el paquete es un paquete de Ethernet.
- 13.- Un producto de programa de ordenador materializado sobre un medio legible con ordenador para el procesamiento de un paquete de un flujo de paquetes cuando se carga en un conmutador de comunicaciones, comprendiendo el producto de programa de ordenador segmentos de código para ejecutar las etapas de:recibir el paquete procesar (322) el paquete utilizando una o más reglas de transformación sin procesamiento de protocolo en capas en caso de que el paquete satisfaga una o más reglas de identificación para el flujo, en el que una regla de transformación final de las reglas de transformación contiene una identificación de una interfaz de salida para el flujo, y procesar (306) el paquete utilizando un proceso estándar de procesamiento de protocolo en capas en caso de que el paquete no satisfaga las una o más reglas de identificación para el flujo, enviando el paquete a una pila(120) de protocolo para la conmutación del paquete.
- 14.- El producto de programa de ordenador según se expone en la reivindicación 13, en el que las una o más reglas de identificación comprenden además una o más reglas de validación.
- 15.- El producto de programa de ordenador según se expone en la reivindicación 13, que comprende además un segmento de código para ejecutar la etapa de crear las una o más reglas de identificación y las una o más reglas de transformación en base a datos externos.
- 16.- El producto de programa de ordenador según se expone en la reivindicación 13, en el que los datos externos consisten en una información de establecimiento de llamada.
- 17.- El producto de programa de ordenador según se expone en la reivindicación 13, que comprende además un segmento de código para ejecutar la etapa de enviar el paquete a un puerto de salida después de que el paquete haya sido procesado utilizando las una o más reglas de transformación.
- 18.- El producto de programa de ordenador según se expone en la reivindicación 13, que comprende además:un segmento de código para ejecutar la etapa de monitorizar el proceso estándar para detectar uno o más flujos de paquetes, y un segmento de código para ejecutar la etapa de crear las una o más reglas de identificación y las una o más reglas de transformación en caso de que se detecte un flujo de paquetes.
- 19.- El producto de programa de ordenador según se expone en la reivindicación 18, que comprende además un segmento de código para ejecutar la etapa de actualizar las una o más reglas de identificación y las una o más reglas de transformación en caso de que se detecte un cambio en el flujo de paquetes.
- 20.- El producto de programa de ordenador según se expone en la reivindicación 13, en el que las una o más reglas de identificación comprenden un árbol de decisión.
- 21.-El producto de programa de ordenador según se expone en la reivindicación 20, en el que el árbol de decisión comprende uno o más nodos, y cada nodo es una tabla hash.
- 22.- El producto de programa de ordenador según se expone en la reivindicación 13, en el que cada regla de transformación comprende una instrucción de procesamiento.
- 23.- El producto de programa de ordenador según se expone en la reivindicación 13, en el que el paquete es un paquete de IP.
- 24.- El producto de programa de ordenador según se expone en la reivindicación 13, en el que el paquete es un paquete de Ethernet.
- 25.- Un conmutador de comunicaciones, que comprende:una o más tarjetas (104) de entrada; una o más tarjetas (102) de control, teniendo cada tarjeta (102) de control al menos un procesador; una o más tarjetas (106) de salida; un bus (108) de comunicaciones que acopla comunicativamente las tarjetas (104) de entrada, las tarjetas(102) de control y las tarjetas (106) de salida entre sí, y estando cada tarjeta (104) de entrada adaptada para recibir uno o más paquetes de un flujo de paquetes, para procesar cada paquete utilizando una o más reglas de transformación sin procesamiento de protocolo en capas en caso de que el paquete satisfaga una o más de las reglas de identificación para el flujo, en el que una regla de transformación final de las reglas de transformación contiene una identificación de una interfaz de salida para el flujo, y para enviar cada paquete a uno de los procesadores para su procesamiento utilizando un proceso estándar de procesamiento de protocolo en capas en caso de que el paquete no satisfaga las una o más reglas de identificación para el flujo enviando el paquete a una pila (120) de protocolo para la conmutación del paquete.
- 26.-El conmutador de comunicaciones según se expone en la reivindicación 25, en el que las una o más reglas de identificación comprenden además una o más reglas de validación.
- 27.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que cada tarjeta de control comprende además un controlador de envío de flujo rápido que crea las una o más reglas de identificación y las unao más reglas de transformación en base a datos externos.
- 28.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que los datos externos consisten en una información de establecimiento de llamada.
- 29.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que los paquetes son enviados a una de las tarjetas de salida después de que el paquete haya sido procesado utilizando las una o más reglas de transformación.
- 30.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que cada tarjeta de control5 comprende además un controlador de envío de flujo rápido que monitoriza el proceso estándar para detectar uno o más flujos de paquetes, y crea las una o más reglas de identificación y las una o más reglas de transformación en caso de que se detecte un flujo de paquetes.
- 31.- El conmutador de comunicaciones según se expone en la reivindicación 30, en el que el controlador de envío de 10 flujo rápido actualiza las una o más reglas de identificación y las una o más reglas de transformación en caso de que se detecte un cambio en el flujo de paquetes.
- 32.-El conmutador de comunicaciones según se expone en la reivindicación 25, en el que las una o más reglas de identificación comprenden un árbol de decisión.
- 33.- El conmutador de comunicaciones según se expone en la reivindicación 32, en el que el árbol de decisión comprende uno más nodos y cada nodo consiste en una tabla hash.
- 34.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que cada regla de 20 transformación comprende una instrucción de procesamiento.
- 35.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que el paquete es un paquete de IP.25 36.- El conmutador de comunicaciones según se expone en la reivindicación 25, en el que el paquete es un paquete de Ethernet.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/962,707 US7042888B2 (en) | 2001-09-24 | 2001-09-24 | System and method for processing packets |
| US962707 | 2001-09-24 | ||
| PCT/US2002/030057 WO2003028292A2 (en) | 2001-09-24 | 2002-09-23 | System and method for processing packets |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2388428T3 true ES2388428T3 (es) | 2012-10-15 |
Family
ID=25506248
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES02768881T Expired - Lifetime ES2388428T3 (es) | 2001-09-24 | 2002-09-23 | Sistema y método para el procesamiento de paquetes |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7042888B2 (es) |
| EP (1) | EP1430661B1 (es) |
| JP (2) | JP2005505171A (es) |
| KR (1) | KR100922654B1 (es) |
| CN (1) | CN100366024C (es) |
| AU (1) | AU2002331887A1 (es) |
| ES (1) | ES2388428T3 (es) |
| WO (1) | WO2003028292A2 (es) |
Families Citing this family (78)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7088739B2 (en) * | 2001-11-09 | 2006-08-08 | Ericsson Inc. | Method and apparatus for creating a packet using a digital signal processor |
| US7426209B2 (en) * | 2002-12-13 | 2008-09-16 | Telefonaktiebolaget L M Ericsson (Publ) | System for content based message processing |
| US7474739B2 (en) * | 2003-12-15 | 2009-01-06 | International Business Machines Corporation | Providing speaker identifying information within embedded digital information |
| US20050286512A1 (en) * | 2004-06-28 | 2005-12-29 | Atul Mahamuni | Flow processing |
| US7734741B2 (en) | 2004-12-13 | 2010-06-08 | Intel Corporation | Method, system, and apparatus for dynamic reconfiguration of resources |
| US7738484B2 (en) * | 2004-12-13 | 2010-06-15 | Intel Corporation | Method, system, and apparatus for system level initialization |
| JP4375303B2 (ja) * | 2005-08-19 | 2009-12-02 | ブラザー工業株式会社 | 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム |
| CN100579146C (zh) * | 2005-09-02 | 2010-01-06 | 深圳市东进通讯技术股份有限公司 | 综合电信平台中的模块配置管理方法 |
| US9003292B2 (en) | 2006-07-06 | 2015-04-07 | LiveAction, Inc. | System and method for network topology and flow visualization |
| US8929360B2 (en) * | 2006-12-07 | 2015-01-06 | Cisco Technology, Inc. | Systems, methods, media, and means for hiding network topology |
| US8599747B1 (en) * | 2006-12-20 | 2013-12-03 | Radisys Canada Inc. | Lawful interception of real time packet data |
| US7936677B2 (en) | 2007-03-22 | 2011-05-03 | Sharp Laboratories Of America, Inc. | Selection of an audio visual stream by sampling |
| US7843914B2 (en) * | 2007-06-29 | 2010-11-30 | Alcatel-Lucent | Network system having an extensible forwarding plane |
| US8000329B2 (en) * | 2007-06-29 | 2011-08-16 | Alcatel Lucent | Open platform architecture for integrating multiple heterogeneous network functions |
| US20090003375A1 (en) * | 2007-06-29 | 2009-01-01 | Martin Havemann | Network system having an extensible control plane |
| CA2630938C (en) * | 2007-09-19 | 2016-10-04 | Kevin Gerard Boyce | Method and system for dynamic protocol decoding and analysis |
| US20090092136A1 (en) * | 2007-10-09 | 2009-04-09 | Broadcom Corporation | System and method for packet classification, modification and forwarding |
| US8125908B2 (en) * | 2007-12-04 | 2012-02-28 | Extrahop Networks, Inc. | Adaptive network traffic classification using historical context |
| US7908376B2 (en) * | 2008-07-31 | 2011-03-15 | Broadcom Corporation | Data path acceleration of a network stack |
| KR200452383Y1 (ko) * | 2009-03-09 | 2011-02-22 | (주)아모레퍼시픽 | 뚜껑에 융기되는 퍼프가 설치된 화장품 용기 |
| US8325733B2 (en) * | 2009-09-09 | 2012-12-04 | Exafer Ltd | Method and system for layer 2 manipulator and forwarder |
| US9009293B2 (en) | 2009-11-18 | 2015-04-14 | Cisco Technology, Inc. | System and method for reporting packet characteristics in a network environment |
| US9015318B1 (en) | 2009-11-18 | 2015-04-21 | Cisco Technology, Inc. | System and method for inspecting domain name system flows in a network environment |
| US9148380B2 (en) | 2009-11-23 | 2015-09-29 | Cisco Technology, Inc. | System and method for providing a sequence numbering mechanism in a network environment |
| EP2506504A4 (en) | 2009-11-26 | 2013-11-13 | Nec Corp | RELAY DEVICE |
| US8792495B1 (en) | 2009-12-19 | 2014-07-29 | Cisco Technology, Inc. | System and method for managing out of order packets in a network environment |
| US8509069B1 (en) * | 2009-12-22 | 2013-08-13 | Juniper Networks, Inc. | Cell sharing to improve throughput within a network device |
| CN102316012B (zh) * | 2010-06-30 | 2014-05-14 | 杭州华三通信技术有限公司 | 一种实现ip快转的方法和三层转发设备 |
| US8787303B2 (en) | 2010-10-05 | 2014-07-22 | Cisco Technology, Inc. | Methods and apparatus for data traffic offloading at a router |
| US9003057B2 (en) | 2011-01-04 | 2015-04-07 | Cisco Technology, Inc. | System and method for exchanging information in a mobile wireless network environment |
| US8737221B1 (en) | 2011-06-14 | 2014-05-27 | Cisco Technology, Inc. | Accelerated processing of aggregate data flows in a network environment |
| US8948013B1 (en) * | 2011-06-14 | 2015-02-03 | Cisco Technology, Inc. | Selective packet sequence acceleration in a network environment |
| US8743690B1 (en) | 2011-06-14 | 2014-06-03 | Cisco Technology, Inc. | Selective packet sequence acceleration in a network environment |
| US10015048B2 (en) | 2014-12-27 | 2018-07-03 | Intel Corporation | Programmable protocol parser for NIC classification and queue assignments |
| US9300554B1 (en) | 2015-06-25 | 2016-03-29 | Extrahop Networks, Inc. | Heuristics for determining the layout of a procedurally generated user interface |
| US9826071B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Configuring a switch for extracting packet header fields |
| US9825862B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
| US11418632B2 (en) * | 2015-12-15 | 2022-08-16 | Intel Corporation | High speed flexible packet classification using network processors |
| US9912774B2 (en) | 2015-12-22 | 2018-03-06 | Intel Corporation | Accelerated network packet processing |
| US10230633B2 (en) * | 2016-01-21 | 2019-03-12 | Red Hat, Inc. | Shared memory communication in software defined networking |
| US10204211B2 (en) | 2016-02-03 | 2019-02-12 | Extrahop Networks, Inc. | Healthcare operations with passive network monitoring |
| US10063407B1 (en) | 2016-02-08 | 2018-08-28 | Barefoot Networks, Inc. | Identifying and marking failed egress links in data plane |
| US9729416B1 (en) | 2016-07-11 | 2017-08-08 | Extrahop Networks, Inc. | Anomaly detection using device relationship graphs |
| US9660879B1 (en) | 2016-07-25 | 2017-05-23 | Extrahop Networks, Inc. | Flow deduplication across a cluster of network monitoring devices |
| US11223520B1 (en) | 2017-01-31 | 2022-01-11 | Intel Corporation | Remote control plane directing data plane configurator |
| CN106656804B (zh) * | 2017-02-05 | 2019-11-19 | 北京中航通用科技有限公司 | 低延时的报文转发方法、装置及交换机 |
| US10476673B2 (en) | 2017-03-22 | 2019-11-12 | Extrahop Networks, Inc. | Managing session secrets for continuous packet capture systems |
| US10686735B1 (en) | 2017-04-23 | 2020-06-16 | Barefoot Networks, Inc. | Packet reconstruction at deparser |
| US11036438B2 (en) | 2017-05-31 | 2021-06-15 | Fmad Engineering Kabushiki Gaisha | Efficient storage architecture for high speed packet capture |
| US11392317B2 (en) * | 2017-05-31 | 2022-07-19 | Fmad Engineering Kabushiki Gaisha | High speed data packet flow processing |
| US10990326B2 (en) | 2017-05-31 | 2021-04-27 | Fmad Engineering Kabushiki Gaisha | High-speed replay of captured data packets |
| US12493432B2 (en) | 2017-05-31 | 2025-12-09 | Fmad Engineering (Sng) Pte Ltd. | High speed data packet flow processing with offload |
| US11128740B2 (en) | 2017-05-31 | 2021-09-21 | Fmad Engineering Kabushiki Gaisha | High-speed data packet generator |
| US10601732B1 (en) | 2017-07-23 | 2020-03-24 | Barefoot Networks, Inc. | Configurable packet processing pipeline for handling non-packet data |
| US10063434B1 (en) | 2017-08-29 | 2018-08-28 | Extrahop Networks, Inc. | Classifying applications or activities based on network behavior |
| US10594630B1 (en) | 2017-09-28 | 2020-03-17 | Barefoot Networks, Inc. | Expansion of packet data within processing pipeline |
| US9967292B1 (en) | 2017-10-25 | 2018-05-08 | Extrahop Networks, Inc. | Inline secret sharing |
| US10264003B1 (en) | 2018-02-07 | 2019-04-16 | Extrahop Networks, Inc. | Adaptive network monitoring with tuneable elastic granularity |
| US10389574B1 (en) | 2018-02-07 | 2019-08-20 | Extrahop Networks, Inc. | Ranking alerts based on network monitoring |
| US10038611B1 (en) | 2018-02-08 | 2018-07-31 | Extrahop Networks, Inc. | Personalization of alerts based on network monitoring |
| US10270794B1 (en) | 2018-02-09 | 2019-04-23 | Extrahop Networks, Inc. | Detection of denial of service attacks |
| US10116679B1 (en) | 2018-05-18 | 2018-10-30 | Extrahop Networks, Inc. | Privilege inference and monitoring based on network behavior |
| US10411978B1 (en) | 2018-08-09 | 2019-09-10 | Extrahop Networks, Inc. | Correlating causes and effects associated with network activity |
| US10594718B1 (en) | 2018-08-21 | 2020-03-17 | Extrahop Networks, Inc. | Managing incident response operations based on monitored network activity |
| US10965702B2 (en) | 2019-05-28 | 2021-03-30 | Extrahop Networks, Inc. | Detecting injection attacks using passive network monitoring |
| US11165814B2 (en) | 2019-07-29 | 2021-11-02 | Extrahop Networks, Inc. | Modifying triage information based on network monitoring |
| US11388072B2 (en) | 2019-08-05 | 2022-07-12 | Extrahop Networks, Inc. | Correlating network traffic that crosses opaque endpoints |
| US10742530B1 (en) | 2019-08-05 | 2020-08-11 | Extrahop Networks, Inc. | Correlating network traffic that crosses opaque endpoints |
| US10742677B1 (en) | 2019-09-04 | 2020-08-11 | Extrahop Networks, Inc. | Automatic determination of user roles and asset types based on network monitoring |
| US11165823B2 (en) | 2019-12-17 | 2021-11-02 | Extrahop Networks, Inc. | Automated preemptive polymorphic deception |
| EP4218212A4 (en) | 2020-09-23 | 2024-10-16 | ExtraHop Networks, Inc. | Monitoring encrypted network traffic |
| US11463466B2 (en) | 2020-09-23 | 2022-10-04 | Extrahop Networks, Inc. | Monitoring encrypted network traffic |
| US11686638B2 (en) | 2021-05-08 | 2023-06-27 | The Boeing Company | Piezoelectric sensor having a membrane made of auxetic metamaterial for enhanced sensitivity |
| US11349861B1 (en) | 2021-06-18 | 2022-05-31 | Extrahop Networks, Inc. | Identifying network entities based on beaconing activity |
| US11296967B1 (en) | 2021-09-23 | 2022-04-05 | Extrahop Networks, Inc. | Combining passive network analysis and active probing |
| US12184520B2 (en) | 2022-02-21 | 2024-12-31 | FMAD Engineering (SNG) Pte. Ltd. | High-speed packet filtering |
| US11843606B2 (en) | 2022-03-30 | 2023-12-12 | Extrahop Networks, Inc. | Detecting abnormal data access based on data similarity |
| US12483384B1 (en) | 2025-04-16 | 2025-11-25 | Extrahop Networks, Inc. | Resynchronizing encrypted network traffic |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5321606A (en) * | 1987-05-19 | 1994-06-14 | Hitachi, Ltd. | Data transforming method using externally provided transformation rules |
| US5307413A (en) | 1991-07-19 | 1994-04-26 | Process Software Corporation | Method and apparatus for adding data compression and other services in a computer network |
| JP3232711B2 (ja) * | 1992-11-10 | 2001-11-26 | 松下電器産業株式会社 | ルータ中継装置 |
| JPH0998189A (ja) * | 1995-09-29 | 1997-04-08 | Toshiba Corp | ネットワーク中継装置 |
| US5828846A (en) * | 1995-11-22 | 1998-10-27 | Raptor Systems, Inc. | Controlling passage of packets or messages via a virtual connection or flow |
| US5732079A (en) | 1995-12-22 | 1998-03-24 | Cisco Technology, Inc. | Method and apparatus for skewing the start of transmission on multiple data highways |
| EP0814583A2 (en) * | 1996-06-20 | 1997-12-29 | International Business Machines Corporation | Method and system for minimizing the connection set up time in high speed packet switching networks |
| US6016307A (en) | 1996-10-31 | 2000-01-18 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
| US6009097A (en) | 1997-04-04 | 1999-12-28 | Lucent Technologies Inc. | System for routing packet switched traffic |
| US5946311A (en) | 1997-05-27 | 1999-08-31 | International Business Machines Corporation | Method for allowing more efficient communication in an environment wherein multiple protocols are utilized |
| US6104700A (en) * | 1997-08-29 | 2000-08-15 | Extreme Networks | Policy based quality of service |
| US6032197A (en) | 1997-09-25 | 2000-02-29 | Microsoft Corporation | Data packet header compression for unidirectional transmission |
| US6259699B1 (en) * | 1997-12-30 | 2001-07-10 | Nexabit Networks, Llc | System architecture for and method of processing packets and/or cells in a common switch |
| US6859438B2 (en) * | 1998-02-03 | 2005-02-22 | Extreme Networks, Inc. | Policy based quality of service |
| US6115372A (en) | 1998-02-04 | 2000-09-05 | Newcom Technologies, Inc. | Synchronous packet switching |
| US6266707B1 (en) * | 1998-08-17 | 2001-07-24 | International Business Machines Corporation | System and method for IP network address translation and IP filtering with dynamic address resolution |
| JP2000295274A (ja) * | 1999-04-05 | 2000-10-20 | Nec Corp | パケット交換装置 |
| JP3403971B2 (ja) * | 1999-06-02 | 2003-05-06 | 富士通株式会社 | パケット転送装置 |
| US6674743B1 (en) * | 1999-12-30 | 2004-01-06 | 3Com Corporation | Method and apparatus for providing policy-based services for internal applications |
| JP3692054B2 (ja) * | 2001-05-21 | 2005-09-07 | 株式会社東芝 | 文書構造変換方法および文書構造変換装置およびプログラム |
| US20020188732A1 (en) * | 2001-06-06 | 2002-12-12 | Buckman Charles R. | System and method for allocating bandwidth across a network |
| US20030009585A1 (en) * | 2001-07-06 | 2003-01-09 | Brian Antoine | Dynamic policy based routing |
| US7831733B2 (en) * | 2001-07-06 | 2010-11-09 | Avaya Holdings Limited | Policy-based forwarding in open shortest path first (OSPF) networks |
-
2001
- 2001-09-24 US US09/962,707 patent/US7042888B2/en not_active Expired - Lifetime
-
2002
- 2002-09-23 KR KR1020047004273A patent/KR100922654B1/ko not_active Expired - Lifetime
- 2002-09-23 ES ES02768881T patent/ES2388428T3/es not_active Expired - Lifetime
- 2002-09-23 JP JP2003531678A patent/JP2005505171A/ja active Pending
- 2002-09-23 CN CNB028230167A patent/CN100366024C/zh not_active Expired - Lifetime
- 2002-09-23 AU AU2002331887A patent/AU2002331887A1/en not_active Abandoned
- 2002-09-23 EP EP02768881A patent/EP1430661B1/en not_active Expired - Lifetime
- 2002-09-23 WO PCT/US2002/030057 patent/WO2003028292A2/en not_active Ceased
-
2007
- 2007-12-11 JP JP2007319502A patent/JP4686531B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| KR20040041175A (ko) | 2004-05-14 |
| JP2008086048A (ja) | 2008-04-10 |
| CN100366024C (zh) | 2008-01-30 |
| WO2003028292A3 (en) | 2003-07-10 |
| KR100922654B1 (ko) | 2009-10-19 |
| WO2003028292A2 (en) | 2003-04-03 |
| EP1430661B1 (en) | 2012-05-30 |
| EP1430661A2 (en) | 2004-06-23 |
| JP4686531B2 (ja) | 2011-05-25 |
| AU2002331887A1 (en) | 2003-04-07 |
| CN1589551A (zh) | 2005-03-02 |
| JP2005505171A (ja) | 2005-02-17 |
| US7042888B2 (en) | 2006-05-09 |
| US20030058872A1 (en) | 2003-03-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1430661B1 (en) | System and method for processing packets | |
| US7088739B2 (en) | Method and apparatus for creating a packet using a digital signal processor | |
| US7606245B2 (en) | Distributed packet processing architecture for network access servers | |
| US7616646B1 (en) | Intraserver tag-switched distributed packet processing for network access servers | |
| US6678283B1 (en) | System and method for distributing packet processing in an internetworking device | |
| US8379631B2 (en) | System, method and computer program product for point-to-point bandwidth conservation in an IP network | |
| US7924890B2 (en) | Apparatus and method for increasing reliability of data sensitive to packet loss | |
| EP1214819B1 (en) | Circuit emulation service over an internet protocol network | |
| JPH09507974A (ja) | フレームリレーネットワークのオーバーロード状態の制御 | |
| US6954460B2 (en) | Method and apparatus for compressing packet headers | |
| EP1576770B1 (en) | Tunnelling tdm traffic over mpls | |
| CA2420310C (en) | Sharing of protocol processing | |
| US7545801B2 (en) | In-band control mechanism for switching architecture | |
| US7321557B1 (en) | Dynamic latency assignment methodology for bandwidth optimization of packet flows | |
| EP1479196B1 (en) | Data communication in frame mode for differentiated services | |
| JP4189965B2 (ja) | 通信ノード | |
| CN1998214A (zh) | 电信网络中的改进或涉及电信网络的改进 | |
| US20050018661A1 (en) | Methods and systems to process packet and non-packet data | |
| JPH07273803A (ja) | Isdn端末装置及びisdn−lan接続装置の通信制御方法 |