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 CPUs 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 CPUs 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, ... |
Buscar en las tablas de routing. | |
Actualizar la cabecera MAC. | |
Actualizar la cabecera IP. |
Spanning-Tree. | |
ARP. | |
RIP. | |
TCP/Telnet. | |
SNMP. | |
ICMP PING. | |
etc. |
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 CPUs 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.
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.
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:
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.
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:
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:
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) |