EtherNet/IP Connected vs. Connectionless Communication

EtherNet/IP connected versus connection

There are certain underlying principles that just work, and we can take advantage of them without knowing anything about them. For example, hardly anyone understands Electromagnetic Field Theory[1] though we can all use cellular phones perfectly well. Almost no one would use a telephone if they had to understand the details of wave propagation.

This applies to us control engineers too. There are a lot of underlying networking principles that we don’t have to know. Switches and routers have some pretty complicated algorithms for which messages to queue in what order as bandwidth utilization approaches 100%. There’s no need to understand those algorithms, but one of the networking principles that many of us who use ControlLogix controllers and EtherNet/IP should understand is connected vs. connectionless communication.

Connectionless communication actually refers to an occasional communication connection that is a one-time event unrelated to any prior or subsequent communication event. It’s the equivalent of the random call from your mother to tell you she had lunch with Aunt Jenny. You had no prior expectation that the call was coming. The call is unrelated to any other call from your mother, and there is no word when or if there is another call coming. Connectionless communication exists for the moment and then it’s gone.

Connection-oriented communication is an ongoing communication connection that is a stateful interaction occurring over time with a certain, specific purpose. It’s equivalent to the standing Tuesday morning 2-hour sales meeting where each region delivers last week’s sales figures. That connection is scheduled, it’s ongoing for a period of time and the receiver acknowledges receiving the information.

Connection-oriented communication has three distinct phases of operation – connection establishment, connection operation, and connection termination – and must fulfill two requirements. First, messages must be sent in the context of a connection with a guarantee to be received. There must be an acknowledgment from the receiver that the message was received. And secondly, the messages are guaranteed to be delivered in the order in which they were sent.  If either of these properties isn’t provided in a reasonable time, the context of the connection is broken, and both the sender and receiver of the undelivered message are notified of the communication failure.

Every one of our industrial protocols uses either connected or connectionless communications or both. Modbus TCP, for example, uses only connection-oriented communication. EtherNet/IP uses both connected and connectionless messaging. Non-control messages between EtherNet/IP scanners and adapters use the connection-oriented, Layer 4 TCP transport protocol. Scanners use connected communications to change configuration values, set security parameters for CIP Security, and deliver non-control data to data loggers or other applications.

Control data, implicit messaging in EtherNet/IP, use the UDP, connectionless communication protocol to move I/O data. There is no acknowledgment or any assurance that the implicit datagrams of an input control data message are ever received by a scanner or that an output message is received by an adapter. Lost messages are simply forgotten as another message follows quickly. Connectionless messaging was chosen for implicit messaging to avoid the overhead of messages that are continuously exchanged between devices.

Unlike the telephone and Electromagnetic Field Theory, we can use a ControlLogix and EtherNet/IP messaging perfectly well AND have a good understanding of connected vs. connectionless messaging.

[1] I’m one of them. I was so lucky to escape Field Theory with a ‘C’ during my Electrical Engineering undergrad.