¿Que es STP y para que sirve?

Iniciado por Cl0udswX, Marzo 03, 2015, 10:41:35 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 03, 2015, 10:41:35 PM Ultima modificación: Marzo 06, 2015, 07:24:56 PM por Cl0udswX
Muy buenas queridos underc0ders.

Pues aquí les dejo un humilde aporte que escribí, para seguir alimentando ese monstruo sediento de conocimiento que todos llevamos dentro, en esta ocasión quiero hablarles sobre STP, así que vamos a ello, primero vamos a definir...


¿QUE ES STP?

Pues si hacemos una búsqueda usando simplemente las siglas STP nos llegaran resultados desde todos los confines del mundo, por ejemplo:

Sistemas de Transacciones y Pagos
STP marca de aceites y aditivos para carreras ("Scientifically Treated Petroleum")
incluso una gira magnifica de los Rollings Stones llamada Stones Touring Party.


Pero en el ámbitos de redes informáticas todos coincidiremos con que STP significa Spanning Tree Protocol (Protocolo de arbol de expansion) y este se encarga de reconocer y administrar bucles en topologias de redes nacidos a función de la redundancia en la misma.


Tranquilos que todo viene de forma clara...

Vamos a dar algunos matices necesarios para comprender de que va este protocolo:

Bucle: Un bucle en sentido general es un ciclo que se repite indefinidamente hasta que uno de los elementos que lo mantiene desaparezca, en programacion por ejemple existen bucles de que se repiten hasta que una condición se cumpla o deje de cumplirse.

Redundancia: La redundancia tiene que ver con asegurar la alta disponibilidad de los recursos en un sistema informático, ya sea duplicando enlaces, servidores, datos, etc.. En este caso como hablamos de redes informáticas se usara la palabra redundancia para referirnos a enlaces redundantes y dispositivos de conmutación redundantes.


¿Como funciona STP?

Pues es una practica común que en el diseño de la topologia de una red se agreguen enlaces redundantes con el fin de hacer la red tolerable a fallas y de esta forma si falla un enlace la red tiene la capacidad de recuperarse inmediatamente sin que el usuario ni siquiera sienta la falla, por ejemplo:


En la imagen anterior podemos ver como tenemos dos posibles rutas para llegar desde PC1 hasta PC2, estas son:

*PC1--S1--S3--PC2

*PC1--S1--S2--Switch3--S3--PC2

Si es bien es cierto que esta practica nos asegura una alta disponibilidad en la red que administramos tambien es cierto que tiene un lado negativo y son los bucles de switching, tramas duplicadas y tormentas de difusion que pueden llegar incluso a colgar todo un segmento de red, vamos a tratar de definir que significan estos conceptos.

Bucles de switching.

(Explicación técnica)
Un bucle de switching son bucles físicos en dispositivos de capa 2 donde una trama puede quedar atrapada en la red indefinidamente consumiendo ciclos de CPU y ancho de banda hasta convertirse en una tormenta de difusión.

(Explicación sencilla)
Recuerdan la imagen anterior? Imaginen que esos dispositivos empiezan a enviar tramas duplicadas unos a otros indefinidamente, eventualmente la cantidad de trafico aumentara de forma exponencial y terminara por colapsar.

Tormentas de difusión. (Broadcast Storm)
Es cuando la cantidad de trafico excede la capacidad que tiene la red para procesar y reenviar tramas causando asi una denegacion de servicio local (primera vez que utilizo este termino, suena bien  8) )

Tramas duplicadas
Pues no hay mucho que explicar, son tramas de difusión que se multiplican en los switches debido a su comportamiento normal.

Aqui es donde los listos preguntan: ¿Por que se duplican las tramas?



Sigue la tanda de aclaraciones..:

Mensaje de difusión (Broadcast Mesagge): es un mensaje que tiene por destino todos los dispositivos de una red, existen protocolos que necesitan de estos mensajes para poder funcionar, por ejemplo ARP (Address Resolution Protocol), DHCP (Dynamic Host Control Protocol), entre otros.

Switch de capa 2: Un switch de capa 2 es un dispositivo de conmutación que no entiende de direcciones IP, tampoco de enrutamiento y que solo se maneja con direcciones fisicas de capa 2 (direcciones MAC). Bien, atención que esto es muy importante  :o :

Si un switch de capa 2 recibe un mensaje de difusión por una de sus interfaces su comportamiento normal es que reenvíe el mismo mensaje por todos sus puertos excepto por donde lo recibió (Aqui es donde sucede el duplicado de tramas)

Teniendo esto en cuenta imaginen la topologia anterior y piensen en un mensaje broadcast enviado desde PC1 hacia la red, pues como parte de su comportamiento S1 lo reenviara a S2 y S3 y estos posteriormente enviaran una trama duplicada a Switch3 que hará el reenvio de 2 tramas duplicadas a S2 y S1 y voila!!! Comenzó el juego sin final donde el trafico ira aumentando exponencialmente hasta consumir todo el ancho de banda disponible y los ciclos de CPU dejando la red "useless" inservible.

Como evitar que ocurra todo esto...

La respuesta esta en 3 consonantes: STP

¿Cuales son los super-poderes de STP?

Pues este protocolo analiza la topologia y corta los posibles bucles que se puedan presentar creando algo parecido a un arbol (de ahi el nombre) por ejemplo en la siguiente imagen STP se dio cuenta de que existe un bucle en la topologia y bloqueo uno de los puertos en S2 de forma automática.


Para lograr esto todos los switches en una red configurada con STP realizan el siguiente proceso:

1.- Eligen un Puente raiz (Bridge Root) algo asi como el Switch jefe, lo hacen intercambiando BPDU (Bridge Protocols Data Unit) para determinar quien tiene el menor BID (Bridge ID)

2.- Luego de saber quien es el jefe se configuran los puertos en tres posibles tipos
   a.- Puerto raiz (Es el puerto por donde se podrá alcanzar el Switch jefe)
   b.- Puerto designado (Es un puerto que funcionara de forma normal reenviando tramas y BPDU)
   c.- Puerto bloqueado (Este quedara en modo bloqueado rompiendo así el bucle, mas sin embargo si falla un enlace STP lo habilitara       para que la red pueda seguir funcionando
   d.- Puerto perimetral (Este es un puerto que conecta a dispositivos finales y por lo tanto no necesita correr STP)

3.- Los switch se mantienen enviando pequeñas BPDU cada 2 segundos con paquetes hello temporizados para estar alerta de cualquier cambio en la topologia de la red.

Como configurar STP
Pues por suerte para nosotros STP viene activado por default en la mayoría de los Switches de capa 2, independientemente del fabricante (CISCO, JUNIPER, etc..) por lo que no es necesario tirar de muchos comandos, pero si se nos da el caso de encontrarnos con un entorno conmutado sin STP  (Lo cual seria super raro) podríamos hacerlo de la siguiente forma:

Para CISCO
Código: php
Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#spanning-tree vlan 1


Para Juniper
Código: php
user@switch# set stp interface all


Saludos por alla queridos underc0ders!!

En mi próximo rato libre escribiré algo sobre DHCP así que atentos.
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.


+1 Excelente redaccion! :)
Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Excelente Cl0udswX! Nunca había leído nada al respecto. Te felicito por la redacción tan clara y didáctica.

+1. Gracias por el aporte!

Saludos!
WhiZ


Que bueno que se entiende, jejejjejej

Tengo un sin fin de cosas por escribir pero solamente cuando encuentro un hueco entre la universidad, el instituto y el trabajo es cuando lo hago.

Saludos por alla herman@s
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.


Muy buena esplicacion. solamente queria extender unpoco mas la eleccion del root bridge. bueno antes de que empieze la faceta de spanning tree protocol, osea antes de que se elijan algun puerto en cualquier switch como bloqueado, assignado, root, o perimetral, primero que es el primer paso es elejir el root bridge. esta claro el root bridge se eleje facil. los switches empiezan a mandarse entre si mismos BPDU paquetes. el switch con la prioridad mas alta para ser el root bridge sera elejido como root bridge. ok facil no, aqui viene el problema. por lo menos lo switches de cisco vienen preconfigurados con la misma prioridad de root bridge que es el numero 32768. entonce supongamos cada switch empieza a mandar BPDU y se dan cuenta de que todos tienen la misma prioridad de switches. deacuerdo al STP cuando esto pasa los switches con la MAC address mas baja sera elejido como Root bridge. Tener en cuenta que todo esto es con fines de no permitir Broadcast storms que pueden llenar las tablas arp en los switches, o peor aun traer todos los switches a un estado donde no trabajan. ES un error comun entre administradores de red de dejar estos prioridades de los switches como vienen. no es nada bueno por que no se tendra ningun control de que switch terminara siendo el root bridge(el jefe). imaginemos que el core switch que se conecta con el back bone de la red se elija como root switch va a resultar en mas carga de recursos para un switch que queremos que sea el mas rapido de todos :)

Tienes toda la razón @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, en la práctica no es bueno dejar los valores por default que traen los switches ya que eso podría resultar en la elección de un sw_root que no seria el mas idóneo para un buen rendimiento de la red.

Una buena practica es forzar la elección de un sw como root, así como un segundo sw que haga de root en caso de que falle el primero, todo esto teniendo en cuenta la potencia y ubicación del mismo.

Saludos y gracias por comentar.
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.