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. Esos 4 bytes son el tag, y tienen cuatro campos:
- TPID (16 bits): vale siempre
0x8100y ocupa justo la posición donde iría el EtherType. Así el switch receptor sabe que la trama viene etiquetada. - 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).
- DEI (1 bit): marca la trama como descartable si hay congestión. Para el CCNA basta con saber que existe.
- VLAN ID (12 bits): la VLAN de la trama. De ahí el límite de 4094 VLANs utilizables.
De los cuatro, los que vas a usar de verdad son el VLAN ID y el PCP.
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.
Todo el recorrido en movimiento, de un puerto de acceso al otro. Al final aparece la excepción de la VLAN nativa, que es el apartado siguiente.
Animación de 32 segundos, sin sonido: una trama entra sin etiquetar, el switch le inserta los 4 bytes del tag 802.1Q para cruzar el trunk y el switch vecino se los quita antes de entregarla
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.