1. PUENTES TRANSPARENTES Y CONMUTADORES

Transcripción

1. PUENTES TRANSPARENTES Y CONMUTADORES
1. PUENTES TRANSPARENTES Y CONMUTADORES
Las redes de área local (LAN – Local Area Network - ) pueden interconectarse utilizando
los puentes, que al operar en la capa 802.2 LLC, permiten utilizar diferentes tecnologías de
red:
Los puentes, ofrecen ciertas ventajas, como
• Permiten interconectar diversas tecnologías (802.11, 802.3, 802.15.4, …)
• Interconectan LAN dispersas geográficamente utilizando distintos medios en los
segmentos de backbone (fibra) y de acceso (UTP).
• Dividen segmentos LAN con mucha carga en segmentos LAN con menor carga, lo
que incrementa su rendimiento.
• Mejoran la robustez de la red, pues facilitan la localización de errores y posibilitan
caminos alternativos.
• También mejorar la seguridad en la red, pues confinan el tráfico a segmentos LAN
de menor tamaño (especialmente útil en las tramas de difusión).
Aunque los puentes son conceptualmente simples, cuando unimos segmentos con diferente
tecnología LAN se debe tener en cuenta ciertas restricciones:
• Distintas LAN pueden tener diferentes tamaños máximos de trama, lo que puede
provocar su descarte en el puente (no se dividen las tramas).
• Distintas LAN operan a diferentes velocidades, lo que puede afectar a
temporizadores de protocolos de nivel superior.
• Algunas tecnologías LAN permiten priorización de tráfico, capacidades de tiempo
real, … mientras otras no.
Existen dos tipos básicos de puente: encaminado en el origen y transparente. Los primeros
asumen que la estación que envía una trama puede distinguir entre las estaciones unidas a
su segmento y las que no lo están, en cuyo caso debería codificar la ruta que permite llegar
hasta ella atravesando los distintos puentes. Aunque aprovechan mejor el ancho de banda,
este tipo de puentes exigen de una mayor complejidad en los sistemas finales (protocolos
para determinar rutas a los posibles destinos) por lo que están en desuso.
Los puentes transparentes, definidos en la IEEE 802.1D no precisan de un software
especial en las estaciones de usuario, ni de configuración manual, adaptándose de forma
automática y de forma transparente al usuario para localizar el destino. El precio que
R. Estepa
Redes de Ordenadores: LAN
1
debemos pagar por ello es un rendimiento más pobre en la utilización del ancho de banda.
Los segmentos LAN interconectados por el puente transparente se denominan puertos. Los
switches o conmutadores son puentes transparentes con cientos de puertos
interconectados mediante un backplane de alta velocidad. La estructura interna de un
puente transparente se refleja en la siguiente figura:
Los puentes pueden recibir tramas simultáneamente por diversos puertos, por lo que es
preciso tener un buffer para almacenar las tramas entrantes. Los puertos trabajan en modo
promiscuo, recibiendo las tramas de todos los puertos y reenviándolas tan sólo por el/los
puertos necesarios para que lleguen a su destino. Para ello, los puentes transparentes
mantienen una tabla de reenvío (forwarding) que mapea direcciones MAC a un puerto
determinado. Cuando se recibe una trama, el puente busca en su tabla el puerto al que se
encuentra asociado la dirección MAC destino de la trama. Si lo encuentra, enviará la trama
tan sólo por dicho puerto, y si no, se enviará a todos los puertos. Las tramas dirigidas a
dirección de grupo (difusión), también se reenviarán por todos los puertos. En cualquiera
de los tres casos, la trama nunca se reenviará por el puerto donde llegó.
La tabla de reenvío puede ser configurada manualmente, pero para evitar esta tediosa tarea
(un puerto puede tener varios miles de entradas, que además varían cuando la topología
cambia de forma dinámica), todos los puentes transparentes ejecutan la función de
aprendizaje autónomo (backward learning), que consiste en lo siguiente:
1. El puente escucha en modo promiscuo por todos sus interfaces
2. Para cada paquete recibido, guarda la dirección MAC origen del paquete en una
memoria caché (denominada tabla de reenvío), junto con el puerto dónde ha sido
recibido
3. Para cada paquete recibido, busca en su tabla de reenvío la dirección MAC destino
del paquete:
a. Si no la encuentra, reenvía el paquete por todos los puertos excepto por el
que fue recibido
R. Estepa
Redes de Ordenadores: LAN
2
b. Si la encuentra, reenvía el paquete sólo por el interfaz especificado en la
tabla. Si dicho interfaz fuera el mismo por dónde se recibió el paquete, se
descartará (filtrado).
4. Todas las entradas en la tabla de reenvío tienen un temporizador asociado, que la
descarta cuando expira. Cada vez que se recibe una trama por un puerto, se
renueva dicha entrada. Esto permite la adaptación a cambios de topología, a la vez
que reduce el tamaño de las tablas de reenvío.
Debido a que una estación podría moverse de ubicación, es preciso que los puentes
refresquen periódicamente la información de su tabla de reenvío. La elección del tiempo
máximo sin refresco permitido (a partir del cual la entrada en la tabla se elimina) no es
tarea sencilla, pues valores altos perjudican la movilidad y los bajos implican el reenvío
innecesario de muchas tramas. Por esto, un valor razonable podría situarse en el entorno
de 15 minutos (tiempo necesario para que un usuario se cambie de sitio), aunque si la
estación quisiera comenzar a trabajar antes en su nueva ubicación siempre puede enviar un
paquete a difusión (por ejemplo un ARP), que alcanzaría a toda la red provocando la
actualización de las tablas de reenvío.
[EJERCICIO] Suponga un puente con dos puertos. En el puerto 1 se encuentra un
segmento 802.3 con los equipos de direcciones MAC A y Q, mientras que el puerto 2 tiene
otra LAN 802.3 con los equipos de direcciones MAC D y M. Analice las tablas de
reenvío para las comunicaciones: a) A->D, D->A b) A->Q
[EJERCICIO] Añada al caso anterior un tercer segmento con equipos Z y C. analice la
tabla de reenvío para las comunicaciones A->Z, Z->A
[EJERCICIO] Suponga ahora tres segmentos, el primero con los equipos A, Q y el puerto
1 de puente X, el segundo con los equipos D, M, el puerto 2 del puente X y el puerto 1 del
puente Y, y el tercero con los equipo K, T y el puerto 2 del puente Y. Analice las tramas
enviadas y las tablas de reenvío en ambos puentes para las comunicaciones: A->T, T->A,
D->A.
[EJERCICIO PROPUESTO] Realice en packet tracer los ejemplos anteriores. Anote las
tramas enviadas en el caso de repetirse dos veces las comunicaciones anteriores. Suponga
dos casos: entradas que expirar y entradas que se conservan.
[EJERCICIO PROPUESTO] Con packet tracer, realice un escenario en árbol con 1 puente
interconectando a otros dos puentes. Coloque dos PC en cada uno de los dos puentes
finales y programe el envío de PDUs entre ambos PC. ¿Cómo afectan las comunicaciones
al resto de la red?. Repita el mismo escenario pero los clientes conectados directamente a
los conmutadores. Analice el efecto de esta modificación en el tráfico generado.
Suponga el siguiente escenario:
R. Estepa
Redes de Ordenadores: LAN
3
A
P1
P2
P3
Cuando la estación A envía un paquete (no importa el destino) los tres puentes lo reciben,
anotando en su tabla de reenvío que la estación A se ubica en el puerto 1, y enviándolo por
el puerto 2. Supongamos que el primer puente que lo recibe por el segundo puerto es el
puente 1. En este caso, cambiará la tabla de reenvío anotando que la estación A se ubica en
el puerto 2. Si los tres puentes hacen lo mismo, la estación A quedará inalcanzable. Otro
efecto que tiene lugar es que los paquetes que llegan por el puerto 2 con destino
desconocido, se reenviarán nuevamente por el puerto 1, cambiando además de nuevo la
ubicación de la estación A. La red continuará reenviando tramas indefinidamente hasta
congestionar los equipos de conmutación. La conclusión es que los puentes transparentes
no funcionan en topologías donde existen bucles y por ello implementan un protocolo
denominado ‘arbol de expansión’ o spanning tree que los detecta y anula. Su
funcionamiento se explica a continuación:
1.1. Algoritmo: Spanning Tree
Su objetivo es que los puentes descubran dinámicamente topologías sin bucles que
aseguren la conectividad, esto es, que siempre exista un camino entre cualquier pareja de
puentes. Su funcionamiento se basa en el envío de unas tramas denominadas:
Configuration Bridge Protocol Data Unit (CBPDU o simplemente BPDU) que permiten la
elección de un puente raíz y la activación de los puertos que permiten llegar al nodo raíz
sin bucles con el menor coste. Las CBPDU son mensajes encapsulados en tramas LLC, y
enviados a un DSAP (01000010) que es interpretados por todos los puentes.
A cada puente en la red se le asigna un identificador (ID) con independencia de las
direcciones MAC de sus puertos. El campo de datos de la CBPDU contendrá, entre otros,
los siguientes elementos:
- Root ID: ID del puente raíz
- Transmitting bridge ID: ID del puente que envía la CBPDU
- Cost: Coste del camino de menor coste para llegar hasta el puente raíz.
Inicialmente, todos los puentes asumen que son el raíz, enviando sus CBPDUs por todos
los puertos con su ID como RootID, y coste 0. Los puentes almacenan la mejor CBPDU
recibida en cada uno de sus puertos. Para determinar cuál es la mejor, comparan cada
CBPDU con otras recibidas por el mismo puerto y con la suya propia siguiendo el
siguiente criterio: (dadas 2 CBPDUs, A y B)
- A es mejor que B si el root ID de A es numéricamente inferior al de B
- Si ambos son iguales, A es mejor que B si el coste de A es menor que el
coste de B
- Si coste y rootID son iguales A es mejor que B si Transmitting bridge ID
de A es menor que el de B
R. Estepa
Redes de Ordenadores: LAN
4
-
Si todo lo anterior coincide (por ejemplo 2 puertos del mismo puente), se
elige como criterio el menor número de puerto (que también viaja en la
CBPDU), siguiente la numeración interna del puente.
Cuando un puente recibe por un puerto una CBPDU que mejora la que él mismo puede
enviar, deja de transmitir su CBPDU por dicho puerto. Por tanto, cuando el algoritmo se
estabiliza tan sólo un puente en cada LAN (denominado puente designado) enviará
CBPDUs en dicha LAN.
Para calcular la CBPDU que envía un puente, debe calcular el RootID y coste hacia el
nodo raíz, lo que hace en función de las CBPDUs recibidas por los puertos y de la suya
propia. El RootID será el menor RootID de todas las CBPDUs recibidas por el puente
(incluyendo la propia). El coste para el puente raíz será 0. En otro caso el coste será la
suma de el coste de la mejor CBPDU y el coste de llegar hasta el puente por el que se
recibió dicha CBPDU (si asumimos coste 1 para cada enlace, el coste será el de la mejor
CBPDU más uno). El puerto por el que recibió dicha CBPDU será seleccionado como
puerto raíz o ‘in-link port’.
Una vez que un puente conoce su propio coste y RootID, compara su propia CBPDU con
la mejor recibida en cada uno de los puertos, considerándose puente designado para
aquellos puertos que ofrezcan una peor CBPDU, y transmitiendo en consecuencia su
propia CBPDU por dichos puertos (se envían iniciados por el puente raíz cada ‘hello
time’. El resto de los puentes cuando la reciben, reenvían su propia CBPDU por los
puertos designados).
Finalmente, un puente considerará como puertos activos su puerto raíz y los puertos para
los cuales se considera puente designado. Dichos puertos se configuran en modo
‘fordwarding’ o reenvío y serán utilizados para enviar y recibir tramas de usuario. El resto
de los puertos se establecen en modo ‘blocking’, y descartarán los paquetes recibidos
evitando a su vez la transmisión por dichos puertos.
[Ejercicio: aplique el algoritmo del árbol de expansión a la siguiente topología. Indique las
CBPDU intercambiadas y el coste, RootID y estado de los puertos en los diferentes
puentes]
ID=1
ID=2
ID=3
Con el algoritmo expuesto anteriormente, la red encontraría una topología libre de bucles
y podría comenzar su normal operación. No obstante, es necesaria la existencia de algún
mecanismo que permita a adaptación a situaciones excepcionales como la caída de nodos
o la rotura de enlaces. Para ello, las CBPDU almacenadas tienen asociadas un campo edad
R. Estepa
Redes de Ordenadores: LAN
5
(message age) que se incrementa con cada unidad de tiempo. Cuando dicho campo
alcanza un valor máximo (max age), la CBPDU se descarta y el puente recalcula
suponiendo que dicha CBPDU nunca se recibió.
En el funcionamiento normal, el puente raíz transmite periódicamente CBPDU cada hello
time, generados con edad 0. De forma similar, cuando un puente recibe la CBPDU del
raíz, envía su propia CBPDU por aquellos puertos dónde es el puente designado con edad
0. Cuando el puente raíz falle, el puente dejará de recibir refrescos de la CBPDU del raíz,
que comenzará a envejecer hasta llegar a la edad máxima, lo que provocará su descarte y
recalcular el árbol de expansión. Los eventos que provocan que un puente recalcule los
parámetros: rootID, cost y root port son:
- Recepción de una CBPDU en un puerto: en este caso el puente la compara
con la CBPDU recibida anteriormente por dicho puerto. Si la nueva fuese
mejor (o igual pero con menor edad) se almacena sustituyendo a la anterior
y se recalculan los parámetros.
- La expiración de la edad de una CBPDU.
Tras un cambio de topología (caída de un nodo o un enlace), transcurre algún tiempo hasta
que dicha situación se traslada a todos los puentes, por lo que en dicho tiempo se opera de
forma inconsistente pudiéndose formar bucles temporalmente. Para evitar esta situación,
los puentes deberán esperar una cantidad de tiempo para que un puerto en estado
bloqueado pase al estado de reenvío. Este tiempo debe ser, al menos, el doble del tiempo
máximo de tránsito en la red.
El estándar 802.1 establece dos estados intermedios entre blocking y forwarding. En el
primer estado (listening) el puerto se comporta como puerto designado, y enviará las
CBPDU. Sin embargo, todavía no almacenará las direcciones MAC en la tabla de reenvío.
En el segundo estado (learning), rellenará la tabla de reenvío pero todavía no enviará
tramas por dicho puerto, lo que minimiza el envío innecesario de tramas por no haber
localizado al destino. Tras estos dos estados intermedios, el puerto se pone en estado
forwarding y envía ya el tráfico de usuario, lo que permite minimizar el aprendizaje
incorrecto de estaciones hasta que la topología no se haya estabilizado
La elección del tiempo de time out para la tabla de reenvío de los puentes también tiene
implicaciones en el spanning tree, ya que los cambios de topología provocan también
cambios en las tablas de reenvío. El valor ideal dependerá de la topología de la red y del
tipo de aplicaciones que se utilizan, por lo que es un parámetro configurable por el
usuario. Para permitir que los cambios de topología de spanning tree se vean reflejados en
cambios rápidos de las tablas de reenvío, se establecen dos valores diferentes: un valor
elevado (para uso normal) y un valor bajo cuando exista una reconfiguración del spanning
tree y que es igual al parámetro forward delay. Es preciso pues que los puentes detecten
cuándo se reconfigura el árbol de expansión, para lo que se habilita el siguiente
mecanismo:
1. Cuando un puente detecta que el algoritmo spanning tree ha provocado la entrada o
salida del estado blocking en alguno de sus puertos transmite por su puerto raíz
CBPDUs de cambio de topología cada ‘hello time’. Continuará haciéndolo hasta
que reciba por su puerto raíz un asentimiento en la CBPDUs.
2. cuando un puente recibe una CBPDU que de cambio de topología realiza lo mismo
que en el caso anterior (envía cada hello time una CBPDU por su puerto raíz
notificando el cambio de topología hasta recibir un asentimiento), enviando a
R. Estepa
Redes de Ordenadores: LAN
6
continuación una CBPDU que asiente el cambio de topología por el puerto dónde
le llegó la notificación.
3. El puente raíz indica en sus CBPDUs que existe un cambio de topología durante un
periodo de tiempo igual a la suma de los parámetros forward delay y max age
cuando:
a. Alguno de sus puertos cambia de estado o
b. Recibe una CBPDU que notifica un cambio de topología.
4. Un puente que recibe una CBPDU de cambio de topología utiliza la caché de corta
duración para la tabla de reenvío hasta que deje de recibir las CBPDU con la
indicación de cambio de topología.
1.2. Parámetros configurables y estructura de las CBPDU
Los parámetros directamente dictados por el puente raíz, y enviados en las CBPDU para
que todos los puentes los utilicen son:
• Max age: tiempo hasta descartar una CBPDU
• Hello time: Intervalo entre envíos de CBPDUs
• Forward delay: tiempo que debe transcurrir en el estado de listening y learning
(por tanto para pasar de blocking a forwarding se necesitará dos veces el forward
delay)
Los parámetros que es posible configurar en cada uno de los puentes son:
• Bridge priority: 2 bytes que indican la prioridad de un puente para ser raíz o puente
designado. Se añaden en la parte más significativa del ID. Mientras menor sea el
valor mayor será la probabilidad de que se erija en raíz.
• Port priority: 1 byte que permite influir en la elección de un puerto como
designado cuando el puente dispone de varios conectados a la misma LAN.
• Hello time: Intervalo entre envíos de CBPDU para el nodo raíz. El valor por
defecto es de 2 segundos. Valores elevados descargan la sobrecarga de tráfico del
algoritmo, mientras que valores menores facilitan la reconfiguración rápida en caso
de fallo.
• Max age: tiempo máximo que puede pasar una CBPDU sin ser refrescada. Valores
pequeños provocarán reconfiguraciones innecesarias del árbol de expansión debido
a pérdidas de conectividad temporales. Valores muy grandes provocarán un
incremento en el tiempo necesario entre un cambio topológico y la
reconfiguración. Un valor conservativo es 2 segundos por salto. En la norma se
recomienda el valor de 20 segundos.
• Forward delay: tiempo en cada uno de los estados intermedios. Por defecto en la
norma se recomienda 15 segundos. Nótese que también se utiliza como caché corta
para la tabla de reenvío.
• Long cache timer: tiempo hasta eliminar una entrada en la tabla de reenvío si no ha
sufrido refresco. Por defecto la norma recomienda 5 minutos.
• Path cost: coste para añadir al recibido para llegar hasta el puente raíz. Este valor
se configura de forma individual en cada puerto para facilitar la elección de los
diversos caminos.
La estructura de las CBPDU es:
R. Estepa
Redes de Ordenadores: LAN
7
Bytes Campo
2
Protocol identifier (= 0)
1
Versión (= 0)
1
Message type (= 0)
1
TCA ---------------------------TC
8
Root ID
4
Cost of path to root
8
Bridge ID
2
Port ID
2
Message age (in 1/256ths of sec)
2
Max age (in 1/256ths of sec)
2
Hello time (in 1/256ths of sec)
2
Forward delay (in 1/256ths of sec)
, donde TC es un bit que indica cambio de topología, mientras que TCA es un bit que
asiente el cambio de topología.
Las CBPDU de notificación de cambio de topología sólo tienen los tres primeros campos,
donde el tipo de mensaje es 128.
1.3. Valoración de los puentes transparentes
Los puentes alteran el entorno de una LAN en mayor medida que los hubs, afectando a su
rendimiento de diferentes formas:
1.- Se incrementan las pérdidas de paquetes: con hubs sólo ocurren cuando existe una
trama colisiona 16 veces seguidas (provoca un efecto de conformado –suavizado- de
tráfico que evita pérdidas de paquetes). Cuando utilizamos puentes cada puerto representa
un dominio de colisión diferente, luego no existe el motivo anterior para que se pierdan los
paquetes. Sin embargo aparecen nuevas fuentes de pérdidas de paquetes, como son la falta
de CPU para el procesamiento de paquetes (conmutadores no bloqueantes) o la saturación
en las colas de salida de los puertos (no pueden ser muy grandes pues aumentan el
retardo). Existen situaciones dónde resulta fácil que se produzca el desbordamiento
anterior: cuando un puerto de salida tiene menor velocidad que los puertos de entrada o
cuando dos o más fuentes transmiten a la velocidad máxima sobre un puerto de salida de
la misma capacidad (servidores). Posibles soluciones a estos conflictos son: para puertos
half duplex el envío de una señal de colisión (back pressure), en el caso de puertos full
duplex se puede aplicar el estándar 802.3x que estandariza un control de flujo mediante
tramas de PAUSA y REANUDACIÓN.
2.- Se incrementa el retardo: ya que cada paquete debe ser recibido completamente (para
chequear su CRC), o, al menos, hasta la dirección MAC destino. A este tiempo debemos
añadir el de espera en cola para el puerto de salida (el tiempo de procesamiento es
mínimo)
R. Estepa
Redes de Ordenadores: LAN
8
3.- Se incrementan la posibilidad de llegadas fuera de orden, duplicación de paquetes, y
aislamiento temporal de estaciones (tablas MAC incorrectas)
4.- Los puentes son eficientes cuando sus tablas MAC contienen información correcta. En
caso contrario difunden por todos sus puertos, compartiendo el ancho de banda entre todas
las LAN interconectadas.
Los conmutadores son puentes donde existen multitud (24-48-92-…) de puertos con la
misma tecnología y que utilizan un backplane de alta velocidad junto con el procesamiento
hardware de las tramas. Al igual que un hub representa un dominio de colisión, un
conmutador es un dominio de difusión. Su gran ventaja es que el ancho de banda
agregado (el máximo que pueden utilizar las comunicaciones de estaciones finales)
resulta claramente superior al de un hub, hecho que junto con la facilidad para la
extensión geográfica, ha influido definitivamente en su éxito.
[EJERCICIO]: Suponga un conmutador de 4 puertos a 100 Mb/s full duplex. Calcule su
ancho de banda agregado. Sol: 400 Mb/s)
2. Virtual LAN (VLAN)
Se definen en la 802.1Q y emulan una LAN virtual en la capa alta LLC. Al igual que una
LAN, la VLAN representa un dominio de difusión de los paquetes. La única diferencia se
sitúa, a veces, en el empaquetado.
El uso de VLAN aporta flexibilidad a la red, permitiendo separar los puertos de un
conmutador en diferentes LAN virtuales, separándola en varios dominios de difusión.
R
Para que un paquete de la VLAN 1 llegue a la VLAN2 necesitará atravesar un router,
puesto que son dos redes diferentes. Esto implica que cada una de las VLAN debe tener
una asignación de direcciones IP que permita distinguir las redes.
Las VLAN proporcionan algunas ventajas, como son:
- Reducen la carga de tráfico: pues las tramas destinadas a difusión o las direcciones
desconocidas tan sólo se reenvían por su VLAN correspondiente.
- Mejoran la seguridad, pues las estaciones conectadas a una VLAN tan sólo ven las
tramas de su VLAN. No obstante es posible hacer a una estación miembro de varias
VLAN, lo que es útil para servidores. Además el uso de listas de control de acceso ACL
en los routers también incrementa el nivel de seguridad.
R. Estepa
Redes de Ordenadores: LAN
9
- Permite crear topologías lógicas con independencia de la topología física, lo que facilita,
por ejemplo, que una estación cambie de sitio y continúe perteneciendo a la misma VLAN
sin necesidad de reconfigurar su dirección IP. Esto mejora notablemente la movilidad.
•
Para el funcionamiento de las VLAN, es preciso que el conmutador realice un
mapeo entre la VLANs y los puertos correspondientes del conmutador (tabla
VLAN-port que puede introducirse de forma administrativa). Un puerto se puede
declarar como perteneciente a varias VLANs.
[EJEMPLO: En el siguiente esquema, asigne direcciones IP y analice el tráfico generado
en un Ping entre el equipo A y B y el generado en un ping entre A y C. Realice el mismo
ejercicio utilizando packet tracer.]
R
2.1. Unión dinámica de puertos a VLAN
No se encuentra estandarizado ningún método, por lo que cada fabricante propone su
solución. Para ello, existen diversas estrategias:
•
•
•
•
•
•
Port based VLAN: los puertos se asignan a las VLAN de forma administrativa
(configuración manual). Un puerto podría pertenecer a varias VLAN siempre que
seamos capaces de distinguir a cual de ellas pertenece la trama que se recibe.
MAC based VLAN: las MAC de las estaciones se asignan de forma administrativa
a las VLAN. Se crea una tabla VLAN/MAC y gracias al autoaprendizaje se va
generando la tabla VLAN/port definitiva.
IP based VLAN: En conmutador se configura con una tabla VLAN/IP(prefijos) y
se genera la tabla VLAN/port mediante la inspección de direcciones IP (al igual
que la función de autoaprendizaje para las MAC).
Protocol based VLAN: los puertos se asignan a una VLAN inspeccionando el tipo
de protocolo o SAP en el nivel de enlace (IP, IPX, Appletalk, …)
Multicast group VLAN: Las VLAN abarcan los miembros de un grupo multicast.
…
El problema de las uniones dinámicas entre puerto y VLAN (las basadas en MAC, IP, …)
es que se basan en el aprendizaje que realiza el switch, por lo que no se puede determinar
la VLAN a la que pertenece una estación hasta que ésta no transmite. La principal
alternativa para resolver este problema es la difusión a todas las VLAN (haciendo
normalmente a todos los puertos miembros de una VLAN por defecto) en cuyo caso se
elimina la ventaja de la VLAN, pues la difusión es excesiva y le seguridad se reduce. En
R. Estepa
Redes de Ordenadores: LAN
10
general, las soluciones actuales no funcionan bien hasta que la estación destino no
transmite.
El mismo problema ocurre si disponemos de 2 estaciones conectadas a un puerto
(mediante un hub). Supóngase que utilizamos VLAN por IP. Si muevo una estación de un
hub a otro perteneciente a otra VLAN, hasta que la estación no transmite el conmutador no
sabe que el puerto donde está conectado dicho hub pertenecerá ahora a ambas VLAN.
X.? = VLAN 1
Q.? = VLAN 2
X.A
X.B
VLAN 1
Q.A
Q.B
X.A
VLAN 2
VLAN 1
X.B
Q.A Q.B
VLAN 1,2
Cuando un equipo ubicado en un puerto que pertenece a varias VLAN envía un mensaje
de difusión, se debe reenviar por todos los puertos de todas las VLAN a las que pertenece
el puerto. Si muchas estaciones realizan esto mismo al final el comportamiento es como
tener una sola VLAN, por lo que no es recomendable configurar puertos con equipos de
usuario que pertenezcan a varias VLAN. En el caso de servidores conectados a un puerto
que pertenece a varias VLAN, sería necesario además configurar varias direcciones IP
(tantas como VLANs). Por ello la tendencia es a utilizar encaminamiento en los propios
conmutadores y separarlos en distintas VLAN.
2.2. Unión dinámica de VLAN entre conmutadores
Suponga el siguiente escenario:
En los puertos que une los conmutadores A y B, es preciso conocer a qué VLAN
pertenecen las tramas, lo que permitirá al conmutador receptor de la misma su reenvío por
los puertos apropiados. Para ello, el IEEE ha estandarizado una modificación (denominada
VLAN tag) a las tramas que viajan por dichos enlaces (normalmente denominados trunk)
que identifica a la VLAN que pertenece la trama. Los puertos trunk envían y reciben
tramas con la VLAN tag, y deben pertenece a todas las VLAN configuradas en el
conmutador (normalmente se configuran de forma administrativa). Los puertos dónde se
ubican estaciones finales se suelen denominar puertos de acceso (access) y por ellos no
deben viajar tramas con marcado de VLAN (contrariamente a lo que ocurre en los puertos
trunk) a menos que las estaciones finales soporten el marcado de tramas.
R. Estepa
Redes de Ordenadores: LAN
11
El VLAN tag está formado por 2 bytes de los que 3 bits indican la prioridad, 1 bit nos
indica si la identificación de la VLAN se encuentra en forma canónica (única para toda la
red) y los restantes 12 bit se emplean para identificar la VLAN (entre 1 y 4094).
En las tramas Ethernet DIX estos 2 nuevos bytes se insertan justo después del campo
protocolo (pasando éste a valer 0x8100). En el caso de las tramas 802.3 se insertan 4
nuevos bytes: los dos primeros indicando 0x8100 (para identificar la nueva trama) y los 2
siguiente con el VLAN tag. La nueva cabecera no es tenida en cuenta para el cómputo del
tamaño máximo de trama.
Con este método, todas las tramas de difusión de cualquier VLAN se reenviarían por todos
los puertos trunk de la red, hecho que puede provocar una carga excesiva en enlaces que
resultan críticos. Adicionalmente esto puede provocar el reenvío innecesario de tramas a
conmutadores. Veamos el siguiente ejemplo:
Para evitar el envío innecesario de tramas entre conmutadores, sería conveniente que un
conmutador conociese qué VLANs están accesibles a través de cada uno de sus puertos
trunk, lo que facilitaría el reenvío de tramas tan sólo por los puertos trunk que tuvieran
acceso a conmutadores con puertos en la VLAN apropiada. Una forma de conseguirlo es
mediante inspección de las VLAN indicadas en el VLAN tag de las tramas recibidas por un
puerto trunk. Esto adolece del mismo problema que las uniones dinámicas entre puertos de
acceso y VLANs, por lo que el IEEE ha estandarizado un protocolo entre conmutadores:
GVRP.
2.3. GVRP (GARP VLAN Registration Protocol)
Definido en la 802.1Q, el protocolo GVRP, permite que los conmutadores descubran de
forma automática información de las VLANs y sus miembros que hasta el momento exigía
de configuración manual en todos los conmutadores de la red. Esto nos permitirá conocer
qué VLAN se encuentran registradas en cada uno de los puertos de un conmutador.
GVRP también puede utilizarse en los puertos dónde ubicamos a los servidores que
pertenecen a varias VLANS, indicando a cuales de ellas se quiere unir.
GVRP es una aplicación de GARP, haciendo uso de su Information Declaration (GID) y
de GARP Information Propagation (GIP). No sólo permite el mantenimiento dinámico de
los puertos asociados a una VLAN en un conmutador, sino que además facilita su
propagación a otros conmutadores, lo que les permite conocer qué VLANs se encuentran
alcanzables por un determinado puerto. De esta manera tan sólo sería necesario configurar
R. Estepa
Redes de Ordenadores: LAN
12
la información de las VLANs en un conmutador, propagándose al resto de forma
automática.
En el siguiente ejemplo se aprecia cómo la trama de difusión en la VLAN 1 tan sólo se
reenvía a los conmutadores que tienen registrados puertos en dicha VLAN.
Existen VLAN 1,2,3
Port 1: VL 1,2
Port 2: VL 3
Port 3: VL 2
Existen VLAN 1,2,3
Port 1: VL 1,2
Port 2: VL 1,2
Port 3: VL 2,3
VLAN 1,2
VLAN 1,2
VLAN 2,3
VLAN 1,2,3
VLAN 1,2,3
VLAN 1,2
3. Otras normas 802 de interés
En este apartado se tratarán aspectos avanzados de la conmutación ethernet.
3.1. Rapid Spanning Tree Protocol (RSTP)
Originalmente definido en la 802.1w, desde el año 2004 se ha incorporado a la 802.1D, en
sustitución de STP que ha sido declarado obsoleto. Su objetivo principal es disminuir el
tiempo de convergencia del algoritmo en caso de rotura de enlace (para STP estaba en el
orden de 50 segundos, lo cual resulta excesivo en la actualidad).
Las principales diferencias son STP se resumen a continuación:
• Los puertos tienen asignados diferentes roles y estados. Los roles de un puerto
serán: root (igual que STP), designated (igual que STP) y el antiguo estado de
blocking de STP se subdivide en dos: alternative (puerto que recibe de otro
conmutador mejores CBPDUs que las suyas y está bloqueado) y back-up (puerto
que recibe mejores CBPDUs de otro puerto en el mismo conmutador y está
bloqueado). Los puertos alternativos proporcionan otro camino hacia el puente
raíz, por lo que pueden sustituir al puerto raíz en caso de fallo, los de bak-up no.
En cuanto a los estados de un puerto, serán: discarting (no aprende MAC ni forma
parte de la topología activa, sustituye a los estados disabled, locking y listening),
R. Estepa
Redes de Ordenadores: LAN
13
learning y forwarding. Esto implica un cambio en la CBPDU (que ahora será la
versión 2):
•
Manejo de CBPDU:
o Envío: cada conmutador enviará su propia CBPDU cada hello time (sin
esperar a recibir nada por el puerto raíz).
o Expiración: Cuando un puerto no recibe 3 CBPDUs consecutivas (o cuando
max-age, lo que primero ocurra) se borra la CBPDU de dicho puerto, lo que
acelera el tiempo para detectar una caída de enlace. Cuando se detecta un
fallo en el enlace físico se acelera este proceso.
o Aceptar CBPDU de nivel inferior: cuando un puente recibe peor
información de su puerto designado o puente raíz, la acepta y asume
inmediatamente. Ejemplo: C sabe que el raíz está vivo, por lo que envía una
CBPDU a B informándole que el raíz está activo, lo que permite a B asumir
q
u
e
C
•
es su nodo hasta el raíz.
Convergencia ante fallos:
o Los puertos pueden ser configurados como edge (cuando conectan
estaciones finales) o como non-edge. Los puertos edge transicionan
directamente hacia el estado forwarding. Los puertos punto a punto (se
descubren por que utilizan full duplex) también son candidatos a una
convergencia rápida.
o Se responderá a las CBPDU recibidas por el puerto raíz. Un puente de
superior categoría propondrá en sus puertos designados en modo discarting
o learning su información de spanning tree, lo que obligará al puente
receptor a sincronizar sus puertos (los puertos edge están siempre
sincronizados y los puertos en modo discarting también) y confirmar al
emisor por su nuevo puerto raíz que puede poner el puerto designado en
modo forwarding directamente (sin pasar por los estados de listening y
learning). Esto crea un efecto en cascada donde cada puente designado
propone a sus vecinos que realicen una transición rápida. Hay que tener en
cuenta que sólo se puede realizar esta transición rápida en puertos punto a
punto. Cuando no se recibe confirmación se continúa con la transición lenta
de STP (estados listening y learning) Ejemplo: nuevo enlace RootA.
R. Estepa
Redes de Ordenadores: LAN
14
•
o Los puertos de back-up se pueden poner directamente en forwarding ante
un fallo en el puerto designado equivalente. Cuando un puente pierde su
puerto raíz está habilitado para cambiar su mejor puerto alternativo a modo
forwarding directamente.
Detección y propagación de cambio de topología:
o En RSTP tan sólo los puertos non-edge que pasan a estado forwarding
provocan un cambio de topología (por tanto la pérdida de conectividad:
puerto que pasa a blocking en STP no provoca un cambio de topología)
o Cuando un puente detecta un cambio de topología envía la CBPDU con el
bit TC por sus puertos raíz y designados durante un tiempo igual al doble
de hello time y borra de su tabla MAC las entradas asociadas a dichos
puertos. Sus CBPDU durante dicho tiempo tendrán el bit TC activado.
o Cuando un puente recibe una CBPDU con el bit TC activado borra de la
tabla MAC las entradas correspondientes a todos los puertos excepto las
aprendidas por el puerto donde recibe la señal de TC. Comienza el contador
de cambio de topología (2x hello-time) y envía su CBPD con el bit TC por
sus puertos designados y raíz. (ya no se manda TC CBPDU como en STP).
RSTP es compatible con STP, pero si se utilizan switches configurados con ambos
protocolos en la misma LAN, se perderá la eficacia de RSTP (que actuará como STP). Los
temporizadores ya no serán necesarios para reaccionar ante un cambio de topología.
3.2. Multiple Spanning Tree Protocol (MSTP)
Originalmente definido en la 802.1s, desde el año 2003 ha sido incorporado en la 802.1Q.
Define una extensión del protocolo RSTP para su funcionamiento independiente en
distintas VLANs. Esto permite configurar diferentes árboles de expansión para cada grupo
de VLANS (MST regions), bloqueando los enlaces redundantes dentro de cada uno de los
árboles de expansión. En MSTP cada CBPDU incluye la información del árbol de
expansión para cada uno de las regiones MST, lo que permite su total compatibilidad con
RSTP (y también con STP). Los puentes que estén configurados como RSTP,
considerarán cada región MST como un solo puente RSTP.
Su principal ventaja es que permite el balanceo de tráfico en la red, aprovechando así los
enlaces redundantes. Supongamos el siguiente caso:
R. Estepa
Redes de Ordenadores: LAN
15
VL1
VL2
VL3
VL4
VL1
VL2
VL3
VL4
3.3. Agregación de enlaces (802.3ad)
Permite el uso de múltiples puertos Ethernet en paralelo con el fin de incrementar la
velocidad y la redundancia. Existen varios nombres comerciales con el mismo propósito,
como son: EtherChannel, porttrunking, Ethernet Trunk, … hoy en día casi todos son
conforme a estándar 802.3ad, que define el protocolo LACP (Link Aggregation Control
Protocol). Este protocolo permite la negociación automática de agregados entre dos
conmutadores (uno se configura como activo y comienza la negociación y el otro como
pasivo).
Todos los puertos físicos implicados en el grupo de agregación de enlaces deben residir en
el mismo conmutador (sólo enlaces punto a punto y full duplex). También se posible
utilizar trunking en los servidores equipados con tarjetas a tal efecto.
Con ello se consigue que varios dispositivos utilicen en paralelo puertos a la máxima
velocidad, evitando que un solo dispositivo monopolice los enlaces en el backbone. Cada
fabricante permite agregar hasta un número máximo de enlaces (normalmente 8) del
mismo tipo y facilita aprovechar los puertos y cableado inactivo en una red. Si uno de los
puertos de la agregación fallase, su tráfico se reparte entre los puertos restantes,
permitiendo también la redundancia.
Una de las limitaciones de la agregación es que debe preservarse el orden de las tramas
ethernet, lo que se consigue enviando todas las tramas ethernet asociadas a una sesión en
particular (mismo origen y destino) a través del mismo enlace físico (realmente se realiza
un balance de carga entre los enlaces de un agregado).
R. Estepa
Redes de Ordenadores: LAN
16
3.4. Autenticación (802.1x)
Permite el control de acceso a la red, autentificando a los dispositivos conectados a un
puerto y evitando su acceso a la red si la autentificación falla. Inicialmente muy utilizado
en las redes 802.11 los equipos de conmutación Ethernet también lo implementan.
El dispositivo que desea entrar en la red se conoce como: supplicant y envía su petición a
el authenticator (puerto conmutador al que se conecta). Éste enviará una petición de
autenticación EAP-Request, que será respondida por el supplicant (EAP-Response) y
reenviada por el autenticador a un servidor de autenticación (RADIUS normalmente) que
aceptará o rechazará la petición del supplicant. En caso de aceptarla el autenticador pondrá
el puerto en modo autorizado y permitirá el tráfico. Cuando un supplicant se desconecta,
enviará un mensaje EAP-logoff para que el puerto vuelva a pasar a estado no autorizado.
3.6. Control de flujo (802.3x), PoE (802.3af) y priorización (802.1p)
a) Control de flujo (802.3x)
Cuando una estación quiere enviar un comando de PAUSE, envía una trama de PAUSE
(Campo Lenght/type = 0x8808, indica MAC Control con el código de operación 0001
(indica PAUSE)) a la dirección destino multicast 01-80-C2-00-00-01. En esta trama, se
incluye un código y el periodo de tiempo sin transmitir que la estación receptora solicita a
la transmisora que no envía más tramas. Los dispositivos utilizan la autonegociación para
averiguar si el otro extremo tiene capacidad de utilizar tramas de pausa.
Dest. MAC
Address (6Source Length/Type
Start
bytes)
MAC
(2-bytes)
Preamble Frame
= (01-80Address = 802.3 MAC
(7-bytes) Delimiter
C2(6Control
(1-byte) 00-00-01)
bytes)
(88-08)
or unique
DA
MAC
Control
Opcode
(2-bytes)
= PAUSE
(00-01)
MAC
Reserved
Frame
Control
(42Check
Parameters
bytes)
Sequence
(2-bytes)
= all
(4-bytes)
= (00-00 to
zeros
FF-FF)
b) PoE (802.3af)
c) priorización y calidad de servicio
R. Estepa
Redes de Ordenadores: LAN
17
Cuando se multiplexa tráfico en las colas de salida se emplea la disciplina FIFO. Esto
implica que todos los paquetes/tramas se verán afectados por las mismas probabilidades de
pérdidas, retardos, … No obstante existe aplicaciones cuyo tráfico necesita un mejor
tratamiento en términos de calidad en el transporte (pérdidas y retardos bajos o
inexistentes) como puede ser el tráfico de voz o video en tiempo real o el tráfico de
gestión.
Por ello, y siguiendo el modelo de DiffServ los paquetes son marcados de acuerdo con el
tipo de servicio que necesitan (en la cabecera IP se permiten 6 bits para este uso: DSCP).
En el nivel MAC, se puede utilizar la 802.1p (actualmente en la 802.1Q) para llevar esta
misma información. Los routers y conmutadores que soportan QoS utilizan distintas colas
para cada tipo de tráfico, permitiendo definir la prioridad relativa entre ellas y el ancho de
banda reservado para cada una, lo que permite ofrecer un servicio diferenciado.
Adicionalmente algunos conmutadores permiten el conformado de tráfico (traffic shaping)
y distintas disciplinas de colas (WFQ, WRR, ClassBased Queuing, …).
Normalmente se soportan 8 niveles de prioridad (señalados con 3 bits) y 4 y 8 colas
físicas.
Priority Level
Traffic Type
0
Best Effort
1
Background
2
Standard (Spare)
Excellent Load
3
(Business Critical)
Controlled Load
4
(Streaming Multimedia)
Voice and Video
5
(Interactive Media and Voice)
[Less than 100ms latency and jitter]
Layer 3 Network Control Reserved Traffic
6
[Less than 10ms latency and jitter]
Layer 2 Network Control Reserved Traffic
7
[Lowest latency and jitter]
[EJERCICIO: diseñe y configure una red para la ETSI donde tenemos: 3 departamentos,
los servidores y CdC, salida hacia rectorado,…. Suponga la ETSI de una sola planta
cuadrada de 150 metros de lado. Los equipos de usuario funcionarán a 100 Mb/s. Dos
departamentos tienen 40 profesores y el tercero 65. Los conmutadores son de 24 o 48
puertos de cobre + hasta 8 de fibra.]
R. Estepa
Redes de Ordenadores: LAN
18

Documentos relacionados