DNP3 por serial vs TCP: ¿cuál es la diferencia?
DNP3 es anterior a la era del IP barato en todas partes, así que creció sobre enlaces seriales y más tarde ganó una forma de correr sobre TCP. Las tramas del protocolo son las mismas en ambos casos, pero el comportamiento alrededor - direccionamiento, estado de conexión, keep-alives - difiere lo suficiente como para importar al poner en marcha o diagnosticar un enlace. Esta página compara DNP3 por serial y DNP3 por TCP, y muestra cuándo conviene cada uno.
DNP3 serial vs TCP en una línea: DNP3 por serial corre las tramas del protocolo sobre RS-232 o RS-485, donde las direcciones de enlace de cada trama distinguen los dispositivos en un bus multipunto compartido y la temporización la acota la velocidad en baudios. DNP3 por TCP transporta las tramas idénticas dentro de un socket IP, usualmente en el puerto 20000, agregando estado de conexión, keep-alives y la capacidad de alojar varias estaciones remotas lógicas detrás de una sola IP. La lógica de aplicación es la misma; las diferencias están en el transporte, el contexto de direccionamiento y los modos de falla.
Las mismas tramas, distinto transporte
Un punto crucial es que DNP3 sobre TCP no cambia el protocolo. La misma trama de enlace - bytes de sincronía, direcciones, CRC por bloque - y los mismos objetos de aplicación viajan en ambos casos. En serial, la trama sale por RS-232 punto a punto o por un bus multipunto RS-485 compartido por varias estaciones remotas, y la dirección de destino de la capa de enlace es como el maestro elige con qué dispositivo habla. La temporización la acota la velocidad en baudios, y un ciclo de sondeo y respuesta toma un tiempo predecible en el cable.
En TCP, la trama idéntica se envuelve en un socket IP, por convención en el puerto 20000. La red se encarga de la entrega, así que el CRC y el entramado son algo redundantes frente al manejo de errores propio de TCP, pero permanecen porque el formato de trama no cambia. Una consecuencia importante: como las direcciones de enlace DNP3 siguen viajando dentro de la trama, un solo extremo IP puede presentar varias estaciones remotas lógicas, un matiz explicado en las direcciones DNP3 frente a las direcciones IP.
Dónde diverge el comportamiento
Las diferencias aparecen en el estado de conexión y los modos de falla. El serial no tiene conexión que establecer; el enlace simplemente está ahí, y una estación remota muerta sencillamente no contesta. TCP tiene un socket que debe abrirse y que puede quedar a medio abrir, y por eso DNP3 sobre TCP agrega tráfico de keep-alive - a menudo respuestas no solicitadas nulas o sondeos de estado de enlace - para detectar una conexión rancia. Un tiempo de inactividad en un NAT o firewall puede tirar en silencio una sesión TCP, un modo de falla sin equivalente serial y la causa raíz habitual cuando un enlace que funcionaba se queda callado.
La tabla comparativa de abajo resume los intercambios prácticos. El serial conviene a instalaciones de corto alcance, pocos dispositivos y cable existente, y a buses de radio compartidos; TCP conviene a sitios que ya tienen conectividad IP, necesitan mayor capacidad o deben alojar varias estaciones remotas. Muchos sistemas reales usan ambos, con un servidor de dispositivos seriales o un gateway que puentea estaciones remotas seriales heredadas hacia una red IP, el mismo patrón de un convertidor serial a Ethernet para cualquier protocolo serial.
DNP3 serial vs TCP de un vistazo
La tabla pone a los dos lado a lado sobre los criterios que de verdad definen una decisión de diseño.
| Criterio | DNP3 por serial | DNP3 por TCP |
|---|---|---|
| Enlace físico | RS-232 o RS-485 | Red IP, típicamente puerto 20000 |
| Compartir dispositivos | Bus multipunto, por dirección de enlace | Varias estaciones remotas lógicas por IP, por dirección de enlace |
| Estado de conexión | Ninguno que establecer | Socket que puede quedar a medio abrir |
| Necesidad de keep-alive | No se requiere | Necesario para detectar sockets rancios |
| Falla común | Ruido, cableado, errores de CRC | Tiempo de inactividad en NAT o firewall |
| Mejor ajuste | Corto alcance, radio compartido, cable existente | Conectividad IP existente, mayor capacidad |
Preguntas frecuentes
¿DNP3 sobre TCP es un protocolo distinto?
No. Las tramas de enlace y los objetos de aplicación son idénticos a los del DNP3 serial; simplemente se transportan dentro de un socket IP, usualmente en el puerto 20000. Solo difieren el transporte, el manejo de conexión y el comportamiento de keep-alive, no la lógica DNP3 en sí.
¿Por qué DNP3 sobre TCP necesita keep-alives?
Porque un socket TCP puede quedar a medio abrir o ser descartado en silencio por el tiempo de inactividad de un NAT o firewall. El tráfico de keep-alive permite a ambos extremos notar una conexión rancia, un modo de falla que no existe en un enlace serial sin conexión que mantener.
¿Pueden coexistir DNP3 serial y TCP?
Sí. Un gateway o servidor de dispositivos seriales puentea comúnmente estaciones remotas seriales heredadas hacia una red IP, de modo que el maestro habla DNP3 sobre TCP mientras los dispositivos de campo siguen siendo seriales. Las tramas pasan sin cambios a través del puente.
Fuentes y lecturas
Referencias primarias de los organismos de normas y reguladores que definen este tema:
- DNP3 (IEEE 1815) Protocol - DNP Users Group
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.