[go: up one dir, main page]

ES2211139T3 - Red de telecomunicaciones con aprendizaje, conmutacion y encaminamiento de direcciones variables. - Google Patents

Red de telecomunicaciones con aprendizaje, conmutacion y encaminamiento de direcciones variables.

Info

Publication number
ES2211139T3
ES2211139T3 ES99939078T ES99939078T ES2211139T3 ES 2211139 T3 ES2211139 T3 ES 2211139T3 ES 99939078 T ES99939078 T ES 99939078T ES 99939078 T ES99939078 T ES 99939078T ES 2211139 T3 ES2211139 T3 ES 2211139T3
Authority
ES
Spain
Prior art keywords
ring
switch
port
network
identifier
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
ES99939078T
Other languages
English (en)
Inventor
Michael H. Coden
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.)
Arris Solutions LLC
Original Assignee
Broadband Royalty Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadband Royalty Corp filed Critical Broadband Royalty Corp
Application granted granted Critical
Publication of ES2211139T3 publication Critical patent/ES2211139T3/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/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/4616LAN interconnection over a LAN backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • H04L2012/445Star or tree networks with switching in a hub, e.g. ETHERNET switch
    • 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/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/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Radio Relay Systems (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)

Abstract

Una red de anillo (100) para transportar paquetes de datos entre dispositivos de red (A...Q), y la red de anillo comprende: un número de conmutadores del anillo (104-1...104- N), teniendo cada conmutador del anillo al menos un puerto del anillo, al menos un puerto local y al menos una tabla que auto aprende que dispositivos de red están asociados con cada puerto del conmutador del anillo basándose en un identificador de origen seleccionado de los paquetes procesados por el conmutador del anillo; estando conectado el al menos un puerto del anillo de cada conmutador del anillo a un puerto del anillo de otro conmutador del anillo en la red de anillo; en la que el conmutador del anillo conmuta los paquetes de datos entre sus puertos local y del anillo para dirigir los paquetes de datos a dispositivos de red específicos asociados con el al menos un puerto local de los conmutadores del anillo de la red de anillo; en la que los puertos de los conmutadores del anillo están configurados de tal modoque los paquetes recibidos en el al menos un puerto del anillo y el al menos un puerto local que no están destinados para un dispositivo de red asociado con el al menos un puerto local del conmutador del anillo se conmutan a otro conmutador del anillo en la red de anillo basándose en la al menos una tabla; y en la que los puertos locales o los dispositivos seleccionados en puertos locales seleccionados de conmutadores del anillo seleccionados están asociados con un identificador común.

Description

Red de telecomunicaciones con aprendizaje, conmutación y encaminamiento de direcciones variable.
Referencia cruzada a casos relacionados
Esta solicitud es una continuación en parte de la solicitud pendiente de tramitación asignada comúnmente con el número de serie 08/915.919, titulada Circuitos y Procedimientos para una Red en Anillo, presentada el 21 de agosto de 1997.
Esta solicitud está relacionada con las siguientes solicitudes pendientes de tramitación asignadas comúnmente:
Solicitud con nº de serie 08/975.735, titulada Procedimiento de Modificación y Señal de Información en un Sistema de Telecomunicaciones, presentada el 21 de noviembre de 1997.
Solicitud con nº de serie 09/138.332, titulada Transporte de Señales Digitalizadas a través de una Red en Anillo, presentada el 21 de agosto de 1998.
Solicitud con nº de serie 09/137.722, titulada Datos de Control a través de una Red en Anillo, presentada el 21 de agosto de 1998.
Solicitud con nº de serie 09/137.721, titulada Acceso a Internet a través de una Red en Anillo, presentada el 21 de agosto de 1998.
Ámbito técnico de la invención
La presente invención se refiere, en general, al ámbito de las comunicaciones y, en particular, a los circuitos y a procedimientos para una red de telecomunicaciones con aprendizaje, conmutación y encaminamiento de direcciones variable a través de redes en anillo sin el uso de un testigo o encapsulamiento.
Antecedentes de la técnica
Las redes de ordenadores han llegado a ser comunes en negocios grandes y pequeños, universidades y otras organizaciones. Tales redes permiten a varios usuarios compartir datos y recursos, tales como sistemas de almacenamiento de datos, servidores de ficheros, conmutadores, encaminadores, impresoras, módems, y otros periféricos. Existen tres tipos básicos de protocolos para transmitir datos en estas redes, ejemplificados por: Ethernet, Anillo con Paso de Testigo o Red de Distribución de Datos por Fibra Óptica(FDDI) y encapsulación. Cada uno de estos protocolos de red tiene las ventajas y desventajas que se presentan aquí brevemente en la Sección I de los Antecedentes de la Invención a fin de comprender mejor las enseñanzas de la presente invención. Además, los protocolos Ethernet convencionales se describen en la Sección II. Por último, en la parte III se describen aspectos de los conmutadores Ethernet que limitan la capacidad de configurar tales conmutadores en una red en anillo.
I. Protocolos de red
Ethernet, descrito abajo más detalladamente, es esencialmente un protocolo de difusión. Su principal ventaja consiste en su simplicidad. Esto permite poner en práctica Ethernet con un hardware y un software menos costosos. El principal inconveniente con la ethernet convencional es que existen limitaciones importantes en la distancia física que puede abarcar la red. Además, convencionalmente, el ancho de banda de una red Ethernet es mayor cuanto más cerca del centro de la red.
Anillo con paso de testigo y FDDI, tal como se describen en las normas de la industria informática IEEE-802.5 y ANSI XT3.9 respectivamente, proporcionan la clara ventaja de que los datos se pueden transmitir a distancias mucho mayores comparadas con la Ethernet convencional. Además, Anillo con paso de testigo y FDDI proporcionan anchos de banda prácticamente iguales a todo lo largo de la red. La principal desventaja de Anillo con paso de testigo y de FDDI consiste en sus complicados protocolos que hacen que el equipo sea considerablemente más costoso que el equipo de Ethernet. Estos complicados protocolos son necesarios por la manera en que se transmiten los paquetes en las redes anillo con paso de testigo y FDDI. Los protocolos dependen del uso de un "testigo". Este testigo pasa por la red de tal modo que únicamente la entidad o entidades de la red que se hallen en posesión de un testigo podrán transmitir datos en la red. Cuando un testigo es alterado, los elementos de la red son incapaces de transmitir paquetes a través de la red. En algunos casos, esto puede durar varios segundos. Para compensar este problema, se han creado complicados protocolos que permiten a los elementos de la red determinar cuando se ha perdido un testigo y crear un testigo nuevo. La enorme cantidad de circuitería lógica necesaria para poner en práctica estos protocolos hace que la puesta en práctica y el mantenimiento de las redes Anillo con paso de testigo y FDDI sean caros en comparación con las redes Ethernet.
Por último, los protocolos de encapsulación se han creado para permitir la transmisión de paquetes Ethernet a mayores distancias. En tales protocolos, el paquete Ethernet completo se sitúa dentro de otro tipo de paquete con su propio encabezamiento en el que se incluye información de direccionamiento añadida, información de protocolo, etc. Estos protocolos sufren también típicamente el problema de que puede ser necesario que el campo de datos de los paquetes Ethernet incluya información especial de nivel más alto con el objeto de dirigir los encaminadores en la red, limitando de ese modo los tipos de paquetes de datos que se pueden manejar y poner una importante carga de procesamiento tanto en los dispositivos de red que generan los paquetes y los encaminadores usados para transmitir y recibir los paquetes entre las diversas redes Ethernet. Estas restricciones y elementos de protocolo extra requieren típicamente la adición de hardware y software caros a una red Ethernet que de otro modo sería barata. Además, tales protocolos requieren típicamente el uso de tablas de direcciones creadas manualmente para los encaminadores.
II. Ethernet
Ethernet ha llegado a ser un protocolo común para las redes de área local y es de uso generalizado gracias a las ventajas descritas anteriormente. Para los fines de esta descripción, el término "Ethernet" incluye la clase completa de protocolos de Acceso Múltiple con Detección de Portadora y Detección de Colisiones (CSMA/CD del inglés Carrier Sense Multiple Access/Collision Detection) que se incluyen en la familia de normas de la industria informática conocida según los casos como IEEE-802.3 e ISO 8802/3. Esto incluye, pero no se limita a, Ethernet de 100 megabits, conocida como "Fast Ethernet" (Ethernet rápida), Ethernet de 1 gigabit, conocida como "Gigabit Ethernet" y cualquier futuro protocolo CSMA/CD a cualquier otra velocidad de transferencia de datos.
En un principio Ethernet se diseñó como un sistema de difusión semidúplex con un bus de datos que transporta paquetes de datos a una velocidad de aproximadamente 10 megabits por segundo a y desde los terminales. Cada terminal conectado a una red Ethernet puede transmitir a o recibir desde todos los demás terminales de la red ("Acceso Múltiple", en inglés la "MA" de CSMA/CD), pero, en la Ethernet original, no puede transmitir y recibir al mismo tiempo. Además, Ethernet fue diseñada como una red sin control central sobre que terminal tiene acceso al bus de datos en un momento dado. Ethernet se basó en el principio probabilístico de que raramente dos terminales transmitirán al mismo tiempo y que cada terminal primero "escucha" al bus para ver si otro terminal está transmitiendo en ese momento ("Detección de Portadora", en inglés el "CS" de CSMA/CD). Esto contrasta con los sistemas Anillo con paso de testigo y FDDI en los que el control determinístico es administrado por redes y encaminadores de Testigos y ATM (Modo de Transferencia Asíncrono) en los que un conmutador ATM o los encaminadores se encargan del control central determinístico a través de protocolos especiales para la comunicación entre encaminadores.
Cuando dos terminales intentan transmitir al mismo tiempo, hay una colisión. Los terminales implicados detectan la colisión ("Detección de Colisión", en inglés la "CS" de CSMA/CD) comprobando el bus de datos por si hubiera una señal de colisión o paquetes de datos alterados en el bus después de una transmisión. Con el objeto de que todos los terminales que hayan transmitido se den cuenta de que hay una colisión, todos los terminales deben todos los paquetes y todas las señales de colisión implicadas. Por lo tanto, la red no puede ser mayor que la mitad de la distancia recorrida por el paquete más pequeño desde la salida hasta la llegada. A 10 megabits por segundo, un paquete de 64 bytes, el paquete mínimo de Ethernet, tarda 51,2 microsegundos desde la salida hasta la llegada. Por lo tanto, una red de área local no puede ser mayor que la distancia que recorrerá un paquete en 25,6 microsegundos, incluido cualquier retardo de propagación desde el equipo en la red. A 100 megabits por segundo, un paquete de 64 bytes tarda 5,12 microsegundos desde la salida hasta la llegada. Por lo tanto, una red de área local no puede ser mayor que la distancia que recorrerá un paquete en 2,56 microsegundos, incluido cualquier retardo de propagación desde el equipo. Cuando se detecte la colisión, cada uno de los terminales deberá esperar durante un período de tiempo aleatorio antes de intentar retransmitir su paquete a fin de evitar más colisiones en la red. Esto contrasta con los Anillo con paso de testigo, FDDI, ATM y encaminadores que, debido al control determinístico centralizado administrado a través del uso de Testigos y otros protocolos no permite las colisiones y por lo tanto puede transmitir datos a distancias mucho mayores.
Ethernet, como todos los demás protocolos de red, trasmite en paquetes. Estos paquetes de datos incluyen una dirección de origen, una dirección de destino, los datos que se transmiten y una serie de bits de integridad de los datos que se denomina comúnmente código de redundancia cíclica o CRC. La dirección de origen identifica el dispositivo que originó el paquete y la dirección de destino identifica el dispositivo al que se va a transmitir el paquete a través de la red.
Más recientemente se creo Ethernet dúplex para eliminar las restricciones de sincronización de Ethernet semidúplex al tener distintos canales para la transmisión y la recepción entre dos terminales. De este modo, debido a que el canal de transmisión sólo transmite a un único receptor, que nunca recibe transmisiones desde ningún otro transmisor, nunca puede haber una colisión. Ethernet dúplex exige que cada dispositivo de Ethernet tenga memorias intermedias y lógica añadidas para almacenar paquetes de transmisión y paquetes de recepción simultáneamente. El clásico concentrador Ethernet con múltiples puertos que pueden transmitir paquetes desde y hacia otros conmutadores y terminales no soporta Ethernet dúplex, pero los conmutadores Ethernet más recientes del mercado tienen disponibles una lógica y unas memorias intermedias añadidas en uno o más de sus puertos Ethernet para permitir a uno o más de esos puertos funcionar en modo dúplex.
Para conmutar paquetes de datos desde un puerto de entrada hasta un terminal específico, el conmutador de Ethernet necesita saber el puerto del conmutador que está conectado a una ruta hacia el terminal. Convencionalmente, un conmutador "aprende por sí mismo" la identidad de los terminales unidos o asociados a cada puerto del conmutador. Cada puerto del conmutador registra la dirección de origen de todos los paquetes, a medida que recibe el paquete, en una memoria.
Los conmutadores con capacidad de autoaprendizaje se describen, por ejemplo, en "Análisis del Rendimiento de dos Algoritmos Distintos para la Interconexión Ethernet-FDDI" de BUCCI G. y col. Transacciones IEEE en Sistemas Distribuidos y en Paralelo, EE.UU. INC., Nueva York, vol. 5, nº 6, 1 de junio de 1994, páginas 614 a 629.
Además, cuando se recibe un paquete en un puerto del conmutador, se compara la dirección de destino del paquete con las tablas de memoria para los otros puertos del conmutador. Cuando se encuentra una coincidencia para la dirección de destino en las tablas para uno de los puertos, el paquete se conmuta y se envía hacia ese puerto. Sin embargo, si el paquete es un "paquete de difusión", es decir, uno que tenga la dirección de destino hexadecimal FFFFFF, el paquete se difunde a los otros puertos del conmutador pero nunca vuelve al puerto receptor original. Además, si no hay una coincidencia para una dirección de destino de no difusión o de unidifusión, el conmutador puede suponer que este es el primer paquete que va a un nuevo terminal a través del conmutador. Ya que la localización del terminal es desconocida, el paquete puede difundirse a los otros puertos del conmutador, pero nunca podrán volver al puerto receptor original. Igualmente, puede haber paquetes de "multidifusión" que usen direcciones de destino especialmente reservadas. Tales paquetes se difundirán a un grupo seleccionado de dispositivos.
Aunque no forme parte del protocolo Ethernet, sino de protocolos de más alto nivel usados comúnmente (por ejemplo, TCP/IP), si el paquete de difusión o unidifusión llega al destino al que se dirigía, el dispositivo de destino responde normalmente con un paquete de confirmación de vuelta al conmutador que difunde el paquete. Cuando el paquete de confirmación llega al conmutador, el conmutador introduce la dirección de origen del paquete de confirmación desde el terminal de destino hacia la tabla de memoria para ese puerto a fin de registrar la asociación del terminal de destino con el puerto del conmutador. De este modo, los siguientes paquetes que se envíen a esa estación se conmutarán al puerto correcto del conmutador.
III. Problemas con un anillo unidireccional de conmutadores Ethernet convencionales
Los conmutadores Ethernet convencionales, como todos los demás dispositivos Ethernet, no puede configurarse en una red en anillo unidireccional. Se podría imaginar una posible configuración en la que cada conmutador usara un puerto para recibir paquetes del anillo (el "puerto de entrada del anillo"), un puerto para colocar los paquetes en el anillo (el "puerto de salida del anillo"), y uno o más puertos locales conectados a redes de área local. Esta configuración originaría al menos dos problemas cuando se usan conmutadores Ethernet.
En primer lugar, un paquete Ethernet con una dirección de difusión, una dirección de multidifusión, o una dirección incorrecta, por ejemplo, para un terminal no asociado con la red ene anillo, viajará indefinidamente alrededor de la red en anillo debido al modo en que los conmutadores Ethernet procesan los paquetes con direcciones de destino desconocidas. Tal como se describe anteriormente, si un conmutador Ethernet convencional no encuentra la dirección de destino de un paquete de la tabla para un puerto del conmutador, el paquete se difunde desde cada puerto del conmutador, incluido el puerto de salida del anillo. Ya que la dirección es incorrecta, cada conmutador de la red en anillo difundirá, a su vez, el paquete desde su puerto de salida del anillo. Así, el paquete viajará indefinidamente alrededor de la red en anillo.
Además, en tal red en anillo unidireccional, los conmutadores intentarán transmitir algunos paquetes desde el puerto de entrada del anillo del conmutador. Tal como se describe anteriormente, un conmutador Ethernet convencional usa la dirección de origen del paquete recibido en el puerto para crear una tabla para el puerto. Esta tabla indica al conmutador los terminales a los que se puede acceder a través del puerto. En una red en anillo unidireccional, cuando un paquete entra en un conmutador a través del puerto de entrada del anillo, el conmutador asocia el terminal que envió el paquete, por ejemplo, el dispositivo A, con el puerto de entrada del anillo. Así, cuando el conmutador recibe un paquete desde un puerto local destinado para el dispositivo A, el conmutador intenta transmitir el paquete desde el puerto de entrada del anillo sólo para recepción en lugar de enviarlo desde el puerto de salida.
Otra posibilidad sería intentar conectar los conmutadores en un anillo unidireccional usando un puerto por conmutador. En esta configuración el circuito de recepción de in puerto Ethernet dúplex estaría conectado para recibir paquetes desde el anillo y el circuito de transmisión del mismo puerto Ethernet dúplex estaría conectado para enviar paquetes alrededor del anillo hacia el siguiente conmutador. Sin embargo, esto está en conflicto con una de las reglas básicas de Ethernet: si una dirección de destino de un paquete recibido en un puerto es la misma que una dirección de origen de la tabla para ese puerto, entonces el paquete se sustrae. Esto se denomina regla de "Filtrado de Dirección de destino". La aplicación de la regla de Filtrado de Dirección de destino en un anillo de conmutadores Ethernet convencionales tal como se ha descrito supondría que, una vez que el puerto del conmutador haya aprendido todas las direcciones de origen de los demás terminales del anillo, a ningún paquete originado en un conmutador anterior del anillo y destinado para un conmutador posterior del anillo se le permitiría entrar en el conmutador para que pudiera ser dirigido alrededor del anillo hacia el siguiente conmutador. Además, una segunda regla básica de Ethernet, que ningún paquete se transmite jamás en el puerto desde el que fue recibido, supondría que incluso si el paquete proveniente del conmutador anterior fuera capaz de entrar en el circuito de recepción, nunca se transmitiría de nuevo desde ese puerto al anillo para ir al siguiente conmutador. Debemos señalar aquí que intentar cualquiera de estos enfoques con un concentrador Ethernet convencional da lugar a los mismos problemas y más ya que el diseño del concentrador difunde cada paquete todo el tiempo.
Algunas empresas han intentado evitar estos problemas encapsulando paquetes Ethernet para su transmisión usando diferentes protocolos a medida. Sin embargo, estas técnicas añaden importantes complicaciones al equipo, emulando esencialmente redes Anillo con paso de testigo y FDDI y por lo tanto añade costes importantes. Además, estas técnicas pierden muchos de los beneficios de un sistema Ethernet. La técnica más común para conectar LANs Ethernet en un anillo es usar Encaminadores que conviertan los paquetes Ethernet en paquetes Anillo con paso de testigo, FDDI u otros paquetes para anillos. Esta técnica puede implicar tanto la encapsulación del paquete Ethernet en otro tipo de paquete, lo que requiere la inclusión de información de protocolo de más alto nivel en el campo de datos del paquete Ethernet con el objeto de dirigir el encaminador, y requiere que el usuario de tal equipo programe manualmente las tablas de direcciones de encaminamiento.
Por los motivos expuestos anteriormente, y por otros motivos que se exponen más abajo y que serán evidentes para los expertos en la materia al leer y comprender la presente descripción, existe la necesidad en la técnica de una red en anillo que sea transparente a los datos y protocolos contenidos en los paquetes de datos, que auto aprenda las localizaciones de todos los dispositivos sin intervención manual, que sea sencilla y de bajo coste de puesta en práctica.
Resumen de la invención
La presente invención aborda los problemas mencionados anteriormente con las redes en anillo y otros problemas que se entenderán leyendo y estudiando la presente descripción. Se describen sistemas y procedimientos que se usan con una red en anillo. Ventajosamente, las redes en anillo permiten al diseñador del sistema escoger un identificador asociado con cada dispositivo de red para usarlo como base para conmutar en la red en anillo. Este identificador lo usan también los conmutadores de anillo para auto aprender la localización de los dispositivos de red. Se pueden usar muchas señales diferentes para el identificador. Por ejemplo, la dirección de control de acceso a medios (MAC) de un paquete Ethernet, una dirección de protocolo de Internet (IP), al menos una parte de una dirección jerárquica, un número de puerto de un protocolo de datagrama universal, una combinación de dos o más identificadores en los mismos o distintos niveles de protocolo para el paquete de datos, u otro identificador apropiado.
En particular, en una forma de realización se proporciona una red en anillo para transportar paquetes de datos entre dispositivos de red. La red en anillo incluye varios conmutadores de anillo. Cada conmutador de anillo tiene al menos un puerto de anillo, al menos un puerto local y al menos una tabla que auto aprende que dispositivos de red están asociados a cada puerto del conmutador de anillo basándose en un identificador de origen seleccionado de los paquetes procesados por el conmutador de anillo. El identificador de origen seleccionado puede ser, por ejemplo, una dirección de control de acceso a medios (MAC) de un paquete Ethernet, una dirección de protocolo de Internet (IP), al menos una parte de una dirección jerárquica, un número de puerto de un protocolo de datagrama universal, una combinación de dos o más identificadores en los mismos o distintos niveles de protocolo para el paquete de datos, u otro identificador apropiado. El al menos un puerto de anillo de cada conmutador de anillo está conectado a un puerto de anillo de otro conmutador de anillo en la red en anillo. El conmutador de anillo conmuta paquetes de datos entre sus puertos locales de anillo para dirigir los paquetes de datos a dispositivos de red específicos asociados con el al menos un puerto local de los conmutadores de anillo en la red en anillo. Los puertos de los conmutadores del anillo están configurados de tal modo que los paquetes de datos recibidos en el al menos un puerto de anillo y en el al menos un puerto local que no están destinados para un dispositivo de red asociado con el al menos un puerto de anillo en la al menos una tabla sin usar un testigo o encapsular el paquete.
En otra forma de realización, se proporciona un conmutador del anillo para una red en anillo. El conmutador del anillo incluye al menos un puerto de anillo que se puede conectar para transportar paquetes de datos en una red de anillo. El conmutador del anillo también incluye al menos un puerto local que se puede conectar a al menos un dispositivo o red de área local. El conmutador del anillo incluye además al menos una tabla que rastrea los identificadores de los dispositivos de red asociados con cada puerto del conmutador del anillo basándose en un identificador de origen seleccionado de los paquetes de datos recibidos en los puertos del conmutador del anillo. Los paquetes de datos recibidos en el al menos un puerto de anillo que no están destinados para un dispositivo de red asociado con alguno de los al menos un puerto local del conmutador del anillo se conmutan a otro conmutador del anillo conectado a al menos un puerto de anillo en al menos una tabla sin usar un testigo o encapsular el paquete.
En otra forma de realización, se proporciona un conmutador del anillo para una red en anillo. El conmutador del anillo incluye un puerto de anillo bidireccional que se puede conectar para recibir paquetes de datos desde y transmitir paquetes de datos a través de un anillo de conmutadores del anillo. El conmutador del anillo incluye al menos un puerto local que se puede conectar a al menos una red de área local. El conmutador del anillo incluye además al menos una tabla que auto aprende y almacena los identificadores de los dispositivos de red asociados con el al menos un puerto de anillo bidireccional y el al menos un puerto local basándose en un identificador de origen seleccionado de los paquetes de datos procesados por el conmutador del anillo. El conmutador del anillo permite que los paquetes de datos recibidos en el puerto de anillo sean retransmitidos desde el puerto local y/o el puerto del anillo del conmutador a fin de que los paquetes de datos puedan dirigirse a los dispositivos de este u otros conmutadores del anillo de la red de anillo basándose en el identificador de destino y la al menos una tabla sin usar un testigo o encapsular el paquete. El conmutador del anillo también incluye un circuito asociado con el puerto del anillo bidireccional que elimina los paquetes de datos entrantes que tienen un identificador de origen que corresponde a un dispositivo de red asociado con el al menos un puerto local del conmutador.
En otra forma de realización, se proporciona un conmutador del anillo para una red en anillo. El conmutador del anillo incluye un puerto de entrada de anillo que se puede conectar para recibir paquetes de datos desde la red de anillo. El conmutador del anillo incluye también un puerto de salida de anillo que se puede conectar para proporcionar paquetes de datos a la red de anillo. Se proporciona al menos un puerto local. El al menos un puerto local se puede conectar a una red de área local. El conmutador del anillo incluye además al menos una tabla para rastrear un identificador seleccionado de los dispositivos de red asociados con los puertos del conmutador del anillo. La tabla asocia el identificador seleccionado de los dispositivos de red con el puerto de salida de anillo cuando los paquetes de datos se reciben en el puerto de entrada de anillo.
En otra forma de realización, se proporciona un procedimiento para crear una tabla para un puerto de un conmutador del anillo. Este procedimiento incluye la recepción de un paquete de datos en un primer puerto del conmutador del anillo. El procedimiento incluye además la lectura de un identificador de origen seleccionado del paquete de datos. El procedimiento almacena el identificador de origen en una tabla para el conmutador del anillo que indica que el paquete de datos se originó en un dispositivo de red asociado con un segundo puerto diferente del conmutador a fin de permitir la transmisión unidireccional en la red de anillo.
En otra forma de realización, se proporciona un procedimiento para eliminar paquetes de datos de una red de anillo. El procedimiento incluye la recepción de un paquete de datos en un puerto del anillo de un conmutador del anillo de la red de anillo. El procedimiento lee un identificador de origen seleccionado del paquete de datos y compara el identificador de origen con la al menos una tabla del conmutador del anillo. La al menos una tabla indica que identificadores están asociados con cada puerto del conmutador. Cuando el identificador de origen corresponde a un dispositivo de red que está asociado con un puerto local del conmutador, el paquete de datos se descarta.
En otra forma de realización, se proporciona un procedimiento para procesar paquetes de datos en un conmutador del anillo de una red de anillo. El procedimiento incluye la recepción de un paquete de datos en un puerto del anillo bidireccional del conmutador del anillo. El procedimiento incluye además la lectura de un identificador de origen seleccionado del paquete de datos. Cuando el identificador de origen no está en una tabla para un puerto del conmutador del anillo, el identificador de origen se almacena en al menos una tabla con una indicación de que el identificador es para un dispositivo de red asociado con el puerto del anillo. El procedimiento lee un identificador de destino seleccionado del paquete de datos. Cuando el identificador de destino para el paquete de datos está una tabla para el conmutador del anillo, el paquete de datos se conmuta al puerto del conmutador del anillo que está asociado con el identificador de destino, incluso si el paquete de datos se recibió en el puerto del anillo y el identificador de destino está asociado con el puerto del anillo sin usar un testigo o encapsular el paquete de datos. Cuando el identificador de destino para el paquete de datos no está en una tabla para el conmutador del anillo o el paquete de datos es un paquete de datos de difusión, el paquete de datos se difunde a todos los puertos del conmutador del anillo. Cuando el identificador de destino para el paquete de datos es un identificador de multidifusión, el paquete de datos se difunde a todos los puertos apropiados del conmutador del anillo.
En otra forma de realización, se proporciona un procedimiento para procesar paquetes de datos en un conmutador del anillo de una red de anillo. El procedimiento incluye la recepción de un paquete de datos en un puerto de entrada de anillo del conmutador del anillo. Se lee un identificador de origen seleccionado del paquete del anillo. Cuando el identificador de origen no está en una tabla para un puerto del conmutador del anillo, el identificador de origen se almacena en la tabla con una indicación de que el identificador es para un dispositivo de red asociado con un puerto de salida de anillo del conmutador del anillo. El procedimiento incluye además la lectura de un identificador de destino seleccionado del paquete de datos. Cuando el identificador de destino para el paquete de datos está una tabla para el conmutador del anillo, el paquete de datos se conmuta al puerto del conmutador del anillo que está asociado con el identificador de destino. Cuando el identificador de destino para el paquete de datos no está en una tabla para el conmutador del anillo o el paquete de datos es un paquete de datos de difusión, el paquete de datos se difunde. Cuando el identificador de destino para el paquete de datos es un identificador de multidifusión, el paquete de datos se difunde a todos los puertos apropiados del conmutador del anillo.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloque de una forma de realización de una red de anillo según las enseñanzas de la presente invención.
La figura 2 es un diagrama de flujo para una forma de realización de un procedimiento para procesar paquetes de datos en una red de anillo según las enseñanzas de la presente invención.
La figura 3 es un diagrama de bloque de un conmutador del anillo según las enseñanzas de la presente invención.
La figura 4 es un diagrama de flujo que ilustra otra forma de realización de un procedimiento para procesar paquetes de datos en una red de anillo según las enseñanzas de la presente invención.
La figura 5 es un diagrama de bloque de una forma de realización de un conmutador Ethernet modificado, según las enseñanzas de la presente invención.
La figura 6 es un diagrama de flujo que ilustra una forma de realización de un procedimiento para identificar paquetes con direcciones de destino inválidas según las enseñanzas de la presente invención.
La figura 7 es un diagrama de flujo que ilustra una forma de realización de un procedimiento para aprender las direcciones de los terminales asociados con puertos locales de un conmutador Ethernet según las enseñanzas de la presente invención.
La figura 8 es un diagrama de bloque de otra forma de realización de un conmutador Ethernet modificado, según las enseñanzas de la presente invención.
La figura 9 es un diagrama de flujo que ilustra otra forma de realización de un procedimiento para identificar paquetes con direcciones de destino inválidas según las enseñanzas de la presente invención.
La figura 10 es un diagrama de flujo que ilustra otra forma de realización de un procedimiento para aprender las direcciones de los dispositivos de red asociados con puertos locales de un conmutador Ethernet según las enseñanzas de la presente invención.
La figura 11 es un diagrama de bloque de otra forma de realización de una red de anillo según las enseñanzas de la presente invención.
La figura 12 es un diagrama de bloque de un procedimiento para procesar paquetes de datos mediante un conmutador del anillo según las enseñanzas de la presente invención.
La figura 13 es un diagrama de bloque de otro procedimiento para procesar paquetes de datos mediante un conmutador del anillo según las enseñanzas de la presente invención.
Descripción detallada
La figura 1 es un diagrama de bloque de una forma de realización de un sistema, indicado generalmente por 100, para transmitir paquetes de datos en una red de anillo unidireccional. Para los fines de esta descripción, la expresión "paquete de datos" incluye Ethernet, Anillo con paso de testigo, FDDI, Modo de Transferencia Asíncrono ("ATM") y otros paquetes de datos con un formato que incluya al menos una dirección de origen, una dirección de destino, datos de carga útil, y, opcionalmente, un código de corrección de errores tal como un código de redundancia cíclico.
Para los fines de esta memoria descriptiva, las expresiones "dirección de origen" y "dirección de destino" incluyen, pero no se limitan a ellas, direcciones de Control de Acceso a Medios (MAC) que son típicamente direcciones hardware de 48 bits programados en un dispositivo de red, por ejemplo, una dirección MAC de Ethernet. Opcionalmente, se pueden usar otras direcciones o señales en lugar de las direcciones MAC. Por ejemplo, se pueden usar direcciones de Protocolo de Internet (IP) para las direcciones de origen y destino al conmutar un paquete. Un paquete IP incluye típicamente direcciones de origen y destino que pueden ser distintas de las direcciones MAC. Cada dirección IP es un número de 32 bits en un encabezamiento del paquete IP. Además, también se pueden usar números de puerto en el encabezamiento de un Protocolo de Datagrama Universal (UDP) para determinar donde conmutar un paquete en un elemento de red.
La estructura jerárquica de las subredes en redes tales como Internet también proporciona una base para conmutar los paquetes. Por ejemplo, las direcciones de Internet se definen en términos de subredes. Tales direcciones tienen la forma X, Y, Z, W, donde X identifica típicamente la red de clase A; X,Y identifica típicamente la subred de Clase B; X,Y,Z identifica típicamente la subred de clase C y W identifica típicamente la dirección del dispositivo en la subred. Con direcciones con esta estructura, el identificador de origen y el identificador de destino para conmutar dispositivos puede incluir sólo una parte de la dirección jerárquica. Por ejemplo, las decisiones de conmutación se podrían tomar sólo en los primeros 3, 8, 10 ó 16 bits, o cualquier otra parte de la dirección jerárquica.
Se entiende además que las expresiones "dirección de origen" y "dirección de destino" incluye además cualquier combinación de las diversas direcciones o identificadores descritos anteriormente. Por ejemplo, los elementos de una red pueden tomar decisiones de conmutación basadas tanto en direcciones MAC como en direcciones IP y partes de direcciones. También se pueden usar otras combinaciones de diversos identificadores.
Básicamente, las expresiones dirección de origen y dirección de destino incluyen cualquier dato o señal que puedan ser usados para identificar el origen o destino de un paquete transmitido a través de una red de anillo. Así, los términos "dirección" e "identificador" se usan de forma intercambiable en la presente invención para incluir cualquier dato, señal u otra indicación que identifique el origen o destino de un paquete de datos. Además, el origen y el destino pueden aplicarse a un origen o destino intermedio o final.
Además, el término "Ethernet" incluye la clase completa de protocolos de Acceso Múltiple con Detección de Portadora y Detección de Colisiones (CSMA/CD) comprendidos en la familia de normas de la industria informática conocida según los casos como IEEE-802.3 e ISO 8802/3. Esto incluye, pero no se limita a, Ethernet de 1 megabit conocida como "StarLAN", Ethernet de 10 megabits, Ethernet de 100 megabits, conocida como "Fast Ethernet" (Ethernet rápida), Ethernet de 1 gigabit, conocida como "Gigabit Ethernet" y cualquier futuro protocolo CSMA/CD a cualquier otra velocidad de transferencia de datos. Ventajosamente, el sistema 100 permite transmitir paquetes de datos convencionales en una red de anillo unidireccional sin las considerables complicaciones que acarrean la encapsulación y los protocolos de testigo que se usan en las redes de anillo convencionales. El sistema 100 funciona con paquetes de datos independientemente de la velocidad de transferencia de datos y del protocolo del paquete de datos que se use. El sistema 100 también supera los problemas identificados anteriormente con respecto a la pretensión de usar conmutadores, concentradores u otros dispositivos de Ethernet convencionales en la red de anillo.
El sistema 100 incluye varios conmutadores del anillo 104-1 hasta 104-N, cada uno de los cuales auto aprende que dispositivos de red están asociados con los diversos puertos del conmutador del anillo. Cada conmutador del anillo incluye uno o más puertos locales que están conectados a redes locales. Los puertos locales pueden incluir puertos que estén configurados para su uso con Ethernet, Anillo con paso de testigo, ATM, FDDI u otro protocolo de red apropiado. Por ejemplo, el conmutador del anillo 104-1 incluye al menos un puerto local que está conectado a la red de área local (LAN) 106-1. La red de área local 106-1 incluye los dispositivos de red A, B y C que están conectados al bus común 108-1. La expresión "dispositivos de red", tal como se usa en esta descripción, incluye, pero sin limitarse a ellos, concentradores, terminales de ordenador y estaciones de trabajo, encaminadores, conmutadores, pasarelas y otros dispositivos que están conectados en una red.
Se observa que el conmutador del anillo 104-2 tiene dos redes de área local, 106-2a y 106-2b, conectadas a sus puertos locales. Esto ilustra que los conmutadores del anillo pueden soportar múltiples redes de área local que pueden ser muchas más de dos.
Los conmutadores del anillo 104-1 hasta 104-N están conectados entre sí mediante un medio de transmisión que interconecta las interfaces de los conmutadores del anillo para formar el anillo del sistema 100. Tal como se muestra en la forma de realización de la figura 1, los conmutadores del anillo 104-1 hasta 104-N están conectados en un anillo mediante los cables 102-1 hasta 102-N. Los cables 102-1 hasta 102-N pueden comprender, por ejemplo, cables de par trenzado, cable coaxial, un conductor en una placa de un circuito impreso, una conexión interna entre sub-secciones de un único circuito integrado, cable de fibra óptica, conexión inalámbrica, u otro medio apropiado para la transmisión de paquetes de datos entre los conmutadores del anillo del sistema 100. De esta forma, el sistema 100 se podría usar como una forma de bajo coste para aumentar el número de puertos locales disponibles en un conmutador Ethernet convencional.
En otra forma de realización que se muestra en la figura 11, los transceptores de anillo 1102-1 hasta 1102-N están conectados para formar un anillo unidireccional para transmitir paquetes de Ethernet entre los conmutadores del anillo del sistema 1100. Los conmutadores del anillo 1104-1 hasta 1104-N están asociados con los transceptores de anillo 110-1 hasta 1102-N, respectivamente. Los transceptores de anillo 1102-1 Hasta 1102-N pueden comprende, por ejemplo, varios sistemas de transporte de fibra DV6000 disponibles a través de ADC Telecommunications de Minnetonka, Minnesota. El DV6000 proporciona 16 canales de capacidad para transportar datos. En esta forma de realización sólo se usa un canal del DV6000 para transmitir los paquetes Ethernet en el sistema 1100. Los otros canales se pueden usar para redes de conmutadores del anillo u otros propósitos, por ejemplo, transmisión de vídeo, voz u otros datos. Opcionalmente, los transceptores de anillo 1102-1 hasta 1102-N pueden poner en practicase con otros mecanismos de transporte convencionales, tales como, por ejemplo, transceptores inalámbricos, transceptores de fibra óptica, etc.
Ventajosamente los conmutadores del anillo 104-1 hasta 104-N del sistema 100 usan un procedimiento que evita que los paquetes se envíen alrededor de la red de anillo indefinidamente. Según una forma de realización, el conmutador del anillo lee la dirección de origen de los paquetes a medida que van entrando en la interfaz de la red para el conmutador del anillo. Si la dirección de origen del paquete recibido en la interfaz del anillo corresponde a la dirección de un dispositivo de red asociado con el puerto local del conmutador del anillo, el procedimiento elimina el paquete del anillo y lo descarta. Esto significa que un paquete que se originó en un dispositivo de red asociado con los puertos locales (por ejemplo, el dispositivo de red A, B o C para el conmutador del anillo 104-1) ha pasado por completo alrededor del anillo del sistema 100 y ha regresado al puerto de entrada del anillo del conmutador del anillo que lo originó. Este procedimiento permite a un conmutador del anillo eliminar un paquete debido a que la dirección de destino para el paquete que se origina desde un dispositivo de red asociado con uno de sus puertos locales no se halló en el sistema 100.
En otra forma de realización se usa un número de identificación para cada conmutador para evitar que los paquetes den vueltas indefinidamente por la red de anillo. Cuando un paquete entra en un conmutador del anillo desde un puerto local, se añade un número de identificación para el conmutador del anillo al final, al principio, o se adjunta al paquete. Cuando los paquetes se reciben en la interfaz del anillo de un conmutador del anillo, el conmutador del anillo se fija en el número de identificación del paquete. Si el número de identificación indica que el paquete se originó desde este conmutador del anillo, entonces el paquete se elimina del sistema. En otra forma de realización se añade un contador al final del paquete en el conmutador del anillo desde el que se origina. Cada conmutador del anillo posterior de la red que procese el paquete aumenta el contador del paquete. Además, cada conmutador del anillo que procese el paquete comprueba el valor del contador. Si el valor del contador supera un umbral asignado, el paquete se elimina. El valor máximo del contador se escoge de tal forma que el paquete se elimine del anillo cuando haya dado al menos una vuelta alrededor de la red.
Los conmutadores del anillo 104-1 hasta 104-N usan también un procedimiento modificado para procesar paquetes de datos en la interfaz del anillo que permite el procesamiento correcto de los paquetes sin pérdida de datos. En una forma de realización, la interfaz del anillo para cada conmutador del anillo incluye dos puertos: un puerto de entrada del anillo y un puerto de salida del anillo. Básicamente, el conmutador del anillo crea una tabla de direcciones para el puerto de salida del anillo basándose en las direcciones de origen de los paquetes recibidos en el puerto de entrada del anillo. Esto tiene el objeto de que los paquetes destinados para los dispositivos de red asociados con los puertos locales de otros conmutadores del anillo en el sistema 100 salgan desde el puerto de salida del anillo y viajen alrededor del anillo y se conmuten a un puerto local del conmutador del anillo apropiado. De esta forma, el conmutador del anillo aprende que sólo se puede acceder a todos los dispositivos de red que no estén asociados con puertos locales del conmutador a través del puerto de salida del anillo y no a través del puerto de entra del anillo. Se observa que en cada una de estas formas de realización, el conmutador del anillo puede mantener múltiples tablas de direcciones o una única tabla de direcciones para todos los puertos del conmutador del anillo o una tabla distinta para cada uno de los puertos. En el caso de que haya una única tabla de direcciones y posiblemente en el caso de que haya múltiples tablas de direcciones, el conmutador del anillo usa un varios bits asociados con cada dirección de la tabla para indicar el puerto asociado con la dirección.
En otra forma de realización, la interfaz del anillo de cada conmutador del anillo incluye un único puerto del anillo bidireccional tal como se muestra en la figura 3. Para eliminar el problema de los datos perdidos, en esta forma de realización, el procedimiento usa unas tablas de direcciones y técnicas de aprendizaje de direcciones normales, pero permite además que los paquetes recibidos en el puerto del anillo se transmitan desde el puerto del anillo transgrediendo la regla convencional para conmutadores Ethernet de que un paquete no puede ser conmutado desde el puerto en que se recibió. En esta forma de realización, la regla del Filtrado de Dirección de destino también se suspende a fin de que los paquetes que se originen desde un conmutador del anillo anterior del anillo, y que estén destinados a un conmutador del anillo posterior, puedan ser recibidos por conmutadores intermedios.
Se puede proporcionar una variedad de servicios a través de la red 100 anteponiendo, incluyendo o añadiendo identificadores o "etiquetas" al final de los paquetes transmitidos por la red. Por ejemplo, a través del uso de esas etiquetas se pueden poner en práctica servicios tales como redes de área local virtuales (VLAN), calidad de servicio (QOS) y otros servicios.
La red 100 podría poner en práctica una VLAN usando etiquetas del siguiente modo. Las múltiples redes de área local (LAN) pueden conectarse a los puertos locales de un conmutador del anillo tal como se muestra, por ejemplo, en los conmutadores del anillo 104-2 y 104-3 de la figura 1. Ciertos tipos de paquetes, tales como los paquetes de difusión o multidifusión, que se desconectan desde el anillo hasta un puerto local, pueden transmitirse en todos los puertos locales del conmutador del anillo que sustrae el tráfico del anillo. Esto crea un problema de seguridad ya que una organización o dispositivo podría recibir datos que están destinados a otras organizaciones o dispositivos. En algunas circunstancias, dos o más LANs que pertenezcan a diferentes organizaciones, por ejemplo, una organización concede el acceso al conmutador del anillo de otra organización, pueden estar conectadas a puertos locales del mismo conmutador. Ventajosamente, en una forma de realización, la red 100 incluye identificadores de LAN virtuales (VLANs) que se incluyen en los paquetes o se añaden al final o al principio para distinguir los paquetes para LANs que están en puertos locales los mismos o diferentes conmutadores. Por ejemplo, LAN 106-2a y 106-3a son LANs asociadas. Cuando se recibe un paquete en los puertos locales del conmutador del anillo 104-2 desde el dispositivo de red G o H, se añade al principio, al final o se incluye en los paquetes un identificador VLAN basándose en el puerto local que haya recibido el paquete. Cuando los paquetes se desconectan del anillo, el conmutador del anillo 104-3 se fija en el identificador VLAN añadido al principio para determinar que puerto o puertos locales se permiten para los paquetes. En este ejemplo, el conmutador del anillo transmitiría todos y cada uno de los paquetes con el identificador VLAN apropiado desde el puerto local para LAN 106-3.
El identificador VLAN se quita del paquete antes de la transmisión desde el puerto local para evitar que los usuarios accedan a la señalización usada por los conmutadores para poner en práctica la VLAN. Esto proporciona una capa de seguridad añadida para los usuarios de la VLAN. Así, aunque el paquete sea un paquete de difusión o de multidifusión, no saldrá de todos los puertos. Por el contrario, el paquete sólo se conmutará desde puertos que hayan sido designados miembros la VLAN.
En otra forma de realización se puede crear una red de área local virtual basándose en una tabla de identificadores, por ejemplo, direcciones MAC, direcciones IP u otros identificadores apropiados, para dispositivos de red que formen parte de la VLAN. Por ejemplo, los dispositivos de red H, I y K están asociados en una LAN virtual. Cuando se reciben en los puertos locales del conmutador del anillo 104-2 paquetes procedentes del dispositivo de red H que están destinados para el dispositivo de red K, se añade un identificador VLAN al principio, al final o se incluye en los paquetes basándose en una tabla de identificadores que identifican a los dispositivos que son miembros de la VLAN. Cuando los paquetes se desconectan del anillo, el conmutador del anillo 104-3 se fija en el identificador VLAN añadido al principio, al final o incluido y en una tabla de identificadores para determinar que dispositivos locales son miembros de la VLAN tal como se identifica mediante el identificador VLAN. En este ejemplo, el conmutador del anillo transmitiría todos y cada uno de los paquetes procedentes del dispositivo H con el identificador VLAN apropiado desde el puerto local para la LAN 106-3b hasta el dispositivo K.
El identificador VLAN se quita del paquete antes de la transmisión desde el puerto local para evitar que los usuarios accedan a la señalización usada por los conmutadores para poner en práctica la VLAN. Esto proporciona una capa de seguridad añadida para los usuarios de la VLAN. Así, aunque el paquete sea un paquete de difusión o de multidifusión, no saldrá de todos los puertos. Por el contrario, el paquete sólo se conmutará desde puertos con dispositivos de red que hayan sido designados miembros la VLAN.
\newpage
En otras formas de realización se puede identificar una combinación de dispositivos y puertos locales para establecer una red de área local virtual.
Los identificadores VLAN también se pueden usar para poner en práctica una función de multidifusión en la red 100. Aunque en la figura 1 se ilustran varias LANs que están interconectadas por el anillo de conmutadores del anillo, los puertos locales podrían estar conectados, en cambio, a redes de cable que proporcionen señales, por ejemplo, datos de vídeo, a subscriptores de un programa de vídeo o una vídeo conferencia. En esta forma de realización, el identificador VLAN se usa para dirigir paquetes a un grupo específico de usuarios. Por ejemplo, los dispositivos de red G, H, J, C y B están en un grupo recibe, por ejemplo, paquetes desde un origen asociado con el conmutador del anillo 104-N, por ejemplo, un centro distribuidor de un sistema de cable que proporciona un servicio de pago por visión a los dispositivos identificados. Cuando los paquetes se reciben en el conmutador del anillo 104-N, el conmutador del anillo mira en una tabla que indica un identificador VLAN que está asociado con, por ejemplo, una dirección MAC o IP de los paquetes. Esta dirección es, por ejemplo, una dirección Ethernet de multidifusión, una dirección IP de multidifusión u otra dirección de multidifusión apropiada. En identificador VLAN se añade al principio, al final o se incluye en los paquetes y se transmiten alrededor del anillo.
En cada conmutador del anillo, la dirección de multidifusión indica que el paquete es un paquete VLAN, de tal forma que el conmutador del anillo busca el identificador VLAN añadido al principio, al final o incluido. Por ejemplo, el conmutador del anillo 104-2 mira en su tabla y determina que el identificador VLAN está asociado con los dispositivos de red G y H basándose en, por ejemplo, direcciones MAC o direcciones IP de la tabla que están asociadas con el identificador VLAN. Así, el conmutador del anillo 104-2 envía paquetes en el puerto local que incluye los dispositivos de red G y H. Los paquetes incluyen una dirección de multidifusión que es descodificada por los dispositivos de red. Opcionalmente, el conmutador del anillo 104-2 podría generar copias del paquete e insertar la dirección Ethernet y/o IP de cada uno de los dispositivos de red que han de recibir los paquetes.
La siguiente descripción de las figuras se realiza en términos de procesamiento de paquetes sin ninguna referencia específica al uso de etiquetas tales como los identificadores VLAN. Se entiende, sin embargo, que el procesamiento y los sistemas descritos en la presente invención se aplican así mismo en el contexto del etiquetado al describir el procesamiento que tiene lugar en el sistema de etiquetado. En particular, por ejemplo, todas las referencias a "paquetes de difusión", o a la "difusión de un paquete" significan que el paquete sólo se difundirá a los dispositivos asociados con el mismo identificador VLAN. Igualmente, por ejemplo, todas las referencias a la desconexión de un paquete del anillo a un dispositivo particular significa que el paquete se desconecta del anillo, basándose en los identificadores del dispositivo, pero no se transmitirá en los puertos locales del conmutador del anillo a menos que el dispositivo que envió el paquete (tal como determina el identificador de origen) y el destinatario deseado (tal como determina el identificador de destino) sean miembros de la misma VLAN.
La figura 2 es un diagrama de flujo que ilustra una primera forma de realización de un procedimiento para procesar paquetes de datos en una red de anillo según las enseñanzas de la presente invención. Este procedimiento pone en práctica la técnica de crear una tabla de direcciones para un puerto de salida del anillo de un conmutador del anillo basándose en la dirección de origen de los paquetes de datos recibidos en un puerto de entrada del anillo. El procedimiento también compara la dirección de origen de los paquetes entrantes con las tablas de direcciones para el o los puertos locales del conmutador Ethernet para eliminar los paquetes procedentes de los puertos locales que hayan viajado alrededor de la red de anillo. La siguiente tabla proporciona definiciones para las abreviaturas usadas en las figuras 2 y 4.
1
El procedimiento comienza procesando un paquete de datos entrante en el bloque 200. El primer factor que usa el procedimiento es determinar que tipo de puerto ha recibido el paquete de datos. El procedimiento procesa los paquetes de datos de forma diferente basándose en si el paquete de datos entrante se recibe en el puerto de entrada del anillo o en un puerto local. Así, en el bloque 202, el procedimiento determina si el conmutador recibió el paquete de datos entrante en el puerto de entrada del anillo. Si el paquete de datos se recibe en un puerto local, el procedimiento avanza hasta el bloque 206 y usa técnicas de conmutación convencionales para procesar el paquete de datos. Después, el procedimiento termina el procesamiento del paquete de datos en el bloque 208.
Si el paquete de datos se recibió en el puerto de entrada del anillo, el procedimiento avanza desde el bloque 202 hasta el bloque 212 y usa técnicas modificadas para abordar los problemas identificados anteriormente con respecto al procesamiento de paquetes de datos en una red de anillo. Primero, el procedimiento determina si el conmutador ha manejado antes paquetes de datos para este dispositivo de red. El procedimiento lleva esto a cabo buscando la dirección de origen del paquete de datos entrante en la, al menos una, tabla o tablas de direcciones para los puertos del conmutador del anillo. Si la dirección de origen no está en una de las tablas de direcciones, el procedimiento avanza hasta el bloque 214 y coloca la dirección de origen para el paquete de datos entrante en la tabla para el puerto de salida del anillo aunque el paquete de datos se recibiera en el puerto de entrada del anillo. De esta manera, los futuros paquetes de datos procesados por el conmutador del anillo que estén destinados para el dispositivo de red del que procedía el paquete de datos se transmitirán a la red de anillo desde el puerto de salida del anillo para ser desconectados al dispositivo de red en el puerto local de su conmutador del anillo.
A continuación, el procedimiento se dedica a determinar hacia donde conmutar este paquete de datos. En el bloque 216, el procedimiento determina si la dirección de destino del paquete de datos entrante está en la tabla de direcciones para cualquier puerto de la red de anillo. Si la dirección de destino está en una de las, al menos una, tablas de direcciones, el procedimiento conmuta el paquete de datos desde el puerto de entrada del anillo hasta el puerto indicado en la tabla de direcciones. Después, el procedimiento termina el procesamiento de este paquete de datos en el bloque
208.
En el bloque 216, si la dirección de destino para el paquete de datos no está en la tabla de direcciones para uno de los puertos del conmutador del anillo, el procedimiento difunde el paquete de datos en todos los puertos excepto el puerto de entrada del anillo. El procedimiento termina el procesamiento de este paquete de datos en el bloque 208.
Si en el bloque 212 el procedimiento determina que la dirección de origen es conocida para el conmutador del anillo, el procedimiento avanza hasta el bloque 224. En el bloque 224, el procedimiento determina si la dirección de origen para el paquete de datos entrante está en la tabla de direcciones para el puerto de salida del anillo. Si es así, el procedimiento avanza hasta el bloque 226 y actualiza la cuenta de la antigüedad para la dirección de origen en la tabla de direcciones para el puerto de salida del anillo. El procedimiento avanza hasta el bloque 216 para terminar de procesar el paquete de datos tal como se describe anteriormente.
Si en el bloque 224 el procedimiento determina que el paquete de datos entrante no procede de un dispositivo de red asociado con el puerto de salida del anillo, entonces el procedimiento avanza hasta el bloque 228 y filtra, trunca o elimina de cualquier otra manera el paquete de datos. En este caso, se determina que la dirección de origen es una tabla de direcciones para un puerto local. Esto significa que el paquete de datos procede de un dispositivo de red que está asociado con un puerto local de este conmutador del anillo y ha viajado alrededor de la red de anillo sin ser desconecta al dispositivo de red designado por la dirección de destino del paquete de datos entrante. Así, el paquete de datos entrante tiene una dirección incorrecta, o es un paquete de difusión, o un paquete de multidifusión, y debería eliminarse de la red.
La figura 4 es un diagrama de flujo que ilustra otra forma de realización de un procedimiento para procesar paquetes de datos en una red de anillo según las enseñanzas de la presente invención. Este procedimiento pone en práctica la técnica de usar funciones de auto aprendizaje convencionales, tales como las del tipo de auto aprendizaje usado en conmutadores Ethernet convencionales, pero permitiendo que los paquetes de datos se transmitan desde el puerto del anillo incluso cuando el paquete de datos se recibe en el puerto del anillo para evitar la pérdida de datos. Así, este procedimiento infringe las reglas convencionales del procesamiento de paquetes Ethernet que se usan en todos los demás tipos conocidos de dispositivos Ethernet existentes, y en particular las reglas usadas en la conmutación Ethernet. El procedimiento compara además la dirección de origen de los paquetes de datos entrantes con las tablas de direcciones para el o los puertos del conmutador del anillo para eliminar los paquetes de datos procedentes de los puertos locales que hayan viajado alrededor de la red de anillo.
El procedimiento comienza procesando un paquete de datos entrante en el bloque 400. El primer factor que usa el procedimiento es determinar que tipo de puerto ha recibido el paquete de datos entrante. El procedimiento procesa los paquetes de datos de forma diferente basándose en si el paquete de datos entrante se recibe en el puerto del anillo o en un puerto local. Así, en el bloque 402, el procedimiento determina si el conmutador recibió el paquete de datos entrante en el puerto del anillo. Si el paquete de datos se recibe en un puerto local, el procedimiento avanza hasta el bloque 406 y usa técnicas de conmutación convencionales para procesar el paquete de datos. Después, el procedimiento termina el procesamiento del paquete de datos en el bloque 408.
Si un paquete de datos se recibió en el puerto del anillo, el procedimiento avanza desde el bloque 402 hasta el bloque 412 y usa técnicas modificadas para abordar los problemas identificados anteriormente con respecto al procesamiento de paquetes de datos en una red de anillo. Primero, el procedimiento determina si el conmutador ha manejado antes paquetes de datos para este dispositivo de red. El procedimiento lleva esto a cabo buscando la dirección de origen del paquete de datos entrante en la tabla de direcciones para los puertos del conmutador del anillo. Si la dirección de origen no está en la tabla de direcciones asociada con uno de los puertos, el procedimiento avanza hasta el bloque 414 y coloca la dirección de origen para el paquete de datos entrante en la tabla para el puerto del anillo tal como se haría en la práctica convencional de Ethernet.
A continuación, el procedimiento se dedica a determinar hacia donde conmutar este paquete de datos. En el bloque 416, el procedimiento determina si la dirección de destino del paquete de datos entrante está en la tabla de direcciones para uno de los puertos del conmutador del anillo. Si la dirección de destino está en la tabla para uno de los puertos, el procedimiento conmuta el paquete de datos en el bloque 418 desde el puerto del anillo hasta el puerto con la tabla de direcciones que contiene la dirección de destino aunque la dirección de destino esté en la tabla para el puerto del anillo. Esto incumple las reglas convencionales de Ethernet pero, en este caso, permite ventajosamente configurar los conmutadores del anillo en una red de anillo. Después, el procedimiento termina el procesamiento de este paquete de datos en el bloque 408.
En el bloque 416, si la dirección de destino para el paquete de datos no está en la tabla de direcciones para uno de los puertos del conmutador del anillo, el procedimiento difunde el paquete de datos en todos los puertos, incluso en el puerto del anillo, en el bloque 420. El procedimiento termina el procesamiento de este paquete de datos en el bloque 408.
Si en el bloque 412 el procedimiento determina que la dirección de origen es conocida para el conmutador del anillo, el procedimiento avanza hasta el bloque 424. En el bloque 424, el procedimiento determina si la dirección de origen para el paquete de datos entrante está en la tabla de direcciones para el puerto del anillo. Si es así, el procedimiento avanza hasta el bloque 426 y actualiza la cuenta de la antigüedad para la dirección de origen en la tabla de direcciones para el puerto del anillo. El procedimiento avanza hasta el bloque 416 para terminar de procesar el paquete de datos tal como se describe anteriormente.
Si en el bloque 424 el procedimiento determina que el paquete de datos entrante no procede de un dispositivo de red asociado con el puerto del anillo, entonces el procedimiento avanza hasta el bloque 428 y filtra, trunca o elimina de cualquier otra manera el paquete de datos. En este caso, se determina que la dirección de origen es una tabla de direcciones para un puerto local. Esto significa que el paquete de datos procede de un dispositivo de red que está asociado con un puerto local de este conmutador del anillo y ha viajado alrededor de la red de anillo sin ser desconectados al dispositivo de red designado por la dirección de destino del paquete de datos entrante. Así, el paquete de datos entrante tiene una dirección incorrecta, o es un paquete de difusión, o un paquete de multidifusión, y debería eliminarse de la red.
La figura 5 es un diagrama de bloque de otra forma de realización de un conmutador del anillo, que se indica generalmente con 500, para una red de anillo según las enseñanzas de la presente invención. En esta forma de realización se usa circuitería externa con el conmutador Ethernet convencional 502 para poner en práctica procedimientos para evitar que los paquetes de datos se sustraigan inadvertidamente de la red y para filtrar los paquetes de datos que hayan viajado alrededor de la red de anillo sin ser desconectados a un puerto local de uno de los conmutadores del anillo. En esta forma de realización, el conmutador 502 es un Thunderswitch de Texas Instruments de Richardson, Texas, nº de pieza TNETX3150 o un GT-48002 o GT-48002ª Fast Ethernet Switch Controller de Galileo Technology de Karmiel, Israel. Los conmutadores Thunderswitch y Galileo son ejemplos de conmutadores Ethernet que tienen un puerto interfaz que hace posible forzar o manipular esos chips de conmutación a través de un procesador externo para suspender sus algoritmos convencionales de auto aprendizaje automático de tablas de direcciones y permitir que el procesador externo ponga las direcciones en la tabla de direcciones. En esta forma de realización, el procesador externo lee las direcciones de origen que entran desde el anillo y escribe esas direcciones en la tabla de direcciones con los bits de identificación del puerto ajustados, por el procesador externo, a los bits de identificación del puerto para el puerto de salida del anillo. Opcionalmente, el conmutador 502 puede comprender un conmutador Ethernet convencional PM33351 FastEtherDirector de PCM-Sierra, Inc. De Burnaby BC Canadá. Con esta forma de realización, el conmutador PM3351 puede reprogramarse para desactivar la función de filtrado de dirección de destino para un puerto a fin de permitir que los paquetes de datos se transmitan desde el mismo puerto desde el que llegaron los paquetes de datos. En esta forma de realización, el conmutador 502 tendría un único puerto del anillo tal como el que se muestra en la figura 3. Se pueden sustituir los conmutadores Thunderswitch, Galileo y PCM-Sierra por otros conmutadores Ethernet convencionales que puedan reprogramarse. El uso de un conmutador reprogramado Thunderswitch, Galileo o PCM-Sierra, o sus equivalentes, resuelve uno de los problemas de los conmutadores del anillo convencionales en una red de anillo, concretamente, la pérdida de paquetes de datos debido a la naturaleza anular de la red. La circuitería añadida que se muestra en la figura 5 se usa para poner en práctica la función de filtrado de la dirección de origen que evita que los paquetes de datos se transmitan alrededor de la red indefinidamente. En la figura 5 se muestra esta circuitería en la que el conmutador 502 puertos de entrada y de salida del anillo. Se entiende que la circuitería externa funciona igualmente bien con un conmutador con un puerto del anillo bidireccional.
Básicamente, la circuitería externa del conmutador del anillo 500 se usa para deducir las direcciones de los paquetes de datos entrantes que corresponden con dispositivos de red asociados con los puertos locales del conmutador 502 basándose en el flujo de paquetes de datos que entra en el puerto de entrada del anillo y sale del puerto de salida del anillo. Estas direcciones se ponen en la tabla de direcciones externa (EAT) 504 del conmutador del anillo 500. Los paquetes de datos entrantes se comparan con esta tabla de direcciones para determinar que paquetes de datos han dado una vuelta completa alrededor del anillo y deben ser sustraídos.
Hay cuatro situaciones básicas para los paquetes de datos procesados por el conmutador del anillo 500:
1. Un paquete de datos viene desde la red de anillo hacia el puerto de entrada del anillo y no sale por el puerto de salida del anillo. La dirección de destino para este paquete de datos corresponde a un dispositivo de red en un puerto local y se pondrá en la tabla de direcciones externa 504.
2. Un paquete de datos viene desde un puerto local y se desconecta del puerto de salida del anillo del conmutador 502 para ser puesta en la red de anillo. Este paquete de datos sólo estará en el flujo de paquetes de datos salientes y así su dirección de origen puede añadirse a la tabla de direcciones externa 504.
3. Un paquete de datos viene desde el anillo y entra en el conmutador 502 por el puerto de entrada del anillo y se vuelve a transmitir a la red de anillo desde el puerto de salida del anillo. Las direcciones de este paquete de datos no están asociadas con un puerto local.
4. Un paquete de datos viene desde el anillo y su dirección de origen es la misma que la dirección de origen para un puerto local y debe ser filtrada ya que ha dado una vuelta completa alrededor de la red de anillo.
El conmutador 500 incluye dos máquinas de estado que reciben datos desde los puertos de entrada y salida del conmutador del anillo 502, que pueden distinguir entre cada una de estas situaciones generando y consultando la tabla de direcciones externa 504. La primera máquina de estado 506 está conectada para recibir paquetes de datos desde el anillo. La primera máquina de estado 506 proporciona direcciones de origen de los paquetes de datos entrantes a una memoria intermedia primero en entrar/primero en salir (FIFO) 510. La segunda máquina de estado 512 esa los datos que hay en la FIFO 510 y los paquetes de datos transmitidos desde el puerto de salida del anillo para determinar que direcciones corresponden a los puertos locales. La segunda máquina de estado 512 pone estas direcciones en la tabla de direcciones externa 504 y la mantiene.
La figura 7 es un diagrama de flujo que ilustra una forma de realización de un procedimiento para la segunda máquina de estado 512 de la figura 5. Esta máquina de estado se usa para crear y mantener la tabla de direcciones externa para los dispositivos de red asociados con los puertos locales del conmutador 502. El procedimiento comienza en el bloque 700. En el bloque 702 el procedimiento comienza a transmitir un paquete de datos en el anillo desde el puerto de salida del anillo del conmutador 502. En el bloque 704, el procedimiento extrae la dirección de origen del paquete de datos. En el bloque 706, el procedimiento determina si la dirección de origen para el paquete de datos está en la EAT 504. Si la dirección de origen está en la EAT 504, el procedimiento avanza hasta el bloque 708 y actualiza un contador de la antigüedad en la EAT 504 y permite que el paquete de datos se transmita completamente y sin interrupción. El procedimiento avanza después hasta el bloque 710 y termina el procesamiento del paquete de datos que sale del puerto de salida del anillo.
En el bloque 706, si el procedimiento determina que la dirección de origen del paquete de datos que sale del puerto de salida del anillo no está en la EAT 504, el procedimiento avanza hasta el bloque 712. En el bloque 712, el procedimiento determina si la dirección de origen que se ha tomado del paquete de datos en el puerto de salida del anillo está en la FIFO 510. Si no está, el procedimiento avanza hasta el bloque 714 y añade a la EAT 504 la dirección de origen tomada del paquete de datos en el puerto de salida del anillo. Esto corresponde al caso de un paquete de datos procedente de un dispositivo de red asociado con un puerto local del conmutador 502, es decir, el paquete de datos salió del puerto de salida del anillo sin entrar en el puerto de entrada del anillo. El procedimiento avanza hasta el bloque 710.
En el bloque 712, si el procedimiento determina que la dirección de origen para el paquete de datos está en la FIFO 510, entonces el procedimiento avanza hasta el bloque 716. En el bloque 716, el procedimiento determina si la dirección de origen es la siguiente dirección de origen que se va a tomar de la FIFO 510. Si la dirección de origen no es la siguiente dirección en la FIFO 510, entonces sabemos que al menos un paquete de datos terminaba en una dirección local. Así, el procedimiento avanza hasta el bloque 718 y borra la siguiente dirección de la FIFO 510 y vuelve al bloque 716.
Si en el bloque 716 se determina que la dirección de origen es la siguiente dirección en la FIFO 510, entonces el procedimiento avanza hasta el bloque 720 y borra la siguiente dirección de la FIFO 510. Esto corresponde al caso en el que un paquete de datos pasaba a través del conmutador 502 desde el puerto de entrada del anillo hasta el puerto de salida del anillo.
Así, según este procedimiento, se mantiene externa al conmutador 502 una tabla de direcciones que corresponde a las tablas de direcciones para los puertos locales del conmutador 502, a fin de que puedan identificarse y filtrarse los paquetes de datos que hayan viajado alrededor de la red de anillo.
Se puede usar la misma técnica con un número de identificación del conmutador y un contador de saltos. En este caso el procesamiento es el mismo. La FIFO, sin embargo, será más amplia para dar cabida en cada posición lógica una serie de bits que contiene todos o uno de los siguientes: direcciones de origen, número de identificación del conmutador y contador de saltos. Si se incluye un contador de saltos, aumentaría en uno en algún momento y se comprobaría como el primer paso tras recibirse desde el anillo.
La figura 6 es un diagrama de flujo de una forma de realización ilustrativa de un procedimiento para la primera máquina de estado 5006 de la figura 5 según las enseñanzas de la presente invención. Esta máquina de estado se usa para si una dirección de origen de un paquete de datos en el puerto de entrada del anillo del conmutador 502 corresponde a un dispositivo de red asociado con un puerto local de l conmutador 502. El procedimiento comienza en el bloque 600. En el bloque 602, el procedimiento comienza pasando un paquete de datos al puerto de entrada del anillo del conmutador 502. En el bloque 604, el procedimiento extrae una dirección de origen del paquete de datos. En el bloque 606, el procedimiento compara la dirección de origen del paquete de datos entrante con las direcciones que hay en la EAT 504. Si no hay ninguna correspondencia en la EAT 504 para la dirección de origen del paquete de datos, el procedimiento avanza hasta el bloque 608 y pone la dirección de origen en la FIFO 510 y el paquete de datos completo se trasmite hacia en conmutador 502 sin interrupción. El procedimiento termina después procesando el paquete de datos en el bloque 612 y vuelve al bloque 600 para procesar en siguiente paquete de datos.
En el bloque 606, si la dirección de origen del paquete de datos está en la EAT 504, el procedimiento avanza hasta el bloque 610 y trunca (aborta) el paquete de datos que se dirige hacia el puerto de entrada del anillo del conmutador 502. Esto evita que un paquete de datos procedente de un puerto local de un conmutador viaje indefinidamente alrededor de la red de anillo.
La figura 8 es un diagrama de bloque de otra forma de realización de un conmutador del anillo, que se indica generalmente con 800, y que se construye según las enseñanzas de la presente invención. Esta forma de realización aprovecha el hecho de que un objetivo principal de este procedimiento es interceptar los paquetes de datos procedentes de un puerto local que hayan dado una vuelta completa alrededor de la red de anillo y hayan llegado al puerto de entrada del anillo del mismo conmutador del anillo. También aprovecha el hecho de que los paquetes de datos que salen del puerto de salida del anillo sólo pueden venir de una de estas dos fuentes: un puerto local o el puerto de entrada del anillo. Mediante el seguimiento y la comparación de las direcciones para los paquetes de datos que salen del puerto de salida del anillo y las direcciones de los paquetes de datos que entran en el puerto de entrada del anillo en una tabla de direcciones externa puesta en práctica con más facilidad en una o más memorias direccionables por el contenido, EACAM 804, el conmutador del anillo 800 puede determinar si las direcciones corresponden a un puerto local. Con este fin, el conmutador del anillo 800 incluye el conmutador 802 que puede comprender un conmutador Ethernet reprogramado tal como, por ejemplo, un chip Thunderswitch de Texas Instruments, un chip Galileo o un chip conmutador PCM-Sierra de los tipos descritos anteriormente con respecto a la figura 5. El conmutador del anillo 800 incluye una primera máquina de estado 806 que está conectada para recibir los paquetes de datos destinados al puerto de entrada del anillo del conmutador 802. Además, el conmutador del anillo 800 incluye una segunda máquina de estado 808 que es sensible a los paquetes de datos procedentes del puerto de salida del anillo del conmutador 802. La primera y segunda máquinas de estado 806 y 808 crean y mantienen una tabla en EACAM 804 que indica que puertos son puertos locales de manera que la primera máquina de estado 806 pueda eliminar los paquetes de datos de la red de anillo que procedían de un puerto local del conmutador 802 y que hayan dado una vuelta completa alrededor de la red de anillo. El funcionamiento de la primera y la segunda máquinas de estado 806 y 808 se describe abajo con respecto a las figuras 9 y 10 respectivamente.
La figura 10 es un diagrama de flujo que ilustra una forma de realización de un procedimiento para la segunda máquina de estado 808 de la figura 8 según las enseñanzas de la presente invención. El procedimiento comienza procesando un paquete de datos en el bloque 1000. El procedimiento avanza hasta el bloque 1002 y comienza a transmitir el paquete de datos en la red de anillo. En el bloque 1004, el procedimiento extrae una dirección de origen del paquete de datos.
En el bloque 1006, el procedimiento determina si la dirección de origen del paquete de datos procedente del puerto de salida del anillo del conmutador 802 está en la tabla de la EACAM 804. Si la dirección se ha almacenado ya en la EACAM 804, el procedimiento avanza hasta el bloque 1008 y actualiza un contador de la antigüedad en la EACAM 804 para la dirección y permite que los paquetes de datos se transmitan completamente sin interrupción. El procedimiento termina el procesamiento del paquete de datos en el bloque 1010.
Si en el bloque 1006 la dirección de origen para el paquete de datos no está en la EACAM 804, el procedimiento avanza hasta el bloque 1012. En este caso, el procedimiento ha determinado que el paquete de datos debe proceder de un puerto local y así la dirección de origen se pone en la tabla en la EACAM 804 con un bit indicador local fijado en "1". El "1" indica que la dirección corresponde a una dirección para el dispositivo de red que está asociado con un puerto local del conmutador 802. El procedimiento avanza después hasta el bloque 1010 y termina.
La figura 9 es un diagrama de flujo que ilustra una forma de realización de un procedimiento para la primera máquina de estado 806 de la figura 8 según las enseñanzas de la presente invención. El procedimiento comienza procesando un paquete de datos en el bloque 900. El procedimiento avanza hasta el bloque 902 y dispone el paquete de datos en el puerto de entrada del anillo del conmutador 802. En el bloque 904, el procedimiento extrae una dirección de origen del paquete de datos.
En el bloque 906, el procedimiento determina si la dirección de origen del paquete de datos dispuesto en el puerto de entrada del anillo del conmutador 802 está en la tabla de la EACAM 804. Si la dirección no se ha almacenado aún en la EACAM 804, el procedimiento avanza hasta el bloque 908 y pone la dirección en la EACAM 804 con un bit indicador local fijado en "0" y el paquete de datos completo se transmite hacia el conmutador 802 sin interrupción. El "0" indica que la dirección no es de un puerto local del conmutador 802. El procedimiento termina el procesamiento del paquete de datos en el bloque 910.
Si en el bloque 906 la dirección de origen del paquete de datos está en la EACAM 804, el procedimiento avanza hasta el bloque 912. El procedimiento determina si el bit indicador local es igual a "1", por ejemplo, la dirección está asociada con un puerto local. Si el bit indicador local es "0", entonces el procedimiento termina en el bloque 910. Si, por el contrario, el procedimiento determina en el bloque 912 que el bit indicador local es "1", entonces el procedimiento avanza hasta el bloque 914 y trunca (aborta) el paquete de datos que entra en el puerto de entrada del anillo del conmutador 802. El procedimiento termina en el bloque 910.
Otra forma de realización puede usar dos memorias CAM diferentes en lugar de una CAM con un bit fijado en "0" o "1" para indicar la diferencia entre las direcciones del anillo y las de puertos locales. Tal forma de realización se usa en el ejemplo de abajo en la figura 12. Además, se pueden usar valores distintos de "0" y "1" para diferenciar entre direcciones locales y del anillo.
La figura 12 es un diagrama de bloque de un procedimiento para procesar paquetes en un conmutador del anillo según las enseñanzas de la presente invención. En esta forma de realización, el conmutador del anillo usa un contador o un número de identificación que se añade a los paquetes de datos con el fin de determinar si un paquete ha dado una vuelta completa alrededor de una red de anillo.
En el bloque 1200, los paquetes se reciben en un puerto de entrada del anillo de un conmutador del anillo. En el bloque 1202, el procedimiento determina si el número de identificación añadido al paquete de datos es el mismo que el número de identificación para el conmutador del anillo. Los números de identificación se añaden a los paquetes de datos a medida que se reciben en un puerto local del conmutador del anillo. Si el número de identificación del paquete actual es el mismo que el número de identificación del conmutador del anillo actual, entonces el procedimiento trunca, aborta o elimina de cualquier otra forma el paquete de datos en el bloque 1204 debido a que ya ha dado una vuelta completa alrededor de la red de anillo.
En el bloque 1206, el procedimiento determina si un contador de saltos añadido al paquete de datos es igual a cero. El contador de saltos es un número que se añade a los paquetes de datos en el conmutador del anillo del que procede el paquete de datos. El contador de saltos se incrementa en cada conmutador del anillo posterior que procesa el paquete de datos y lo vuelve a situar en la red de anillo para su transmisión al siguiente conmutador del anillo. El contador de saltos puede comprender, por ejemplo, un número de 8 bits tal que el contador se vuelve a poner a cero cuando el paquete de datos haya pasado a través de al menos 256 conmutadores del anillo. Opcionalmente, se puede usar cualquier otro número apropiado de bits para el contador de saltos. Además, se entiende que el contador de saltos y el número de identificación pueden usarse juntos o por separado. Si el procedimiento determina que el contador de saltos está fijado en cero, el procedimiento avanza hasta el bloque 1204 debido a que el paquete ha dado al menos una vuelta completa alrededor de la red de anillo.
Si en el bloque 1206, el procedimiento determina que el paquete que llega al puerto de entrada del anillo no ha viajado alrededor del anillo, el conmutador procesa el paquete para que se transmita desde un puerto local o desde el puerto de salida del anillo. El paquete de datos se almacena en una memoria intermedia primero en entrar/primero en salir (FIFO) en el bloque 1208. La dirección de origen del paquete de datos se almacena en una memoria, lo más fácil es en una memoria direccionable por el contenido (CAM), para las direcciones del anillo (la CAM del anillo) o se actualiza la antigüedad para las direcciones en la CAM del anillo en el bloque 1210. En el bloque 1212, el procedimiento determina si la CAM del anillo está llena, y si lo está, las direcciones más antiguas de la CAM del Anillo, que se determinan por la información de la antigüedad, se borran de la CAM del Anillo en el bloque 1214. Opcionalmente, la CAM del anillo puede simplemente reajustarse en el bloque 1214 para borrar todas las direcciones y permitir que la CAM del Anillo vuelva a aprender las direcciones más actuales.
Mientras el paquete de datos se almacena en la memoria intermedia FIFO, se consulta la dirección de destino del paquete de datos en la CAM del Anillo y en una CAM que contiene las direcciones asociadas con los puertos locales del conmutador del anillo (la CAM local), en los bloques 1216 y 1218 respectivamente. En los bloques 1216 y 1218, las señales lógicas se producen basándose en las consultas a la CAM del Anillo y a la local. La señal lógica del bloque 1216 se proporciona a las puertas lógicas 1220 y 1222. Además la señal lógica del bloque 1218 se proporciona a las puertas lógicas 1220 y 1224. La puerta lógica 1220 se usa para pasar paquetes de datos del FIFO usados en el bloque 1208 a uno de los puertos locales 1226 a través del conmutador 1228. Se observa que en esta forma de realización, el conmutador comprende un típico chip interfaz Ethernet físico tal como el conmutador ML6692 de Microlinear en modo Dúplex. La puerta lógica 1222 se usa para borrar direcciones en el bloque 1230 cuando la dirección se encuentra tanto en la CAM Local como en la del Anillo. Esto sucede cuando se ha movido un dispositivo de red desde un conmutador del anillo a otro conmutador del anillo. El borrado de las direcciones permite al sistema volver a aprender la nueva posición del dispositivo. Por último, la puerta lógica 1224 se usa para pasar los paquetes de datos de la FIFO usados en el bloque 1208 al puerto de salida del anillo a través de otra FIFO, "FIFO desde Anillo", en el bloque 1238.
El procedimiento de la figura 12 también explica el procesamiento de los paquetes de datos recibidos en los puertos locales 1226. Se hacen pasar tales paquetes de datos a través del conmutador 1228 a una FIFO "desde Local" en el bloque 1232. En el bloque 1234, la dirección de origen del paquete de datos se almacena en una memoria, lo más fácil es una CAM, la CAM Local, o la antigüedad para las direcciones se actualiza en la CAM Local. En el bloque 1236, el procedimiento determina si la CAM Local está llena y, si lo está, las direcciones más antiguas, basándose en la información de la antigüedad, se borran de la CAM en el bloque 1238. Opcionalmente, la CAM Local puede simplemente reajustarse en el bloque 1238 para borrar todas las direcciones y permitir que la CAM Local vuelva a aprender las direcciones más actuales. Se pueden usar otras formas de cuenta de la antigüedad, tales como borrar las direcciones que no hayan sido usadas en los últimos 5 minutos, u otro periodo de tiempo apropiado, tanto para la CAM Local como para la CAM del Anillo. Esto es válido para los requisitos de la cuenta de la antigüedad de todas las demás formas de realización descritas en la presente descripción.
El procedimiento coloca los paquetes de datos de las FIFO desde-Anillo y desde-Local en el anillo a través del puerto de salida del anillo. El bloque de decisión 1240 genera una señal lógica que controla el acceso al puerto de salida del anillo para los paquetes de datos procedentes de las FIFO desde-Local y desde-Anillo. Si la FIFO desde-Anillo está llena, la puerta lógica 1244 se activa y la puerta lógica 1246 se desactiva. Así, los paquetes de datos procedentes de la FIFO desde-Anillo se proporcionan desde el puerto de salida del anillo en el bloque 1248 después de que la cuenta de saltos se incremente en el bloque 1250.
Se observa que en el bloque 1252 se usa una máquina de estado para tomar las decisiones sobre la colocación de los paquetes en el puerto de salida del anillo desde la memoria intermedia desde-Local y la memoria intermedia desde-Anillo cuando ambas memorias intermedias están llenas. En una puesta en práctica, si la memoria intermedia desde-Local supera un umbral, por ejemplo, llena hasta la mitad, se manda una señal a los puertos locales para dejar de transmitir más paquetes a la FIFO desde-Local hasta que la FIFO desde-Local descienda por debajo del umbral.
También se observa que si la dirección de un paquete recibido en el puerto de entrada del anillo no está ni en la CAM Local ni en la CAM del Anillo, el paquete se "difunde" a los puertos locales y al puerto de salida del anillo ya que ni la puerta 1220 ni la puerta 1224 se desactivarían basándose en la salida de los bloques de decisión 1216 y 1218.
La figura 13 es un diagrama de bloque de un procedimiento para procesar paquetes en un conmutador del anillo según las enseñanzas de la presente invención. En esta forma de realización, el conmutador del anillo usa un contador o un número de identificación que se añade a los paquetes de datos con el fin de determinar si un paquete ha dado una vuelta completa alrededor de una red de anillo.
En el bloque 1300, los paquetes se reciben en un puerto de entrada del anillo de un conmutador del anillo. En el bloque 1302, el procedimiento determina si el número de identificación añadido al paquete de datos es el mismo que el número de identificación para el conmutador del anillo. Los números de identificación se añaden a los paquetes de datos a medida que se reciben en un puerto local del conmutador del anillo. Si el número de identificación del paquete actual es el mismo que el número de identificación del conmutador del anillo actual, entonces el procedimiento elimina el paquete de datos en el bloque 1304 debido a que ya ha dado una vuelta completa alrededor de la red de anillo.
En el bloque 1306, el procedimiento determina si un contador de saltos añadido al paquete de datos es igual a cero. El contador de saltos es un número que se añade a los paquetes de datos en el conmutador del anillo del que procede el paquete de datos. El contador de saltos se incrementa en cada conmutador del anillo posterior que procesa el paquete de datos y lo vuelve a situar en la red de anillo para su transmisión al siguiente conmutador del anillo. El contador de saltos puede comprender, por ejemplo, un número de ocho bits tal que el contador se vuelve a poner a cero cuando el paquete de datos haya pasado a través de al menos 256 conmutadores del anillo. Opcionalmente, se puede usar cualquier otro número apropiado de bits para el contador de saltos. Además, se entiende que el contador de saltos y el número de identificación pueden usarse juntos o por separado. Si el procedimiento determina que el contador de saltos está fijado en cero, el procedimiento avanza hasta el bloque 1304 debido a que el paquete ha dado al menos una vuelta completa alrededor de la red de anillo.
Si en el bloque 1306, el procedimiento determina que el paquete que llega al puerto de entrada del anillo no ha viajado alrededor del anillo, el conmutador procesa el paquete para que se transmita desde un puerto local o desde el puerto de salida del anillo. El paquete de datos se almacena en una memoria intermedia primero en entrar/primero en salir (FIFO) en el bloque 1308. La dirección de origen del paquete de datos se almacena en una memoria, lo más fácil es en una memoria direccionable por el contenido (CAM), para las direcciones del anillo (la CAM del anillo) o se actualiza la antigüedad para la dirección en esa memoria en el bloque 1310. En el bloque 1312, el procedimiento determina si la CAM del anillo está llena, y si lo está, la CAM del Anillo incrementa su antigüedad, borrando las direcciones más antiguas, que se determinan por la información de la antigüedad, en el bloque 1314. Opcionalmente, la CAM del anillo puede simplemente reajustarse en el bloque 1314. Esto borra todas las direcciones de la memoria permitiendo que la memoria vuelva a aprender las direcciones más actuales.
Mientras el paquete de datos se almacena en la memoria intermedia FIFO, se consulta la dirección de destino del paquete de datos en la CAM del Anillo y en una CAM que contiene las direcciones asociadas con los puertos locales del conmutador del anillo (la CAM local), en los bloques 1316 y 1318 respectivamente. En los bloques 1316 y 1318, las señales lógicas se producen basándose en las consultas a la CAM del Anillo y a la local. La señal lógica del bloque 1316 se proporciona a las puertas lógicas 1320 y 1322. Además la señal lógica del bloque 1318 se proporciona a las puertas lógicas 1320 y 1324. La puerta lógica 1320 se usa para pasar paquetes de datos del FIFO usados en el bloque 1308 a uno de los puertos locales 1326 a través del conmutador 1328. Se observa que en esta forma de realización, el conmutador comprende un típico chip interfaz Ethernet físico tal como el conmutador ML6692 de Microlinear en modo Semidúplex. La puerta lógica 1322 se usa para borrar direcciones en el bloque 1330 cuando la dirección se encuentra tanto en la CAM Local como en la del Anillo. Por último, la puerta lógica 1324 se usa para pasar los paquetes de datos de la FIFO usados en el bloque 1308 al puerto de salida del anillo a través de otra FIFO, "FIFO desde-Anillo", en el bloque 1338.
El procedimiento de la figura 13 también explica el procesamiento de los paquetes de datos recibidos en los puertos locales 1326. Se hacen pasar tales paquetes de datos a través del conmutador 1328 a una FIFO "desde-Local" en el bloque 1332. En el bloque 1334, la dirección de origen del paquete de datos se almacena en la CAM Local o la antigüedad para las direcciones se actualiza en la CAM Local. En el bloque 1336, el procedimiento determina si la CAM Local está llena y, si lo está, la CAM Local incrementa su antigüedad en el bloque 1338. Esto puede hacerse borrando la direcciones más antiguas, determinadas por la información de la antigüedad almacenada en la memoria, o, opcionalmente, la CAM Local puede simplemente reajustarse en el bloque 1338. Esto borra todas las direcciones y permite que la CAM vuelva a aprender las direcciones más actuales.
Tanto la CAM del Anillo como la CAM Local pueden usar muchas otros sistemas de cuenta de la antigüedad, tales como borrar periódicamente las direcciones con una antigüedad superior a 5 minutos, u otro periodo de tiempo apropiado. Además, tanto el procedimiento de la figura 12 como el procedimiento de la figura 13 pueden poner en practicase en una única memoria o CAM para las direcciones locales y las del anillo. Mientras que el uso de una memoria única reduciría el coste de fabricación, el uso de dos memorias simplifica en gran medida la sincronización de la lógica, lo cual hace que el circuito sea más fácil de diseñar.
El procedimiento coloca los paquetes de datos desde las FIFO desde-Local y desde-Anillo en el anillo a través del puerto de salida del anillo. El bloque de decisión 1340 genera una señal lógica que controla el acceso al puerto de salida del anillo para los paquetes de datos procedentes de las FIFO desde-Local y desde-Anillo. Si la FIFO desde-Anillo está llena, la puerta lógica 1344 se activa y la puerta lógica 1346 se desactiva. Así, los paquetes de datos procedentes de la FIFO desde-Anillo se proporcionan desde el puerto de salida del anillo en el bloque 1348 después de que la cuenta de saltos se incremente en el bloque 1350. Si la FIFO desde-Anillo no está llena, la puerta lógica 1346 se activa y la puerta lógica 1344 se desactiva. Así, los paquetes de datos procedentes de la FIFO desde-Local se proporcionan desde el puerto de salida del anillo en el bloque 1348 después de que la cuenta de saltos se incremente en el bloque 1350.
Se observa que en el bloque 1352, se crean colisiones para forzar al conmutador 1328 a parar de transmitir cuando la memoria intermedia desde-Local esté llena.
También se observa que si la dirección de un paquete recibido en el puerto de entrada del anillo no está ni en la CAM Local ni en la CAM del Anillo, el paquete se "difunde" a los puertos locales y al puerto de salida del anillo ya que ni la puerta 1320 ni la puerta 1324 se desactivarían basándose en la salida de los bloques de decisión 1316 y 1318.
Conclusión
Aunque en el presente documento se han ilustrado y descrito formas de realización específicas, los expertos en la materia apreciaran que cualquier disposición que se calcule para lograr el mismo propósito puede sustituir las formas de realización específicas que se muestran. Esta solicitud pretende comprender cualquier adaptación o variación de la presente invención. Por ejemplo, los conmutadores del anillo del tipo que se describe en el presente documento pueden interconectarse para formar un anillo usando cualquier procedimiento apropiado para transmitir datos entre los conmutadores. Esto incluye, sin limitación, a los inalámbricos, de cable, cable impreso, vías de semiconductores, fibra óptica, y otras técnicas de transmisión. Además, las distintas etapas de los procedimiento descritos en el presente documento se pueden poner en práctica en software, firmware o hardware. Además, las formas de realización de la presente invención incluyen un único circuito integrado que está diseñado para realizar las diversas funciones descritas anteriormente. Opcionalmente, se puede usar un conmutador convencional modificado con circuitería añadida, tal como se muestra, por ejemplo, en las figuras 5, 8, 12 y 13. Además, las diversas técnicas descritas para identificar paquetes que hayan viajado alrededor de la red de anillo pueden usarse con conmutadores del anillo que usen o un puerto del anillo bidireccional o puertos de entrada y salida del anillo. Además, los puertos locales pueden no ser puertos Ethernet, siempre que contengan una dirección de origen, una dirección de destino y datos de carga útil. También se observa que se pueden usar otros tipos de dispositivos de memoria distintos de las CAM para poner en práctica las tablas de direcciones según las enseñanzas de la presente invención. Los diversos procedimientos de cuenta de la antigüedad descritos a lo largo de la descripción, con cualquiera de las formas de realización. Además, otros procedimientos de cuenta de la antigüedad muy conocidos pueden sustituir a los procedimientos descritos sin apartarse del espíritu y el alcance de la presente invención. Además, se entiende que cada una de las formas de realización funcionará con una única tabla de direcciones para el conmutador del anillo o con múltiples tablas de direcciones. También se entiende que en cada una de las formas de realización descritas anteriormente, se puede usar uno o más contadores de saltos, señales de identificación del conmutador, búsquedas de una dirección de origen en una tabla de direcciones para un puerto local, para eliminar los paquetes que hayan dado una vuelta completa alrededor del anillo. En cada caso anterior en que se especifica una FIFO, una CAM u otro dispositivo de almacenaje, son servicios que pueden proporcionarse a través de la red de anillo. Pueden poner en practicase, por ejemplo, servicios tales como redes de área local virtuales (VLAN), calidad de servicio (QOS) y otros servicios a través del uso de tales etiquetas.

Claims (18)

1. Una red de anillo (100) para transportar paquetes de datos entre dispositivos de red (A ... Q), y la red de anillo comprende:
un número de conmutadores del anillo (104-1 ... 104-N), teniendo cada conmutador del anillo al menos un puerto del anillo, al menos un puerto local y al menos una tabla que auto aprende que dispositivos de red están asociados con cada puerto del conmutador del anillo basándose en un identificador de origen seleccionado de los paquetes procesados por el conmutador del anillo;
estando conectado el al menos un puerto del anillo de cada conmutador del anillo a un puerto del anillo de otro conmutador del anillo en la red de anillo;
en la que el conmutador del anillo conmuta los paquetes de datos entre sus puertos local y del anillo para dirigir los paquetes de datos a dispositivos de red específicos asociados con el al menos un puerto local de los conmutadores del anillo de la red de anillo;
en la que los puertos de los conmutadores del anillo están configurados de tal modo que los paquetes recibidos en el al menos un puerto del anillo y el al menos un puerto local que no están destinados para un dispositivo de red asociado con el al menos un puerto local del conmutador del anillo se conmutan a otro conmutador del anillo en la red de anillo basándose en la al menos una tabla; y
en la que los puertos locales o los dispositivos seleccionados en puertos locales seleccionados de conmutadores del anillo seleccionados están asociados con un identificador común.
2. La red de anillo de la reivindicación 1, en la que el identificador de origen seleccionado comprende una dirección de control de acceso a medios (MAC).
3. La red de anillo de la reivindicación 1, en la que el identificador de origen seleccionado comprende una dirección de Protocolo de Internet (IP).
4. La red de anillo de la reivindicación 1, en la que el identificador de origen seleccionado comprende al menos una parte de una dirección jerárquica.
5. La red de anillo de la reivindicación 1, en la que el identificador de origen seleccionado comprende un número de puerto de un protocolo de datagrama universal.
6. La red de anillo de la reivindicación 1, en la que el identificador de origen seleccionado comprende una combinación de dos o más identificadores en los mismos o diferentes niveles de protocolo para el paquete de datos.
7. La red de anillo de la reivindicación 1, en la que el identificador común se añade al principio, al final o se incluye en los paquetes.
8. La red de anillo de la reivindicación 7, en la que el conmutador del anillo elimina el identificador común antes de transmitir el paquete desde el puerto local.
9. La red de anillo de la reivindicación 1, en la que los conmutadores del anillo añaden al principio, al final o incluyen un identificador en los paquetes que se van a difundir por multidifusión a varios dispositivos de red.
10. Un procedimiento para procesar paquetes de datos en un conmutador del anillo de una red de anillo, comprendiendo el procedimiento:
la recepción de un paquete de datos en un puerto del anillo del conmutador del anillo;
la lectura de un identificador de destino seleccionado del paquete de datos;
cuando el identificador de destino seleccionado para el paquete de datos está en una tabla para el conmutador del anillo, la conmutación del paquete de datos al puerto del conmutador del anillo que está asociado con el identificador de destino;
lectura de un identificador común tras la lectura del identificador de destino seleccionado, por la cual los puertos locales o los dispositivos seleccionados en puertos locales seleccionados de conmutadores del anillo seleccionados están asociados con el identificador común.
11. El procedimiento de la reivindicación 10, en el que la lectura de un identificador común comprende la lectura de un identificador común añadido al final, al principio o incluido.
12. El procedimiento de la reivindicación 10, en el que la lectura de un identificador de destino seleccionado comprende la lectura de una dirección de control de acceso a medios (MAC) de un paquete Ethernet.
13. El procedimiento de la reivindicación 10, en el que la lectura de un identificador de destino seleccionado comprende la lectura de una dirección de protocolo de Internet (IP).
14. El procedimiento de la reivindicación 10, en el que la lectura de un identificador de destino seleccionado comprende la lectura de al menos una parte de una dirección jerárquica.
15. El procedimiento de la reivindicación 10, en el que la lectura de un identificador de destino seleccionado comprende la lectura de un número de puerto de un protocolo de datagrama universal.
16. El procedimiento de la reivindicación 10, en el que la lectura de un identificador de destino seleccionado comprende la lectura de una combinación de dos o más identificadores en diferentes niveles de protocolo para el paquete de datos.
17. El procedimiento de la reivindicación 11, en el que el identificador de destino seleccionado para el paquete de datos no está en una tabla para el conmutador del anillo o el paquete de datos es un paquete de datos de difusión, difundiendo el paquete de datos a todos los puertos del conmutador del anillo que están asociados con el identificador común o que incluyen dispositivos de red que están asociados con el identificador común.
18. El procedimiento de la reivindicación 11, en el que el identificador de destino para el paquete de datos es un identificador de multidifusión, difundiendo el paquete de datos a todos los puertos del conmutador del anillo que están asociados con el identificador común o que incluyen dispositivos de red que están asociados con el identificador común.
ES99939078T 1998-08-21 1999-08-10 Red de telecomunicaciones con aprendizaje, conmutacion y encaminamiento de direcciones variables. Expired - Lifetime ES2211139T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US137669 1993-10-01
US09/137,669 US6331985B1 (en) 1997-08-21 1998-08-21 Telecommunication network with variable address learning, switching and routing

Publications (1)

Publication Number Publication Date
ES2211139T3 true ES2211139T3 (es) 2004-07-01

Family

ID=22478530

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99939078T Expired - Lifetime ES2211139T3 (es) 1998-08-21 1999-08-10 Red de telecomunicaciones con aprendizaje, conmutacion y encaminamiento de direcciones variables.

Country Status (12)

Country Link
US (2) US6331985B1 (es)
EP (1) EP1106018B1 (es)
JP (1) JP3621646B2 (es)
CN (1) CN1132382C (es)
AT (1) ATE252807T1 (es)
AU (1) AU5343499A (es)
CA (1) CA2341026C (es)
DE (1) DE69912294T2 (es)
ES (1) ES2211139T3 (es)
PT (1) PT1106018E (es)
TW (1) TW463508B (es)
WO (1) WO2000011888A2 (es)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331985B1 (en) * 1997-08-21 2001-12-18 Adc Telecommunications, Inc. Telecommunication network with variable address learning, switching and routing
US6665285B1 (en) * 1997-10-14 2003-12-16 Alvarion Israel (2003) Ltd. Ethernet switch in a terminal for a wireless metropolitan area network
US6483812B1 (en) * 1999-01-06 2002-11-19 International Business Machines Corporation Token ring network topology discovery and display
US6697338B1 (en) * 1999-10-28 2004-02-24 Lucent Technologies Inc. Determination of physical topology of a communication network
GB2357390B (en) * 1999-12-16 2002-09-25 3Com Corp Ethernet units adapted for loop configuration and method of operating same
GB2358760B (en) * 2000-01-25 2003-06-25 3Com Corp Network switch with self-learning routing facility
US6829651B1 (en) * 2000-04-11 2004-12-07 International Business Machines Corporation Local MAC address learning in layer 2 frame forwarding
US7133403B1 (en) * 2000-05-05 2006-11-07 Fujitsu Limited Transport network and method
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US20020124107A1 (en) * 2000-12-19 2002-09-05 Michele Goodwin Vlan advertisement protocol (VAP)
US20020131409A1 (en) * 2001-03-13 2002-09-19 Frank David L. Self-healing multi-level telecommunications network
US6959358B2 (en) 2001-07-06 2005-10-25 Micron Technology, Inc. Distributed content addressable memory
DE10147419A1 (de) * 2001-09-26 2003-04-24 Siemens Ag Verfahren zur Erstellung einer dynamischen Adresstabelle für einen Koppelknoten in einem Datennetz und Verfahren zur Übertragung eines Datentelegramms
US6766482B1 (en) * 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
US7383354B2 (en) * 2002-02-12 2008-06-03 Fujitsu Limited Spatial reuse and multi-point interconnection in bridge-interconnected ring networks
US7248582B2 (en) * 2002-02-13 2007-07-24 Sun Microsystems, Inc. Method and system for labeling data in a communications system
US6972978B1 (en) 2002-03-15 2005-12-06 Integrated Device Technology, Inc. Content addressable memory (CAM) devices with block select and pipelined virtual sector look-up control and methods of operating same
US6867991B1 (en) 2003-07-03 2005-03-15 Integrated Device Technology, Inc. Content addressable memory devices with virtual partitioning and methods of operating the same
US7239634B1 (en) * 2002-06-17 2007-07-03 Signafor, Inc. Encryption mechanism in advanced packet switching system
US7200674B2 (en) * 2002-07-19 2007-04-03 Open Invention Network, Llc Electronic commerce community networks and intra/inter community secure routing implementation
US20040024904A1 (en) * 2002-07-31 2004-02-05 Dimambro Francesco R. Load balancing packet transmission among multiple transmit rings
US20040057377A1 (en) * 2002-09-10 2004-03-25 John Tinney Routing patterns for avoiding congestion in networks that convert between circuit-switched and packet-switched traffic
WO2004047375A1 (en) * 2002-11-15 2004-06-03 Infineon Technologies Ag Reducing the memory requirements of a data switch
US7188245B2 (en) 2002-12-09 2007-03-06 Kabushiki Kaisha Toshiba Contents transmission/reception scheme with function for limiting recipients
JP4148949B2 (ja) 2003-02-12 2008-09-10 富士通株式会社 Rpr装置
FR2852176B1 (fr) * 2003-03-04 2005-05-27 Dispositif et procede d'interconnexion entre postes informatiques communiquant via un medium partage
US7010102B1 (en) * 2003-04-10 2006-03-07 At&T Corp. Method and apparatus of detection of inter-carrier looping
US7366288B1 (en) * 2003-04-10 2008-04-29 At&T Corp. Method and apparatus of detection of inter-carrier looping
US7342877B1 (en) * 2003-05-13 2008-03-11 Cisco Technology, Inc. Method and system for providing a loop-free ring topology
US7453873B1 (en) * 2003-05-13 2008-11-18 Cisco Technology, Inc. Methods and apparatus for filtering packets for preventing packet reorder and duplication in a network
CN1302646C (zh) * 2003-06-24 2007-02-28 华为技术有限公司 基于端口的mac地址数量统计方法及其装置
DE10328602B4 (de) * 2003-06-25 2017-06-01 Xieon Networks S.À.R.L. Verfahren zur Preemphase optischer Signale in einem Übertragungssystem mit Add-Drop-Modulen
US7882251B2 (en) 2003-08-13 2011-02-01 Microsoft Corporation Routing hints
US8266294B2 (en) 2003-08-13 2012-09-11 Microsoft Corporation Routing hints
DE10340120B4 (de) * 2003-08-30 2014-10-23 Abb Ag Verfahren und System zur Weiterleitung von Informationen in einem verteilten Netzwerk
US7194573B1 (en) 2003-10-31 2007-03-20 Integrated Device Technology, Inc. CAM-based search engine devices having advanced search and learn instruction handling
US7082493B1 (en) * 2003-10-31 2006-07-25 Integrated Device Technology, Inc. CAM-based search engines and packet coprocessors having results status signaling for completed contexts
US20070297349A1 (en) * 2003-11-28 2007-12-27 Ofir Arkin Method and System for Collecting Information Relating to a Communication Network
US7411945B2 (en) * 2004-02-02 2008-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive router architecture enabling efficient internal communication
US8520507B1 (en) 2004-03-08 2013-08-27 Extreme Networks, Inc. Ethernet automatic protection switching
US7366807B1 (en) 2004-08-27 2008-04-29 Xilinx, Inc. Network media access controller embedded in a programmable logic device—statistics interface
US7143218B1 (en) 2004-08-27 2006-11-28 Xilinx, Inc. Network media access controller embedded in a programmable logic device-address filter
WO2006097920A2 (en) * 2005-03-13 2006-09-21 Rafael-Armament Development Authority Ltd. System for deterring intruders
US7606240B1 (en) 2005-06-16 2009-10-20 Extreme Networks Ethernet automatic protection switching
CN1859381A (zh) * 2005-10-08 2006-11-08 华为技术有限公司 一种在弹性分组环上实现虚拟路由冗余协议的方法及系统
JP4841964B2 (ja) * 2006-02-13 2011-12-21 富士重工業株式会社 車両の通信システム
WO2008001420A1 (fr) 2006-06-26 2008-01-03 Mitsubishi Electric Corporation Noeud de communication, procédé d'émission de jetons et procédé de communication en anneau par jeton dans un système de communication en anneau
JP4899895B2 (ja) * 2007-01-30 2012-03-21 富士通株式会社 ノード及びその制御方法
DE102007016917B4 (de) * 2007-04-05 2009-12-17 Phoenix Contact Gmbh & Co. Kg Verfahren sowie System zur sicheren Übertragung von zyklischen zu übertragenden Prozessdaten
US8413227B2 (en) * 2007-09-28 2013-04-02 Honeywell International Inc. Apparatus and method supporting wireless access to multiple security layers in an industrial control and automation system or other system
US7801141B2 (en) * 2008-07-25 2010-09-21 Micrel, Inc. True ring networks with gateway connections using MAC source address filtering
US20100020809A1 (en) * 2008-07-25 2010-01-28 Micrel, Inc. True Ring Networks Using Tag VLAN Filtering
US8693319B2 (en) * 2008-09-25 2014-04-08 Intel Corporation Scheme for avoiding deadlock in multi-ring interconnect, with additional application to congestion control
WO2010087308A1 (ja) * 2009-02-02 2010-08-05 日本電気株式会社 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
EP2242215B1 (en) * 2009-04-16 2017-01-11 Alcatel Lucent Method for client data transmission through a packet switched provider network
CN101938395B (zh) * 2009-07-03 2014-08-13 中兴通讯股份有限公司 一种以太环网的单环地址刷新方法及系统
US8320282B2 (en) * 2009-07-30 2012-11-27 Calix, Inc. Automatic control node selection in ring networks
JP4938875B2 (ja) * 2010-03-02 2012-05-23 三菱電機株式会社 通信ノードおよびトークンリング通信方法
US8817701B2 (en) * 2010-06-22 2014-08-26 Samsung Electronics Co., Ltd. Method and system for self-enabling portable television band devices
JP6375206B2 (ja) * 2014-10-31 2018-08-15 APRESIA Systems株式会社 中継システムおよびスイッチ装置
JP6471021B2 (ja) * 2015-03-30 2019-02-13 本田技研工業株式会社 通信システム
US20170181069A1 (en) * 2015-12-17 2017-06-22 Qualcomm Incorporated Methods and apparatus for selecting a cell having a particular type of service
CN105554540B (zh) * 2015-12-31 2019-04-09 深圳国微技术有限公司 一种网络接口在条件接收卡中的实现方法和装置
EP3324578B1 (en) 2016-11-18 2020-01-01 Mercury Mission Systems International S.A. Safe network interface
JP6606565B2 (ja) * 2018-01-18 2019-11-13 本田技研工業株式会社 リングネットワーク及びこれを備えたロボット
CN108600097B (zh) * 2018-04-20 2020-09-22 闫晓峰 可多路径传输数据的通讯设备、数据通讯网络系统及数据通讯方法
CN114124782B (zh) * 2021-11-24 2023-02-28 北京鼎兴达信息科技股份有限公司 终端ip业务路径的确定方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO123200B (es) * 1967-11-23 1971-10-11 Svenska Handelsbanken
NL8300033A (nl) 1983-01-06 1984-08-01 Philips Nv Werkwijze voor het overdragen van digitale informatie over een transmissiering.
US4706080A (en) 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
US4752924A (en) * 1985-09-05 1988-06-21 American Telephone And Telegraph Company, At&T Bell Laboratories Ring packet switch
US4750171A (en) * 1986-07-11 1988-06-07 Tadiran Electronics Industries Ltd. Data switching system and method
JPH0793634B2 (ja) 1986-11-29 1995-10-09 株式会社東芝 アドレス変換機能付きバスアダプタ
US4757497A (en) * 1986-12-03 1988-07-12 Lan-Tel, Inc. Local area voice/data communications and switching system
DE3716183A1 (de) * 1987-05-14 1988-11-24 Sietec Siemens Systemtechnik U Verfahren zum verteilen von aktuellen adressentabellen in "n" ringfoermigen netzen
ATE68058T1 (de) * 1987-05-14 1991-10-15 Siemens Ag Verfahren zum einleiten des konfigurierens nach dem unterbrechen mindestens zweier parallel angeordneter, ringfoermiger netze.
ATE89974T1 (de) 1987-08-11 1993-06-15 Siemens Ag Kommunikationssystem mit einem als zubringerkommunikationsnetz vorgesehen ringfoermigen netz im teilnehmeranschlussbereich einer digitalen vermittlungseinrichtung.
JP2539457B2 (ja) * 1987-10-02 1996-10-02 株式会社日立製作所 リング集線装置
US5086426A (en) 1987-12-23 1992-02-04 Hitachi, Ltd. Communication network system having a plurality of different protocal LAN's
AU622208B2 (en) 1988-08-12 1992-04-02 Digital Equipment Corporation Frame removal mechanism for token ring networks
JPH0695677B2 (ja) * 1988-11-16 1994-11-24 株式会社日立製作所 複数チヤネルを有するネツトワークの伝送方式
US4947390A (en) 1989-03-22 1990-08-07 Hewlett-Packard Company Method for data transfer through a bridge to a network requiring source route information
US5220562A (en) 1989-05-12 1993-06-15 Hitachi, Ltd. Bridge apparatus and a communication system between networks using the bridge apparatus
CA2011934A1 (en) 1989-07-19 1991-01-19 Theodore Heske, Iii Method and apparatus for source routing bridging
US5003531A (en) * 1989-08-11 1991-03-26 Infotron Systems Corporation Survivable network using reverse protection ring
JP2782683B2 (ja) 1989-10-19 1998-08-06 三菱電機株式会社 Lanにおける通信方法およびノード装置
GB9007600D0 (en) * 1990-04-04 1990-05-30 Hunting Communication Tech Ring communication system
US5321695A (en) * 1991-05-01 1994-06-14 Hewlett-Packard Company Port arrival identification for computer network packets
US5179548A (en) * 1991-06-27 1993-01-12 Bell Communications Research, Inc. Self-healing bidirectional logical-ring network using crossconnects
JP3168681B2 (ja) * 1992-04-22 2001-05-21 株式会社日立製作所 集線型ネットワークのデータ伝送方法およびシステム
US5355124A (en) * 1992-06-09 1994-10-11 Digital Equipment Corporation Wiring concentrator for data networks
US5490252A (en) 1992-09-30 1996-02-06 Bay Networks Group, Inc. System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing
EP0603443A1 (en) 1992-12-22 1994-06-29 International Business Machines Corporation Token star bridge
JPH0723052A (ja) * 1993-06-22 1995-01-24 Matsushita Electric Ind Co Ltd リング型ネットワーク集線方法および装置
US5515376A (en) 1993-07-19 1996-05-07 Alantec, Inc. Communication apparatus and methods
US5412652A (en) 1993-09-24 1995-05-02 Nec America, Inc. Sonet ring subnetwork management method
US5581710A (en) * 1993-10-04 1996-12-03 International Business Machines Corporation Full duplex communication on a single communication ring
JP3082554B2 (ja) * 1994-01-11 2000-08-28 株式会社日立製作所 セルフヒーリングリングスイッチ
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5659543A (en) * 1995-02-22 1997-08-19 3Com Corporation Communication method and system for aggregates of separate entities using data/management path and mapping path for identifying entities and managing a communication network
US5600366A (en) * 1995-03-22 1997-02-04 Npb Partners, Ltd. Methods and apparatus for digital advertisement insertion in video programming
US5651000A (en) * 1995-04-27 1997-07-22 International Business Machines Corporation Method and systems for determining the nearest downstream reconfiguration unit in a dual ring communication system
US5651003A (en) * 1995-06-07 1997-07-22 Whitetree, Inc. Stackable data cell switch architecture
US5652615A (en) * 1995-06-30 1997-07-29 Digital Equipment Corporation Precision broadcast of composite programs including secondary program content such as advertisements
US5684800A (en) 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5815490A (en) 1995-11-20 1998-09-29 Nec America, Inc. SDH ring high order path management
US5822018A (en) * 1996-04-02 1998-10-13 Farmer; James O. Method and apparatus for normalizing signal levels in a signal processing system
US5841468A (en) * 1996-04-26 1998-11-24 Convergence. Com System and method for routing data messages through a cable transmission system
US5872783A (en) 1996-07-24 1999-02-16 Cisco Systems, Inc. Arrangement for rendering forwarding decisions for packets transferred among network switches
US6137797A (en) * 1996-11-27 2000-10-24 International Business Machines Corporation Process definition for source route switching
US5845068A (en) * 1996-12-18 1998-12-01 Sun Microsystems, Inc. Multilevel security port methods, apparatuses, and computer program products
US5892922A (en) 1997-02-28 1999-04-06 3Com Corporation Virtual local area network memory access system
US6011780A (en) 1997-05-23 2000-01-04 Stevens Institute Of Technology Transparant non-disruptable ATM network
US5909686A (en) 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US5920566A (en) 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US6154462A (en) 1997-08-21 2000-11-28 Adc Telecommunications, Inc. Circuits and methods for a ring network
US6331985B1 (en) * 1997-08-21 2001-12-18 Adc Telecommunications, Inc. Telecommunication network with variable address learning, switching and routing
US6049824A (en) * 1997-11-21 2000-04-11 Adc Telecommunications, Inc. System and method for modifying an information signal in a telecommunications system
US6363077B1 (en) * 1998-02-13 2002-03-26 Broadcom Corporation Load balancing in link aggregation and trunking
US6266336B1 (en) * 1998-02-18 2001-07-24 International Business Machines Corporation Apparatus and method for setting A/C bits in token ring frames for switches
US6389030B1 (en) * 1998-08-21 2002-05-14 Adc Telecommunications, Inc. Internet access over a ring network

Also Published As

Publication number Publication date
CN1132382C (zh) 2003-12-24
CA2341026C (en) 2004-10-12
CN1324536A (zh) 2001-11-28
EP1106018A2 (en) 2001-06-13
DE69912294T2 (de) 2004-08-05
EP1106018B1 (en) 2003-10-22
AU5343499A (en) 2000-03-14
WO2000011888A3 (en) 2000-08-17
JP3621646B2 (ja) 2005-02-16
TW463508B (en) 2001-11-11
WO2000011888A2 (en) 2000-03-02
ATE252807T1 (de) 2003-11-15
US7065095B2 (en) 2006-06-20
DE69912294D1 (de) 2003-11-27
JP2002523992A (ja) 2002-07-30
CA2341026A1 (en) 2000-03-02
PT1106018E (pt) 2004-03-31
US20010048687A1 (en) 2001-12-06
US6331985B1 (en) 2001-12-18

Similar Documents

Publication Publication Date Title
ES2211139T3 (es) Red de telecomunicaciones con aprendizaje, conmutacion y encaminamiento de direcciones variables.
US6154462A (en) Circuits and methods for a ring network
US5742604A (en) Interswitch link mechanism for connecting high-performance network switches
US6389030B1 (en) Internet access over a ring network
US6181699B1 (en) Apparatus and method of assigning VLAN tags
US4621362A (en) Routing architecture for a multi-ring local area network
US6934260B1 (en) Arrangement for controlling learning of layer 3 network addresses in a network switch
US5859837A (en) Flow control method and apparatus for ethernet packet switched hub
US6430621B1 (en) System using different tag protocol identifiers to distinguish between multiple virtual local area networks
US5959990A (en) VLAN frame format
ES2221283T3 (es) Dispositivo de conmutacion con esquema de colas multietapas.
EP1408656B1 (en) Method and device for transparent LAN services
US8331241B2 (en) Routing control method, communication apparatus and communication system
JPH0691537B2 (ja) ローカルエリアネツトワークをブリツジングする装置
US6272640B1 (en) Method and apparatus employing an invalid symbol security jam for communications network security
US7046664B2 (en) Point-to-multipoint network interface
US20050125562A1 (en) Method and apparatus for adapting mac and network processor core to packet format changes and for mapping RPR architecture over spatial reuse architecture
US7577136B1 (en) Ethernet switch fabric interface
WO2005015855A1 (es) Procedimiento de conmutación de paquetes en un medio de transmisión con múltiples estaciones conectadas mediante distintos enlaces
Cisco Transparent Bridging Commands
Cisco Transparent Bridging Commands
Cisco Transparent Bridging Commands
Cisco Transparent Bridging Commands
Cisco Transparent Bridging Commands
Cisco Glossary of Terms