graph TD subgraph CIP_Layer ["Capa de Aplicación (CIP - Common Industrial Protocol)"] OBJ["Objetos CIP
(Identity, Assembly, Connection Manager)"] end subgraph Transport_Layer ["Capa de Transporte (TCP / UDP)"] EXP["Mensajería Explícita
(TCP Puerto 44818)
Configuración y P2P"] IMP["Mensajería Implícita
(UDP Puerto 2222)
I/O Cíclico en Tiempo Real"] end subgraph Lower_Layers ["Capas Inferiores (Estándar IT)"] IP["Protocolo IP (Capa 3)"] MAC["Ethernet IEEE 802.3 (Capa 1 y 2)"] end OBJ --> EXP OBJ --> IMP EXP --> IP IMP --> IP IP --> MAC style OBJ fill:#9b59b6,color:#fff style EXP fill:#3498db,color:#fff style IMP fill:#27ae60,color:#fff style IP fill:#34495e,color:#fff style MAC fill:#2c3e50,color:#fff

1. ¿Qué es realmente EtherNet/IP?

A nivel global, la automatización industrial (UF1794) está dividida en dos grandes bloques: Europa (dominada por PROFINET y Siemens) y América (dominada por EtherNet/IP y Rockwell Automation/Allen-Bradley). El primer error que cometen los técnicos es pensar que EtherNet/IP significa "Ethernet + Internet Protocol". En realidad, la sigla "IP" significa Industrial Protocol.

EtherNet/IP no es más que la adaptación a Ethernet de un protocolo de aplicación mucho más antiguo y robusto llamado CIP (Common Industrial Protocol). CIP es el mismo "idioma" que hablaban las antiguas redes DeviceNet y ControlNet. Al usar EtherNet/IP, simplemente estamos metiendo "palabras" CIP dentro de cajas TCP/UDP estándar para que viajen por cables de red normales.



2. El Modelo Orientado a Objetos (CIP)

A diferencia de Modbus (que lee direcciones de memoria crudas como "Registro 40001"), CIP es un protocolo Orientado a Objetos. Cada dispositivo en la red se modela como una colección de objetos. Para encontrar un dato, un PLC EtherNet/IP necesita conocer tres coordenadas exactas de CIP:

  • Clase (Class): El tipo de objeto. Por ejemplo, la Clase 0x01 es siempre el "Identity Object" (que contiene la versión y el fabricante del dispositivo). La Clase 0x04 es el "Assembly Object" (que agrupa todas las E/S en un solo bloque).
  • Instancia (Instance): El número específico de ese objeto. Si un variador tiene dos puertos, el puerto 1 es la instancia 1 y el puerto 2 es la instancia 2 de la clase "Port Object".
  • Atributo (Attribute): La propiedad exacta que queremos leer o escribir. Ej: Atributo 3 podría ser el "Estado del fallo".


3. Mensajería Explícita vs. Implícita

Al igual que PROFINET separa lo acíclico de lo cíclico, EtherNet/IP divide su tráfico en dos grandes mundos, cada uno usando un protocolo de transporte diferente:

  • Mensajería Explícita (Explicit Messaging): Funciona bajo demanda. Se utiliza para descargar programas, leer diagnósticos o consultar parámetros lentos. Como no se puede perder ni un bit, utiliza el protocolo fiable TCP (Puerto 44818). Se llama "explícita" porque el paquete debe llevar explícitamente escrita toda la ruta CIP (Clase, Instancia, Atributo) para decirle al esclavo qué se le está preguntando.
  • Mensajería Implícita (Implicit / I/O Messaging): Es el tráfico crítico de tiempo real. Se utiliza para mover motores y leer sensores (el equivalente al RT de PROFINET). Como requiere máxima velocidad, utiliza el protocolo rápido y ligero UDP (Puerto 2222). Se llama "implícita" porque no lleva las coordenadas CIP: el PLC y el esclavo han acordado previamente qué significan esos bytes. El PLC simplemente "escupe" los datos y el esclavo ya sabe implícitamente que el Byte 0 es la velocidad y el Byte 1 es la orden de arranque.


4. La Diferencia Crítica con PROFINET: El No-Bypass OSI

Existe una diferencia arquitectónica abismal entre el gigante europeo y el americano. PROFINET RT consigue su velocidad saltándose las capas 3 y 4 del modelo OSI (utilizando el EtherType 0x8892 en Capa 2). EtherNet/IP NO se salta ninguna capa.

Incluso el tráfico Implícito (el más rápido y crítico) sigue viajando encapsulado dentro de cabeceras UDP e IP puras. Esto le da a EtherNet/IP una ventaja gigantesca: el tráfico de I/O es totalmente enrutable y puede cruzar routers estándar IT. Sin embargo, al depender de las capas 3 y 4, el riesgo de sufrir latencia (Jitter) es mucho mayor. Para compensar esto, EtherNet/IP depende de forma crítica de dos tecnologías de infraestructura: el marcado QoS (DSCP) en todos los switches para dar prioridad extrema a los paquetes UDP 2222, y el protocolo IGMP Snooping, ya que el tráfico implícito suele enviarse en formato Multicast, lo que sin IGMP saturaría la red en segundos.

ENCAPSULACIÓN ETHERNET/IP (CIP SOBRE IT ESTÁNDAR) MENSAJERÍA EXPLÍCITA (Configuración bajo demanda) Ethernet IPv4 Header TCP Header (Puerto 44818) CIP Explicit Request (Clase X, Inst. Y, Attr. Z) DATOS / PAYLOAD MENSAJERÍA IMPLÍCITA (Control I/O Cíclico en Tiempo Real) Ethernet IPv4 Header UDP Header (Puerto 2222) CIP I/O Header (Sequence ID) PURA I/O (Sin Clase ni Instancia) Vulnerabilidad y Ventaja del Ecosistema Rockwell Al mantener intactas las cabeceras IPv4 en su capa de tiempo real (Implícita), EtherNet/IP es 100% enrutable, pero exige configurar IGMP Snooping y QoS en los switches para evitar colapsos.
Figura 1: La dualidad de EtherNet/IP. Observe cómo ambos tipos de mensajería (Explícita e Implícita) conservan la cabecera IPv4, a diferencia de PROFINET RT. La mensajería explícita (TCP) añade un gran overhead (carga útil extra) al incluir las instrucciones de Clase/Instancia CIP en el paquete. La mensajería Implícita (UDP) es mucho más ágil: elimina las coordenadas CIP y asume que el receptor (PLC) ya sabe en qué área de memoria debe volcar los datos.
Fuente: Elaboración Propia. Licencia: CC BY-SA 4.0.

🎥 Formación Técnica: Arquitectura de EtherNet/IP y CIP

Comprende cómo los PLC de Allen-Bradley y Omron utilizan las Clases e Instancias CIP para mapear el mundo físico, y analiza visualmente en Wireshark la diferencia entre un paquete UDP 2222 y un TCP 44818.

▶ Ver Arquitectura EtherNet/IP

📝 Evaluación Técnica: El Estándar EtherNet/IP

1. Técnicamente, ¿qué relación existe entre EtherNet/IP y CIP (Common Industrial Protocol)?

2. En el protocolo EtherNet/IP, el tráfico para la adquisición de datos de sensores y control de motores en tiempo real se denomina "Mensajería Implícita" (I/O Messaging). ¿Qué protocolo de transporte de Capa 4 utiliza y por qué?

3. A diferencia de PROFINET RT (que se salta la Capa 3), el tráfico de E/S de EtherNet/IP (Implícito) siempre lleva una cabecera IPv4 completa. ¿Qué ventaja e inconveniente arquitectónico directo tiene esta decisión de diseño para el ingeniero de red de la planta?

🤖 Ejercicio Práctico 4: Auditor CIP con Python

Objetivo: Separar el tráfico rápido (E/S) del tráfico de configuración creando un filtro pasivo en Python para una red EtherNet/IP usando los "Well-Known Ports".

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

Actúa como un experto forense en redes OT. Escribe un script en Python con 'scapy' diseñado para auditar un entorno EtherNet/IP de Rockwell Automation. El script debe: 1. Ejecutar un 'sniff' en la red interceptando paquetes. 2. Identificar si el paquete interceptado pertenece al tráfico de "Mensajería Explícita" (comprobando si usa TCP con el puerto 44818) o si es "Mensajería Implícita" (comprobando si usa UDP con el puerto 2222). 3. Si es Explícito, imprime "⚠️ CONEXIÓN EXPLÍCITA DETECTADA: Petición CIP de diagnóstico o parametrización (TCP)". 4. Si es Implícito, imprime "🟢 TRÁFICO IMPLÍCITO: I/O Cíclicas en tiempo real (UDP)". 5. Extrae las IPs de origen y destino en ambos casos. Comenta el código explicando cómo los analistas de seguridad utilizan filtros en el puerto TCP 44818 para detectar intrusos intentando reprogramar subrepticiamente el PLC.