Conmutadores:

Tecnologías en que se basan

Introducción:

Los conmutadores son sofisticados dispositivos que, como hemos visto en artículos anteriores, nos permiten reducir la saturación de nuestras redes, a base de "segmentar" las mismas, reduciendo el número de puestos o nodos conectados a cada segmento, y ampliando por tanto el ancho de banda disponible para cada uno de ellos.

Para lograr este objetivo, se emplea un hardware complicado acompañado de un firmware muy específico, capaces de procesar a gran velocidad todos los paquetes que pueden llegar por los diferentes puertos y evitar la pérdida de ninguno de ellos, y al mismo tiempo reproducirlos sólo en los puertos destinatarios adecuados.

Para ello, diferentes fabricantes emplean arquitecturas propietarias, a menudo con bastantes puntos de coincidencia, dado que los objetivos son idénticos, y a veces con características específicas que los hacen muy diferentes, y que marcan por tanto las diferencias de prestaciones entre unos y otros equipos.

En estas líneas, vamos a estudiar dos sistemas muy diferenciados, empleados por dos fabricantes de equipos muy diferentes entre sí, como ejemplos diversos de sofisticadas soluciones a idénticos problemas.

Arquitectura de memoria compartida:

El primero de los sistemas, denominado "arquitectura de memoria compartida" (o shared memory architecture), desarrollado por ALANTEC, se fundamenta en un diseño simple, eficiente, flexible, gestionable y sobretodo, potente.

ALANTEC fue creada en 1987 con el claro objetivo de ayudar a las redes colapsadas a incrementar sus prestaciones sin modificar sus estructuras básicas ya existentes. Su producto, denominado PowerHub es una completa familia de conmutadores/concentradores inteligentes, basados fundamentalmente en software, con algoritmos de enrutamiento multiprotocolo. Además, una de sus características fundamentales, es que permiten soportar gran variedad de diferentes tipos de redes: Ethernet, Fast Ethernet, Full Duplex Ethernet, Full Duplex Fast Ethernet, FDDI, y ATM.

El modelo de "procesador de paquetes" empleado por ALANTEC, implica que todos los paquetes recibidos, independientemente de su destino, son depositados en una memoria compartida, donde serán examinados por el procesador y desde donde se tomarán las decisiones de reenvío. Por lo tanto, el software PowerHub puede transmitir un paquete usando cualquier técnica de bridging, routing o filtrado que pueda ser expresada mediante un algoritmo de programación.

La simplicidad del esquema de memoria compartida incrementa la eficacia del hardware y el software, ya que facilita su estructura de "pipeline" y el método "solapado" de conmutación de paquetes, en el que no se pierde ancho de banda a causa de tiempos asociados con arbitraje, carga de trabajo, y similares, que frecuentemente van asociados a estructuras de bus compartido. Además, los paquetes recibidos en la memoria compartida pueden ser reenviados directamente hacia sus destinos, sin necesidad de copiarlos, aún en casos de paquetes "broadcast" y "multicast".

La flexibilidad le es inherente por varias razones. La memoria compartida puede ser empleada de forma jerarquizada para proporcionar inteligencia distribuida en sistemas de alto ancho de banda, lo que naturalmente soporta modelos de multiproceso, que pueden ser construidos con una gran variedad de tecnologías de memoria, en función de puntos de vista de coste/prestaciones.

Las arquitecturas de memoria compartida son un camino directo para proporcionar muchas características de gestión de redes. Dado que cada paquete es examinado y que cada decisión de transmisión es tomada por el propio software, se pueden establecer complejas estadísticas, filtros de seguridad, y monitorización de puertos, con suma facilidad. Además, dichas características no se limitan al hardware diseñado, sino que pueden ser incorporadas con posterioridad en función de las nuevas necesidades y experiencias de los clientes.

Por último, la arquitectura de memoria compartida es poderosa: Los diseñadores de hardware entienden la dificultad del ancho de banda compartido en un entorno determinado, además de su alto precio, por ejemplo en un cableado Ethernet o un anillo FDDI. Sin embargo, el ancho de banda es más barato en una "caja", por ejemplo en el bus de un "backplane" o circuito impreso. La arquitectura de memoria compartida de ALANTEC emplea este principio avanzando incluso un paso respecto del mismo, al proporcionar el ancho de banda compartido a nivel de circuitos integrados, empleando memorias caché de altas prestaciones y una interfaz de "memoria compartida multipuerto".

Elemento fundamental de un procesador de paquetes inteligente, además del ancho de banda, es la potencia de proceso. El ancho de banda se requiere en los buses y en la memoria para "mover" paquetes entre los puertos, mientras que la potencia de proceso es fundamental para examinar y modificar las cabeceras de los paquetes transmitidos, uno a uno, así como para permitir realizar estadísticas y proporcionar otras funciones de importante valor añadido.

La "maquina" de proceso de paquetes basada en software emplea CPU’s RISC de muy altas prestaciones, con la ventaja de su excelente escalabilidad y flexibilidad, a un valor efectivo coste/prestaciones.

Como se ha mencionado antes, la solución software conlleva importantes ventajas añadidas, como es la posibilidad de actualizar los protocolos, depurar errores, etc. El inconveniente puede ser su capacidad de proporcionar las prestaciones adecuadas, lo que se soluciona con un equilibrado y depurado diseño del hardware, con CPU’s distribuidas que suministren potencia en los puntos que lo requieren del dispositivo.

Es importante, como parte de ese diseño equilibrado, que el sistema no pueda ser bloqueado. Ello implica que sea capaz de suministrar un ancho de bando lo suficientemente elevado como para que puedan ser reenviados todos los paquetes cuando todos los puertos suministran el máximo tráfico que son capaces, en función del tipo de red al que están conectados. Este punto "máximo" de tráfico ocurre, por lo general, cuando los paquetes son de la longitud máxima permitida, ya que en dicho caso la carga de protocolo es minimizada.

Los dispositivos de ALANTEC han sido diseñados siguiendo la norma de que no sean "bloqueables", aunque en algunos casos, el propio usuario puede configurarlos para que lo sean, por ejemplo como una forma de reducir el coste del sistema, por puerto, cuando no se desea que todos los segmentos puedan operar a su máxima velocidad.

Evidentemente, todos estos dispositivos emplean, forzosamente, ya que permiten conmutar tráfico entre puertos de diferentes velocidades, el método "store and forward".

Además de la memoria compartida, es una característica importante de estos dispositivos, como ya ha sido mencionado, el uso de unidades procesadoras distribuidas, diseñadas en función de las necesidades de cada tipo de interfaz física, con diferentes "canales de paquetes", procesadores de diferente potencia, diferente ancho de banda y tamaño de la memoria compartida, etc., lo que conlleva sus evidentes posibilidades de ampliación, según las necesidades de cada caso. Se emplean varias unidades procesadoras de entrada/salida, y varias unidades procesadoras que ejecutan los algoritmos de proceso de paquetes y de gestión SNMP.

En el caso de los productos PowerHub actuales, cada "canal de paquetes" tiene un ancho de banda de 800 Mbps., con transferencias en modo de palabras o bloques, siendo el numero de canales variable en función del modelo.

La arquitectura del software o más bien firmware ha de ser capaz de gestionar las diferentes fuentes de carga de trabajo sin permitir el colapso del equipo, como son el proceso de interrupciones, la conmutación de contextos y el bloqueo/desbloqueo de estructuras de datos.

En concreto, el software ha de ser capaz, con la llegada de cada paquete, de realizar las siguiente funciones, sin generar retrasos no autorizados:

Determinar que el paquete ha sido recibido.
Verificar que el paquete no contiene errores.
Actualizar las estadísticas de recepción.
Determinar si el paquete ha de sufrir bridging o routing.
Determinar el destino del paquete.
Ejecutar el algoritmo de bridging.
Verificar las tablas y aprender las direcciones.
Realizar el filtrado lógico.
Seguridad: grupos de trabajo, bloqueo de direcciones, ...
Ejecutar el algoritmo de routing.
Buscar en las tablas de routing.
Actualizar la cabecera MAC.
Actualizar la cabecera IP.
Verificar casos especiales.
Spanning-Tree.
ARP.
RIP.
TCP/Telnet.
SNMP.
ICMP PING.
etc.
Guiar el paquete hacia la interfaz de transmisión apropiada. Proporcionar los buffers "limpios" a la interfaz de recepción. Actualizar las estadísticas de transmisión. Determinar cuando ha sido completada la transmisión. Verificar que no hay errores. Actualizar las estadísticas de errores. Reclamar los buffers de transmisión.

En último lugar, cabe destacar la importancia de un backplane ampliable, que sea capaz de, no solo alimentar a cada tarjeta, sino también hacerle llegar un canal de paquetes. De este modo, se mantienen totalmente cubiertas las necesidades de crecimiento de ancho de banda de la red, con ampliaciones dinámicas y específicas del PowerHub.

Existe además la posibilidad de añadir un acelerador de paquetes, compuesto por un par de CPU’s adicionales, además de memoria compartida adicional, lo que incrementa enormemente la capacidad de proceso de paquetes del sistema.

Otras características importantes de estos equipos son su modularidad, sus fuentes de alimentación redundantes, unidades de refrigeración redundantes, y la posibilidad de insertar y extraer sus módulos (incluso fuentes de alimentación y unidades de refrigeración) sin apagar el equipo, y por tanto manteniendo su funcionamiento.

conf_ph.jpg (35645 bytes)

ALANTEC fabrica también un sofisticado equipo, denominado PowerBits, que es el único equipo de chequeo y evaluación de la industria que proporciona las prestaciones y flexibilidad adecuadas para permitir la verificación precisa de dispositivos de internetworking de altas velocidades y varios puertos como puentes, encaminadores, y conmutadores. Este dispositivo es capaz de generar hasta 6 redes Ethernet y FDDI, inundarlas de paquetes y "contarlos" según llegan de vuelta, hasta un límite de 90.000 paquetes por segundo. Este dispositivo se encuentra en la mayoría de los laboratorios de investigación y desarrollo de universidades, así como en los de los grandes fabricantes de dispositivos de redes.

Algunos de los clientes más destacados de ALANTEC son: AMOCO, AT&T, Boeing, Brooktree, Cisco, DEC, DHL, GEC, Microsoft, Motorola, Novell, Oracle, OSF, Rockwell, SGI y Synoptics.

Arquitectura "Clear Channel":

Grand Junction Networks es el líder en conmutación Ethernet y Fast Ethernet, y de hecho fue el primer fabricante, en el año 1992, en utilizar estas tecnologías con productos concretos en el mercado, con su familia de FastSwitch.

Grand Junction Networks fue fundada en 1992, partiendo de un grupo de directivos, procedentes, en su gran mayoría, de 3Com.

Arquitectura Clear Channel

La arquitectura "Clear Channel" (o "canal limpio"), está construida alrededor de la idea de suministrar una conexión Ethernet de 10 Mbps. dedicada o "privada" a cada nodo de la red o cliente, y de 100 Mbps. a cada servidor. Los puertos privados de 10 Mbps., se denominan "puertos Ethernet personales", y soportan sólo una estación o dirección de red.

La arquitectura Clear Channel implementa tres modos distintos de conmutación de paquetes:

  1. Store and Forward (almacenar-transmitir): Es el método tradicional de bridging, en el que cada paquete es recibido por completo y almacenado internamente antes de que se inicie su transmisión. Ello garantiza que no se producen transmisiones de paquetes con errores.
  2. FastForward (envío rápido): Es un método basado en el modo "cut-through" (cortar-continuar), en el que se inicia la transmisión tan pronto como ha sido recibida la dirección destino, minimizando así el tiempo de latencia a 30 m s para los puertos Ethernet personales y a 7 m s para los puertos Fast Ethernet.
  3. FragmentFree (liberación de fragmentos): Es otro método basado en el modo "cut-through"; se trata de un compromiso que evita el reenvío de la mayor parte de los paquetes erróneos, reduciendo al mismo tiempo la latencia en la mayoría de ellos. Con este método, se espera a recibir los primeros 64 bytes, que es la franja de tiempo en la que ocurren las colisiones de fragmentos, es decir, durante los primeros 51,2 m s de la recepción de los paquetes (ventana de colisión o "collision window").

La arquitectura Clear Channel es una plataforma de conmutación de altas prestaciones, con las características siguientes:

Puertos Ethernet privados para clientes y servidores.
Puertos Fast Ethernet privados para conexiones a servidores y clientes de altas prestaciones.
Conexión en modo "bridge" al backbone.
Controladores propietarios Ethernet y Fast Ethernet de muy altas prestaciones.
Bus de intercambio de paquetes de 1 Gbps.
Memoria buffer de paquetes de 3 Mbytes.
Controlador de memoria de altas prestaciones.
Hardware de bridging con 3 modos de trabajo.
Subsistema de control integrado.
Implementación altamente integrada y efectiva en coste.

Los controladores Ethernet y Fast Ethernet, aunque propietarios, cumplen rigurosamente las correspondientes normas IEEE, y han sido optimizados para funciones de conmutación multipuerto, por lo que son soluciones altamente integradas y de prestaciones superiores a otras no especializadas. Operan siempre en modo "promiscuo", es decir, que no realizan ningún tipo de filtrado a nivel del controlador. Todos los procesos de aprendizaje y comparación de direcciones, y toma de decisiones de reenvío o rechazo de paquetes son realizadas por la maquina de transmisión o "forwarding engine".

La memoria de paquetes es parte fundamental de la arquitectura Clear Channel, y consiste en 3 MB. de RAM dinámica. Todos los paquetes son recibidos y enviados hacia/desde la misma, independientemente del modo de conmutación seleccionado. Un paquete permanece en la misma localización de memoria hasta que todos los puertos que lo reenvían han terminado dicha operación, por lo que en ningún momento son copiados o movidos a otra dirección de memoria.

La utilización de la memoria de paquetes, medida como el número de paquetes residentes en la memoria, en un momento dado, dependerá del sistema operativo de la red, del ratio cliente/servidor, y de los protocolos usados. Su utilización tiene lugar cuando los paquetes son enviados a un puerto a una velocidad mayor de la del puerto al que han de ser retransmitidos, o bien si este último esta ocupado.

Diversas pruebas de sistemas operativos, estructuras de red, y entornos software/hardware en general, dieron como resultado la adopción de 3 MB. como memoria suficiente para cubrir la peor de las situaciones de congestión.

Los controladores Ethernet acceden a la memoria de paquetes a través de un bus de alta velocidad denominado bus de intercambio de paquetes (Packet Exchange Bus), cuya velocidad máxima es de 1.04 Gbps., lo que supone más del doble del ancho de banda máximo usado por los actuales productos de Grand Junction Networks.

Ejemplo de conmutadores Fast Ethernet con backbone FDDI

El acceso al bus de intercambio de paquetes es arbitrado en forma de "pipeline", de modo que no se producen pérdidas de ancho de banda debidas a retrasos provocados por el propio arbitraje.

El corazón de la arquitectura "Clear Channel" es la máquina de transmisión o "Forwarding Engine", totalmente implementada en hardware: aprendizaje y comparación de direcciones, ordenación de los paquetes en colas, gestión de la memoria para los paquetes, y decisiones de transmisión/filtrado. También se ocupa de la acumulación de datos para las estadísticas.

Al recibir un paquete, la máquina de transmisión monitoriza la dirección fuente del paquete, con lo que aprende la dirección de la estación que lo envía, que es automáticamente añadida a la tabla de direcciones. Esta tabla asocia cada dirección a un puerto al que esta conectado. Dicha dirección también puede ser añadida manualmente cuando se configura un puerto en modo de "direccionamiento seguro".

Tan pronto como se inicia la recepción de un paquete, la máquina de transmisión se encarga de asignarle una sección de la memoria de paquetes, del mismo modo que se encarga de liberarla cuando el paquete ha sido retransmitido satisfactoriamente.

Sin embargo, la función más importante de la máquina de transmisión es, sin duda, la propia retransmisión de los paquetes. Cuando se inicia la recepción del paquete, se determina si ha de ser reenviado o no, en función de la dirección destino, contenida en los primeros seis bytes del paquete. Se compara la dirección con la tabla interna, para decidir si ha de ser reenviado o rechazado (filtrado). Es rechazado si su dirección destino no coincide con la dirección de ninguno de los puertos personales ni con las de las tablas de los puertos de red. Los paquetes multicast y broadcast son enviados a todos los puertos.

Antes de iniciar el reenvío de un paquete, se espera a que se haya recibido el número de bytes adecuado según el modo de conmutación seleccionado. Si el puerto destino está libre, se inicia el reenvío inmediatamente, o si no, el paquete es puesto en "lista de espera".

Las estadísticas pueden ser generadas fácilmente mediante la monitorización del bus de intercambio de paquetes, que permite contar las longitudes de los mismos, así como el número de paquetes retransmitidos y filtrados.

En una red compartida, es muy fácil monitorizar la actividad de la red y las conversaciones que tienen lugar en un determinado segmento, conectando al mismo un analizador. Con las redes conmutadas, sólo hay una estación por segmento, por lo que el análisis de la red es un problema. Con la arquitectura "Clear Channel" se puede configurar un puerto para que reciba el tráfico de uno o todos los puertos restantes, y es lo que se denomina modo de monitorización de puertos. A este puerto se puede conectar cualquier analizador de red.

Los productos de Grand Junction Networks son usados por importantes compañías como: AT&T, DDB, Evening Standard, Fujitsu, Intel, NEC, Nippon Telephone & Telegraph, Northern Telecom, Quantum, Sony, Sun Microsystems, USA Today, U.S. Government y Xerox.

Aplicaciones y productos:

Los productos PowerHub de ALANTEC pueden integrarse en las redes existentes, como aplicaciones concretas para las siguientes soluciones:

  1. Acelerador de grupos de trabajo cliente/servidor: Una de los medios más efectivos de emplear los PowerHub, es su uso como conmutadores inteligentes en entornos cliente/servidor, interconectando múltiples estaciones de trabajo a servidores locales, mediante sus funciones de bridging y routing. Se puede, por ejemplo, asignar, según las necesidades, uno o varios puertos Ethernet, Fast Ethernet, FDDI o incluso ATM a los servidores, y mantener la estructura existente para los nodos de los grupos de trabajo que no requieren mayor ancho de banda.
  2. Redes virtuales: Los "grupos de trabajo lógicos" o redes virtuales, permiten crear topologías basadas en el ancho de banda del grupo de trabajo, en lugar de en principios de localización física o cableado. Además de lograr el ancho de banda adecuado para los usuarios o grupos de trabajo, los administradores de la red obtienen la ventaja de poder reconfigurar toda la red desde cualquier punto de la misma, no estando obligados por situaciones geográficas, sino por motivaciones del propio negocio.
  3. Hub de hubs: Como "concentrador de concentradores", los PowerHub permiten que concentradores Ethernet tradicionales interconecten PC’s y estaciones de trabajo que no precisen de un ancho de banda "personal" de 10 Mbps., pero se logre así un incremento del ancho de banda disponible para cada uno de los concentradores. Incluso se puede pensar en conexiones de alta velocidad entre uno o varios PowerHub de gama alta y otros modelos inferiores, creando una estructura de "árbol" extremadamente rápida y flexible.
  4. Red troncal conmutada: Otro medio popular de emplear los PowerHub es su uso como "backbone conmutado", que permite que varias redes sean unidas a través de un conmutador central, conectando a ello todos los dispositivos de la red, incluso los servidores, lo que permite al administrador de la red una rápida y eficiente gestión del ancho de banda a través de un exhaustivo control del tráfico.
  5. Conmutador FDDI: Los dispositivos PowerHub pueden emplearse también como conmutadores de redes FDDI, y permitir alcanzar hasta 200 Mbps. mediante conexiones Full Duplex FDDI, a cada uno de los nodos o segmentos en los que la red FDDI sea dividida.

Los productos FastSwitch de Grand Junction Networks pueden integrarse en redes Ethernet y Fast Ethernet, como conmutadores de grupos de trabajo, y en algunos casos como conmutadores de red:

  1. Conmutadores de red: diseñados para mejorar las prestaciones de una red mediante su segmentación en pequeños grupos de trabajo, de modo que pocos usuarios compartan el ancho de banda de 10 Mbps. Proporcionan conectividad a la máxima velocidad Ethernet entre pares de segmentos desocupados, incrementando el ancho de banda del backbone general, y proporcionando una alternativa de bajo coste al empleo de potentes routers. A nivel de grupos de trabajo, los usuarios siguen compartiendo el ancho de banda de 10 Mbps. en su segmento.
  2. Conmutadores de grupos de trabajo: diseñados para conectar "punto a punto" estaciones de trabajo. Proporcionan una conexión Ethernet privada a cada nodo, suministrando el ancho de banda total entre dos nodos desocupados, y ofreciendo altas prestaciones como alternativas a los concentradores Ethernet. Ofrecen las máximas prestaciones posibles a cada uno de los nodos de la red.

Resumiendo:

Hemos expuesto los "vericuetos" de dos arquitecturas de conmutadores totalmente diferenciadas, una por ser una aproximación hardware y la otra por tratarse de una solución software.

No se puede afirmar, en principio, que una sea mejor o peor que la otra.

En una caso, la solución hardware, los tiempos de latencia serán inferiores, pero las opciones de valor añadido se limitan a la monitorización de puertos.

Por otro lado, la solución software permite manipular los protocolos, y por tanto realizar funciones de routing, y por descontado otras no menos importantes, como la misma monitorización de puertos y la creación de redes virtuales. Además, la ventaja es que cualquier nuevo protocolo o facilidad de gestión de los paquetes podrá ser añadida con una versión nueva del firmware. Su evidente desventaja, la misma que existe entre routers frente a bridge: su mayor tiempo de latencia, por la necesidad de inspeccionar el paquete completo.

En resumen y dado que sus diferencias estriban realmente en sus prestaciones, ventajas y desventajas, es acertado afirmar que ambas son soluciones válidas, solo que cada una para diferentes necesidades y problemas en nuestras redes, que necesitan ser evaluadas con suma precisión.

Autor: Jordi Palet

Publicado por: Unix Systems (Agosto 1995)

Atrás Pág. Principal Arriba Adelante