0% del curso completado
Trunking 802.1Q y VLAN nativa (2.1.b)
📋 En esta lección
Si la VLAN 10 existe en dos switches, sus miembros deben poder hablarse — pero el enlace entre switches es uno solo y debe transportar todas las VLANs a la vez. Eso es un trunk. Aquí aprendes cómo 802.1Q etiqueta las tramas, qué es (y qué riesgo trae) la VLAN nativa, por qué debes desactivar DTP, y cómo restringir qué VLANs viajan por cada trunk.
El problema: VLANs que cruzan switches
Con dos switches conectados y la VLAN 10 presente en ambos, ¿cómo sabe el segundo switch que una trama entrante pertenece a la VLAN 10 y no a la 20?
Opción absurda: un cable por VLAN. Con 10 VLANs, 10 enlaces — imposible de escalar.
Opción real: un solo enlace que transporte todas las VLANs, marcando cada trama con la VLAN a la que pertenece. Ese enlace es un trunk, y el estándar de marcado es IEEE 802.1Q.
Cómo funciona 802.1Q: el tag
Al enviar una trama por un trunk, el switch inserta 4 bytes en la cabecera Ethernet, entre la MAC de origen y el EtherType:
Trama normal: | MAC dst | MAC src | EtherType | Datos | FCS |
Trama 802.1Q: | MAC dst | MAC src | TAG 4B | EtherType | Datos | FCS |
└─ TPID 0x8100 + PCP + DEI + VLAN ID (12 bits)
Del tag te interesan dos campos:
- VLAN ID (12 bits): la VLAN de la trama — de ahí el límite de 4094 VLANs utilizables.
- PCP (3 bits): prioridad de clase de servicio (CoS), usada por QoS — así es como los teléfonos IP marcan su tráfico como prioritario (lección 5.10).
El switch receptor lee el tag, lo retira, y procesa la trama dentro de la VLAN indicada. El tag solo existe en los trunks: los dispositivos finales conectados a puertos de acceso nunca lo ven.
Al insertar el tag, el FCS se recalcula y la trama máxima pasa de 1518 a 1522 bytes — el detalle de los "baby giants" que viste en la lección 2.2.
La VLAN nativa: la excepción sin etiqueta
802.1Q define una peculiaridad: cada trunk tiene una VLAN nativa, cuyas tramas viajan sin etiquetar. Todo lo que llega al trunk sin tag se asigna a la VLAN nativa; todo lo que sale perteneciendo a la nativa, sale sin tag. Por defecto es la VLAN 1.
¿Para qué existe? Herencia histórica: permitía que dispositivos sin soporte 802.1Q compartieran el enlace. Hoy es sobre todo una fuente de problemas:
⚠️ ⚠️ Native VLAN mismatch
Si un extremo del trunk tiene VLAN nativa 1 y el otro la 99, una trama sin tag que salga del primero (VLAN 1) será clasificada como VLAN 99 al llegar — el tráfico salta silenciosamente de una VLAN a otra. CDP detecta el mismatch y lo grita en los logs (
%CDP-4-NATIVE_VLAN_MISMATCH), y STP puede bloquear puertos. Además, la nativa es la base de ataques de VLAN hopping por doble etiquetado (lección 10.6). Regla profesional: la misma VLAN nativa en ambos extremos, dedicada (una VLAN sin usuarios, p.ej. 999) — y nunca la VLAN 1.
Configurar un trunk
Switch(config)# interface GigabitEthernet0/24
Switch(config-if)# description Trunk hacia SW-DISTRIB-01
Switch(config-if)# switchport trunk encapsulation dot1q ← solo en modelos antiguos
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 999
Switch(config-if)# switchport trunk allowed vlan 10,20,30,250
Notas línea a línea:
encapsulation dot1qsolo existe en switches que también soportaban ISL (el predecesor propietario de Cisco, ya extinto). Los switches actuales solo hablan 802.1Q y omiten el comando.mode trunkfija el puerto como trunk permanente.native vlan 999— la nativa dedicada, idéntica en ambos extremos.allowed vlanlimita qué VLANs cruzan. Por defecto pasan todas (1-4094); en producción se permite solo lo necesario (VLAN pruning manual). Menos VLANs en el trunk = menos broadcast innecesario y menos superficie de ataque.
Para modificar la lista sin reescribirla: switchport trunk allowed vlan add 40 (y remove). Cuidado con el error clásico: repetir switchport trunk allowed vlan 40 a secas sustituye la lista entera por "solo la 40" — y de repente el trunk deja de transportar las demás VLANs. En producción, ese descuido es una caída.
DTP: la negociación que no quieres
Los puertos de los Catalyst traen de fábrica el DTP (Dynamic Trunking Protocol), que negocia automáticamente si un enlace se convierte en trunk:
| Modo del puerto | Comportamiento |
|---|---|
switchport mode access | Nunca trunk; envía DTP avisando de que es acceso |
switchport mode trunk | Trunk siempre; sigue enviando DTP para convencer al vecino |
switchport mode dynamic desirable | Quiere ser trunk: lo propone activamente |
switchport mode dynamic auto | Acepta ser trunk si se lo proponen (default en muchos modelos) |
El problema de seguridad: con el default dynamic auto, cualquiera que conecte un dispositivo que hable DTP (u otro switch) puede convertir un puerto de usuario en trunk y acceder a todas las VLANs. Por eso la práctica profesional es doble:
! En puertos de usuario: modo acceso explícito (desactiva la negociación de facto)
Switch(config-if)# switchport mode access
! En trunks: modo trunk explícito Y apagar DTP del todo:
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport nonegotiate
nonegotiate deja de emitir tramas DTP: el trunk queda estático, sin negociación que atacar ni estados inesperados.
Verificación
Switch# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/24 on 802.1q trunking 999
Port Vlans allowed on trunk
Gi0/24 10,20,30,250
Port Vlans allowed and active in management domain
Gi0/24 10,20,30,250
Port Vlans in spanning tree forwarding state and not pruned
Gi0/24 10,20,30,250
Las tres listas del final cuentan una historia en cascada: qué VLANs permite el trunk → cuáles de esas existen y están activas en el switch → cuáles están realmente reenviando (STP no las bloquea). Cuando "la VLAN no pasa por el trunk", esta salida te dice en cuál de los tres escalones se ha quedado: no permitida, no creada en este switch, o bloqueada por spanning tree.
Switch# show interfaces Gi0/24 switchport | include Mode|Native|Trunking
Administrative Mode: trunk
Operational Mode: trunk
Trunking Native Mode VLAN: 999 (GESTION-NATIVA)
Relación con otros conceptos
- El tag 802.1Q amplía la trama Ethernet de la lección 2.2 (1518 → 1522 bytes) y transporta la prioridad CoS que usará la voz (lección 5.10).
- El "escalón 3" de
show interfaces trunk— VLANs en estado forwarding — depende de STP, lecciones 5.7-5.9. - El native VLAN mismatch y el VLAN hopping por doble tag se explotan y mitigan en seguridad L2 — lección 10.6.
- El trunk hacia un router es la base del router-on-a-stick — próxima lección.
Resumen
Un trunk transporta todas las VLANs necesarias por un solo enlace insertando el tag 802.1Q (4 bytes: VLAN ID de 12 bits + prioridad CoS). La VLAN nativa viaja sin etiquetar: configúrala idéntica en ambos extremos, dedicada y distinta de la 1 — un mismatch mueve tráfico entre VLANs en silencio. Configuración profesional: mode trunk + native vlan + allowed vlan con solo lo necesario (ojo: add/remove para editar la lista, no sobrescribirla) + nonegotiate para matar DTP. Verificación: show interfaces trunk y su cascada permitidas → activas → forwarding.