Puentes Transparentes (IEEE 802.1d)

Anuncio
Puentes Transparentes (IEEE 802.1d)
Puentes “No Frills”.
Puentes “Learning”.
Problema de los ciclos. Algoritmo de Spanning Tree.
Extensiones a los puentes transparentes.
Bibliografía
R. Perlman, “Interconnections Second Edition
Bridges, Routers, Switches and Internetworking protocols”,
Addison Wesley, 1999.
1
Puente = Switch
HUB
Diferencias:
1)
Número de puertos
2)
Velocidad de conmutación (SW vs HW)
3)
Multipunto vs. Punto-a-punto
No relevante, evolución lógica
Engañoso
Igualdades:
1)
Escuchar promiscuo
2)
Aprendizaje
3)
Spanning Tree Protocol
2
Puentes Transparentes
No Frills (“tontos”)
Puentes
Transp.
Administrador
“Listos”
Dir. en rangos
Dir. Estructuradas
Puentes “learning”
3
Puentes “Learning”
A
B
C
D
E
F
A
B
C
D
B A ------
A
B -----BA
------
C
A
B
E
F
B A ------
D
E
F
1. Escuchar “promiscuo” (como todos los puentes transparentes).
2. Con la DIR. ORIGEN... Actualizar la CACHE del puerto por donde la ha recibido.
3. Con la DIR. DESTINO ...
Comprobar las CACHES de todos los puertos ...
SI la encuentra
SI es el mismo puerto ---> eliminar la trama
SI NO ---> transmitir por el puerto correspondiente
SI NO ---> Transmitir por todos los puertos menos por el que recibió la trama.
4. Eliminar de las CACHES la información con tiempo mayor a “aging time”.
4
A
Problema de los ciclos
B
¿Solución al problema? Æ Evitarlo
1. Prohibir los bucles Æ Si existen ... culpar al administrador (como con los repetidores).
2. Que un puente (u otra máquina) pueda detectar la existencia de un bucle. (¿cómo?)
3. Diseñar un algoritmo que seleccione un ÁRBOL de la topología original.
Existirían los ciclos, pero no “activos” Æ algoritmo de SPANNING TREE
Es interesante que existan los ciclos. Ciclo Æ camino alternativo Æ tolerancia a fallos.
5
SPANNING TREE
ÁRBOL:
ÁRBOL: NNnodos
nodosunidos
unidospor
por N-1
N-1líneas.
líneas.
ÁRBOL
ÁRBOLde
deEXPANSIÓN:
EXPANSIÓN: ...que
...quese
seexpande
expandeaapartir
partirde
deun
unnodo
nodoraíz.
raíz.
RAÍZ:
RAÍZ:ElElpuente
puentecon
conelelBRIDGE-ID
BRIDGE-IDmás
másbajo.
bajo.
MÉTRICA:
MÉTRICA:Criterio
Criteriopara
paralalaexpansión.
expansión.Usaremos
Usaremoslalamás
mássencilla,
sencilla,elelHOP
HOP(otras
(otrasposibilidades)
posibilidades). .
Cada
Cadapuente
puentese
seune
unealalárbol
árbolbuscando
buscandolalamétrica
métricamejor
mejoraalalaraíz.
raíz.
6
Expansión vista
desde fuera
Root
18
1 HOP
2 HOP
3 HOP
22
56
14
25
6
STP: Operación
Spanning Tree Protocol (STP) es un algoritmo DISTRIBUIDO
a) Muy sencillo de ejecución en cada puente
b) Complejo de controlar globalmente
Idea
Ideabásica
básica
1)
1) Los
Lospuentes
puentestransmiten
transmiten
periódicamente
periódicamenteaalos
losvecinos
vecinosmensajes
mensajes
de
deconfiguración
configuración(BPDU).
(BPDU).
2)
2) Los
Lospuentes
puentesseleccionan
seleccionanalalpuente
puenteraíz
raíz
(el
(elde
denúmero
númerode
deidentificación
identificaciónmás
más
bajo).
bajo).
3)
3) Cada
Cadapuente
puentecalcula
calculalalamejor
mejormétrica
métrica
aalalaraíz.
raíz.
4)
4) Para
Paracada
cadaLAN,
LAN,se
seselecciona
seleccionaun
un
designate
bridge
entre
los
puentes
designate bridge entre los puentes
que
queconectan
conectanaalalaLAN
LAN(el
(elpuente
puentecon
con
mejor
métrica
a
la
raíz).
mejor métrica a la raíz).
5)
En
5) Encada
cadapuente,
puente,se
seselecciona
seleccionacomo
como
root
port
el
puerto
que
da
al
puente
root port el puerto que da al puente
acceso
accesoaalalaraíz
raízcon
conlalamejor
mejormétrica.
métrica.
6)
Puertos
en
el
árbol
=
6) Puertos en el árbol =
root
rootport
port++designate
designateports
ports
resto
=
blocking
resto = blocking
1
2
3 X
4 X
X
5
7
Selección del puente ROOT
ROOT-ID
ROOT-ID==Prioridad
Prioridad(16
(16bits)
bits)++Dirección
DirecciónMAC
MACde
deuna
unade
delas
lasplacas
placasde
dered
red(48
(48bits)
bits)
Valor
Valorde
defábrica
fábrica==32.535
32.535
Configurable
Configurablepor
poreleladministrador
administrador
¿Que puente seleccionarías como ROOT?
100Mbps
8
Mensajes de configuración
Dest.
1..........
Orig.
Tipo
42 42
Hello time (1 a 10 seg)
Datos
Mensaje de configuración (BPDU)
Root-ID
Cost
Bridge-ID
Port-ID
.....
Otros
9
“Mejor mensaje”
Los
Lospuente
puentereciben
recibenlos
losmensajes
mensajesde
deconfiguración
configuraciónde
desus
susvecinos
vecinosyy...
...
eligen
el
“MEJOR
MENSAJE”.
eligen el “MEJOR MENSAJE”.
Configuran
Configuransus
suspuertos
puertosen
enbase
basealalmejor
mejormensaje
mensajeentre
entre
--los
recibidos
los recibidos
--yyelelque
quepuede
puedegenerar
generarelelpropio
propiopuente.
puente.
Sean
SeanM(A)=(a1,
M(A)=(a1,a2,
a2,a3,
a3,a4)
a4)yyM(B)=(b1,b2,b3,b4)
M(B)=(b1,b2,b3,b4)dos
dosBPDUs.
BPDUs.
Decidimos
Decidimosque
queelelmensaje
mensajeM(A)
M(A)es
esmejor
mejorque
queM(B)
M(B)con
conbase
baseen:
en:
sisi(a1<b1)
(a1<b1)entonces
entoncesM(A)
M(A)es
esmejor
mejorque
queM(B);
M(B);
sisi(a1=b1)
(a1=b1)entonces
entoncessisi(a2<b2)
(a2<b2)entonces
entoncesM(A)
M(A)es
esmejor
mejorque
queM(B);
M(B);
sisi(a1=b1)
(a1=b1)entonces
entoncessisi(a2=b2)
(a2=b2)entonces
entoncessisi(a3<b3)
(a3<b3)
entonces
M(A)
es
mejor
que
M(B);
entonces M(A) es mejor que M(B);
sisi(a1=b1)
(a1=b1)entonces
entoncessisi(a2=b2)
(a2=b2)entonces
entoncessisi(a3=b3)
(a3=b3)entonces
entoncessisi(a4<b4)
(a4<b4)
entonces
M(A)
es
mejor
que
M(B);
entonces M(A) es mejor que M(B);
10
Estado de los puertos
Estados
Estados
Puerto
Puerto
forwarding
forwarding ------------------- root-port,
root-port,designated-port
designated-port
listening
-----------estado
intermedio
listening ------------ estado intermedio(forward
(forwarddelay)
delay)
learning
----------“
“
“
learning ----------“
“
“
blocking
blocking ----------------------- resto
restode
depuertos
puertos
dp
27 rp
dp
dp
7
dp
14
Blocking
Blocking
Listening
Learning
Listening
Learning
Forward
Forwarddelay=30
delay=30seg.
seg.tip.
tip.
rp = root-port
dp = designated-port
37 rp
Forwarding
Forwarding
RSTP
802.1w
forwarding
blocking
listening/learning
dp
11
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
Tx-1
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
12
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
13
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
14
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
15
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
16
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
Tx-3
1.0.1.a
1.0.1.b
17
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
Tx-3
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
18
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
Tx-3
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Puerto Æ
estado Æ
dp
dp
Forwarding Forwarding
19
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
Tx-3
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Puerto Æ
estado Æ
dp
dp
rp
dp
Forwarding Forwarding Forwarding Forwarding
20
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
Tx-3
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Puerto Æ
estado Æ
dp
dp
rp
dp
rp
Forwarding Forwarding Forwarding Forwarding Forwarding
blocked
21
Ejemplo
( root-id . cost . bridge-id . port-id )
Tiempo
1.0.1.x
2.0.2.x
3.0.3.x
4.0.4.x
Puente-1
Puente-2
Puente-3
Puente-4
a
b
a
c
b
c
b
c
Tx-1
1.0.1.a
1.0.1.b
2.0.2.a
2.0.2.c
3.0.3.b
3.0.3.c
4.0.4.b
4.0.4.c
Rx-1
2.0.2.a
3.0.3.b
4.0.4.b
1.0.1.a
3.0.3.c
4.0.4.c
1.0.1.b
4.0.4.b
2.0.2.c
4.0.4.c
1.0.1.b
3.0.3.b
2.0.2.c
3.0.3.c
Tx-2
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
Rx-2
1.1.2.a
1.1.3.b
1.1.4.b
1.0.1.a
1.1.3.c
1.1.4.c
1.0.1.b
1.1.4.b
1.1.2.c
1.1.4.c
1.0.1.b
1.1.3.b
1.1.2.c
1.1.3.c
Tx-3
1.0.1.a
1.0.1.b
1.1.2.a
1.1.2.c
1.1.3.b
1.1.3.c
1.1.4.b
1.1.4.c
blocked
rp
Forwarding
blocked
Puerto Æ
estado Æ
dp
dp
rp
dp
rp
Forwarding Forwarding Forwarding Forwarding Forwarding
22
Ejemplo (2)
TAREAS:
4
A
B
1. Dar direcciones a los puentes.
2. Calcular el árbol (God mode :-))
3
1
3. Calculo distribuido (tablas de configuración)
C
4. Simular un error en (p.e.) línea C-3
2
D
E
F
5
6
23
Cache TimeOuts
1. Dilema del TimeOut largo (minutos) frente al corto (segundos)
2. Dos TimeOuts configurables por el administrador.
TimeOut largo ---> funcionamiento normal
TimeOut corto ---> activado por el mensaje TC (topology change)
24
Formato de los mensajes
Topology change
notification
Configuration
msg
Protocol identifier
version
menssage type
TCA, reserved, TC
root-ID
cost
bridge-ID
port-ID
message age
max. Age
hello time
forward delay
Protocol identifier
version
message type
0
0
0
0
0
128
Message-age=0
20 [6-40]
2 [1-10]
15 [4-30]
Message-age=1
Message-age=2
25
Detalles de implementación
Considerando:
1. Que en ausencia de mensajes de configuración en un puerto, el puente asume ser
el ‘designated port’ para ese puerto.
2. Que los ciclos son potencialmente desastrosos.
Debe procurarse:
Diseñar el árbol de tal manera que si la red se congestiona, el ST funcione correctamente.
¿Como?
1. Suficiente potencia en la CPU de los puentes para evitar que el puente descarte tramas.
(Si descarta .... Posible pérdida de mensajes de configuración.)
2. El puente debe poder transmitir mensajes de configuración no importa lo congestionada
que este la red.
26
Problemas con el Spanning Tree
1. One way connectivity.
2. Estaciones multi-homed
s
Tx pero no Rx
s
s
s
s
s
s
s
s
s
s
s
s
27
No tan transparente
Diferencias entre una LAN y una LAN Extendida
Diámetro máximo recomendado por IEEE Æ 7 puentes
1. Mayor probabilidad de pérdida de tramas
2. Mayor retardo ---> mayor tiempo de vida de una trama ---> TimeOuts de aplicaciones
3. Mayor probabilidad de errores en trama. (fallos en memoria de puentes)
(mantener CRC si es posible)
4. Posibilidad de recepción de tramas desordenadas (reconfiguraciones del árbol)
5. Posibilidad de duplicados (bucles temporales)
Además, si coexisten diferentes tecnologías de LAN ...
6. Las estaciones tienen que controlar cual es el tamaño máximo de trama (MTU)
7. Información específica de una tecnología puede perderse (p.e. Las prioridades en FDDI, TR)
Y además, se asume ...
A. Una estación sólo debe aparecer en un único punto de la red.
B. Una estación destino, especialmente si recibe mucho tráfico, responderá identificandose (y siendo
localizada por los puentes).
28
C. No habrá alumnos de la FI maliciosos mandando desde una estación “mensajes de desconfiguración”
El árbol como topología de interconexión
- Problemas de sobrecarga de tráfico cuanto más cerca de la Raíz.
- Solución: Fat Tree
- Nuevo problema: Varias tecnologías, no pudiendo utilizar la mejor en las hojas.
Internet
G
UPVnet basada en dorsal 1GE
29
30
Descargar