[e2e] Why do we need congestion control?

Joe Touch 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.

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




More information about the end2end-interest mailing list