[e2e] Why do we need congestion control?
touch at isi.edu
Thu Mar 14 13:16:58 PDT 2013
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.
>> 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.
>> *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.
More information about the end2end-interest