Featured

PORQUE UN SWITCH SE BLOQUEA CUANDO HAY REDUNDANCIA?

This is the post excerpt.

 

REDES DE COMPUTADORAS I – QUIROGA OLIVERA ISRAEL – ING. REMMY FUENTES

PORQUE UN SWITCH SE BLOQUEA CUANDO HAY REDUNDANCIA?

 

En una red LAN la redundancia se logra teniendo varios enlaces físicos entre los switches, de forma que queden varios caminos para llegar a un mismo destino. El resultado de esto es que la red LAN queda con ciclos o bucles. En la figura puede verse una red LAN redundante y cómo se forma un ciclo en ella.
Si bien la red anterior es redundante los ciclos son altamente perjudiciales para la misma dado que producen una serie de problemas que acabarán por dejarla inutilizada. Dentro de dichos problemas podemos encontrarnos con:

  • Tormentas de broadcast: los broadcast en la red son reenviados una y otra vez y permanecen circulando en la misma sin fin, dado que en Ethernet no existe como en IP un campo de TTL. Lógicamente, al no eliminarse la situación se agrava con cada nuevo broadcast.
  • Múltiples copias de una trama: con la redundancia es muy probable que un host reciba una trama repetida, dado que la misma podría llegar por dos enlaces diferentes.
  • Tabla CAM inconsitente: una trama que proviene de una MAC en particular podría llegar desde enlaces diferentes.
  • Bucles recursivos: un bucle puede generar un nuevo bucle y estos crecer de forma exponencial. En una situación así la red quedará inusable en pocos segundos.

Ante la necesidad de tener una red LAN 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 de Spanning Tree (STP).

Terminología básica

Para comprender el funcionamiento del STP es necesario conocer alguna terminología indispensable asociada al mismo.

  • Bridge ID: es el identificador de cada bridge. Es el resultado de combinar la prioridad del bridge con su dirección MAC base.
  • Root bridge (puente raíz): es el punto focal de la red y el que se toma como referencia para las decisiones del STP. El RB será aquel switch que tenga el menor bridge ID.
  • BPDU (Bridge Protocol Data Unit): son pequeñas unidades de datos que transportan información de control del STP. Se las utiliza en primera instancia para escoger el RB y luego para detectar posibles fallos en la red.
  • Bridges no raíz: son todos los demás bridges de la topología. Participan en el intercambio de BPDUs y actualizan a su vez su base de datos del STP.
  • Costo de un puerto: se determina en base al ancho de banda del enlace y será el valor que se utilice para decidir el camino más corto al RB.
  • Costo del camino al RB: el costo de un camino al RB es la suma de los costos de cada enlace por el que pasa. El camino elegido por el STP al RB será aquel cuyo costo sea más bajo.
  • Puerto raíz (designado): es el puerto de cada bridge que se encuentra en el camino mínimo al RB. Sólo hay uno por bridge que siempre estará en estado de forwarding.
  • Puerto no designado: todo puerto en un bridge con mayor costo que el puerto designado. Será puesto en estado de bloqueo.

Estado de los puertos

Cada puerto que participa del STP puede estar en uno de cinco estados. Estos son:

  • Bloqueado (BLK): no reenvía tramas de datos, aunque sí recibe y envía BPDUs. Es el estado por defecto de los puertos cuando un switch se enciende y su función es la de prevenir ciclos.
  • Escuchando (LST): recibe, analiza y envía BPDUs para asegurarse que no existen bucles.
  • Aprendiendo (LRN): al igual que el estado LST, recibe, analiza y envía BPDUs, aunque aquí también comienza a armar la tabla CAM. En este estado aún no se reenvían tramas de datos.
  • Reenviando (FWD): envía y recibe todas las tramas de datos. Los puertos designados al final del estado de LRN serán marcados como FWD.
  • Deshabilitado: es un puerto deshabilitado administrativamente y que no participará en el STP. Para el STP un puerto en este estado es como si no existiera.

Operación del STP

El protocolo de STP cumple con una serie de pasos antes de alcanzar el estado estable y comenzar a enviar tramas de datos. Los mismos son los que se listan a continuación.

  1. Escoger el RB:
    1. Se elige el bridge con prioridad más baja.
    2. Si uno o más switches tienen la prioridad más baja se elige entre ellos el que posea la MAC base más baja.
  2. Se eligen los puertos raíz: cada bridge encuentra el menor camino hasta el RB y, con él, su puerto designado.
  3. Cada uno de los bridges escucha BPDUs en todos sus puertos y, si detecta algún bucle en un puerto, lo bloquea. De lo contrario lo pone en estado FWD. El criterio para decidir qué puerto bloquear en un switch es el siguiente:
    1. Si debe escogerse un puerto entre dos switches diferentes se elige para bloquear el de aquel switch con el mayor bridge ID.
    2. Si debe escogerse un puerto dentro del mismo switch entonces se escoge aquel que tenga el mayor costo. En caso de coincidir el costo, el puerto que se bloquea es aquel que tenga el identificador más alto.

A continuación se lista el costo de cada tipo de enlace para el STP (según IEEE):

Ahora bien, para ver lo aprendido hasta aquí vamos a analizar un ejemplo. Se plantea entonces la siguiente topología:

Se asume que todos los bridges tienen en la topología anterior la misma prioridad. Entonces, sabemos que el primer paso es escoger el RB. Para ello, al tener todos la misma prioridad vamos a escoger el que tenga menor dirección MAC, que resulta ser el SWA.

El próximo paso es encontrar el camino mínimo desde cada switch hasta el RB. Empezando por el SWB vemos que tiene tres puertos que nos permiten alcanzar el RB. Por el puerto 1 el costo total es de 27, resultado de sumar 19 del enlace de 100 mbps y 4 de cada enlace de 1 gbps. Luego, tanto por el puerto 2 como por el puerto 3 el costo total es de 19. En este caso, se escoge el puerto con identificador más pequeño, que es el 2. De esta manera, el puerto 2 será el puerto raíz y pasará a estado de FWD y el 3 quedará bloqueado. Dejaremos el análisis del puerto 1 para un poco más adelante.

Para el caso del SWC, el puerto raíz es el 1, ya que el costo por allí es de 4. Nuevamente dejaremos el análisis del puerto 2 para más adelante.

Finalmente, el SWD tiene dos posibles caminos al RB. Uno de ellos con costo 8 a través del puerto 2 y el otro con costo 38 por el puerto 1. Lógicamente será puerto raíz el puerto 2.

El último paso es decidir, de los puertos que quedaron sin determinar, cuál pasará a estado BLK para romper el bucle. Veamos las posibilidades:

  • Puerto 1 de SWB.
  • Puerto 2 de SWC.
  • Puerto 1 de SWD.

De lo anterior, el puerto 2 de SWC no podrá ser dado que está en el camino mínimo del SWD al RB. Así que ese pasará a estado FWD. La decisión se reduce entonces entre el puerto 1 del SWB y el 1 del SWD. Ante esta situación se resolvía bloqueando el puerto del bridge con mayor MAC, lo que implica que el puerto 1 del SWD quedará en BLK y el puerto 1 del SWB en FWD.

Extensiones de Cisco

  • Portfast: un puerto marcado como portfast será puesto en estado de FWD desde el inicio. Es especialmente útil para aquellos puertos donde estemos seguros que va a haber un único host. Asociado a portfast existen dos técnicas que permiten impedir un bucle en un puerto en este modo.
    • BPDU guard: su objetivo es el de evitar que se conecte un switch a un puerto de este tipo. Por ello, al recibir una BPDU el puerto se pone en estado de deshabilitado por error.
    • BPDU filter: es menos restrictivo que el anterior y lo que hace es detectar BPDUs en el puerto. Si se recibe alguna se saca al puerto de modo portfast y pasa al estado de bloqueo para cumplir con todos los pasos requeridos por el protocolo.
  • Uplink fast: debería ser habilitado en aquellos switches en donde existe algún puerto en estado de bloqueo. En ese caso, si se detecta una caída en el puerto que está como FWD se habilita rápidamente el puerto bloqueado, sin el delay habitual. Permite una reacción más rápida ante un inconveniente en la red.
  • Backbone fast: en este caso, se detecta el fallo en algún otro switch de la red y su objetivo es acelerar la convergencia ante dicho fallo.

Rapid Spanning Tree

El protocolo RSTP es un estándar que incorpora muchas características que aceleran el proceso de convergencia inicial y ante un fallo, valiéndose de varias de las ideas anteriores de Cisco. Es totalmente compatible con STP y de hecho un bridge ejecutando STP y otro RSTP pueden convivir perfectamente en la misma red, aunque utilizando el protocolo STP. Por ello, para que RSTP funcione, todos los switches deben soportarlo.

 

RENDIMIENTO

Rendimiento y Costo

 

1.    Medidas de rendimiento

 

El concepto de rendimiento se puede percibir desde diferentes puntos de vista como el Tiempo de respuesta: velocidad (tiempo de ejecución), Productividad (Número de tareas completadas en la unidad de tiempo). (MIGUEL, 1999)

También se puede acotar tiempo de ejecución y el rendimiento son recíprocos: aumentar el rendimiento implica disminuir el tiempo de ejecución. Â Hablaremos de mejorar el rendimiento. (D.A. PATTERSON, 2000)

En la siguiente gráfica podemos observar cómo ha evolucionado el rendimiento de los computadores en los últimos años:

 

 

En este gráfico se muestra la evolución del rendimiento de distintos procesadores, en comparación con la máquina VAX 11/780, que fue utilizada como máquina de referencia por los benchmarks SPEC hasta el año 2000.

Existen muchas medidas de rendimiento en una arquitectura como pueden ser:

  • Número de programas en paralelo.
  • Número de threads en paralelo.
  • Número de instrucciones máquina por programa (N).
  • Número de Instrucciones de alto nivel.
  • Complejidad del algoritmo (Ω).
  • Tiempo de ejecución (Tej).
  • Tiempo de respuesta de usuario.
  • Tiempo de CPU (TCPU).
  • Operaciones por segundo.
  • Rendimiento (performance).
  • Productividad o throughput.
  • Tiempo de respuesta. (Newell, 1994)

 

2.    Métricas para medir el rendimiento y medidas de rendimiento populares

2.1 tiempo de ejecución.-

El tiempo es la medida del rendimiento de la computadora. El tiempo de ejecución de un programa se mide en segundos por programa. El tiempo se puede definir de formas distintas:

  • *Tiempo de reloj (wall-clock time), tiempo de respuesta (response time), o tiempo transcurrido (elapsed time).-  Esta es la latencia para completar una tarea, incluyendo accesos a disco, accesos a memoria, actividades de entrada/salida, gastos del sistema operativo – todo.
  • Tiempo de CPU.- Se debe medir el tiempo que el CPU está computando una tarea sin incluir el tiempo de espera para las E/S o para ejecutar otros programas. El tiempo de CPU puede dividirse en: el tiempo empleado por el CPU en el programa “tiempo de CPU del usuario” (MIGUEL, 1999), y el tiempo empleado por el sistema operativo realizando tareas requeridas por el programa “tiempo de CPU del sistema”.

El tiempo de CPU del usuario es de 90,7 segundos, el tiempo de CPU del sistema es de 12,9 segundos, el tiempo transcurrido es de 2 minutos y 39 segundos (159 segundos), y el porcentaje de tiempo transcurrido que es el tiempo de CPU

2.2 Rendimiento CPU.-

La mayoría de las computadoras se construyen utilizando un reloj que funciona a una frecuencia constante. Estos eventos discretos de tiempo se denominan pulsos, pulsos de reloj, períodos de reloj, relojes, ciclos o ciclos de reloj.

Los diseñadores de computadoras referencian el tiempo de un período de reloj por su duración (por ejemplo, 10 ns) o por su frecuencia (por ejemplo, 100 MHz). El tiempo de CPU para un programa puede expresarse entonces de dos formas:

2.3 ciclos por instrucción.-

 

Además del número de ciclos de reloj para ejecutar un programa, también se puede contar el número de instrucciones ejecutadas – el recuento de instrucciones (IC, instruction count). Si se conoce el número de ciclos de reloj y el recuento de instrucciones, es posible calcular el número medio de ciclos de reloj por instrucción (CPI):

Esto permite utilizar al CPI en la fórmula del tiempo de ejecución:

2.4 MIPS.-

En esta sección se analizan otras alternativas al tiempo, propuestas como métricas para los programas reales.

Una de estas alternativas son los MIPS, o millones de instrucciones por segundo. Para un programa dado, los MIPS son sencillamente

 

2.5 MFLOPS.-

Otra alternativa al tiempo de ejecución son los millones de operaciones en punto flotante por segundo, abreviadamente megaFLOPS o MFLOPS, pero siempre pronunciado «megaflops». La fórmula de los MFLOPS es:

(Universidad de las Americas, 2002)

2.6 Tarjeta grafica

La memoria de la tarjeta gráfica es un importante argumento de ventas y aquí habrá que diferenciar qué especificaciones de la memoria son importantes y cuáles no lo son tanto. El tamaño o capacidad de la memoria es quizás la especificación más conocida y sin embargo hoy en día es más un argumento de marketing que una característica clave. Muchos fabricantes están colocando grandes cantidades de memoria a las que no se saca ningún beneficio; en general, hay muy poca diferencia de rendimiento, o ninguno,  entre una tarjeta con 2 GB de memoria y esta misma tarjeta con  4 GB o 6GB. Más importante será el tipo de memoria, su generación, que sea GDDR2, GDDR3 o la más actual GDDR5. Las diferencias de rendimiento entre un tipo de memoria y otro son considerables y deberemos intentar, en la medida de lo posible, que sea memoria de las últimas generaciones.  Por último, hay una característica dentro de la memoria de las tarjetas de la que no se habla tanto y que puede marcar la diferencia entre una tarjeta y otra, la interfaz de memoria o bus de datos. Digamos que una analogía de esta característica podía ser la capacidad de una carretera: de un solo carril, de dos carriles, de tres carriles… Cuantos más carriles más coches pueden circular. En el caso de la tarjeta gráfica más datos, es importante que esta característica de la tarjeta no produzca ninguno embudo en la comunicación con la CPU.(Norender, n.d.)

 

3.    Costo

Dado a que existe una variedad casi infinita de posibilidades en el ensamblado de una arquitectura, puesto que estas pueden tener diferentes opciones en los componentes de diferentes marcas y los usos que están presentan, además que estas van evolucionando con el paso del tiempo aumentando el precio en algunos componentes y bajando en otros:

 

 

Por lo que el costo puede variar en el uso que le daras a tu computador, como tambien los componentes de difentes marcas usadas como ejemplo:

4.    Bibliografía

 

D.A. PATTERSON, J. . H. (2000). Estructura y diseño de computadores. (Reverté, Ed.).

MIGUEL, P. DE. (1999). Fundamentos de los computadores.

Newell, A. y S. (1994). Computer science as empirical inquiry: symbols and search. Communications of the ACM.

Norender. (n.d.). II TARJETAS GRÁFICAS. Retrieved from http://www.norender.com/ii-tarjetas-graficas-especificaciones-a-tener-en-cuenta-para-trabajar-con-video/

Universidad de las Americas. (2002). Conceptos basicos de metricas. Puebla UDLAP.

Design a site like this with WordPress.com
Get started