Redes Locales y Corporativas 2010 Unidad 3 Redes LAN Multisegmento .8. Árbol de Expansión, (Spanning Tree). El protocolo de Árbol de Expansión o Spanning Tree, tal cual es su nombre en inglés fue el elegido para resolver el cálculo de la topología en las redes con segmentos múltiples con Puentes. Se basa en un algoritmo matemático que puede calcular los grafos y determinar bucles en tal estructura de grafos. Para el caso de las redes LAN en Capa 2 se utiliza el Protocolo de Árbol de Expansión, STP, (Spanning Tree Protocol). El protocolo fue desarrollado originalmente por Radia Perlman en la empresa Digital; existiendo dos versiones de tal protocolo, el original, desarrollado por Digital y conocido como DEC STP y el homologado por la IEEE, como protocolo IEEE 802.1D. Lamentablemente ambos protocolos no son compatibles entre si, y un gestor de red deberá optar por alguno de los dos. Un Grafo con Bucles se puede transformar en uno sin, al convertirlo en un ‘árbol en Expansión’, (spanning tree) El árbol es de naturaleza jerárquica y sin ‘enlaces’ redundantes Nodo Raíz Hoja 1 (Rama) Nodo C Hoja 2 (Rama) Nodo B Nodo D Nodo I Nodo E Nodo F Nodo G Nodo H Nodo M Nodo O Nodo Q Nodo K Nodo P Nodo L Nodo N Nodo J Nodo R Nodo S Toda Topología de Red que pueda ser transformada en un Árbol de Expansión permite eliminar sus Bucles El Problema radica en cuales son los enlaces que deben ‘permanecer’ y cuales ‘eliminarse’; para ello se utiliza la noción de costo y en particular el ‘Camino más Corto’ La función del protocolo es la de gestionar la presencia de bucles en la topología de red, normalmente tales bucles se producen por la existencia de enlaces redundantes, los cuales son necesarios para garantizar la disponibilidad de las conexiones. Si la configuración de STP cambia, o si un segmento en la red redundante llega a ser inalcanzable, el algoritmo reconfigura los enlaces y restablece la conectividad, activando uno de los enlaces que ha quedado desactivado como reserva. En el caso que el protocolo falle puede ser posible que dos conexiones queden activas simultáneamente para una misma interconexión, lo que podría dar lugar a un bucle de tráfico infinito en la LAN, que es lo que se trata de evitar. CCAT (Centro de Capacitación en Alta Tecnología) 1 © Osvaldo A Pérez Redes Locales y Corporativas 2010 Unidad 3 Redes LAN Multisegmento Resuelve el problema de bloqueo de la red debido a los bucles El intercambio de información entre los Puentes se realiza por el Bridge Protocol (BP) Los mensajes se denominan BPDUs (Bridge Protocol Data Units) y periódicamente remiten información sobre los enlaces del Puente Los BPDUs emplean un Ethertype propio y se envían a la dirección multicast 01 -80-C2-00-00-00, reservada en los Puentes para que se comuniquen entre si Esto garantiza la identificación y el despacho simple en la red El Identificador (ID) del Puente es su dirección MAC ‘canónica’ Se asume como Nodo Raíz al Puente con ID más bajo Cada Puerto del Puente recibe un Identificador El Puerto tiene asociado un costo, inversamente proporcional a su velocidad Ej.: Puerto 10BASE-T costo 100, Puerto 100 BASE-T costo 10) El Protocolo permite crear topologías redundantes, para mejorar la tolerancia a fallos El tiempo de reacción ante fallos es lento (minutos), y resulta difícil mejorarlo en rendes extensas, por lo cual no es recomendable para redes de alta disponibilidad Spanning Tree es parte opcional de la especificación de puentes transparentes (802.1D) Puede no estar presente en algunos equipos En 2001 se incorporó la 802.1W Rapid Spanning Tree (RST), que converge en segundos Un árbol de expansión permanece vigente hasta que ocurre un cambio en la topología, situación que el protocolo es capaz de detectar de forma automática. El máximo tiempo de duración del árbol de expansión es de cinco minutos. Cuando ocurre uno de estos cambios, el puente raíz actual redefine la topología del árbol de expansión o elige un nuevo puente raíz, en caso de cambio de la menor dirección MAC canónica presente en la red. El Puente se ‘anuncia’ enviando por sus interfaces mensajes BPDU multicast Los Mensajes BPDU contienen: La ID del Puente La ID del Puente que considera Raíz El costo, (cantidad de saltos) para llegar al Puente Raíz Cuando un Puente recibe el mensaje anterior verifica: Si la ID del Raíz más pequeña que la que el Puente posee Si la ID de la Raíz es la misma, pero el costo menor Si la ID del remitente es menor Con tal información el Puente puede determinar cual es el Puente Raíz (o actualizarlo) Al reenviar los mensajes de otros, les suma el costo de la interfaz por la que los emite Cada puente calcula por que Puerto llega al Raíz al mínimo costo (distancia Mínima) y lo denomina Puerto Raíz. En caso de empate se elige el puerto con ID más bajo Cada Segmento posee un Puente Designado, por el cual accede al Puente Raíz al mínimo costo El Puerto Designado de un Puente, es aquel por el cual el Segmento accede al Puente Raíz al mínimo costo Los puertos que no son ni raíz ni designados se bloquean ya que pueden establecer Conexiones Redundantes que provocarán bucles CCAT (Centro de Capacitación en Alta Tecnología) 2 © Osvaldo A Pérez Redes Locales y Corporativas 2010 Unidad 3 Redes LAN Multisegmento Dada una red y una topología el puente raíz es siempre el mismo, independientemente del orden como se enciendan los equipos El criterio del ID más bajo puede resultar en la elección como raíz de un puente periférico o poco importante. Normalmente esto no es problema porque el criterio de costos más bajos suele elegir rutas adecuadas, pero el puente raíz puede ser inestable (por ejemplo si se apaga a menudo); y esto obligará a recalcular todo el árbol frecuentemente; lo cual consume procesamiento en los Puentes y provoca inestabilidades. La elección del puente raíz se puede alterar con el parámetro prioridad. Si a un puente le damos menor prioridad ese será raíz sea cual sea su ID. La prioridad puede valer de 0 a 65535. Por defecto es 32768. Dentro de un puente los puertos también se eligen por identificador, el más bajo primero, es decir se bloquea el más alto (suponiendo el mismo costo). También hay una prioridad por puerto que permite modificar el orden por defecto (rango 0-255 por defecto 128). 3.9 Mapeo de un Árbol de Expansión. En el gráfico se ilustran las topologías inicial y final de una red con Puentes y operando por medio del protocolo de Árbol de Expansión Bridge 2 Bridge 1 Segmento 1 Segmento 2 Bridge 4 Bridge 3 Segmento 3 Bridge 5 Segmento 4 Topología de la Red Redundante Bridge 6 Bridge 7 Segmento 5 Bridge 8 Segmento 6 Bridge 9 Segmento 8 Bridge 10 Segmento 9 Bridge 11 Segmento 2 Bridge 4 Bridge 12 Segmento 11 Segmento 10 Bridge 2 Bridge 1 Segmento 1 Segmento 7 Bridge 3 Segmento 3 Bridge 5 Segmento 4 Topología de la Red Jerárquica por Árbol de Expansión Bridge 6 Bridge 7 Segmento 5 Bridge 8 Segmento 8 Segmento 6 Bridge 9 Bridge 10 Segmento 9 Se han eliminado tres enlaces Segmento 7 Bridge 11 Bridge 12 Segmento 10 Segmento 11 Se puede observar la existencia de enlaces redundantes, que para el caso ilustrado son los indicados por medio de un trazo negro grueso. Tales enlaces son detectados por el protocolo STP, el cual calcula una topología lógica sin bucles, la cual es la que se ilustra en el gráfico inferior como topología lógica resultante para la operación de la red por medio de los Puentes. En el ejemplo siguiente se muestra cómo funciona el protocolo Spanning Tree. Por simplicidad suponemos aquí que el identificador de cada puente es un número de dos dígitos decimales, aunque en la realidad ese identificador sería la dirección canónica de seis bytes. En primer lugar asociamos el costo que corresponde a cada interfaz, de forma inversamente proporcional a su velocidad. A continuación se elige como puente raíz el de identificador más bajo, en este caso el 42. CCAT (Centro de Capacitación en Alta Tecnología) 3 © Osvaldo A Pérez Redes Locales y Corporativas 2010 Unidad 3 Redes LAN Multisegmento Segmento 2 (100 Mb/s) Coste 10 P1 ID 44 ID 45 Puente raíz Coste 10 P2 P2 ID 42 Puente con dos caminos al raíz. Bloquea P2 (mayor coste) Coste 10 P1 Coste 100 Segmento 5 (10 Mb/s) Coste 10 P1 Este ya no bloquea nada pues ya no hay bucles Coste 100 P2 P2 Coste 100 Interfaz bloqueada por Spanning Tree ID 83 Camino de costo 110 P1 Coste 10 Segmento 1 (100 Mb/s) P2 P1 Coste 100 Coste 10 P3 ID 97 Segmento 3 (10 Mb/s) Coste 100 Segmento 4 (10 Mb/s) Después vamos a buscar el puerto raíz de cada puente; para este análisis es fundamental tratar los puentes por orden descendente de acuerdo con su identificador. Empezamos por tanto por el puente 97, cuyo puerto raíz es el 2 ya que es el único que le conecta con el nodo raíz. El costo de este camino es de 10. Los puertos 1 y 3 quedan como puertos designados para las LANs 3 y 4, respectivamente. El puente 83 tiene dos posibles caminos hacia el nodo raíz, por el puerto 1 (costo 10) o por el puerto 2 (costo 110). Elegimos por tanto como puerto raíz el 1 y bloqueamos el puerto 2. El puente 45 tiene también dos caminos posibles al nodo raíz, de costo 10 por el puerto 1 y de costo 110 por el 2. Elegimos como puerto raíz el 1 y bloqueamos el 2. El puente 44 elige como puerto raíz el 1 ya que es el único que le comunica con el puente raíz. El puerto 2 de este puente queda como puerto designado para la LAN 5. Por último las LANs 1 y 2 tienen como puertos designados los puertos 1 y 2 del puente raíz, respectivamente. 3.10 Utilización del Árbol de Expansión en una LAN. Bridge ID 42 Costo a raíz 0 Port ID 1 Costo 10 Port ID 2 Costo 10 Puerto designado Puerto designado LAN 1 Puerto raíz LAN 2 Puerto raíz Puerto raíz Puerto raíz Port ID 2 Costo 10 Port ID 1 Costo 10 Port ID 1 Costo 10 Port ID 1 Costo 10 Bridge ID 97 Costo a raíz 10 Bridge ID 83 Costo a raíz 10 Bridge ID 45 Costo a raíz 10 Bridge ID 44 Costo a raíz 10 Port ID 2 Costo 100 Port ID 2 Costo 100 Port ID 2 Costo100 Port ID 1 Costo 100 Puerto designado LAN 3 Port ID 3 Costo 100 Puerto designado LAN 4 Puertos bloqueados por Spanning Tree CCAT (Centro de Capacitación en Alta Tecnología) 4 Puerto designado LAN 5 © Osvaldo A Pérez Redes Locales y Corporativas 2010 Unidad 3 Redes LAN Multisegmento En este ejemplo se ilustra el re-cálculo de la topología de la red por cambio de los nodos de Puentes, para él caso de que se produjera un cambio si el puente 44 dejara de funcionar, entonces el puerto 2 del puente 45 se desbloquearía quedando como puerto designado para la LAN 5. Los puertos de los Puentes pueden inicializarse de forma diferente, tal como se indica a continuación. Los Puertos de un Puente inician en estado ‘blocking’ al conectase En tal estado no reencaminan tramas; solo captan y procesan las BPDUs que llegan Si el Puente no detecta Bucle para tal Puerto, lo pasa al estado ‘listening’ Comienza a emitir las BPDUs según lo calculado en el Puente Si no se detectan bucles, (por actualizaciones de otros puentes), pasa al estado ‘learning’ El Puente aprende las direcciones MAC de origen de las tramas que le llegan, pero sin reenvíalas Si no se detectan bucles, (por actualizaciones de otros puentes), pasa al estado ‘forwarding’ El Puente inicia la retransmisión de las tramas que le llegan según el Árbol de Expansión detectado Este procedimiento evita el bloqueo de la red al habilitar un nuevo Puente o Puerto El Procedimiento se realiza cada vez que se conecta una interfaz, lo cual implica que al conectar una Interfaz el puente tardará entre 10 y 20 segundos antes de empezar a remitir tramas CCAT (Centro de Capacitación en Alta Tecnología) 5 © Osvaldo A Pérez