VTP, VLAN Trunking Protocol

VTP, VLAN Trunking Protocol

Update: 2018-04-01
Share

Description

Aunque la configuración de VLANs en una red o entorno pequeño pueda ser fácilmente administrable en entornos grandes puede resultar una configuración muy engorrosa el ir configurando todas las VLANs en todos los switches y puede ser fácil el que alguna VLAN no se configure en alguno de los switches, sobre todo si utilizamos el diseño de VLAN extremo a extremo.


En el caso que tengamos una red con un tamaño ya considerable y queramos mantener una consistencia en las VLANs que se van creando resulta muy recomendable disponer de algún mecanismo que nos permita tener todos los switches sincronizados en cuanto a las VLANs de la red.


Un protocolo que nos permite tener todos los switches de la red sincronizados en cuanto a las VLANs disponibles en la red es VTP – VLAN Trunking Protocol. VTP es un protocolo propietario de Cisco de capa 2 que nos permite intercambiar información sobre VLANs entre trunks de forma que los switches de la red tengan la base de datos de VLANs sincronizadas en todo momento desde un punto central de la red.


En el caso de no utilizar switches Cisco o de querer interconectar switches Cisco con otros de otro fabricante no podríamos utilizar VTP y deberíamos utilizar algún protocolo abierto como es GVRP, que tiene unas funcionalidades muy similares al VTP, pero se trata de un protocolo abierto, al contrario que VTP.


VTP nos permite crear VLANs, editarlas o borrarlas desde un switch central en todos los switches de la red.


Características de VTP


Dominios de VTP


VTP utiliza dominios para agrupar a los switches que van a compartir la misma información de VLANs.


Dentro de un dominio de VTP se intercambia la siguiente información gracias a los anuncios de VTP:



  • Nombre del Dominio

  • Versión de VTP

  • Lista de VLANs

  • Parámetros específicos de cada VLAN


Modos de VTP


Los switches dentro de un dominio de VTP pueden funcionar de tres formas diferentes:



  • Modo servidor: Los servidores son los encargados de crear y mantener la información de todas las VLANs en la red y son los encargados de pasar esta información al resto de switches. Por defecto los switches Cisco estan en modo servidor.

  • Modo cliente: Los switches en modo cliente no pueden hacer ninguna modificación en las VLANs y mantienen la información de VLANs gracias a los mensajes que son enviados desde los servidores

  • Modo transparente: Los switches en modo transparente no participan en el proceso de VTP y reenvian los mensajes de VTP, pero de forma diferente dependiendo de la versión de VTP. Si es VTP versión 1 sólo se reenvían los mensajes de VTP que tengan como versión 1 y que correspondan al nombre de dominio que tengan configurado. En VTP versión 2 sin embargo los switches transparentes son capaces de reenviar los mensajes VTP aunque no correspondan ni a la versión que tiene el switch configurado ni al dominio en el que esté incluido este switch en modo transparente.


Anuncios de VTP


Los switches que utilizan VTP versión 1 o versión 2 anuncian las VLANs (sólo desde la 1 hasta la 1005), números de versión de configuración y parámetros de cada VLAN por los trunks para notificar esta información al resto de los switches de dominio mediante mensajes de multicast, la versión 3 de VTP ya permitiría la utilización de VLANs en el rango 1-4096, lo que haría a VTP compatible con el estándar IEEE 802.1Q.


Es importante comentar que el número de versión de configuración empieza siempre en 0 y que cada vez que se produce un cambio el número de versión de configuración se incrementa en 1 y el mensaje con número de versión de configuración más alto se considera el último y por tanto el que hay que sincronizar.


Y también es importante comentar que por defecto los anuncios de VTP se transmiten en texto plano y sin password, es decir, sin encriptación, con lo que no se realiza un intercambio de información seguro realizando un intercambio de passwords.


Una vez comentado esto nos encontramos con un problema bastante serio. Teniendo en cuenta que los switches Cisco por defecto están en modo servidor y que los clientes VTP van a almacenar la información que tenga el número de versión de configuración más alto, es posible que se utilice un switch incorporado de algún otro sitio donde su número de versión de configuración sea más alto, y estar por defecto en modo servidor, existe la posibilidad que este nuevo switch incorporado en la red sobreescriba la configuración de todos los switches de la red borrando y/o creando VLANs y por tanto modificando la configuración y dando lugar a fallos. Por su puesto si ese switch se introdujera en modo cliente y tuviera un número de versión de configuración más alto que el servidor ignoraría las actualizaciones y esto significaría que el switch no actualizaría su configuración.


Asi pues es sumamente importante antes de incorporar un switch nuevo en la red asegurarnos que el número de versión de la configuración se establece a 0, pero como no tenemos ningún comando que haga esto directamente tenemos que hacerlo de forma indirecta de la siguiente forma:



  • Cambiando el modo del switch a transparente y posteriormente otra vez a servidor, o bien

  • Cambiar el nombre del dominio de VTP a uno cualquiera que no usemos y volviendo a configurar el dominio de VTP correcto.


Una vez tenidas estas precauciones ya podríamos proceder a instalar el nuevo switch.


En cuanto a los anuncios de VTP tenemos que tener en cuenta que se generan de tres formas diferentes:



  • Summary Advertisements: Estos anuncios se generan por el server cada 300 segundos o cada vez que se ha realizado un cambio en la base de datos de VLANs.

  • Subsets Advertisements: Estos anuncios se generan cada vez que se genera un cambio en alguna VLAN.

  • Advertisements Requested from Clients: Este tipo de anuncios se generan cada vez que un cliente necesita que se le actualice la configuración, por ejemplo después de un reset del equipo.


Los switches que operan en modo servidor no necesitan que se les pase la configuración después de un reset ya que guardan la información de VTP y de las VLANs en el fichero vlan.dat en la Flash, con lo que los resets no implican pérdida alguna de información.


Configuración de VTP


La configuración de VTP en los switches Cisco con IOS es bastante sencilla ya que lo único que tenemos que configurar es el dominio de VTP y el modo, opcionalmente la versión, passsword, etc…


Por defecto la configuración que se utilizará al configurar VTP es la versión 1, aunque la versión 2 tiene las siguientes ventajas sobre la versión 1:



  • En los switches en modo transparente la versión 2 permitirá que se reenvien los anuncios recibidos de VTP independientemente de su versión o dominio.

  • La versión 2 realiza una comprobación de consistencia al introducir los comandos por CLI o mediante SNMP, pero no realizaría esta comprobación en los anuncios recibidos desde otros switches.

  • Soporte para Token Ring


Configurar la versión de VTP es tan simple como introducir este comando de configuración global:


switch(config)#vtp version {1 | 2 | 3}


Para configurar el modo y la password en las actualizaciones VTP utilizaremos estos comandos:


switch(config)#vtp mode { server | transparent | client}

switch(config)#vtp password password


Así pues un ejemplo de configuración podría ser el siguiente:


switch(config)#vtp version 2

switch(config)#vtp mode server

switch(config)#vtp password mi_super_password


VTP Pruning


El VTP Pruning es un método que impide que las actualizaciones de VTP se reenvíen por todos lo spuertos de trunk, de esta forma podemos limitar la propagación de VTP a una porción de la red bien definida, reduciendo así el proceso de información y el tráfico innecesario por los trunks. Recordemos que VTP utiliza mensajes multicast y estos al igual que los mensajes de broadcast por defecto se reeenvian por todos los puertos de la VLAN excepto por el que se ha recibido.


La configuraicón de VTP Pruning tampoco resulta ser demasiado engorrosa, lo único que tenemos que tener en cuenta es que por defecto viene deshabilitado y será necesario habilitarlo de la siguiente forma:


switch(config)#vtp pruning

switch(config-if)#switchport trunk pruning vlan { add | except | none | remove } lista-de-vlans


Como se puede apreciar se utiliza la misma terminología que en los comandos de configuración de trunks, con lo que no es necesario explicar ya que se han explicado con aterioridad.


Troubleshooting de VTP


VTP es un protocolo sencillo de configurar, pero complicado teniendo en cuenta los parámetros globales entre switches a tener en cuenta, por eso es importante reparar la siguiente lista en caso de problemas:



  • Si el switch es transparente comprobar la versión que se está utilizando, hay que tener en cuenta que si no reenvía anuncios de VTP puede ser por estar utilizando la versión 1 que es la que viene por defecto

  • Comprobar que no haya más de un switch en modo servidor

  • Comprobar que todos los trunks estén configurados como trunk y no como puertos de acceso

  • Comprobar que el nombre de dominio VTP sea el mismo en todos los switches

  • Comprobar que la password sea la misma

  • Comprobar la versión en todos los switches para que coincida


Los siguientes comandos son los que nos van a ayudar a realizar el troubleshooting de VTP:


Switch# show vtp status

VTP Version : 2

Configuration Revision : 250

Maximum VL nabled

V

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

VTP, VLAN Trunking Protocol

VTP, VLAN Trunking Protocol

Eduardo Collado