Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conceptos
¿Qué es un switch de datos?
• Es un mecanismo que interconecta enlaces para formar redes más
grandes.
– Un switch de datos es un dispositivo con múltiples entradas y múltiples
salidas.
• Su trabajo es lograr que la mayor cantidad de paquetes que entren al
switch vayan a la salida apropiada.
– Envía paquetes, frames o celdas de un puerto de entrada a un puerto de
salida (función conocida como switching ó forwarding)
– El puerto de salida se selecciona utilizando una dirección que trae el
header (encabezado) del paquete, frame o celda
• Según el tipo de switch:
– Para distribuir los paquetes, algunos utilizan circuitos virtuales y otros
conmutación de paquetes.
– Pueden conmutar paquetes de longitud variable o de longitud fija.
El switch permite construir
redes escalables
• Ventajas
– Los switches, al interconectarse unos con otros,
permiten cubrir grandes áreas geográficas (además,
toleran la latencia). Permiten construir grandes redes
– Pueden soportar un gran número de nodos (ancho de
banda es escalable).
• Colocar un nuevo host al switch no necesariamente carga más
la red.
• LAS REDES CON SWITCHES SON MÁS
ESCALABLES QUE CON
CONCENTRADORES
Implementación de un switch en una
estación de trabajo de propósito general
Bus de E/S Paquete entrante
CPU
Interface
1
Interface
2
Interface
3
Memoria
Paquete saliente
La CPU analiza el header
para saber por cuál Interface
debe “sacar” el paquete,
¿Cuál es el desempeño de la anterior
implementación?
• Supongamos que la estación de trabajo puede conmutar
100.000 paquetes por segundo (pps) y que el tamaño
promedio del paquete es de 64 bytes.
Throughput = pps x bits_por_paquete
• 51.2 Mbps
• Este “ancho de banda” debe ser compartido por todos los
usuarios
– ¿Qué pasa si todas las estaciones son 100 Mbps?
– ¿Qué pasa si, por diseño de la red, hay varias puertos de entrada y
uno sólo de salida?
• Siempre habrá contención inevitable
Problemas con la anterior
implementación
• El throughput es bajo con lo requerido
actualmente en redes.
• Con un Bus de E/S de 1 Gbps se podrían
manejar 10 T3 (45 Mbps) ó hasta 3 STS-3
(155 Mbps) o un STS-12 (622 Mbps).
• Entonces, ¿Qué se debe hacer?
– Implementar los switches en hardware de
propósito especial.
Puertos y entramados
Puerto de Puerto de
Entrada Salida
Puerto de Puerto de
Entrada Salida
Fabric
Puerto de (Entramado) Puerto de
Entrada Salida
Puerto de Puerto de
Entrada Salida
(routing) 2 Switch 2
Nodo C
2 3 1
Tabla de conmutación
0
para el switch 2
Destino Puerto Nodo A
A 3
B 0
C 3 Nodo G 0 Switch 3 Nodo B
1 3
D 3
E 2 2
F 1
Nodo H
G 0
H 0
Modelo de Datagrama
Host A
Host B
2
Stripping D C B A D C B
Puntero
Ptr D C B A Ptr D C B A
Uso de Source Routing
• La conmutación basada en Source Routing puede
ser utilizada sobre redes no orientadas a conexión
(datagrama) o en redes orientadas a conexión
(circuito virtual). Por ejemplo:
– IP (Internet Protocol), que es un protocolo no orientado
a conexión, incluye una opción para source routing que
permite que ciertos paquetes seleccionados para ser
enrutados desde el origen.
– En redes de circuitos virtuales, el source routing
significa escoger un trayecto especificado sobre la red.
Switches de datos y LANs Extendidas
• Las LANs tienen limitaciones físicas (e.g., máximo 2500 m)
• Conectar dos o más LANs con un switch
– Estrategia de aceptación y envío (forward)
– Conexión en la capa 2 (no coloca un nuevo header)
A B C
Puerto 1
Switch
Puerto 2
X Y Z
10
2 4
35
25
30
1 20
40
3 5
15
Algoritmo de Spanning Tree
10
2 4
35
25
30
1 20
40
3 5
15
Algoritmo de Spanning Tree
A
C S5
D S7
S2 K
E F
S1
G H
S6
S4
I
J
“desempata”)
designado
Todos los Root
S1
• STP desactiva los enlaces
Puertos port
designados
redundantes, “rompiendo” los G H
Switch
ciclos que tenga la red root
• Cada switch reenvía frames S6 Root
S4
port
sobre la LAN para la cual él es I
el switch designado. Los J
puertos que se comunican con Puertos
el root reciben el nombre de designados
puertos designados
Detalles del algoritmo
• Los switches intercambian mensajes de configuración (llamados
BPDUs: Bridge Protocol Data Units)
– ID del switch “que envía” el mensaje
– ID del switch root (identificación del switch que se supone es el root)
– Distancia (en hops) desde el switch “que envía” al root
• Cada switch registra el “mejor” mensaje de configuración para cada
puerto
• Inicialmente, cada switch asume que él es el root
• Cuando aprende que no es el root, detiene la generación de mensajes
de configuración
– cuando el algoritmo se estabiliza, sólo el root genera mensajes de
configuración
Detalles del algoritmo (cont.)
• Cuando aprende que no es un switch designado, detiene el reenvío de
mensajes de configuración
– cuando el algoritmo se estabiliza, sólo los switches designados reenvían
mensajes de configuración
• El root continúa enviando periódicamente mensajes de configuración
• Si un switch no recibe mensajes de configuración después de cierto
periodo de tiempo, él comienza a generar mensajes de configuración
reclamando ser el root
• Convergencia: la convergencia del algoritmo se logra cuando todos los
switches tienen sus puertos o en estado forwarding o en blocking (es
decir cuando el algoritmo STP se ha estabilizado). El problema con
lograr la convergencia es el tiempo: puede tomar entre 30 a 50
segundos en condiciones normales y mientras los puertos logran
estabilizarse NO SE TRANSMITEN DATOS.
Campos del BPDU (Bridge Protocol
Data Unit)
2 1 1 1 8 4 8 2 2 2 2 2
Tipo de BPDU
Forward delay
Massege age
Hello time
Switch ID
Root path
identifier
Protocol
Max age
Root ID
Versión
Por ID
Flags
cost
• Protocol identifier (2 bytes): contiene el valor 0
• Protocol version identifier (1 byte): contiene el valor 0
• BPDU type (1 byte): 00000000 = Configuración, 10000000 = Topology change notification (si es este último, aquí termina el
BPDU pues no habrá más campos)
• Flags (1 byte): Sólo se utilizan dos bits. Bit 1 es Topology Change flag (TC) e indica un cambio de topología y el Bit 8 es
Topology Change Acknowledgement flag (TCA) y se activa para confirmar que se recibió un mensaje con un bit TC.
• Root identifier (8 bytes): Identifica el root switch mostrando 2 bytes de la prioridad seguidos por 6 bytes de la MAC address
• Root path cost (4 bytes): unidades de costo arbitrarias del path desde esl switch que envía el BPDU hasta el root switch
• Bridge identifier (8 bytes) : Identifica el switch que envía el BPDU mostrando 2 bytes la prioridad y 6 bytes la MAC address
• Port identifier (2 bytes): Identifica desde qué puerto fue enviado el BPDU. Tiene dos partes, el primer byte es la prioridad del
puerto y el segundo byte es el identificador del puerto. Entre más pequeño el número de la priorida, más alta es ésta.
• Message age (2 bytes): Especifica la cantidad de tiempo desde que el root envió el mensaje de configuración sobre el cuál se
basa éste BPDU. Representa un número binario sin signo multiplicado por 1/256 de segundo. Por ejemplo, 0x0100 (256)
representa un segundo.
• Max age (2 bytes):Muestra cuando éste BPDU debe ser descartado. Está en 1/256 de segundo, al igual que Message age.
• Hello time (2 bytes) : Indica el periodo tiempo entre mensajes de configuración del root switch. En 1/256 de segundo)
• Forward delay (2 bytes) : Indica cuánto tiempo deben esperar los switches antes de cambiar a un nuevo estado después de un
cambio de topología (si un switch cambia demasiado pronto pueden presentarse loops) -ejercicio-
Selección del puerto designado
• Para determinar el puerto o puertos que se utilizarán para
comunicarse con el root se debe calcular el costo de la
trayectoría (path)
– El costo STP es el costo total acumulado del path calculado según
el ancho de banda de los enlaces.
Puerto 0
Puerto 1 Puerto 1
10Base-T
6 6 2 2 2 46 - 1500 4
TPID/TCI