SWITCH ETHERNET CAPA 2 Justo Ramírez Martínez ÍNDICE (I) Introducción Ethernet Bridging and Switching Dispositivos de conexión de redes Tipos de dispositivos Dispositivos de conexión de nivel 2 Puentes Introducción Tipos de puentes Árbol de expansión Conmutadores Conmutadores de encaminamiento Brouter Bibliografía Introducción Ethernet tiene dos caras actualmente: Fast Ethernet Gigabit Ethernet Estas dos tecnologías han incrementado la velocidad por cable enormemente. El “switching” ha sido el que ha aportado el mayor avance que el rápido incremento de la velocidad del cable. Introducción Sin switches, “Fast Ethernet” sería limitada a una red de unos 200 metros de diámetro, lo cuál es prácticamente inútil (salvo para pequeñas instalaciones). “Ethernet switching” aporta compatibilidad de las tramas Ethernet existentes hoy en día, respecto del pasado. Ethernet Bridging and Switching Con los términos Bridging y Switching nos referimos al uso de puentes y switches en la interconexión de redes. Los switches ethernet aparecieron en 1991 cuando Kalpana lanzó al mercado la “EtherSwitch”. Kalpana fue adquirida por Cisco en 1994. Desde la perspectiva Ethernet, los switches son solo puentes multipuerto. Ethernet Bridging and Switching Técnicamente, el Bridging y el Switching tienen función OSI de capa 2 (nivel de enlace de datos). Esta es la causa de que no sean un estándar IEEE, sino solo una aplicación de estándares existentes. Todos los estándares de conexión de red comunes hoy en día (los tres distintos estándares de Ethernet, Token Ring, FDDI, etc.) pueden ser conectadas mediante puentes. Ethernet Bridging and Switching Años atrás, los puentes ethernet de dos puertos eran usados para conectar dos LANs. Entonces los vendedores empezaron a construir puentes multipuerto inteligentes. Estos puentes multipuerto eran esencialmente un número de puentes de dos puertos conectados entre ellos. Ethernet Bridging and Switching Estos puentes multipuerto se les conoce, hoy en día, como switches. Estos switches son hoy en día usados sin una red existente para segmentar una LAN extensa en varias LAN más pequeñas. Dispositivos de conexión de redes Tipos de dispositivos: Nivel físico: Repetidor Concentrador (Hub) Nivel de enlace de datos: Puente Switch Dispositivos de conexión de redes Tipos de dispositivos (continuación): Nivel de enlace de red: Encaminador (Router) Nivel de transporte y de aplicación: Pasarela (Gateway) Otros dispositivos: Encaminador multiprotocolo Brouter (puente/encaminador) Conmutador de encaminamiento Dispositivos de conexión de redes Dos o más dispositivos conectados con el objetivo de compartir datos o recursos pueden formar una red. Problemas: Una red de área local (LAN) puede necesitar cubrir más distancia de la que el medio de transmisión admite. El número de estaciones puede ser demasiado grande para que la entrega de las tramas o la gestión de la red se haga de manera eficiente. Soluciones: Para el problema de la distancia a cubrir: Repetidor Para el segundo problema: Puente Dispositivos de conexión de redes Cuando dos o más redes diferentes se conectan para intercambiar datos o recursos, se convierten en una red interconectada (o internet). Enlazar varias LAN en una internet requiere dispositivos de interconexión de redes adicionales: Estos dispositivos son: Encaminadores (routers) Pasarelas (gateways) Estos dispositivos están diseñados para solucionar los obstáculos a la interconexión sin interrumpir las funciones independientes de las redes. Dispositivos de conexión de redes Dispositivos de interconexión Dispositivos de conexión de redes Dispositivos de nivel de enlace Los dispositivos de conexión de redes de nivel de enlace de datos son: Puente Conmutador (switch) Puentes Es un dispositivo inteligente que puede conectar redes de área local, sean o no iguales y de distinta velocidad. Sus características más generales son: Permiten aislar tráfico entre segmentos de red (dominios de colisión). Operan transparentemente al nivel de red y superiores. No hay limitación conceptual para el número de puentes de una red. Procesan las tramas, lo que aumenta el retardo. Utilizan algoritmos de encaminamiento, que generan tráfico adicional en la red. Filtran las tramas por dirección física y por protocolo. Se utilizan en redes de área local. Puentes Pueden dividir una red grande en segmentos más pequeños. Pueden retransmitir tramas entre dos LAN originalmente separadas. Al contrario que los repetidores, los puentes contienen lógica que permite separar el tráfico de cada segmento. De esta forma, filtran el tráfico, lo que les permite: Controlar la congestión Aislar enlaces con problemas Proporcionar seguridad Puentes Estructura de un puente: Puertos. Buffers de memoria. Almacenar tramas. Tabla de direcciones: Dirección MAC Puerto Lógica de aprendizaje. Lógica de Búsqueda Árbol de expansión Edad Puentes Puentes Función de un puente: Puentes Función de un puente: Un paquete dirigido de la estación origen a la estación destino llega al puente. Ambas estaciones están en le mismo segmento, por lo que el puente descarta el paquete. Un paquete generado por la estación origen se dirige a la estación destino. El puente permite que el paquete cruce y se retransmite al segmento de red inferior, donde es recibido por la estación destino. Puentes Tipos de puentes: Puente simple Puente multipuerto Puente transparente Otros tipos de puentes : Encaminamiento fuente Encaminamiento mixto fuente-transparente Puente simple Son los más primitivos y más baratos. Enlaza dos segmentos. Tiene una tabla que almacena las direcciones de todas las estaciones incluidas en cada segmento. Todas las direcciones deben introducirse de forma manual. Cuando se añada o se elimine una estación, se debe modificar la tabla. La instalación y mantenimiento consume bastante tiempo y potencialmente plantean más problemas que las ventajas que puede suponer el ahorro de coste. Puente multipuerto Se puede usar para conectar más de dos LAN. Ejemplo El puente de la figura tiene tres tablas, cada una con las direcciones físicas de las estaciones alcanzables a través del correspondiente puerto. Puente transparente El puente transparente o de aprendizaje construye la tabla con las direcciones de las estaciones a medida que realiza las funciones de un puente. Forma de operar: Cuando encuentra un paquete, busca la dirección del origen y del destino en la tabla. Comprueba el destino para decidir donde envía el paquete. Si reconoce la dirección de destino, envía el paquete al segmento correspondiente. Si no reconoce la dirección de destino, retransmite el paquete en todos los segmentos, menos por el que llegó. Puente transparente Algoritmo de aprendizaje: Utiliza la dirección origen de los paquetes que le llegan para construir su tabla. Cuando lee una dirección fuente que no está en la tabla, anota de que lado viene el paquete y asocia esa dirección con el segmento al que pertenece. Llegará un momento en que el puente tendrá la tabla completa, con las direcciones de las estaciones y sus respectivos segmentos, almacenada en memoria. Las entradas de la tabla se borran cada cierto tiempo, si no se han actualizado. Esto se llama aprendizaje hacia atrás. Un puente transparente se auto actualiza. Ejemplo: una estación que cambia de segmento. Puentes El algoritmo de aprendizaje en seudo-código sería: Si Si la dirección está en las tablas entonces Reenviar el paquete por el puerto necesario. la dirección no está en las tablas, entonces Reenviar el paquete por cada puerto excepto por el puerto por el cual fue recibido, para asegurarse de que el paquete llegue a su destino. Agregar una entrada en las tablas internas enlazando la dirección fuente del paquete a cualquier puerto por el cual haya sido recibido. Puentes Aprendizaje hacia atrás: Inicialmente la tabla está vacía. Cuando recibe una trama. Anota la dirección del origen en la interfaz por la que llega Si conoce la interfaz para el destino coloca la trama allí, sino inunda. Si un registro no se ha utilizado en cierto tiempo (3min) se borra. Puentes Ejemplo 2 Puentes La limitación más importante del encaminamiento transparente es que la topología de la red no debe contener bucles. En el caso de que en la red existieran bucles formados por rutas paralelas o alternativas, se debe establecer un árbol de expansión mínimo (spanning tree),es decir, un conjunto de enlaces que una todos los nodos sin formar bucles. Existen algoritmos para determinar el árbol de expansión mínimo, como son los de Kruskal, Prim ,etc. Puentes: Árbol de expansión Para crear redundancia en caso de que un puente falle, los segmentos de la LAN se conectan normalmente a más de un puente. . La redundancia, sin embargo, crea bucles en los que un paquete o varias copias de un paquete pueden ir de un puente a otro de forma indefinida. En el siguiente ejemplo, vemos dos LAN que se han conectado entre sí mediante dos puentes (B1 y B2). Puentes: Árbol de expansión Ejemplo: Puentes: Árbol de expansión Suponemos que una estación B no ha enviado ningún paquete; por lo tanto, ningún puente sabe a qué segmento de red se encuentra conectada la estación B. Consideramos la siguiente secuencia de eventos: Una estación A envía un paquete a la estación B. Uno de los puentes, por ejemplo B1, recibe el paquete primero y, sin saber donde está la estación B, reenvía el paquete al segmento 2. El paquete llega a su destino (estación B), pero al mismo tiempo B2 recibe el paquete a través del segmento 2. El paquete tiene como dirección origen la estación A. la dirección destino es la estación B. El puente B2 erróneamente asume que la estación A se envuelta conectada al segmento 2 y actualiza su tabla. Debido a que no tiene ninguna información sobre la estación B, el puente B2 reenvía el paquete al segmento 1. El paquete es recibido la segunda vez por B1. B1 piensa que es un nuevo paquete de la estación A y, debido a que no tiene información sobre B, reenvía el paquete al segmento 2. Ahora B2 recibe el paquete de nuevo y repite el ciclo de forma indefinida. Puentes: Árbol de expansión Esta situación donde un paquete puede ir de un puente a otro de forma indefinida se debe a tres factores: Se utilizan puentes de aprendizaje que no tienen información sobre la localización de las estaciones hasta que reciben al menos un paquete de ellas. Los puentes no se preocupan de la existencia de otros puentes. Se ha creado un grafo en lugar de un árbol Solución: usar el árbol de expansión Puentes: Árbol de expansión Algoritmo Cuando se instala un puente con aprendizaje, éste no conoce la localización de los otros puentes. El árbol de expansión, por tanto, de be construirse dinámicamente. A cada arista se le asigna un número de identificación. Este número puede ser determinado por el gestor de la red o la dirección de uno de los puertos, normalmente el más pequeño. Cada puerto tiene asignado un coste. El coste se determina por la velocidad del puerto (a mayor velocidad, menor coste). Si la velocidad no es relevante, todos los costes valen 1. Puentes: Árbol de expansión Algoritmo (continuación) El proceso para encontrar el árbol de expansión se puede resumir en tres pasos: Los puentes eligen a un puente como raíz del árbol. Se le asigna un identificador a cada puente y el puente con el identificador más pequeño se convierte en el puente raíz. Cada puente determina su puerto raíz, el puerto que tiene el menor coste para llegar al puente raíz. El coste del camino para llegar al puente raíz es el coste acumulado del camino desde el puerto a la raíz. Se elige un puente designado para cada segmento. Puentes: Árbol de expansión Algoritmo (continuación): Todos los puentes regularmente intercambian una trama especial denominada BPDU (unidad de datos del protocolo de puentes). Cada BPDU contiene: Identificador del puente origen, Coste del camino hacia la raíz acumulado Otra información Cuando se inicializa una BPDU en un puente, el coste acumulado del camino a la raíz es cero. Puentes: Árbol de expansión Búsqueda del puente raíz: Cuando un puente recibe una BPDU, compara el identificador del puente origen con el suyo propio. Si su identificador es mayor que el identificador del puente origen, incrementa el coste del camino a la raíz con el coste del puerto receptor y reenvía la trama. Para de enviar su propias BPDU. Si su identificador es más pequeño, el puente descarta la BPDU. Pasado un tiempo, la única BPDU que estará circulando es la que corresponde al identificador de puente más pequeño, que es el puente raíz. De este forma, cada puente sabrá quién es el puente raíz. Puentes: Árbol de expansión Búsqueda del puerto raíz Una vez establecido el puente raíz, el puente registra el coste acumulado a la raíz acumulado para cada BPDU recibida por cada puerto. El puerto raíz es el puerto cuya BPDU tiene el mínimo coste acumulado. El puente raíz no tiene un puerto raíz. Puentes: Árbol de expansión Elección del puente designado: Una vez determinado el puerto raíz para cada puente, todos los puentes conectados al mismo segmento envían BPDU al resto. El puente que puede transmitir una trama del segmento a la raíz con el coste más pequeño, es seleccionado como puente designado. El puerto concreto que conecta el puente designado al segmento se denomina puerto designado. Observaciones: El puerto raíz no puede ser elegido como puerto designado. Un puente sólo puede tener un puerto raíz (excepto el puente raíz que no tiene), pero puede tener más de un puerto designado. Puentes: Árbol de expansión Construcción del árbol de expansión: Una vez determinado el puente raíz, el puerto raíz y los puertos designados para cada puente, los puertos de un puente se dividen en dos grupos: Puertos de reenvío (puertos raíz) y todos los puertos designados Puertos bloqueantes. Cuando un puente recibe una trama de datos, la reenvía a través de los puertos de reenvío. Un puente no reenvía ninguna trama a través de los puertos bloqueantes. Ejemplo: Árbol de expansión Ejemplo de construcción del árbol de expansión: La topología de la red consta de seis puentes que conectan seis LANs. La topología es diseñada de forma redundante por causas de seguridad, lo cual origina cuatro bucles en la red completa. Cuando el algoritmo del Árbol de Expansión se utiliza por primera vez, cada puente transmite una BPDU que contiene su ID de puente así como ambos el ID raíz y el ID del puente que transmite, y cero como el coste. Ejemplo: Árbol de expansión Ejemplo: Árbol de expansión La porción de la BPDU determina que puente será el puente raíz. Los puentes transmiten sus BPDUs, reciben las BPDUs de los otros, y comparan las BPDUs unos con otros. El Puente B se convierte en el raíz, porque tiente el ID raíz más bajo de todos los puentes. Ejemplo: Árbol de expansión Topología del Árbol de Expansión Calculada Ejemplo: Árbol de expansión Cada puente, excepto el puente raíz, debe seleccionar un puerto raíz. Cada puente determina la ruta con el coste efectivo óptimo para que las tramas vayan desde cada uno de los puertos hasta el puente raíz. El coste depende: el coste del camino del puerto. el coste del camino del raíz del puente designado por la LAN a la que el puerto está unido. Ejemplo: Árbol de expansión Si el puente tiene más de un puerto conectado, el puerto con el coste más bajo se convierte en el puerto raíz, y los otros puertos se convierten en puertos designados o de seguridad. Si hay puentes que tienen enlaces redundantes con la misma LAN, entonces el puerto con el identificador de puerto más bajo se convierte en el puerto raíz. En el ejemplo anterior: El puente F tiene distintos enlaces con la LAN 3 (a través del puerto 1 y el puerto 2). Como el identificador de puerto para el puente F es el puerto 1, se convierte en el puerto raíz, y el puerto 2 se convierte en un puerto bloqueado para la LAN 3. Ejemplo: Árbol de expansión Determinación de los puentes designados y los puertos designados: Si una LAN está unida a un único puente, ese puente es el puente designado de esa LAN. Para una LAN que está unida a mas de un puente, un puente designado debe ser seleccionado entre los puentes unidos. El puente raíz es automáticamente el puente designado para todas las LANs unidas. Ejemplo: Árbol de expansión El puente B, es el puente raíz en el ejemplo anterior, es también el puente designado para las LANs 1, 2, y 5. Un puente designado debe ser determinado todavía para las LANs 3, 4, y 6. Como los Puentes C, D, y F están todos unidos a la LAN 3, uno de ellos debe ser el puente designado para esa LAN. El algoritmo primero compara el ID raíz de esos puentes, que es el mismo para todos. El coste es entonces comparado. Ambos puentes el puente C y el puente D tienen un coste de 11. El puente F, con un coste de 12 es eliminado como puente designado. Finalmente, el ID del puente que transmite es comparado entre el Puente C y el puente D. Como el ID del puente C (20) es más pequeño que el del puente D (29), el Puente C se convierte en el puente designado para la LAN 3. Ejemplo: Árbol de expansión El puente designado para la LAN 6 es o bien el puente D o el puente E. Como el ID del Puente transmisor D (29) es menor que el del Puente E (35), el Puente D se convierte en el puente designado para esa LAN. El puente designado para la LAN 4 es el único puente unido a esa LAN, el Puente F. El puerto designado se determina por el puerto que un el puente designado c al LAN. Si hay mas de un puerto unido a la LAN, entonces el identificador del puerto determina que puerto es el puerto designado. Puentes: Árbol de expansión Resumiendo: Se elige al nodo raíz del árbol. Mediante un algoritmo distribuido (802.1D) intercambian información para descubrir la topología. Se eliminan las rutas redundantes. Una vez resuelto el árbol, hay una ruta única desde cada LAN hasta cualquiera de las otras. Una vez establecido el árbol, el protocolo sigue operando para descubrir cambios en la topología y reconstruirlo si fuese necesario. Puentes conectados a LAN diferentes Un puente debería ser capaz de conectar LAN que utilizan protocolos diferentes en el nivel de enlace de datos, como una LAN Ethernet a una LAN en anillo con paso de testigo. Hay muchos problemas a considerar, pero hay puentes que pueden manejar estos problemas y conectar cualquier tipo de LAN a cualquier otra. Puentes conectados a LAN diferentes Problemas a considerar: Formato de la trama. Tamaño de la carga. El tamaño de los datos que pueden encapsularse varía de un protocolo a otro. Tasa de datos. Protocolos diferentes utilizan tasas de datos diferentes (Ejemplo 10 Mbps de una Ethernet con los 16 Mbps de una red de anillo con paso de testigo). El puente debería almacenar la trama para compensar esta diferencia. Orden de los bits de la dirección. Ejemplo. Al conectar una LAN Ethernet a una LAN en anillo con paso de testigo un puente debería invertir la dirección. Otros problemas: confirmaciones, colisiones, prioridades, etc. Conmutador (switch) Ofrece la funcionalidad de un puente con una mayor eficiencia. Actúa como un puente multipuerto para conectar dispositivos o segmentos a una LAN. Tiene un buffer para cada enlace. Forma de operar: Cuando recibe un paquete, almacena el paquete en el buffer correspondiente al enlace de recepción y comprueba la dirección (a veces también el CRC) para encontrar el enlace de salida. Si el enlace de salida se encuentra libre (no hay posibilidad de colisión), el conmutador envía la trama por el enlace determinado. Conmutador (switch) Los conmutadores están estrategias diferentes: basados en dos Conmutador de almacenamiento y reenvío. El conmutador almacena la trama en el buffer de entrada hasta que el paquete completo ha sido recibido. Conmutador de reenvío directo. Encamina el paquete hacia el buffer de salida tan pronto se recibe la dirección de destino Conmutador (switch) Ejemplo: switch en el centro de una red estrella Conmutador (switch) Diferencias con los puentes: El conmutador interconecta ordenadores, mientras que el puente interconecta redes locales. Los conmutadores son generalmente más rápidos que los puentes. Realizan conmutación hardware frente a la conmutación software (generalmente) de los puentes Los conmutadores permiten más puertos que los puentes. Y el coste por puerto es más barato. Conmutadores de encaminamiento Combinación de encaminador y puente. Utilizan la dirección de destino del nivel de red para encontrar el enlace de salida por el cual debería encaminarse el paquete. El proceso es más rápido debido a que el software de nivel de red en un encaminador convencional busca sólo la dirección de red de la siguiente estación y luego pasa esta información al software del nivel de enlace de datos para buscar el enlace de salida. Brouter (puente/encaminador) Encaminador de un único protocolo o multiprotocolo que en algunas ocasiones actúa como puente. Forma de operar: Cuando recibe un paquete que pertenece al protocolo (protocolos en caso de ser multipuerto) para el que está diseñado, encamina el paquete utilizando direcciones del nivel de red. En caso contrario actúa como puente y pasa el paquete utilizando direcciones del nivel de enlace. Bibliografía “Switched, fast and gigabit Ethernet”. Robert Breyer y Sean Rilev. “Transmisión de datos y redes de comunicaciones” Behrouz A. Forouzan. Editorial Mc Graw Hill “Redes para el proceso distribuido” Jesús García Tomás. Editorial Ra-ma Diversas fuentes en internet