A data packet is conveyed between servers connected to a packet network. A
first server securely distributes a list of distinct numbers to one or
more authorized receiving servers. Subsequently, upon receiving a packet
to be transferred, the first server selects an unused number from the
number list and writes the number into the packet before routing the
packet to one or more of the authorized receiving servers. Upon receipt
of the packet, an authorized receiving server checks that the number
included in the packet is valid in that it is both contained in the
latest number list and has not already been used in another packet. If
valid, the receiving server determines a sequence number representative
of the position of the number in the latest number list and sends an
acknowledgement message to the originating server, including the
determined sequence number. The originating server checks the sequence
number to verify the authenticity of the acknowledgement message,
re-sending the packet if invalidly acknowledged.