Glosario de Automatización • DNP3 serial vs TCP

DNP3 por serial vs TCP: ¿cuál es la diferencia?

Ingeniería Merobix • • 4 min de lectura

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.

Volver al glosario

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.

CriterioDNP3 por serialDNP3 por TCP
Enlace físicoRS-232 o RS-485Red IP, típicamente puerto 20000
Compartir dispositivosBus multipunto, por dirección de enlaceVarias estaciones remotas lógicas por IP, por dirección de enlace
Estado de conexiónNinguno que establecerSocket que puede quedar a medio abrir
Necesidad de keep-aliveNo se requiereNecesario para detectar sockets rancios
Falla comúnRuido, cableado, errores de CRCTiempo de inactividad en NAT o firewall
Mejor ajusteCorto alcance, radio compartido, cable existenteConectividad 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:

Más en Protocolos industriales
Probar un enlace SCADA serial RS-485  •  Control de flujo serial  •  Serial RS-232  •  Paridad y encuadre serial  •  RS-485 / Serial  •  Todo en Protocolos industriales →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →