Re: Why do we need congestion control?
Joe Touch <[email protected]>
| Newsgroups | gmane.network.end2end |
|---|---|
| Message-ID | <[email protected]> |
On 3/12/2013 2:35 PM, Detlef Bosau wrote: > Am 12.03.2013 21:13, schrieb Joe Touch: >> They are complementary: >> > > Perhaps, the German word "komplementär" has a somewhat other connotation > than "complementary" and perhaps, this confuses me here. > (I have to ask for some patience when my English is not as good as it > should be, I'm no native speaker.) No worries. Your English is much better than my German ;-) >> FEC (including erasure codes) always completes in finite time, >> but has a nonzero probability it will fail (i.e., that the >> data won't get through at all) >> >> ARQ always gets data through with 100% probability when >> it completes, but has a nonzero chance of taking an >> arbitrary long time to do so >> >> In both cases, you compensate for error by adding delay* (either >> coding over longer sequences or waiting for feedback). >> > > You cann summarize the whole thing perhaps in that way: > > - We can transmit a packet in bounded time, however with a non zero > probability of failure. > - We can reliably transmit a packet, however with a non zero probability > of exceeding any bounded time. Exactly. >> For fast links, ARQ's feedback loop can help. >> >> For high loss links, FEC's anticipation of loss can help. >> >> Neither one solves every problem completely, though. >> > > No objection here. >> Joe >> >> *you can also compensate for delay by tolerating more error, if that's >> the trade-off you're interested in. > > Currently I'm focussed on TCP. So my focus is more the delay introduced > by reliable transmission.--- Yes; I mention the alternative - of tolerating more error to reduce delay - because that was my PhD thesis, FWIW. Joe