El presente documento nos va a servir para tracear los problemas que pueden aparecer en nuestras redes en los enlaces configurados como TRUNK, que como sabemos es tráfico etiquetado bajo el cual se introducen varias Vlans en un mismo enlace. Pues bien, el protocolo DTP (dinamic trunking protocol) puede configurarse de diversas maneras para que nuestros enlaces pasen dinámicamente de estar configurados como ACCESS a TRUNK, y viceversa. Esto puede producir ciertos problemas también, dando lugar a «cosas raras» en los enlaces.
Vamos a dar un poco de luz al asunto:
Modos de trabajo de los puertos
auto — Es el modo por defecto, e implica que el puerto aguardará pasivamente la indicación del otro extremo del enlace para pasar a modo troncal. sin embargo si los dos extremos estan en modo auto no se establecerá el enlace como troncal.
on — Fuerza al enlace a permanecer siempre en modo troncal, aún si el otro extremo no está de acuerdo.
off — Fuerza al enlace a permanecer siempre en modo de acceso, aún si el otro extremo no está de acuerdo.
desirable — En este modo el puerto activamente intenta convertir el enlace en un enlace troncal. De este modo, si en el otro extremo encuentra un puerto en modo troncal, o en modo auto o en modo desirable (en todos los casos), pasará a operar en modo troncal.
nonegotiate — Fuerza siempre al puerto a permanecer en modo troncal, pero no envía tramas DTP. Los vecinos deberán establecer el modo troncal en el enlace de forma manual.
Configuración de DTP
DTP se habilita automáticamente en un puerto del switch cuando se configura un modo de trunking adecuado en dicho puerto. Para ello el administrador debe ejecutar el comando switchport mode adecuado al configurar el puerto: switchport mode {access | trunk | dynamic auto | dynamic desirable}. Con el comando switchport nonegotiate se desactiva DTP.
Su función es gestionar de forma dinámica la configuración del enlace troncal al conectar dos switches, introduciendo los comandos del IOS (sistema operativo de los switches y routers Cisco) en la configuración del dispositivo (running-config) de forma automática sin que el administrador intervenga.
Esto implica que si estamos configurando un puerto de un switch Cisco para DTP, el puerto del otro lado del enlace también debe tener DTP habilitado para que el enlace quede configurado correctamente.
La combinación de los modos asignados a los puertos define cuál va a ser el estado final del enlace asociado a éstos:
o bien ‘access’, es decir, pasarán las tramas de una única VLAN y no necesitaremos etiquetarlas.
o bien ‘trunking’, es decir, pasarán las tramas de todas las VLAN permitidas etiquetándolas adecuadamente (ISL o 802.1Q).
La siguiente tabla describe las combinaciones de modos y el estado final del puerto al que se llega, asumiendo que ambos lados tienen DTP habilitado:
puerto localremoto Dynamic Auto Dynamic Desirable Trunk Access
Dynamic Auto access trunk trunk access
Dynamic Desirable trunk trunk trunk access
Trunk trunk trunk trunk fallo
Access access access fallo access
Este protocolo es una ayuda que facilita la vida del administrador de la red. Los switches no necesitan DTP para establecer enlaces troncales, y algunos switches y routers Cisco no soportan DTP
Estados del interfaz
TOS = Trunk Operational Status
TAS = Trunk Administrative Status
TNS = Trunk Negotiation Status
TOT = Trunk Operational (encapsulation) Type
TAT = Trunk Adminstrative (encapsulation) Type
TNT = Trunk Negotiation (encapsulation) Type
Dynamic Desirable:
INE-SW1#sh dtp int fa0/13 | in TAT|TAS
TOS/TAS/TNS: TRUNK/DESIRABLE/TRUNK
TOT/TAT/TNT: ISL/NEGOTIATE/ISL
0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 0 other
INE-SW1#
Static + 802.1Q negotiated
INE-SW1(config-if)#do sh dtp int f0/19 | in TOS|TOT
TOS/TAS/TNS: TRUNK/ON/TRUNK
TOT/TAT/TNT: 802.1Q/802.1Q/802.1Q
0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 0 other
INE-SW1(config-if)#
Static + 802.1Q manual + no DTP
INE-SW1(config-if)#do sh dtp int f0/20 | in TOS|TOT
TOS/TAS/TNS: TRUNK/NONEGOTIATE/TRUNK
TOT/TAT/TNT: 802.1Q/802.1Q/802.1Q
0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 0 other
INE-SW1(config-if)#
Access mode + no DTP (to a router)
INE-SW1(config-if)#do sh dtp int f0/1 | in TOS|TOT
TOS/TAS/TNS: ACCESS/OFF/ACCESS
TOT/TAT/TNT: NATIVE/NEGOTIATE/NATIVE
0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 0 other
INE-SW1(config-if)#
Normal Dynamic Auto + DTP (to a router)
INE-SW1(config-if)#do sh dtp int f0/3 | in TOS|TOT
TOS/TAS/TNS: ACCESS/AUTO/ACCESS
TOT/TAT/TNT: UNKNOWN/NEGOTIATE/UNKNOWN
0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 0 other
INE-SW1(config-if)#
TroubleShooting
C4506-D1#show dtp interface TenGigabitEthernet 1/1
DTP information for TenGigabitEthernet1/1:
TOS/TAS/TNS: ACCESS/ON/TRUNK
TOT/TAT/TNT: NATIVE/802.1Q/NATIVE
Neighbor address 1: 000000000000
Neighbor address 2: 000000000000
Hello timer expiration (sec/state): never/STOPPED
Access timer expiration (sec/state): never/STOPPED
Negotiation timer expiration (sec/state): never/STOPPED
Multidrop timer expiration (sec/state): never/STOPPED
FSM state: S1:OFF
# times multi & trunk 0
Enabled: no
In STP: no
C4506-D2#show dtp interface tenGigabitEthernet 1/1
DTP information for TenGigabitEthernet1/1:
TOS/TAS/TNS: ACCESS/ON/TRUNK
TOT/TAT/TNT: 802.1Q/802.1Q/802.1Q
Neighbor address 1: 000000000000
Neighbor address 2: 000000000000
Hello timer expiration (sec/state): never/STOPPED
Access timer expiration (sec/state): never/STOPPED
Negotiation timer expiration (sec/state): never/STOPPED
Multidrop timer expiration (sec/state): never/STOPPED
FSM state: S1:OFF
# times multi & trunk 0
Enabled: no
In STP: no