A retransmitted message contains its original sequence number. The acknowledgement is the last in-sequence data message received by the transmitter of the message. For data and dataquery messages, the ID is its sequence number. For the control messages sync , ack , query , state , and close , the ID is one greater than the sequence number of the highest sent data message. The sender transmits data messages with type data .
Any messages traveling in the opposite direction carry acknowledgements.
An ack message will be sent within 200 milliseconds of receiving the data message unless a returning message has already piggy-backed an acknowledgement to the sender. In IP, messages may be delivered out of order or may be lost due to congestion or faults. An average round trip time is maintained by measuring the delay between the transmission of a message and the receipt of its acknowledgement. Until the first acknowledge is received, the average round trip time is assumed to be 100ms. The sender then resends only the first unacknowledged message, setting the type to dataquery .