Suppose you have already an unreliable lossy channel between 2 peers. Which methods can you suggest to transfer data reliably and also without performance loss? Also the underlying protocol is not TCP (which is already reliable). (I used lossy channel to generalize the question.)
( AFAIK, some methods exist like RDT (rfc-908), Go Back-N. )