I have encountered a situation where I need to replicate a small (<10 MB) database over unidirectional UDP. The physical ethernet cable prevents data flowing the other direction. Updates must be replicated within a few seconds with very low risk of losing data, but there is no way for the receiving side to ask for retransmission if it detects a failure, e.g. a packet loss, as the data-link is unidirectional.
A crude solution to lower the probability of lost updates would be to send each update multiple times, but that seems rather inefficient if the update frequency is high. A more sophisticated solution would be to use error-correcting codes to recover lost or corrupted packets.
Are there any implementations of such fault-tolerant unidirectional protocol?