Unlike Standard Ethernet, Modus-TCP does not control node access to the network using a CSMA/CD procedure in the Data Link Layer, but handles access control through the Client/Server principle in the Application Layer. That means that a unique address is assigned to every node on the network, and that nodes are not allowed to send data unless a node’s request to do so is acknowledged by a Master with an explicit prompt to proceed.
Parameters and data are encapsulated for sending, and are embedded into the payload data container of a TCP telegram. A “Modbus Application Header” (MBAP) is assigned to the payload data to ensure servers can definitely interpret Modbus parameters and instructions upon receipt. Only one Modbus application telegram may be embedded into each TCP/IP telegram.
Like all TCP-based protocols (with TCP representing “Transmission Control Protocol”), Modbus-TCP operates based on connections. Prior to actual data transfer, a reliable connection must therefore be established between Master and Slave in order to ensure that data is received completely and in the correct sequence. Once that connection is established, the Client and Server can transfer any amount of payload data. For cyclical input and output data transfer, the connection remains permanently in place. For service data, it is only established for the duration of the actual transmission. Server and Client nodes are able to establish and maintain several TCP/IP connections at the same time.