sábado, 10 de abril de 2010

¿Cuándo, dónde y por qué se utiliza Spanning Tree Protocol?

Anteriormente ya escribí un artículo dedicado en su integridad al STP (Spanning Tree Protocol, Protocolo de Árbol de Expansión), también decir que ya le aumenté al mismo los enlaces de interés que faltaban y aumenté una imagen y una pequeña explicación sobre cómo se producen los bucles que soluciona el STP a través de su algoritmo STA (Spanning Tree Algorithm, Algoritmo de Árbol de Expansión); por lo que ése artículo queda concluido y totalmente actualizado y a partir de ahora cuando aumente algo sobre este tema lo haré en una nueva publicación.

En el mencionado artículo dimos bastante cobertura sobre cómo funciona el STP e inclusive dimos un ejemplo de una red que presentaba problemas de bucles y mostramos paso a paso el funcionamiento de este protocolo para resolver ese problema. Sin embargo, ahora ya no vamos a entrar en detalles sobre su funcionamiento porque ya lo hicimos anteriormente, en este artículo vamos a resolver unas preguntas cuyas respuestas nos darán un panorama o escenario en el que entra en acción el STP.

1.- ¿Cuándo utilizar el STP?

Este protocolo se utiliza cuando nos encontramos en redes con topologías redundantes. Es en este tipo de redes que se pueden producir bucles (loops o lazos), los cuales pueden producir los siguientes problemas:
  • Tormentas o Inundaciones de Broadcast o Multicast. Los Broadcast en la red son enviados una y otra vez circulando sin fin en la misma, dado que en Ethernet no existe como en IP un campo TTL. Lógicamente al no eliminarse la situación se agrava con cada nuevo Broadcast.
  • Copias múltiples de Tramas. Con la redundancia es muy probable que un host reciba una trama repetida, dado que la trama podría llegar por dos enlaces diferentes.
  • Inestabilidad o Inconsistencia de Tablas de Direcciones MAC (Media Access Control, Control de Acceso al Medio). Una trama que proviene de una dirección MAC en particular podría llegar desde enlaces diferentes.
Como efecto de estos problemas se reduce el tráfico de usuario y la red parecerá estar inactiva o extremadamente lenta.

Entonces alguien dirá, si este tipo de topologías puede acarrear tantos problemas, ¿por qué utilizarlas?, ¿por qué mejor no utilizar otra topología de red y así evitar estos problemas sin necesidad de utilizar el STP?; todo tiene su razón de ser y estas preguntas tienen sus respuestas.

Las empresas y organizaciones requieren cada vez más de redes de computadoras para realizar su trabajo, pero además necesitan disponibilidad de la red con un tiempo de actividad continuo. 100 % de tiempo de actividad es imposible, pero se puede llevar a lo más alto; un 99,999 % por ejemplo, que equivale a 1 hora inactiva cada 4000 días o aproximadamente 5,25 minutos de inactividad por año.

Debido a esto los administradores de redes ven la necesidad del uso de estas topologías. Ya mencionamos las desventajas o problemas que acarrean las mismas, ahora resumamos algunas ventajas:
  • Se tiene una mayor disponibilidad de la red, es decir permiten más tiempo de actividad de la red.
  • Protección contra el tiempo de inactividad o no disponibilidad. El tiempo de inactividad puede deberse a la falla de un solo enlace, puerto o dispositivo.
  • Son tolerantes a fallas, ya que eliminan únicos puntos de fallo
  • Pueden asumir tareas ejecutas por rutas o dispositivos que fallan.
Para aclarar la situación tomemos un ejemplo más gráfico como la red de la Figura 1. Si el Switch A falla, el tráfico puede continuar fluyendo desde el segmento 2 al segmento 1 y al Router a través del Swtich B.
Figura 1.- Ejemplo de red con topología redundante.

Por lo que podríamos resumir que la confiabilidad se logra con equipos y diseños de red confiables, tolerantes a fallos (redes con topologías redundantes). Y podríamos utilizar en este contexto la palabra redundancia como sinónimo de confiabilidad.

2.- ¿Dónde se utiliza STP?

Como dice el dicho una imagen vale más que mil palabras:
Figura 2.- Modelo de Referencia OSI.

Este protocolo se utiliza solo en dispositivos de nivel 2 de la capa OSI (Open System Interconnection, Interconexión de Sistemas Abiertos), ósea en la capa de enlace de datos; es decir en los switchs y en los bridges (puentes). Debido a que en ésta capa no existe el campo TTL (Time To Live, Tiempo de Vida) que existe en la capa 3 (nivel de red) y que da un tiempo de vida a los paquetes para evitar este tipo de problemas.

3.- ¿Por qué se utiliza STP?

Se utiliza precisamente porque las redes redundantes producen bucles que acarrean los problemas mencionados anteriormente. Por lo que STP es el encargado de evitar y eliminar bucles en la red, dejandonos un path loop-free (camino sin bucles), de esta forma, STP asegura que sólo existe un camino a cada destino. En el caso en que un link (enlace) falle, el dispositivo pasa la interfaz del estado bloqueado, a estado forwarding (enviando), operativo.

Ahora tomemos como ejemplo la red de la Figura 3. Nuestro Host A tiene dos posibles caminos hacia el Host B; considerando un escenario en el cual, el Host A envía tráfico al Host B, pero ninguno de los switchs ha aprendido la MAC del Host B.
Figura 3.- El Host A envía una trama al Host B y se produce un bucle, copias de la trama e inestabilidad de las Tablas de Dirección MAC.

El Host A, transmite una trama al segmento A. Ambos switches reciben dicha trama tanto en el puerto 1/1 como en el 2/1, los switches actualizan sus tablas de direcciones situando al Host A en los puertos mencionados.

Ambos switches hacen un forward de la trama al Segmento B. No solo el Host B recibirá dicha trama dos veces (copias Múltiples de tramas), ambos switches recibirán la trama del otro switch también (escenario redundante).

Porque una de las características básicas del bridging transparente es la de escuchar la MAC origen para aprender el puerto correcto para usar con esa dirección, cada switch reaprenderá que el Host A reside en los puertos 1/2 y 2/2 respectivamente. Los switches asumen incorrectamente que todas las tramas para el Host A deben ser transmitadas al Segmento B (Inestabilidad en la Tabla de Direcciones MAC).

Los switches hacen un forward de la trama de nuevo al Segmento A, donde fue originada, por lo que aquí tenemos el bucle que debemos evitar. Si en vez de una simple trama nuestro Host A hubiera enviado un Broadcast, el problema sería aún mayor (Tormenta de Broadcast). Para colmo, el TTL no sirve para nada ya que estamos en capa 2, y TTL es de capa 3.

Ante la necesidad de tener una red LAN (Local Area Network, Red de Área Local) redundante y dinámica libre de los problemas asociados a la redundancia resulta evidente que es imperioso un protocolo que sea capaz de resolver estas cuestiones. Es aquí donde entra en acción el Protocolo Spanning Tree (STP).

STP ejecuta un algoritmo llamado STA (Spanning Tree Algorithm, Algoritmo de Spanning Tree). Para encontrar links redundantes, STA escoge un punto de referencia en la red, y localiza los caminos redundantes hacia ese punto (Spanning Tree Root, Raíz del Árbol de Expansión). Si STA encuentra un camino redundante, selecciona un solo camino hacia el root, y bloquea el resto. El puerto bloqueado sigue recibiendo BPDU (Bridge Protocol Data Units, Unidad de Datos de Protocolo Puente), ya que en caso de que el otro puerto falle, este entra en funcionamiento. Como mencioné al principio el detalle de funcionamiento de este protocolo y un ejemplo de aplicación del mismo ya fue expuesto en un anterior artículo.

3 comentarios :

  1. Hola!
    Buen fin de semana y saludos cordiales desde Argentina
    Elisa

    ResponderEliminar
  2. ola mi nombre es nardy y un maestro ns a enviao una trabajo que no tengo ni puta idea te importaria decirme antes de mañana ¿porque surge el protocolo stp? muchas gracias espero tu respusta

    ResponderEliminar
  3. Pensé que con esta entrada quedaba claro; stp surge por la necesidad de evitar bucles en redes redundantes, para mantener la estabilidad y confiabilidad de las mismas.
    O no sé a qué otra cosa específicamente te refieres.

    ResponderEliminar

Encuesta: ¿Quién es el mejor catedrático de la carrera de Ing. Informática de la UAGRM?