ES2221283T3 - Dispositivo de conmutacion con esquema de colas multietapas. - Google Patents

Dispositivo de conmutacion con esquema de colas multietapas.

Info

Publication number
ES2221283T3
ES2221283T3 ES99119105T ES99119105T ES2221283T3 ES 2221283 T3 ES2221283 T3 ES 2221283T3 ES 99119105 T ES99119105 T ES 99119105T ES 99119105 T ES99119105 T ES 99119105T ES 2221283 T3 ES2221283 T3 ES 2221283T3
Authority
ES
Spain
Prior art keywords
stage
control information
queue
port
packets
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
Application number
ES99119105T
Other languages
English (en)
Inventor
C. Stuart Johnson
Timothy S. Michels
Greg W. Davis
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.)
Alcatel CIT SA
Alcatel Lucent SAS
Original Assignee
Alcatel CIT SA
Alcatel SA
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 Alcatel CIT SA, Alcatel SA filed Critical Alcatel CIT SA
Application granted granted Critical
Publication of ES2221283T3 publication Critical patent/ES2221283T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches 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)
  • Small-Scale Networks (AREA)

Abstract

En dispositivo de conmutación, un procedimiento para comunicar paquetes del datos desde los puertos emisores a los puertos de destino incluye el almacenamiento en una primera cola de etapa los datos relativos a paquete de un puerto emisor; determinación a partir de los datos relativos a paquete que los puertos de destino vayan a recibir los datos relativos a paquete en la primera cola de etapa; almacenamiento en una segunda cola de etapa asociada con cada puerto de destino determinado los datos relativos a paquete de la primera cola de etapa; y uso de los datos relativos a paquete en la segunda cola de etapa para completar la comunicación del paquete del datos desde el puerto emisor a cada puerto de destino determinado. El aparato para practicar el procedimiento comprende una primera cola de etapa que almacena los datos relativos a paquete de un puerto emisor; y una segunda cola de etapa asociada con cada uno de un conjunto de puertos de destino que almacenan los datos relativos a paquete de la primera cola de etapa.

Description

Dispositivo de conmutación con esquema de colas multietapas.
La presente invención se refiere a un método para transferir paquetes de datos desde puertos de origen a puertos de destino de un dispositivo de conmutación, que comprende los pasos de: almacenar en una cola de una primera etapa información de control asociada a los paquetes procedente de un puerto de origen; determinar, a partir de la información de control asociada a los paquetes, qué puertos de destino deben recibir la información de control asociada a los paquetes que se encuentra en la cola de la primera etapa; almacenar en una cola de una segunda etapa asociada con cada puerto de destino determinado la información de control asociada a los paquetes procedente de la cola de la primera etapa; y utilizar la información de control asociada a los paquetes de esta cola de la segunda etapa para completar la transmisión de los paquetes de datos desde el puerto de origen a cada puerto de destino determinado.
Además, la presente invención se refiere a un aparato para transferir paquetes de datos desde puertos de origen a puertos de destino de un dispositivo de conmutación, que comprende medios para almacenar en una cola de una primera etapa información de control asociada a los paquetes procedente de un puerto de origen; medios para determinar, a partir de la información de control asociada a los paquetes, qué puertos de destino deben recibir la información de control asociada a los paquetes que se encuentra en la cola de la primera etapa; medios para almacenar en una cola de una segunda etapa asociada con cada puerto de destino determinado la información de control asociada a los paquetes procedente de la cola de la primera etapa; y medios para utilizar la información de control asociada a los paquetes que se encuentra en esta cola de la segunda etapa para completar la transmisión de los paquetes de datos desde el puerto de origen a cada puerto de destino determinado.
Un método y un aparato de este tipo se conocen por el documento de patente US 5.361.255.
Esta invención se refiere en general a dispositivos de conmutación de red. Más en concreto, esta invención se refiere a un método y a medios para transferir paquetes de datos a través de un dispositivo de conmutación.
Una red de área local (LAN) es un sistema para conectar directamente varios ordenadores de forma que puedan intercambiar directamente información entre ellos. Las LAN se consideran locales porque están diseñadas para conectar ordenadores en una superficie pequeña, tal como una oficina, un edificio, o un pequeño campus. Las LAN se consideran sistemas porque están formadas por varios componentes, tales como cables, repetidores, conmutadores, routers, interfaces de red, nodos (por ejemplo ordenadores) y protocolos de comunicaciones. Ethernet es uno de dichos protocolos. La información se transfiere a través de una LAN en tramas transportadas dentro de paquetes de datos. (Los términos "trama" y "paquete de datos", aunque son técnicamente diferentes, se utilizan a menudo indistintamente para describir los datos que llevan la información).
Un conmutador de una LAN (o, más en general, un conmutador de paquetes) se define, de forma general, como un dispositivo multipuerto que transfiere datos entre sus diferentes puertos en base a las direcciones de destino y/u otras informaciones que se encuentran en los paquetes individuales que recibe. Los conmutadores pueden utilizarse para segmentar las LAN, para conectar LAN diferentes, o para extender el diámetro de colisión de las LAN. Los conmutadores son de especial importancia en las LAN basadas en el protocolo Ethernet debido a su capacidad para aumentar el diámetro de la red. Información básica adicional sobre conmutadores de paquetes puede encontrarse en una serie de referencias tales como Fast Ethernet (1997) de L. Quinn et al.; Computer Networks (3ª edición, 1996) de A. Tannenbaum; y High-Speed Networking with LAN Switches (1997) de G. Held, todas las cuales se incorporan aquí al estar referenciadas.
Los conmutadores de paquetes transportan, en general, tres tipos de tráfico: punto a punto, punto a multipunto y de difusión. El tráfico punto a punto consiste en paquetes que viajan desde un puerto de entrada o de origen a un único puerto de destino o de salida. El tráfico punto a multipunto consiste en paquetes que viajan desde un puerto de origen a muchos puertos de destino de acuerdo con una lista de destinos contenida en el paquete. El tráfico de difusión es un caso especial de tráfico punto a multipunto en el que la lista de destinos abarca todos los puertos de destino, y como tal los temas que tienen que ver con el tráfico punto a multipunto se aplican igualmente al tráfico de difusión.
El tráfico punto a multipunto plantea un problema para los conmutadores de paquetes porque los paquetes punto a multipunto deben copiarse dentro del conmutador de paquetes. Esta copia puede hacer que los conmutadores de paquetes se retrasen en la transmisión de las tramas que siguen a la trama punto a multipunto, debido al tiempo necesario para realizar la copia. Este tiempo de copia es especialmente claro en arquitecturas de conmutadores de barras cruzadas que requieren un acceso sin impedimentos desde el puerto de origen hasta el puerto de destino para programar la transmisión, ya que el puerto de origen debe esperar a que se complete otro tráfico destinado al puerto de destino. Las arquitecturas de conmutadores de memoria compartida no sufren este problema ya que todos los puertos tienen acceso a la memoria del conmutador independientemente de los demás. En los conmutadores de memoria compartida, un paquete se almacena en una memoria central y el puerto de origen toma una decisión de reenvío que notifica a los puertos de destino la ubicación del paquete a trasmitir. Cada puerto de destino puede sacar un paquete punto a multipunto de su posición de almacenamiento independientemente de los otros puertos. Sin embargo, en los conmutadores con memoria compartida la respuesta de los puertos de destino a la decisión de reenvío puede llevar tiempo en el caso, por ejemplo, de que se trate de un paquete punto a multipunto. Cada uno de los puertos de destino de la lista de destinos debe pedir el paquete a la memoria compartida. El tiempo requerido para ello retarda las decisiones adicionales de reenvío y puede producir congestión en el puerto de origen si se recibe en el mismo tráfico adicional mientras los puertos de destino completan sus peticiones.
La congestión en los conmutadores de paquetes se puede producir de diversas formas. En los casos en que exista más de un puerto transmitiendo a un único puerto de destino, puede producirse cogestión en el puerto de destino y se dice que el puerto está sobresuscrito. El cociente entre la velocidad a la que se genera tráfico en los puertos de origen y la velocidad a la que puede transmitir el puerto de destino recibe el nombre de ratio de sobresuscripción. Desadaptaciones de velocidad entre los medios de la red de origen y los medios de la red de destino pueden producir también cogestión (otro caso de sobresuscripción). Por ejemplo, si el tráfico viaja desde el puerto 0 al puerto 1 en un conmutador y el puerto 0 funciona a 100 Mbit/s y el puerto 1 funciona a 10 Mbit/s, el tráfico puede fácilmente demorarse esperando salir por el puerto 1. La conformación del tráfico puede causar también congestión. Éste es un proceso en el que el puerto de destino se limita intencionadamente a una velocidad de transmisión inferior a la que es capaz por motivos de ingeniería de tráfico.
El tráfico en una red de paquetes normal no permite un estado permanente de sobresuscripción. Ningún equipo de conmutación de red puede almacenar infinitos datos, de forma que las condiciones de sobresuscripción en puertos están limitadas por las capacidades de almacenamiento de los equipos de la red. Sin embargo, es también un comportamiento normal de red el tener picos durante periodos cortos de tiempo durante los que los puertos de la red estén sobresuscritos por una cualquiera o por todas las razones indicadas previamente. Equipos de conmutación con un número elevado de puertos crean la oportunidad de ratios de sobresuscripción elevados durantes estos picos del tráfico normal.
Las estaciones terminales (tales como un nodo dentro de una LAN) se comunican en una red de paquetes mediante el establecimiento de un canal que recibe el nombre de sesión. Esta sesión tiene características que permanecen constantes durante la conversación entre las estaciones terminales. Por ejemplo, si la estación A habla con la estación B a través de la red de paquetes para transferir un fichero, cuando A envía paquetes todos ellos se marcan con la dirección de red de B como destino y con la dirección de red de A como origen. Otras informaciones contenidas en los paquetes enviados entre A y B permanecerán también, en general, constantes para una sesión dada -prioridad, VLAN, protocolo de red, etc. Cada estación de una red de paquetes puede ejecutar múltiples sesiones con la misma o con distintas estaciones de destino. En general, los paquetes dentro de estas sesiones deben llegar en secuencia a su destino -es decir, el equipo de red no debe reordenarlos.
Cuando un paquete de una sesión dada entra en un conmutador de paquetes, el conmutador debe evaluar una serie de campos del paquete y tomar una decisión de reenvío (¿hacia dónde va el paquete?). Tras tomar una decisión de reenvío, los conmutadores de paquetes con cola de salida deben colocar los paquetes punto a multipunto en más de una cola de transmisión (siendo una cola un almacenamiento del tipo primero en entrar/primero en salir). A medida que aumentan las velocidades de los medios de la red, disminuye el intervalo de tiempo asignado para realizar estas operaciones de encolamiento. La congestión del puerto de salida agrava este tema. Ratios de sobresuscripción elevados que resultan del funcionamiento normal de la red de paquetes fuerzan a los mecanismos de encolamiento de salida a encolar paquetes procedentes simultáneamente de muchas fuentes para mantener un funcionamiento previsible. Cuanto más trabajo realice el mecanismo de encolamiento para manejar la congestión, más difícil es que realice la copia de paquetes punto a multipunto.
Un objetivo de esta invención es, en general, el proporcionar un método y medios para mejorar la transferencia de paquetes, tales como paquetes punto a multipunto, a través de un dispositivo de conmutación.
En concreto, el problema objetivo que subyace en la presente invención es reducir la carga de anchura de banda en el encolamiento de paquetes punto a multipunto durante los intervalos congestionados mientras se mantiene la consistencia del servicio de la sesión (ordenación de los paquetes).
Este objetivo se consigue mediante un método como el mencionado al principio, en el que la cola de la primera etapa incluye múltiples primeras colas, y el paso de almacenamiento de la información de control en la cola de la primera etapa comprende el almacenamiento de la información de control en una primera cola específica en base a una característica del paquete, y cada cola de la segunda etapa incluye múltiples segundas colas, y el paso de almacenamiento de la información de control en la cola de la segunda etapa comprende el almacenamiento de la información de control en una segunda cola específica en base a una característica del paquete.
Además, este objetivo se consigue por medio de un aparato como el mencionado al principio, en el que los medios de almacenamiento en una cola de la primera etapa de la información de control asociada a los paquetes incluye múltiples primeras colas, y cada cola de la segunda etapa incluye múltiples segundas colas que almacenan la información de control en una segunda cola específica en base a una característica del paquete.
Estos y otros aspectos, características y ventajas de la invención se describen a continuación en una realización a título de ejemplo en unión con los dibujos adjuntos.
Breve descripción de los dibujos
La figura 1 es un diagrama general de bloques de un conmutador de paquetes de acuerdo con la invención.
La figura 2 es un diagrama de bloques de un dispositivo de encolamiento situado dentro del conmutador de paquetes de la figura 1.
Descripción detallada de una realización a título de ejemplo Visión general
A medida que los paquetes de una sesión viajan a través de la red de paquetes pueden tomar diferentes caminos hacia el mismo destino en base a los contenidos de los campos de información de control de sus paquetes. Por ejemplo, una sesión de una videoconferencia entre la estación A y la estación B puede ser marcada con prioridad 7, VLAN 5, mientras que una sesión de e-mail entre las dos mismas estaciones puede ser marcada con prioridad 3, VLAN 12, incluso aunque las sesiones tengan el mismo origen y destino. Como resultado de estas diferencias en las sesiones, los paquetes en los trenes de datos pueden tomar físicamente rutas diferentes a través de la red. Las sesiones pueden también tomar la misma ruta a través de la red, pero ser servidas de forma diferente por el equipo de la red -un paquete procedente de una sesión puede entrar en un conmutador después que un paquete procedente de otra sesión y, sin embargo, salir antes como resultado de pertenecer a un servicio con mayor prioridad.
Los conmutadores de red pueden examinar estos campos de información de control de cada paquete para clasificarlo. Esta invención se aprovecha de la clasificación de los paquetes para reducir la carga de anchura de banda del encolamiento de los paquetes punto a multipunto durante los intervalos de congestión. Esto se lleva a cabo mediante la identificación de clasificaciones (características) de los paquetes que son independientes de si un paquete es punto a punto o punto a multipunto. Al hacer esto, el encolamiento puede descomponerse en etapas de forma que la primera etapa sólo trate con una amplia gama de tipos de paquetes (y potencialmente de sesiones) que están destinadas a cualquier puerto de un grupo de puertos. Etapas adicionales pueden entonces atender estas colas de la forma adecuada y realizar encolamientos adicionales para los paquetes punto a multipunto mediante la copia del paquete para cada puerto de destino. La copia de los paquetes punto a multipunto sigue produciéndose dentro del conmutador, pero no es necesario que se produzca inmediatamente ya que la primera etapa de colas actúa como una memoria intermedia para las etapas posteriores. Esto permite la absorción de las condiciones de sobresuscripción normales que aparecen esporádicamente mientras se mantiene la consistencia del servicio a la sesión (ordenación de los paquetes).
Un ejemplo de esta invención es un esquema de encolamiento en dos etapas en el que la primera etapa encola paquetes en base solamente a su prioridad. Todas las sesiones con una prioridad dada reciben el mismo peso en la cola de la primera etapa. Nótese que esto incluye sesiones punto a punto y punto a multipunto. Todos los paquetes de una sesión se colocan en una misma cola, manteniendo de este modo las exigencias de ordenación de los paquetes. Una cola de la segunda etapa atiende o vacía las colas de prioridad en colas de puertos, expandiendo los paquetes punto a multipunto a múltiples colas, si es necesario. Puesto que a las colas de la primera etapa no se las exige que expandan los paquetes punto a multipunto a los múltiples puertos de destino, se necesitan menos operaciones de encolamiento para encolar los paquetes hacia sus destinos en la primera etapa. La copia de los paquetes punto a multipunto se controla por los mecanismos de encolamiento en las colas de la segunda etapa. Esto permite que sean utilizados eficazmente más puertos en condiciones de red sobresuscritas normales que aparecen esporádicamente debido a desadaptaciones de velocidad, conformación del tráfico, sobresuscripción y densidad de puertos. Esto es cada vez más importante a medida que las velocidades de los medios de la red alcanzan el orden de Gbit/s e incluso más.
El funcionamiento de la realización a título de ejemplo es tal que el mecanismo de encolamiento en colas multietapa es invisible excepto durante intervalos congestionados en puertos que reciben tráfico punto a multipunto. Es decir, es transparente durante el funcionamiento normal y funciona como una mejora del rendimiento durante los picos de utilización.
Obsérvese que esta invención no está limitada al uso de la prioridad como criterio para el encolamiento en la primera etapa. Esta es una característica arbitraria de la sesión que se eligió como una regla de clasificación, que podría haber sido con la misma facilidad el tipo de protocolo de la red o el tipo de servicio. Obsérvese también que esta invención no está limitada a los dispositivos de encolamiento de salida, y puede tener aplicaciones en conmutadores de paquetes con encolamiento de entrada. Esta invención tampoco está limitada a una estructura de encolamiento en dos etapas.
Estructura y funciones
La figura 1 es un diagrama de bloques de una parte de un dispositivo de conmutación 18 de acuerdo con la invención. El dispositivo de conmutación incluye un cierto número de puertos bidireccionales 20 (numerados individualmente como puertos 1 al 10) cada uno de los cuales incluye un control de acceso al medio (MAC, media access control) y una lógica de decisión de reenvío 22. Para los fines de esta descripción, un puerto que adquiere un paquete de datos de una entidad externa tal como una red, un nodo, una estación, etc., por ejemplo, y reenvía el paquete internamente a otro puerto se le conoce como un puerto de entrada o de origen. Un puerto que recibe un paquete de datos internamente y transmite el paquete de datos a una entidad externa se le conoce como un puerto de salida o de destino. Dentro del conmutador 18 se muestra también un elemento de conmutación 24 y un dispositivo de encolamiento 26. Otras partes del dispositivo de conmutación, que pueden ser convencionales, no se muestran y no se describen porque no están relacionadas con la invención.
El MAC y la lógica de decisión de reenvío 22 dentro de cada puerto pueden ser de diseño convencional. A través de ellos un puerto de origen adquiere un paquete de datos y lo reenvía a uno o más puertos de destino. El proceso para transferir la decisión de reenvío lo lleva a cabo la lógica de decisión de reenvío en base a los destinos listados en el paquete de datos. La lógica de decisión de reenvío 22 envía al dispositivo de encolamiento información (información de control asociada al paquete) tal como un puntero hacia la posición en donde se almacena el paquete en el elemento de conmutación (si el elemento es una memoria compartida), el tipo de paquete (prioridad, etc.) y a qué puertos debe transferirse el paquete (un puerto para un paquete punto a punto, varios puertos para un paquete punto a multipunto, y a todos los puertos excepto el de origen para un paquete de difusión). La lógica de decisión de reenvío almacena también el paquete de datos en el elemento de conmutación 24 en la posición indicada por el puntero.
El elemento de conmutación 24 en la realización a título de ejemplo es una memoria compartida que almacena el paquete completo de datos y de la que los puertos de destino pueden obtener una copia. Sin embargo, la invención no está limitada a arquitecturas de memoria compartida. El elemento de conmutación puede tener otras arquitecturas, tal como una matriz de barras cruzadas.
El dispositivo de encolamiento 26, que recibe la información de control de la lógica de decisión de reenvío 22, se muestra con mayor detalle en la figura 2. El dispositivo 26 incluye una lógica de detección de características 30, una cola 32 de una primera etapa unida a la salida de la lógica de detección, una lógica de determinación 34 de pertenencia al puerto unida a la salida de la cola de la primera etapa, y una cola 36 de una segunda etapa conectada a la salida de la lógica de determinación.
La lógica de detección de características 30 detecta de la información de control asociada a los paquetes una característica del paquete (por ejemplo, la prioridad) y determina también de una lista de destinos qué puertos deben recuperar el paquete. La lista de destinos en la realización a título de ejemplo está codificada en la información de control asociada a los paquetes en forma numérica, y es utilizada por la lógica 30 para localizar en una tabla de consulta el grupo de puertos asociados. Para indicar los puertos de destino se pueden utilizar también otros medios, tal como indicar directamente los números de los puertos directamente dentro de la información de control asociada a los paquetes.
La cola 32 de la primera etapa almacena la información de control asociada a los paquetes de acuerdo con una característica de los paquetes. En la realización a título de ejemplo, esta característica es la prioridad del paquete (de uno a ocho niveles). Por consiguiente, la cola de la primera etapa incluye múltiples primeras colas, almacenando cada una de ellas información de control asociada al paquete (puntero más grupo de puertos) para los paquetes de un nivel de prioridad diferente en el orden en el que se reciben.
La lógica 34 de determinación de puertos lee la cola de la primera etapa de acuerdo con un esquema de servicio y determina, a partir de la información de control asociada con el paquete, qué puertos de destino deben recibir la información de control asociada a los paquetes contenida en la primera etapa. La lógica 34 almacena entonces los punteros en la parte apropiada de la cola 36 de la segunda etapa.
La cola 36 de la segunda etapa en la realización a título de ejemplo incluye para cada puerto conectado al dispositivo de encolamiento un conjunto de colas que se corresponde con la cola de la primera etapa. Por ejemplo, la cola de la primera etapa incluye ocho colas de prioridad, y la cola de la segunda etapa incluye para cada uno de sus puertos conectados un conjunto correspondiente de ocho colas de prioridad. Con esta disposición, los punteros en cada cola de la cola de la primera etapa pueden copiarse fácilmente en una cola correspondiente en la cola de la segunda etapa para cada puerto de destino determinado.
El dispositivo de encolamiento incluye también una lógica convencional (no mostrada en la figura 2 por motivos de claridad) para pedir paquetes al elemento de conmutación 24 (petición de paquete) y para reenviar paquetes desde el elemento de conmutación a los puertos de destino (paquete transmitido). Esta lógica convencional se incluye en el dispositivo de encolamiento en la realización a título de ejemplo como una elección de implementación. Sin embargo, si se desea, la lógica podría igualmente estar separada del dispositivo de encolamiento.
Funcionamiento
Un paquete de datos transferido desde un puerto de origen del conmutador 18 a uno o más puertos de destino viaja a través del dispositivo de conmutación de la siguiente manera. Un paquete de datos que se recibe en un puerto es procesado por su MAC, que genera una trama adecuadamente formada a partir de la interfaz física de la LAN. El MAC presenta el paquete a la lógica de decisión de reenvío 22 que clasifica el tipo de paquete y toma una decisión de reenvío de a qué puertos debe reenviarse el paquete a partir de una lista de destinos contenida dentro del paquete. La lógica de decisión de reenvío 22 transfiere el paquete a una posición del elemento de conmutación (memoria compartida en la realización a título de ejemplo). La lógica de decisión de reenvío 22 genera también la información de control asociada al paquete que incluye el tipo de paquete, un puntero hacia la posición en la memoria compartida en donde está almacenado el paquete y la decisión de reenvío, y envía estos datos al dispositivo de encolamiento 26.
El dispositivo de encolamiento recibe la información de control asociada al paquete en la lógica de detección 30 y la almacena en la cola 32 de la primera etapa. En el proceso de almacenamiento de los datos en la cola de la primera etapa, la lógica determina para cuál o cuáles de los puertos de datos el paquete debería encolarse. Después, la lógica almacena la información del puntero y del puerto de destino en una cola adecuada dentro de la cola de la primera etapa. En la realización a título de ejemplo, los datos se almacenan en una cola en base a la prioridad del paquete; para determinar dónde se almacenarán los datos también pueden utilizarse otras características de un paquete.
El dispositivo de encolamiento, a través de la lógica de determinación 34, obtiene entonces información de las múltiples colas de la cola de la primera etapa de acuerdo con un esquema para leer las colas, tal como un esquema de servicio de prioridad en el que la característica es la prioridad. La lógica de determinación 34 determina, a partir de la información de control asociada a los paquetes que acaba de obtener, cuál o cuáles de los puertos de destino debe(n) recibir el(los) puntero(s) y transfiere los punteros a una posición adecuada en la cola 36 de la segunda etapa asociada con cada uno de los puertos de destino determinados. En la realización a título de ejemplo, la cola de la segunda etapa incluye múltiples colas para cada puerto que se corresponden con las múltiples colas de la cola de la primera etapa. En esta realización, con la prioridad como característica de los paquetes, la lógica 36 transfiere los punteros a la cola de prioridad de cada puerto que se corresponde con la cola de prioridad para el puntero en la cola de la primera etapa.
El dispositivo de encolamiento utiliza entonces la información de control de la cola de la segunda etapa para completar la transferencia del paquete de datos desde el puerto de origen a cada uno de los puertos de destino determinados. Al tratar la cola de la segunda etapa con un esquema de servicio, el dispositivo de encolamiento obtiene de las colas los punteros hacia los paquetes en el elemento de conmutación 24 y pide estos paquetes al elemento de conmutación. El elemento de conmutación responde enviando el paquete apuntado al dispositivo de encolamiento, que lo dirige entonces al puerto apropiado. Cuando existen múltiples puertos de destino, como es el caso de un paquete de datos punto a multipunto, el dispositivo de encolamiento realiza peticiones separadas para cada puerto.
El dispositivo de encolamiento 26 se muestra en el camino de transmisión o de salida del conmutador 18. En esta configuración, se dice que el conmutador es un dispositivo con "memoria intermedia en la transmisión" o con "memoria intermedia en la salida". Para arquitecturas diferentes del conmutador, como la de barras cruzadas, el dispositivo de encolamiento puede residir en el lado entrante del conmutador, pero la invención puede aún aplicarse. En esta aplicación, se la denominaría como con "memoria intermedia de entrada", ya que las colas se almacenan en los puertos de origen del dispositivo de conmutación.
Una vez comprendidos los principios de la invención a partir de las realizaciones de la invención aquí mostradas y descritas, los expertos en la materia reconocerán que las realizaciones pueden modificarse en disposición y en detalles sin salirse de dichos principios. La construcción de los diversos módulos puede variarse mientras se sigan proporcionando las funciones descritas. Los elementos de los diferentes módulos pueden implementarse mediante hardware, software o firmware, como se desee. Las informaciones de control asociadas a los paquetes pueden ser punteros, otras estructuras o los propios paquetes de datos. La invención puede usarse en cualquier dispositivo de conmutación de paquetes donde sea apropiada, tal como un conmutador de una LAN, un router, etc.
A la vista de las numerosas realizaciones posibles en las que pueden aplicarse los principios de la invención, debe entenderse que estas realizaciones se muestran solamente a título de ejemplo y no deben tomarse como una limitación en el alcance de la invención. Por el contrario, la invención se define por las siguientes reivindicaciones. Por consiguiente, reivindicamos como parte de la invención todas las realizaciones que pueden caer dentro del alcance de estas reivindicaciones y de sus equivalentes.

Claims (18)

1. Un método de transferencia de paquetes de datos desde puertos de origen (20) a puertos de destino (20) de un dispositivo de conmutación (18), que comprende los pasos de:
almacenar en una cola (32) de una primera etapa información de control asociada a los paquetes procedente de un puerto de origen (20);
determinar, a partir de la información de control asociada a los paquetes, qué puertos de destino (20) deben recibir la información de control asociada a los paquetes que se encuentra en la cola (32) de la primera etapa;
almacenar en una cola (36) de una segunda etapa asociada con cada puerto de destino (20) determinado la información de control asociada a los paquetes procedente de la cola (32) de la primera etapa; y
utilizar la información de control asociada a los paquetes que se encuentra en la cola (36) de la segunda etapa para completar la transferencia de los paquetes de datos desde el puerto de origen (20) a cada puerto de destino (20) determinado, caracterizado porque la cola (32) de la primera etapa incluye múltiples primeras colas, y el paso de almacenamiento de la información de control en la cola (32) de la primera etapa comprende el almacenamiento de la información de control en una primera cola específica en base a una característica del paquete; y porque cada cola (36) de la segunda etapa incluye múltiples segundas colas, y el paso de almacenamiento de la información de control en la cola (36) de la segunda etapa comprende el almacenamiento de la información de control en una segunda cola específica en base a una característica del paquete.
2. El método de la reivindicación 1 en el que la información de control asociada a los paquetes es un puntero hacia una memoria y una lista de los puertos de destino (20).
3. El método de la reivindicación 1 incluyendo el envío de la información de control asociada a los paquetes desde el puerto de origen (20) a la cola (32) de la primera etapa.
4. El método de la reivindicación 1 en el que la característica del paquete es la prioridad.
5. El método de la reivindicación 1 en el que la característica del paquete es el tipo de protocolo de red.
6. El método de la reivindicación 1 en el que la característica del paquete es el tipo de servicio.
7. El método de la reivindicación 1 en el que la característica del paquete es si el paquete es del tipo punto a punto o del tipo punto a multipunto.
8. El método de la reivindicación 1 en el que la información de control asociada a los paquetes es un paquete de datos.
9. El método de la reivindicación 1 en el que el dispositivo de conmutación (18) utiliza una memoria compartida para transferir paquetes de datos de puertos de origen (20) a puertos de destino (20), y el paso de utilizar la información de control asociada a los paquetes en la cola (36) de la segunda etapa para completar la transferencia del paquete de datos desde el puerto de origen (20) a cada puerto de destino (20) determinado comprende la utilización de la información de control para obtener una copia del paquete de datos de la memoria compartida.
10. El método de la reivindicación 1 en el que el dispositivo de conmutación (18) utiliza una matriz de barras cruzadas para transferir paquetes de datos de puertos de origen (20) a puertos de destino (20), y el paso de utilizar la información de control asociada a los paquetes en la cola (36) de la segunda etapa para completar la transferencia del paquete de datos desde el puerto de origen (20) a cada puerto de destino (20) determinado comprende la utilización de la información de control para establecer conexiones en la matriz de forma que se transfiera simultáneamente una copia del paquete de datos desde el puerto de origen (20) a cada uno de los puertos de destino (20) determinados.
11. Un aparato para la transferencia de paquetes de datos desde puertos de origen (20) a puertos de destino (20) de un dispositivo de conmutación, que comprende:
medios para almacenar en una cola (32) de una primera etapa información de control asociada a los paquetes procedente de un puerto de origen (20);
medios para determinar, a partir de la información de control asociada a los paquetes, qué puertos de destino (20) deben recibir la información de control asociada a los paquetes que se encuentra en la cola (32) de la primera etapa;
medios para almacenar en una cola (36) de una segunda etapa asociada con cada puerto de destino (20) determinado la información de control asociada a los paquetes procedente de la cola (32) de la primera etapa; y
medios para utilizar la información de control asociada a los paquetes que se encuentra en la cola (36) de la segunda etapa para completar la transferencia de los paquetes de datos desde el puerto de origen (20) a cada puerto de destino (20) determinado, caracterizado porque los medios para almacenar en una cola (32) de la primera etapa información de control asociada a los paquetes incluyen múltiples primeras colas que almacenan la información de control en una cola específica en base a una característica del paquete; y porque cada cola (36) de la segunda etapa incluye múltiples segundas colas que almacenan la información de control en una segunda cola específica en base a una característica del paquete.
12. El aparato de la reivindicación 11 que incluye medios (30) para determinar, a partir de la información de control asociada a los paquetes, qué puertos de destino (20) deben recibir la información de control asociada a los paquetes que se encuentra en la cola (32) de la primera etapa.
13. El aparato de la reivindicación 12 que incluye medios para utilizar la información de control asociada a los paquetes que se encuentra en la cola (36) de la segunda etapa para completar la transferencia de los paquetes de datos desde el puerto de origen (20) a cada puerto de destino (20) determinado.
14. El aparato de la reivindicación 11 que incluye una lógica de resolución de direcciones que envía la información de control asociada a los paquetes desde el puerto de origen (20) a la cola (32) de la primera etapa.
15. El aparato de la reivindicación 11 en el que la cola (32) de la primera etapa incluye múltiples primeras colas, almacenándose la información de control en una primera cola específica en base a una característica del paquete.
16. El aparato de la reivindicación 11 en el que cada cola (36) de la segunda etapa incluye múltiples segundas colas, almacenándose la información de control en una segunda cola específica en base a una característica del paquete.
17. El aparato de la reivindicación 11 en el que el dispositivo de conmutación (18) utiliza una memoria compartida para transferir paquetes de datos de puertos de origen (20) a puertos de destino (20).
18. El aparato de la reivindicación 11 en el que el dispositivo de conmutación utiliza una matriz de barras cruzadas para transferir paquetes de datos de puertos de origen (20) a puertos de destino (20).
ES99119105T 1998-10-05 1999-10-04 Dispositivo de conmutacion con esquema de colas multietapas. Expired - Lifetime ES2221283T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/166,343 US6920146B1 (en) 1998-10-05 1998-10-05 Switching device with multistage queuing scheme
US166343 1998-10-05

Publications (1)

Publication Number Publication Date
ES2221283T3 true ES2221283T3 (es) 2004-12-16

Family

ID=22602875

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99119105T Expired - Lifetime ES2221283T3 (es) 1998-10-05 1999-10-04 Dispositivo de conmutacion con esquema de colas multietapas.

Country Status (5)

Country Link
US (1) US6920146B1 (es)
EP (1) EP0993152B1 (es)
JP (1) JP4391636B2 (es)
DE (1) DE69917555T2 (es)
ES (1) ES2221283T3 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016365B1 (en) * 2000-03-31 2006-03-21 Intel Corporation Switching fabric including a plurality of crossbar sections
US7007071B1 (en) * 2000-07-24 2006-02-28 Mosaid Technologies, Inc. Method and apparatus for reducing pool starvation in a shared memory switch
US7444398B1 (en) * 2000-09-13 2008-10-28 Fortinet, Inc. System and method for delivering security services
US7574495B1 (en) * 2000-09-13 2009-08-11 Fortinet, Inc. System and method for managing interworking communications protocols
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7389358B1 (en) 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US7487232B1 (en) * 2000-09-13 2009-02-03 Fortinet, Inc. Switch management system and method
US7111072B1 (en) 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
US7272643B1 (en) 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
EP1376975B1 (en) * 2001-03-26 2009-05-27 Duaxes Corporation Protocol duplexer and protocol duplexing method
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US20060064506A1 (en) * 2002-04-09 2006-03-23 Mielke Gregory D Network architecture that supports a dynamic IP addressing protocol across a local exchange bridged network
US7376125B1 (en) 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7161904B2 (en) 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7203192B2 (en) * 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7266120B2 (en) * 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
US20050021658A1 (en) * 2003-05-09 2005-01-27 Nicholas Charles Kenneth Network switch with shared memory
US8345701B1 (en) * 2003-08-26 2013-01-01 F5 Networks, Inc. Memory system for controlling distribution of packet data across a switch
US7720095B2 (en) * 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US20050163107A1 (en) * 2004-01-27 2005-07-28 Gunturi Ravi P. Packet processing pipeline
WO2005079016A1 (ja) * 2004-02-18 2005-08-25 Mitsubishi Denki Kabushiki Kaisha スイッチ装置
US7525958B2 (en) * 2004-04-08 2009-04-28 Intel Corporation Apparatus and method for two-stage packet classification using most specific filter matching and transport level sharing
US20050232153A1 (en) * 2004-04-16 2005-10-20 Vieo, Inc. Method and system for application-aware network quality of service
US7499419B2 (en) * 2004-09-24 2009-03-03 Fortinet, Inc. Scalable IP-services enabled multicast forwarding with efficient resource utilization
US7808904B2 (en) 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
TWI266505B (en) * 2005-06-01 2006-11-11 Realtek Semiconductor Corp Multi-class data transmission apparatus
US20070127480A1 (en) * 2005-12-02 2007-06-07 Via Technologies Inc. Method for implementing packets en-queuing and de-queuing in a network switch
US20080101225A1 (en) * 2006-10-31 2008-05-01 Tassinari Mark A Systems and methods for capturing network packets
US8094677B2 (en) * 2007-02-27 2012-01-10 Integrated Device Technology, Inc. Multi-bus structure for optimizing system performance of a serial buffer
US7870313B2 (en) * 2007-02-27 2011-01-11 Integrated Device Technology, Inc. Method and structure to support system resource access of a serial device implementating a lite-weight protocol
US7826469B1 (en) * 2009-03-09 2010-11-02 Juniper Networks, Inc. Memory utilization in a priority queuing system of a network device
JP5556631B2 (ja) * 2010-12-02 2014-07-23 日立金属株式会社 スイッチングハブ
DE102013019643A1 (de) * 2013-11-22 2015-05-28 Siemens Aktiengesellschaft Zweistufiger Kreuzschienenverteiler und Verfahren zum Betrieb

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0441787B1 (en) 1989-08-09 1994-12-07 BELL TELEPHONE MANUFACTURING COMPANY Naamloze Vennootschap Communication switching element for transferring cells divided into subcells
US5361255A (en) 1991-04-29 1994-11-01 Dsc Communications Corporation Method and apparatus for a high speed asynchronous transfer mode switch
GB2258366B (en) 1991-08-02 1995-03-29 Plessey Telecomm An ATM switching arrangement
DE69324204T2 (de) 1992-10-22 1999-12-23 Cabletron Systems, Inc. Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5386413A (en) 1993-03-19 1995-01-31 Bell Communications Research, Inc. Fast multilevel hierarchical routing table lookup using content addressable memory
TW265433B (es) 1993-07-16 1995-12-11 Philips Electronics Nv
JPH09503609A (ja) 1994-02-25 1997-04-08 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ビット・マッピングの装置および方法
US5583861A (en) 1994-04-28 1996-12-10 Integrated Telecom Technology ATM switching element and method having independently accessible cell memories
US5528588A (en) * 1994-09-14 1996-06-18 Fore Systems, Inc. Multicast shared memory
US5608726A (en) 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
US5796944A (en) 1995-07-12 1998-08-18 3Com Corporation Apparatus and method for processing data frames in an internetworking device
US5909427A (en) * 1995-07-19 1999-06-01 Fujitsu Network Communications, Inc. Redundant switch system and method of operation
SE9504231L (sv) * 1995-11-27 1997-05-28 Ericsson Telefon Ab L M Kösystem för överföring av informatonspaket
GB9618131D0 (en) 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
US5748905A (en) 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
WO1998025382A2 (en) * 1996-12-04 1998-06-11 Alcatel Usa Sourcing L.P. Distributed telecommunications switching system and method
US5909440A (en) 1996-12-16 1999-06-01 Juniper Networks High speed variable length best match look-up in a switching device
US5905725A (en) 1996-12-16 1999-05-18 Juniper Networks High speed switching device
US6064667A (en) * 1997-02-10 2000-05-16 Genesys Telecommunications Laboratories, Inc. Apparatus and methods enhancing call routing to and within call centers
US6011795A (en) 1997-03-20 2000-01-04 Washington University Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes
US5938736A (en) 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US5909686A (en) 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US6006306A (en) 1997-07-02 1999-12-21 Xylan Corporation Integrated circuit with stage-implemented content-addressable memory cell
US6128295A (en) * 1997-07-11 2000-10-03 Telefonaktiebolaget Lm Ericsson Buffering of point-to-point and/or point-to-multipoint ATM cells
US5946679A (en) 1997-07-31 1999-08-31 Torrent Networking Technologies, Corp. System and method for locating a route in a route table using hashing and compressed radix tree searching
US6032190A (en) 1997-10-03 2000-02-29 Ascend Communications, Inc. System and method for processing data packets
US6396834B1 (en) * 1997-11-24 2002-05-28 Riverstone Networks, Inc. Flexible scheduler in an asynchronous transfer mode (ATM) switch
US6219352B1 (en) * 1997-11-24 2001-04-17 Cabletron Systems, Inc. Queue management with support for multicasts in an asynchronous transfer mode (ATM) switch
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
US6161144A (en) 1998-01-23 2000-12-12 Alcatel Internetworking (Pe), Inc. Network switching device with concurrent key lookups
US6185552B1 (en) 1998-03-19 2001-02-06 3Com Corporation Method and apparatus using a binary search engine for searching and maintaining a distributed data structure
US6320864B1 (en) * 1998-06-19 2001-11-20 Ascend Communications, Inc. Logical multicasting method and apparatus

Also Published As

Publication number Publication date
JP4391636B2 (ja) 2009-12-24
EP0993152A3 (en) 2002-05-15
DE69917555D1 (de) 2004-07-01
US6920146B1 (en) 2005-07-19
EP0993152A2 (en) 2000-04-12
JP2000151714A (ja) 2000-05-30
EP0993152B1 (en) 2004-05-26
DE69917555T2 (de) 2005-07-14

Similar Documents

Publication Publication Date Title
ES2221283T3 (es) Dispositivo de conmutacion con esquema de colas multietapas.
US9094327B2 (en) Prioritization and preemption of data frames over a switching fabric
US8472312B1 (en) Stacked network switch using resilient packet ring communication protocol
US7965725B2 (en) Hyper-ring-on-chip (HyRoC) architecture
US8917741B2 (en) Method of data delivery across a network
US6658016B1 (en) Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control
US20140169173A1 (en) Network congestion management by packet circulation
US8331241B2 (en) Routing control method, communication apparatus and communication system
US6747972B1 (en) Method and apparatus for reducing the required size of sequence numbers used in resequencing packets
US20060159094A1 (en) Point-to multipoint network interface
US7016365B1 (en) Switching fabric including a plurality of crossbar sections
US6009092A (en) LAN switch architecture
US7701949B1 (en) System and method for switching high priority traffic with low latency
KR100708425B1 (ko) 단일 링 데이터 버스 접속 구성을 이용하여 메모리를 공유하는 장치 및 방법
US6498798B1 (en) Priority-based statistical multiplexer-hub
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation
Cisco Catalyst 3000 Theory of Operation