> One could argue that it's a responsibility of wireless
> link-layer protocols to ensure that random loss is rare (say,
> by employing an ECC).
For slow links, maybe. But TCP's congestion avoidance algorithm does
make the assumption that 90%+ of the losses are caused by congestion,
not link errors. Plug in the asymptotic behavior that tells you that the
average data rate scales as 0(1/sqrt(loss-rate)). For a 1 Mbps
data-rate, with 512 bytes packets and 100 ms RTT, that means a loss rate
of at most 0.34%, of which 0.034% at most should come from transmission
errors. That means a bit-error rate after ECC of less that 1.E-7; OK, we
can probably engineer most links to do that.
Now, consider a high speed network, with connections running at 1Gbps,
with 8 Kbytes packets and still about 100 ms RTT. To not be slowed down
by the congestion avoidance algorithm, we need a packet loss rate better
that 1.E-6. If less than 10% of the losses are due to congestion, that
means a bit error rate better of about 1.E-12. Well, I am not at all
sure that we can hit that one.
It only gets better with speed, by the way. To reach 10 Gbps, you will
need a BER of 1.E-14. That amounts to missing at most one bit every 2
hours. There are very many ways to not achieve that...
-- Christian Huitema