You are on page 1of 27

VLANs y trunking

VLAN Un Switch segmenta la red en dominios de colisin, pero es un solo dominio de broadcast. Sin embargo, a travs de VLANs, implementadas en el Switch por software, conseguimos segmentar tambin en dominios de broadcast. Una VLAN es una agrupacin de puertos del Switch que actan como una LAN aislada. Para facilitar la comunicacin entre VLANs, necesitamos los servicios de un router o de un Switch con capacidades de enrutamiento de capa 3. Ventajas: A: Simplificamos la administracin y la seguridad. B: Permitimos la agrupacin lgica de usuarios frente a la agrupacin fsica. C: Simplificamos las operaciones de aadir y mover usuarios. Por lo tanto, en un Switch podemos agrupar los puertos en diferentes VLANs, siendo cada una de ellas un segmento independiente. Para poder tener comunicacin entre ellas, aunque pertenezcan al mismo Switch, es necesario el uso de un dispositivo auxiliar. Tambin podemos crear VLANs en diferentes switches y agrupar estos para extender el tamao de las vlan.

Como vemos en la figura, cada uno de los switches tiene creadas 3 vlans. Conectando cada VLAN a travs de puertos que pertenezcan a ellas, conseguimos extender la longitud de estas redes virtuales haciendo que usuarios conectados a diferentes switches, pertenezcan al mismo segmento o red virtual. As, un usuario conectado en el Switch 1 a un puerto de la VLAN 1, estara en la misma red que un usuario conectado en el Switch 2 a la VLAN 1, y tendra comunicacin con el y con el resto de usuarios de la VLAN 1.

Trunking Hay otra forma de implementar esto mismo sin tener que utilizar un par de puertos para conectar cada vlan con otra. Es una tcnica que se llama trunking. Por medio del trunking, hacemos que un puerto del Switch, pertenezca a multiples vlans, o lo que es lo mismo, las nics actan como si estuvieran conectadas a diferentes segmentos. Por lo tanto, un puerto truncado, puede transportar tramas de ms de una vlan:

Como vemos en la figura, si conectamos los dos switches a travs de un enlace truncado, la vlan1 del Switch 1 y la vlan 1 del Switch 2 serian la misma red, y tendran total conectividad entre ellas. Sin embargo, para tener comunicacin entre vlans diferentes, seguimos necesitando un router o un Switch con capacidades de enrutamiento. Los puertos que pueden actuar como enlaces truncados, tienen que ser fast Ethernet o gigabit Ethernet. Para poder llevar a cabo el trunking, necesitamos algn mtodo que permita asociar una trama a la vlan a la que pertenece. Las tcnicas ms comunes que usan los switches para identificar a que VLAN pertenecen las tramas son el filtrado de trama y el etiquetado de trama. Nosotros nos vamos a centrar en la tcnica del etiquetado de tramas. Etiquetado de tramas: Aade un identificador que permite identificar a que VLAN pertenece una trama, encapsulando informacin extra de control (a nivel de capa 2) Nos encontramos con 2 protocolos que realizan esta operacin: ISL y IEEE 802.1Q A: ISL: Tecnologa diseada por CISCO y usada entre dispositivos CISCO. Este protocolo inserta un encabezado de 26 bytes y un trailer de 4 bytes, lo cual supone informacin aadida a las tramas de capa 2 que recibe el Switch. 2

Esta informacin encapsulada, se mantiene mientras la trama viaja a travs de un enlace truncado hacia otro Switch o router. En el momento en que el destino de la trama no es un enlace truncado, por ejemplo si el destino es un PC, esta informacin se elimina, resultando todo el proceso totalmente transparente para los nodos finales. B: IEEE 802.1Q: Este protocolo sirve para lo mismo que el ISL, pero est estandarizado. Se puede usar entre dispositivos de multiples fabricantes, permitiendo la existencia de enlaces truncados operando en diferentes entornos. A diferencia de ISL, el identificador de trama se encapsula dentro de la trama de capa 2.

En resumen, por medio de estos dos protocolos, las tramas se marcan con un identificador de vlan, que permite asociarlas a sus vlan originales mientras van pasando a travs de los enlaces truncados con destino a vlans que estn situadas en otros switches. Configuracin del trunk en un puerto: Los modos de trunking que se pueden configurar en un puerto son los siguientes: 1 ON- El puerto est en modo trunk, y negociara con el otro extremo del enlace para convertirlo en trunk.

2 OFF- El puerto est en modo no truncado, y negocia convertir el otro extremo a modo no truncado. 3 DESIRABLE- En este estado tratara activamente de convertirse en truncado, dependiendo de lo que haya en el otro extremo del enlace: si el otro extremo esta en modo ON, DESIRABLE o AUTO, entonces tendra lugar negociacin, y se truncara. 4 AUTO- El puerto estara deseando trunkarse. Si el otro extremo est en modo ON o DESIRABLE, entonces se truncara, aceptando la negociacin por parte del otro extremo. Pero si el otro lado est en modo AUTO, ninguno de los 2 se truncara. 5 NONEGOTIATE- En este estado, el puerto est en modo truncado permanentemente, y no habra negociacin de ningn tipo (no tratara de convertir a nadie en truncado). En resumen, todos los modos excepto el modo NONEGOTIATE, mandan tramas DTP (protocolo de trunkamiento dinmico), que negocian e informan a los vecinos del estado de sus enlaces. En la tabla de la pgina siguiente, se muestran los casos para todas las posibles combinaciones en la configuracin de ambos lados de un enlace truncado. VTP (VLAN Trunking Protocol) Se usa a entre switches para simplificar la administracin de VLANS, y de sus puertos truncados. Los cambios se propagan a travs de las conexiones truncadas, haciendo mas sencilla la operacin de configurar, aadir, eliminar, y renombrar VLANs a lo largo de un red con un gran nmero de switches conectados entre si. VTP se organiza en dominios administrativos o reas con requerimientos comunes. Un Switch puede pertenecer a un solo dominio VTP, donde comparte informacin con otros switches del dominio. Los switches de un dominio, intercambian informacin peridicamente con sus vecinos. Cuando una VLAN se aade a un Switch en un dominio, los otros switches del dominio son informados de su existencia, y pueden preparar sus puertos truncados para recibir trfico de la nueva VLAN. Modos VTP: Para participar en un domino, un Switch puede ser configurado para trabajar en los siguientes de modos. Esto determinar su comportamiento dentro del dominio a la hora de manejar la informacin VTP que recibe. A: Modo Server- Modo por defecto en un Switch. Si un Switch se encuentra en este modo, tiene control total a la hora de crear y modificar vlans en su dominio. Enva y sincroniza informacin VTP con otros switches. En cada dominio, tiene que haber por lo menos un servidor. B: Modo Client- En este modo, un Switch no puede crear, eliminar o cambiar ninguna vlan. Se limita a escuchar la informacin VTP que recibe, y a modificar su configuracin de vlan acorde a lo que escucha. A su vez, retransmite las noticias VTP que va recibiendo. C: Modo Transparent- Los switches en este modo, no participan en VTP. Ni anuncia sus configuraciones, ni escucha las de otros. Dependiendo de la versin de VTP, retransmitir lo que recibe por sus puertos truncados (versin 2) o ni siquiera lo propagar (versin 1).

VTP Pruning El trfico de broadcast y el trfico de unicast desconocido, tiene que ser retransmitido a travs de lo enlaces truncados hacia todos los switches. Sin embargo, puede ocurrir, como se ve en la siguiente figura, que lleguen a switches que no poseen VLANs a las que tiene que llegar esos broadcast.

Supongamos que el host PC en el Cat. C manda un broadcast. Este broadcast se transmite a travs del enlace truncado llegando al Cat. A. Este, a su vez, lo hace llegar a los puertos truncados de los Cat. B y D. Sin embargo, este broadcast, est destinado a los usuarios de la VLAN 3, que es donde se encuentra el host PC. Por lo tanto, el Cat. B no tiene necesidad de recibir ese broadcast porque no tiene VLAN 3, con lo que estaramos consumiendo ancho de banda intilmente en el enlace truncado de ambos switches, B y A. VTP Pruning, hace un uso mas eficiente del ancho de bando y de los recursos eliminando trfico innecesario, haciendo que los broadcast y el trfico unicast desconocido se transmitan a un puerto truncado solo si el Switch que recibe la emisin tiene puertos en esa VLAN. Si habilitamos el VTP Pruning en los switches anteriores, conseguiramos evitar que el trfico del ejemplo anterior llegue al Cat. B:

Configuracin de VLANS El rango normal de VLANs, usa VLAN IDs (nmeros de VLAN) comprendidos entre 1 y 1005. A la hora de crear, modificar o eliminar VLANs (hay que estar en modo VTP SERVER o VTP TRANSPARENT), solo podemos hacerlo para VLANs entre la 2 y la 1001 de la base de datos de VLANs. Las VLANs 1, y 1002 a 1005, se crean automticamente y no se pueden eliminar. Por otro lado, hay un rango extendido de VLANs que va desde 1006 a 4094, y que solo se puede usar si estamos en modo VTP TRANSPARENT. Este rango de VLANs permite a los proveedores de servicios extender su infraestructura para cubrir mayor numero de clientes. Podemos crear un interface de VLAN para cada VLAN configurada en el Switch: int vlan 1, int vlan 2, int vlan 3, y asignarles una direccin ip y una mascara. Con esto hacemos posible la conexin remota al Switch desde cualquier otro Switch, con el objetivo de realizar labores administrativas. Sin embargo, solo podemos designar una nica VLAN como la VLAN administradora, a travs de la cual podemos manejar todo el Switch y sus VLANs como si estuviramos conectados por consola Podramos asignar una ip a las otras interfaces de VLAN, pero solo tendramos una de ellas activa (no shutdown). Si tenemos una red formada por switches y routers, podemos asignarle al Switch una puerta de enlace (la de su router directamente conectado) para poder llegar hasta el Switch desde cualquier punto de la red. Es decir, asignamos a una de las VLANs del Switch parmetros validos de capa 3 para poder administrar el Switch estemos donde estemos.

Asignacin de puertos a una VLAN: Por defecto, todos lo puertos pertenecen a la misma VLAN, la VLAN 1, creada tambin por defecto. A la hora de asignar los puertos a diferentes VLANs, primero tenemos que crearlas, y luego tenemos 2 formas de asignar estos a las VLANs creadas. A: Estticamente: Aadimos, los puertos manualmente. Cualquier cambio que tengamos que hacer, lo hacemos nosotros mismos. B: Dinmicamente: Los puertos se asignan automticamente en funcin de una base de datos. Se puede hacer basndose en la direccin MAC o en el protocolo. La ventaja de la configuracin dinmica es la seguridad que ofrece, pero es ms difcil de mantener. Configuracin del trunking ISL/802.1Q y del Routing entre VLANs usando un router como dispositivo externo. (Catalyst 2900XL/3500XL/2950 Switch y Cisco 2600 Router)

Supongamos el siguiente diagrama de trabajo:

Tenemos un switch con 2 estaciones de trabajo: el pc1 en el puerto f0/2 que pertenece a la vlan2, y el pc2 en el puerto f0/3 que pertenece a la vlan1. Para tener comunicacin entre estos 2 pcs en diferntes vlans, usaremos un dispositivo auxiliar, en este caso, un router externo. Conectaremos el Switch con el router usando el puerto f0/1, y trunkaremos el enlace para que pueda transportar tramas tanto de la vlan1 como de la vlan2.

A continuacin se presentan las configuraciones necesarias tanto para el Switch, como para el router, as como las configuraciones de red de las estaciones de trabajo.

Catalyst 3512-XL
Note: The following screen captures show the commands that were entered on the 3512XL switch. Comments between the commands are added in blue italics to explain certain commands and steps.
!-- Set the privileged mode !-- and Telnet password on the switch. switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. switch(config)#hostname 3512xl 3512xl(config)#enable password mysecret 3512xl(config)#line vty 0 4 3512xl(config-line)#login 3512xl(config-line)#password mysecret 3512xl(config-line)#exit 3512xl(config)#no logging console 3512xl(config)#^Z !-- Set the IP address and default gateway for VLAN1 for management purposes. 3512xl#configure terminal Enter configuration commands, one per line. End with CNTL/Z. 3512xl(config)#int vlan 1 3512xl(config-if)#ip address 10.10.10.2 255.255.255.0 3512xl(config-if)#exit 3512xl(config)#ip default-gateway 10.10.10.1 3512xl(config)#end !-- Set the VTP Mode. !-- In our example, we have set the mode to be transparent. !-- Depending on your network, set the VTP Mode accordingly. !-- For details on VTP, !-- refer to !-- Configuring VTP, VLANs, and VLAN Trunks on Catalyst 2900XL and 3500XL Switches .3512xl#vlan database 3512xl(vlan)#vtp transparent Setting device to VTP TRANSPARENT mode. !-- Adding VLAN2. VLAN1 already exists by default. 3512xl(vlan)#vlan 2 VLAN 2 added: Name: VLAN0002 3512xl(vlan)#exit APPLY completed. Exiting.... !-- Enable trunking on the interface fastEthernet 0/1. 3512xl#configure terminal Enter configuration commands, one per line. End with CNTL/Z. 3512xl(config)#int fastEthernet 0/1 3512xl(config-if)#switchport mode trunk !-- Enter the trunking encapsulation as either isl 3512xl(config-if)#switchport trunk encapsulation isl !-- or as dot1q: 3512xl(config-if)#switchport trunk encapsulation dot1q !-- In case of 2950 switches, none of the above two commands are used, !-- 2950 switches only support 802.1q encapsulation which is configured automatically, !-- when trunking is enabled on the interface by using switchport mode trunk command. !-- In case of dot1q, you need to make sure that !-- the native VLAN matches across the link. !-- On 3512XL, by default, the native VLAN is 1. !-- Depending on your network needs, you may change !-- the native VLAN to be other than VLAN1, !-- but it is very important that you change the native VLAN !-- on the router accordingly.

!-- You may change the native VLAN, if needed, by using the following command: !-- 3512xl(config-if)#switchport trunk native vlan <vlan ID> !-- Allow all VLANs on the trunk. 3512xl(config-if)#switchport trunk allowed vlan all 3512xl(config-if)#exit !-- The following set of commands will place FastEthernet 0/2 !-- into VLAN2 and enable portfast on the interface. 3512xl(config)#int fastEthernet 0/2 3512xl(config-if)#switchport access vlan 2 3512xl(config-if)#spanning-tree portfast 3512xl(config-if)#exit !-- FastEthernet 0/3 is already in VLAN1 by default. !-- Enable portfast on the interface. 3512xl(config)#int fastEthernet 0/3 3512xl(config-if)#spanning-tree portfast 3512xl(config-if)#^Z !-- For details on why to enable portfast, !-- refer to: !-- Using Portfast and Other Commands to Fix Workstation Startup Connectivity Delays .!-- Remember to save the configuration. 3512xl#write memory Building configuration... 3512xl# -----------------------------------------------------------------------------3512xl#show running-config Building configuration... Current configuration: ! version 12.0 no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname 3512xl ! no logging console enable password mysecret ! ! ! ! ! ip subnet-zero ! ! ! interface FastEthernet0/1 switchport mode trunk ! !-- If 802.1Q is configured, !-- you will instead see the following output !-- under interface FastEthernet0/1: !-- interface FastEthernet0/1 !-- switchport trunk encapsulation dot1q !-- switchport mode trunk ! interface FastEthernet0/2 switchport access vlan 2 spanning-tree portfast ! interface FastEthernet0/3 spanning-tree portfast ! interface FastEthernet0/4 !

10

interface FastEthernet0/5 ! interface FastEthernet0/6 interface FastEthernet0/7 ! interface FastEthernet0/8 ! interface FastEthernet0/9 ! interface FastEthernet0/10 ! interface FastEthernet0/11 ! interface FastEthernet0/12 ! interface GigabitEthernet0/1 ! interface GigabitEthernet0/2 ! interface VLAN1 ip address 10.10.10.2 255.255.255.0 no ip directed-broadcast no ip route-cache ! ip default-gateway 10.10.10.1 ! line con 0 transport input none stopbits 1 line vty 0 4 password mysecret login line vty 5 15 login ! end

Cisco 2600 Router


Note: The following screen captures show the commands that were entered on the Cisco 2600 router. Comments between the commands are added in blue italics to explain certain commands and steps.
!-- Set the privileged mode !-- and Telnet password on the router. Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname c2600 c2600(config)#enable password mysecret c2600(config)#line vty 0 4 c2600(config-line)#login c2600(config-line)#password mysecret c2600(config-line)#exit c2600(config)#no logging console c2600(config)#^Z c2600#configure terminal Enter configuration commands, one per line. End with CNTL/Z. !-- Select FastEthernet 0/0 for the trunk configuration. !-- No L2 or Layer 3 (L3) configuration is done here. c2600(config)#int fastEthernet 0/0 c2600(config-if)#no shut c2600(config-if)#exit !-- Enable trunking on the sub-interface FastEthernet 0/0.1. !-- Note that actual trunks are configured on the sub-interfaces. c2600(config)#int fastEthernet 0/0.1 !-- Enter the trunking encapsulation as either isl

11

c2600(config-subif)#encapsulation isl 1 !-- or as dot1q: !-- In case of dot1q, you need to make sure that !-- the native VLAN matches across the link. !-- On 3512XL, by default, the native VLAN is 1. !-- On the router, configure VLAN1 as the native VLAN. c2600(config-subif)#encapsulation dot1Q 1 ? native Make this is native vlan <cr> c2600(config-subif)#encapsulation dot1Q 1 native !-- On the switch, if you have a native VLAN other than VLAN1, !-- on the router, configure the same VLAN to be the native VLAN, !-- by using the above command. !-- Configure L3 information on the sub-interface 0/0.1. c2600(config-subif)#ip address 10.10.10.1 255.255.255.0 c2600(config-subif)#exit !-- Enable trunking on the sub-interface FastEthernet 0/0.2. !-- Note that actual trunks are configured on the sub-interfaces. c2600(config)#int fastEthernet 0/0.2 !-- Enter the trunking encapsulation as either isl c2600(config-subif)#encapsulation isl 2 !-- or as dot1q: c2600(config-subif)#encapsulation dot1Q 2 !-- Configure L3 information on the sub-interface 0/0.2. c2600(config-subif)#ip address 10.10.11.1 255.255.255.0 c2600(config-subif)#exit c2600(config)#^Z !-- Remember to save the configuration. c2600#write memory Building configuration... [OK] c2600#

Note: In order to make this setup work, and to successfully ping between workstation1 and workstation2, you need to make sure that the default gateways on the workstations are setup properly. For workstation1, the default gateway should be 10.10.11.1 and for workstation2, the default gateway should be 10.10.10.1.
c2600#show running-config Building configuration... Current configuration: ! version 12.1 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname c2600 ! no logging console enable password mysecret ! ! ! ! ! ip subnet-zero ! ! ! ! ! ! !

12

! ! ! interface FastEthernet0/0 no ip address duplex auto speed auto ! interface FastEthernet0/0.1 encapsulation isl 1 ip address 10.10.10.1 255.255.255.0 no ip redirects ! !-- If 802.1Q is configured, !-- you will instead see the following output !-- under interface FastEthernet0/0.1: !-- interface FastEthernet0/0.1 !-- encapsulation dot1Q 1 native !-- ip address 10.10.10.1 255.255.255.0 ! ! interface FastEthernet0/0.2 encapsulation isl 2 ip address 10.10.11.1 255.255.255.0 no ip redirects ! !-- If 802.1Q is configured, !-- you will instead see the following output !-- under interface FastEthernet0/0.2: !-- interface FastEthernet0/0.2 !-- encapsulation dot1Q 2 !-- ip address 10.10.11.1 255.255.255.0 ! interface FastEthernet0/1 no ip address shutdown duplex auto speed auto ! ip classless no ip http server ! ! ! line con 0 transport input none line aux 0 line vty 0 4 password mysecret login ! no scheduler allocate end

13

802.1Q Configuration on the Router for Cisco IOS Versions Earlier than 12.1(3)T
As described earlier in this document, while configuring 802.1Q trunking it is very important to match the native VLAN across the link. In the Cisco IOS software versions earlier than 12.1(3)T, you cannot define the native VLAN explicitly, as the encapsulation dot1Q 1 native command under the sub-interface is not available. In the earlier Cisco IOS versions, it is important not to configure VLAN1 interface as a subinterface. The router then expects a tag dot1q frame on VLAN1 and the switch is not expecting a tag on VLAN1. As a result, no traffic will pass between VLAN1 on the switch and the router. In the current lab setup, use the following steps to configure the Cisco 2600 router:
!-- Set the privileged mode !-- and Telnet password on the router. Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname c2600 c2600(config)#enable password mysecret c2600(config)#line vty 0 4 c2600(config-line)#login; c2600(config-line)#password mysecret c2600(config-line)#exit c2600(config)#no logging console c2600(config)#^Z c2600#configure terminal Enter configuration commands, one per line. End with CNTL/Z. !-- Select FastEthernet 0/0 for the trunk configuration. c2600(config)#int fastEthernet 0/0 c2600(config-if)#no shut !-- Note that the IP address for VLAN1 is configured on the main interface, !-- and no encapsulation for VLAN1 will be done under the sub-interface. c2600(config-if)#ip address 10.10.10.1 255.255.255.0 c2600(config-if)#exit !-- Configure dot1q encapsulation for VLAN 2 !-- on sub-interface fastEthernet 0/0.2. c2600(config)#int fastEthernet 0/0.2 c2600(config-subif)#encapsulation dot1Q 2 c2600(config-subif)# !-- Configuring L3 information on the sub-interface 0/0.2. c2600(config-subif)#ip address 10.10.11.1 255.255.255.0 c2600(config-subif)#exit c2600(config)#^Z !-- Remember to save the configuration. c2600#write memory Building configuration... [OK] c2600#

Notes: In order to make this setup work and to successfully ping between workstation1 and workstation2, you need to make sure that the default gateways on the workstations are setup properly. For workstation1, the default gateway should be 10.10.11.1, and for workstation2, the default gateway should be 10.10.10.1. For details on how to set the default gateways on the workstations, refer to thei respective sections in this document.

14

c2600#show running-config Building configuration... Current configuration: ! version 12.1 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname c2600 ! no logging console enable password mysecret ! ! ! ! ! memory-size iomem 7 ip subnet-zero ! ! ! ! ! ! ! interface FastEthernet0/0 ip address 10.10.10.1 255.255.255.0 duplex auto speed auto interface FastEthernet0/0.2 encapsulation dot1Q 2 ip address 10.10.11.1 255.255.255.0 ! interface FastEthernet0/1 no ip address shutdown duplex auto speed auto ! ip classless no ip http server ! ! line con 0 transport input none line aux 0 line vty 0 4 password mysecret login ! no scheduler allocate end c2600#

A continuacin se presentan unas tablas con los comandos de configuracin, tanto para un sistema basado en IOS como para un sistema basado en CLI.

Comandos de configuracin para la administracin del Switch 15

Comandos de configuracin de los puertos del switch

Comandos de configuracin de VLANs 16

Comandos de configuracin de VTP

17

Protocolo Spanning Tree STP

El protocolo Spanning Tree, se usa para proporcionar enlaces redundantes y balance de carga y hacer que una red conmutada de capa 2 se recupere de fallos automticamente. Como sabemos, un Switch se comporta de la siguiente manera: -Al principio, el Switch no tiene conocimiento alguno de la localizacin de dispositivo alguno. Por lo tanto, pone a escuchar y a aprender. La direccin origen, le indica al Switch la localizacin de cada dispositivo, suponiendo que se encuentra detrs del puerto por el que lleg la trama. Siguiendo con este procedimiento, va construyendo su tabla con estas direcciones mac y los puertos asociados con ellas. Esta tabla se actualiza constantemente. -Si llega una trama en broadcast, el Switch la manda a por todos los puertos menos por el que fue inicialmente recibida (que es donde se supone que est el dispositivo) -Si recibe una trama cuya direccin destino no se encuentra en las tablas, (unicast desconocido), esta trama se trata como si fuera un broadcast, y se manda por todos los puertos. Cuando llegue la respuesta, el Switch conocer la localizacin del dispositivo desconocido y actualizar su tabla. Operando de esta forma, no habra ningn problema en un diseo como en el de la figura siguiente que no ofrece caminos adicionales o enlaces redundantes.

18

Supongamos ahora que aadimos un segundo Switch entre las 2 redes del esquema anterior:

Vamos a ver que ocurrira cuando el pc1 manda una trama al pc4. El pc1 manda su trama por la red A. Veamos lo que ocurre. -Ambos switches reciben la trama en sus puertos 1/1. Como la direccin MAC del pc1 no est en las tablas de los switches, estos guardan la entrada y la asocian con el puerto 1/1. Por lo tanto ambos piensan que el pc1 est en la red A. -Como la localizacin del pc4 es desconocida, ambos switches mandan la trama por todos los puertos (menos por el origen). En este caso por el puerto 2/1 a la red B. -Cada Switch coloca una nueva trama en su puerto 2/1 en el segmento B. El pc4, que se encuentra en el segmento B, recibe 2 tramas. Sin embargo, el Switch A escucha la nueva trama enviada por el Switch B, y el B, escucha la enviada por el Switch A. -El Switch A, ve que la nueva trama es del pc1 para el pc4. De su tabla de direcciones, ha aprendido que el pc1 estaba en el puerto 1/1 o segmento A. Sin embargo, la direccin origen del pc1 se acaba de escuchar en el puerto 2/1 en el segmento B. Por definicin, el Switch reaprende la localizacin del pc 1, que ser ahora incorrecta (seg. B) El Switch B seguir el mismo procedimiento basndose en la nueva trama aprendida del switch A. - A continuacin, ambos switches, como no saben donde esta el pc 4, mandan por todos sus puertos la trama, colocndola en el interface 1/1. - De esta forma, todo el proceso vuelve a empezar, y las tramas empezarn a dar vueltas entre los dos switches, formando loops que no acabarn nunca. Adems, cada trama, en cada vuelta, se va duplicando.

19

Evitando loops con el protocolo Spanning-Tree: STP


Estos loops en los switches, se forman bsicamente porque los switches no conocen la existencia de otros switches paralelos. El protocolo Spanning-Tree, STP, fue desarrollado para evitar la posibilidad de que se formen estos bridging-loops. A travs de STP, los switches conocen la existencia de los switches paralelos. Los loops, se descubren entonces antes de que los switches estn activos para su uso, y las rutas redundantes se deshabilitan para que no se formen loops. STP se comunica entre todos los switches de la red. Cada Switch, ejecuta un algoritmo de spanning-tree, STA, basado en la informacin recibida de sus vecinos. A trabes de este algoritmo, se elige un punto de referencia, y se calculan todas las rutas redundantes hacia ese punto de referencia. Cuando las rutas redundantes se encuentran, STA elige un camino para enviar tramas y deshabilita o bloquea el resto de las rutas redundantes.

Comunicacin spanning-tree
STP manda su informacin a travs de unos mensajes de datos llamados BPDUs, usando una direccin destino mac de multicast con la que se sentirn identificados todos los switches: 01-80-c2-00-00-00. Hay dos tipos de BPDUs: -BPDU de configuracin: se usan para la computacin de spanning-tree -BPDU de cambio de topologa: se usan para anunciar cambios en la topologa de la red. Los mensajes BPDUs se mandan cada 2 segundos, por lo que los loops se identifican rpidamente. Una vez ejecutado el algoritmo STA, identificados los loops, y eliminados los caminos redundantes, solo se mandarn BPDUs de cambio de topologa cuando esta cambie.

Elegir el Root Bridge


Todos los switches en una red van a ponerse de acuerdo en una topologa libre de loops, por lo que van a elegir un punto de referencia comn a todos ellos. Este punto ser el Root Bridge. La eleccin del root bridge se hace a travs de un proceso entre todos los switches. Cada Switch tiene un ID (identificador), que es un valor de 8 bytes, que consta de lo siguiente: -Prioridad (2 bytes): Puede ir de 0 a 65535 y por defecto es 32768. Este valor da mas peso a un Switch frente a los otros. Se puede cambiar segn las necesidades. -direccin MAC (6 bytes): direccin fsica del Switch. Cuando un Switch se enciende, se considera a si mismo como el root bridge. Entonces comienza un proceso por el cual cada Switch manda BPDUs. Uno de los campos de las BPDUs es un identificador de root bridge (root bridge ID), y otro campo en el que se coloca el ID del Switch que enva la BPDU. Como al iniciarse el proceso, cada Switch se considera a s mismo root, coloca en el campo del root ID su propia ID. Entonces, los switches empiezan a escuchar los BPDUs que reciben, y a mirar a ver si viene anunciado un root bridge ID mejor que ellos. Un root bridge ID se considera mejor que otro si es menor. Normalmente la prioridad es igual en todos, por lo que el Switch con menor mac, tendr un mejor ID que otro, y ser root bridge. Si el Switch recibe un root 20

bride ID mejor que el suyo, considerar que este es el root bridge, y lo colocar en el campo root bridge ID de sus BPDUs. Llega un momento en que todos los switches se ponen de acuerdo sobre el root bridge, y uno de ellos pasar a ser el punto de ref. de la topologa. Ejemplo:

En esta red, como todos tienen la misma prioridad, el que menor mac tenga, ser el root bridge, en este caso el catalyst A. :

21

Eleccin de los Root Ports


A partir de ahora, cada Switch que no es root bridge, tiene que descubrir cual es su relacin con el root Switch, seleccionando uno solo de sus puertos como root port. Para ello va a usar un concepto que se llama root path cost, algo as como el valor de cada puerto. Este valor se haya buscando todos los valores de los enlaces hasta llegar al root bridge, y sumndolos. El valor del root path cost viene anunciado tambin en un campo de las BPDUs, y se va modificando segn va pasando por los switches. El valor puntual para cada Switch, se almacena en modo local. El path cost se define como un valor de un byte. Los valores por defecto de los path costs se muestran en la tabla de la pgina anterior. Generalmente cuanto mayor ancho de banda tenga un enlace, menor ser su costo. Antes se usaba una escala lineal, pero las redes modernas usan una nueva escala no lineal. El root path cost se determina de la siguiente manera: -El root bridge manda una BPDU con un root path cost igual a 0, pq sus puertos estn conectados directamente al root bridge. -Cuando el siguiente vecino inmediatamente conectado recibe la BPDU, aade el valor del path cost de su puerto. -Despus manda la BPDU con el nuevo valor hallado como el root path cost. - Este valor se va incrementando segn la BPDU se va recibiendo en los puertos siguientes. Nota: El valor se incrementa segn la BPDU llega a un puerto, no cuando sale. El valor que llega a un puerto de un Switch, una vez que es incrementado, se guarda en memoria por el Switch. ste ir comparando los root path cost que va recibiendo por los puertos y se ir quedando con el mas bajo. Adems, el puerto por el que se haya escuchado el root path cost mas corto, ser designado como Root Port. Ver ejemplo:

22

Se ha elegido un root bridge, el catalyst A (ejemplo anterior). Los dems switches tienen que elegir su root port, el ms cercano al root bridge. Para el cat B, su puerto 1/1 tiene un root path cost de 0+19. El puerto 1/2 no se elige, pq su root path cost es 0 (BPDU del cat A), mas 19 (path cost del enlace A-C) mas 19 (path cost del enlace CB), en total 38. El Cat C hace lo mismo que el B.

Eleccin de los Designated Ports


Como se puede intuir, una estructura con forma de rbol est empezando a formarse, partiendo desde un punto comn. Pero todava, los enlaces solo han sido identificados, y todava permanecen todos activos, por lo que se pueden formar loops. Para evitar la posibilidad de que aparezcan estos loops, STP hace una ultima operacin para identificar un Designated port en cada segmento de red. Los switches elegirn sus Designated Ports basndose en el valor mas bajo de root path cost hacia el root bridge. Para un Switch, su root path cost es el que est anunciando en sus BPDUs. Si un Switch vecino en un segmento compartido est anunciando un root path cost mas bajo que el suyo, entonces el tendr el designated port. Si solo escucha valores mas altos de root path cost por un puerto, entonces asume que el puerto por el que ha recibido el BPDU es designated port. En caso de encontrarse 2 o ms enlaces con el mismo root path cost, es decir, en caso de empate, se consideran otros factores que establecen una prioridad: -El Switch con bridge ID mas bajo, tiene prioridad. -El Switch con el identificador de puerto mas bajo, tiene prioridad. Ejemplo:

23

-Catalyst A: Como este Switch es el root bridge, todos sus puertos activos son designados como designated ports por definicin. Su root path cost es cero. -Catalyst B: Su puerto 1/2 se elige como designated port en el segmento B-C. El root path cost de cada extremo de este segmento es 19, determinado por la BPDU que entra por el puerto 1/1. Como el root path cost es igual en ambos extremos del segmento, tenemos que usar otro criterio: el Switch que tenga el root path cost mas bajo, es decir, el catB.

Estados STP
Para participar en STP, cada puerto de un Switch tiene que pasar por varios estados. Un puerto empieza su vida en el estado Desactivado, pasando a trabes de otros estados hasta llegar a un estado que le permita enviar trfico: Desactivado, bloqueo, escucha, aprendizaje, envo.

Cambios en la topologa
El Switch anuncia un cambio en la topologa mandando TCN BPDUs, que no lleva datos consigo referentes al cambio, sino que simplemente informa de que ha habido un cambio. Si habilitamos el portfast en un puerto, el Switch no mandar TCN BPDUs por ese puerto.

Configuracin del STP


-CLI: Switch (enable) set spantree enable [all | module/port] -IOS switch (config)# spantree vlan-list Visualizacin del estado de STP tanto en CLI como en IOS Switch (enable) show spantree [vlan] Switch# show spantree [vlan]

24

Ejercicio:
Hallar el Root Bridge, los Root Ports, y los Designated Ports, y dibujar el esquema final.

25

Asignacin de Root Bridge, Root ports y Designated ports

26

Solucin final:

27