graph TD subgraph Switch_Industrial ["Switch Industrial"] Port1["Puerto 1"] Port2["Puerto 2"] Port3["Puerto 3"] MAC_Table["Tabla de Direcciones MAC
MAC | Puerto
AA:BB:CC | 1
DD:EE:FF | 3"] end A["PC-A
MAC: AA:BB:CC"] --- Port1 B["PLC-B
MAC: BB:CC:DD"] --- Port2 C["HMI-C
MAC: DD:EE:FF"] --- Port3 subgraph Flujo_Datos ["Flujo de Datos: A envía a C"] Trama_In["Trama Entrante por Puerto 1
Origen: AA:BB:CC
Destino: DD:EE:FF"] Decision["Switch consulta Tabla MAC:
DD:EE:FF está en Puerto 3"] Trama_Out["Trama Sale por Puerto 3"] end Trama_In --> Decision --> Trama_Out Port2 -. Trafico Aislado .-> B style MAC_Table fill:#fcf3cf,stroke:#f39c12 style Decision fill:#e8f8f5,stroke:#27ae60

1. El Switch: El Cerebro de la Capa 2

En el diseño de redes industriales (UF1794), el switch es el componente central de la Capa 2 (Enlace de Datos). A diferencia de su predecesor, el hub, que era un simple repetidor eléctrico que reenviaba cada bit por todos sus puertos (creando un único y masivo dominio de colisión), el switch es un dispositivo inteligente. Cada uno de sus puertos es un dominio de colisión independiente, lo que elimina las colisiones de Ethernet y permite la comunicación Full-Duplex.

La función principal de un switch es tomar decisiones de reenvío basadas en las direcciones MAC de las tramas Ethernet. Para ello, construye y mantiene dinámicamente una Tabla de Direcciones MAC (también llamada tabla CAM). Esta tabla es, en esencia, el mapa que le dice al switch qué dispositivo está conectado a cada uno de sus puertos físicos.



2. El Proceso de Aprendizaje: La Tabla MAC

Un switch aprende de forma pasiva, observando el tráfico que le llega. El proceso es el siguiente:

  1. Una trama Ethernet llega por un puerto (ej. Puerto 1).
  2. El switch examina la dirección MAC de Origen de esa trama.
  3. Añade una entrada en su tabla MAC: La MAC de Origen [MAC-A] se encuentra en el Puerto 1.
  4. A continuación, examina la dirección MAC de Destino. Consulta su tabla:
    • Si la MAC de Destino está en la tabla (ej. asociada al Puerto 5), el switch reenvía la trama únicamente por el Puerto 5 (conmutación Unicast).
    • Si la MAC de Destino NO está en la tabla (o si es una dirección de Broadcast FF:FF:FF:FF:FF:FF), el switch no sabe dónde está el destinatario. Como medida de último recurso, inunda (Flooding) la trama por todos los puertos, excepto por el que entró.

Este proceso de aprendizaje y reenvío selectivo es lo que permite a los switches crear redes locales eficientes y de alto rendimiento.



3. Store-and-Forward vs. Cut-Through: Integridad vs. Latencia

No todos los switches toman sus decisiones de la misma manera. Existen dos métodos de conmutación principales con un compromiso fundamental entre la integridad de los datos y la velocidad:

  • Store-and-Forward (Almacenamiento y Reenvío): Es el método por defecto en la mayoría de switches industriales. El switch recibe la trama Ethernet completa y la almacena en un buffer de memoria. Antes de reenviarla, realiza una comprobación de errores leyendo el campo FCS (Frame Check Sequence). Si el CRC es correcto, la reenvía. Si la trama está corrupta (por ruido EMI, por ejemplo), la descarta.
    • Ventaja: Máxima integridad. Evita que las tramas erróneas se propaguen por la red.
    • Desventaja: Mayor latencia, ya que debe esperar a recibir los 1518 bytes de la trama antes de actuar.
  • Cut-Through (Corte): Es el método más rápido. El switch solo lee los primeros bytes de la trama, lo justo para identificar la dirección MAC de destino. En cuanto la conoce, empieza a reenviar la trama por el puerto de salida sin esperar a que llegue el resto.
    • Ventaja: Latencia extremadamente baja (microsegundos), ya que el reenvío es casi instantáneo.
    • Desventaja: Nula integridad. Si la trama está corrupta, el switch la reenviará igualmente, propagando errores por toda la red.

En entornos de automatización, donde un comando erróneo puede ser catastrófico, el modo Store-and-Forward es el estándar de facto para garantizar la fiabilidad.



4. ASICs: El Poder del Silicio Dedicado

¿Cómo es posible que un switch industrial pueda procesar millones de tramas por segundo y tomar decisiones en microsegundos? La respuesta está en los ASICs (Application-Specific Integrated Circuits). Un ASIC es un chip de silicio diseñado para hacer una única tarea de forma increíblemente rápida. En lugar de usar una CPU de propósito general (como la de un PC), los switches tienen ASICs dedicados exclusivamente a leer cabeceras MAC, consultar la tabla y reenviar tramas.

Este procesamiento por hardware, conocido como conmutación a velocidad de cable (wire-speed), permite que el switch opere sin cuellos de botella, incluso con todos sus puertos funcionando al 100% de su capacidad. Es la razón por la que un switch gestionado puede ofrecer funcionalidades complejas como VLANs, QoS o IGMP Snooping sin que su rendimiento se vea afectado.

STORE-AND-FORWARD vs. CUT-THROUGH Store-and-Forward (Fiable, Mayor Latencia) Entrada Switch Salida Switch Espera y
Verifica FCS Cut-Through (Rápido, Propaga Errores) Entrada Switch Salida Switch Reenvío
Inmediato
Figura 1: Métodos de conmutación. En Store-and-Forward, el switch espera a recibir la trama completa y su FCS para verificarla, introduciendo más latencia. En Cut-Through, el switch lee solo la MAC de destino y empieza a reenviar la trama inmediatamente, minimizando la latencia pero arriesgándose a propagar tramas corruptas.
Fuente: Elaboración Propia. Licencia: CC BY-SA 4.0.

🎥 Formación Técnica: ¿Cómo Funciona un Switch?

Visualiza cómo un switch aprende las direcciones MAC, construye su tabla de reenvío y la diferencia fundamental entre los modos Store-and-Forward y Cut-Through.

▶ Ver Funcionamiento de un Switch

📝 Evaluación Técnica: Arquitectura de Conmutación

1. ¿Cómo aprende un switch industrial a qué puerto físico está conectado cada dispositivo de la red?

2. En un entorno industrial con alto ruido electromagnético, ¿qué método de conmutación (switching method) es preferible para garantizar la integridad de los datos y por qué?

3. ¿Qué componente de hardware interno permite a un switch industrial tomar decisiones de reenvío a "velocidad de cable" (wire-speed) sin sobrecargar su CPU principal?

🤖 Ejercicio Práctico 4: Simulador de Tabla MAC con Python

Objetivo: Programar la lógica interna de un switch para comprender cómo aprende y toma decisiones de reenvío.

Copia el siguiente *prompt* y pégalo en un modelo de IA (como ChatGPT, Gemini o Claude).

Actúa como un ingeniero de firmware de red. Escribe un script en Python que simule el funcionamiento de la tabla de direcciones MAC de un switch. El script debe: 1. Crear un diccionario vacío para simular la 'tabla_mac'. 2. Definir una función `procesar_trama(tabla_mac, puerto_entrada, mac_origen, mac_destino)`. 3. Dentro de la función, primero debe 'aprender': añadir la `mac_origen` y su `puerto_entrada` a la tabla. 4. Luego, debe 'decidir': buscar la `mac_destino` en la tabla. Si la encuentra, imprimir 'Unicast: Trama para [mac_destino] reenviada al puerto [puerto]'. 5. Si no la encuentra, imprimir 'Flooding: Destino desconocido. Inundando por todos los puertos excepto el de entrada'. 6. Realiza varias llamadas a la función para simular un diálogo entre dos equipos y demostrar cómo la tabla se va poblando.