It is possible to set up acknowledgements on both DNP3 link layer and application layer. The settings should be equal on both the client and the server sides of the communication. The timeouts must be set so that the other side has enough time to prepare a positive acknowledgement. If an acknowledgement is received after the configured timeout, it is discarded.
DNP3 link layer acknowledgements should not be used in TCP/IP link mode, since the DNP3 message transport (link) is then encapsulated and secured by the Ethernet protocol.
Link layer acknowledgements are seldom used in serial mode. The application layer acknowledgements also cover the link layer acknowledgements. This means that if the application message was successfully delivered, then the link layer must also have been successful. Furthermore, it is easier to perform a whole application layer retransmission rather than link layer retransmissions. Otherwise the application layer timeout must be prepared to cover all the timeouts and retransmissions performed by the link layer.