[e2e] Why do we need congestion control?

Joe Touch touch at isi.edu
Tue Mar 12 13:13:12 PDT 2013

On 3/7/2013 3:00 AM, Emmanuel Lochin wrote:
> On 07/03/2013 10:15, Detlef Bosau wrote:
>> In addition to erasure codes:
>> TCP provides /reliable/ transport.
>> In the general case, you neither know your corruption ratio nor your
>> drop ratio. So you cannot really determine a necessary "code
>> strength", as you cannot predict the necessary attempts of
>> retransmissions.
>> The game erasure codes vs. retransmissions seems like running in a
>> vicious circle to me.
> Hi Detlef
> Both are complementary for me : you are faster with ARQ over small RTT
> and faster with erasure coding over long-delay link.

They are complementary:

	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).

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.


*you can also compensate for delay by tolerating more error, if that's 
the trade-off you're interested in.


More information about the end2end-interest mailing list