Date: Wed, 24 May 2006 02:06:20 +0800 From: mag@intron.ac To: mallman@icir.org Cc: freebsd-net@freebsd.org, Marcin Jessa <lists@yazzy.org> Subject: Re: How to Quicken TCP Re-transmission? Message-ID: <20060523181419.DB5DDF1056@smtp.263.net> In-Reply-To: <20060523130745.94E5D41696D@lawyers.icir.org> References: <20060523130745.94E5D41696D@lawyers.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Actually, TCP is a single sliding window protocol, which limits its
performance on seriously lossy and long delay transmission media.
We assume that a sender has sent packets [A] [B] [C] [D] [E] while
the receiver has received packets [A] [C] [E]. With TCP the receiver can
only tell the sender that [A] has reached. If the receiver can notify
the sender that both [B] and [D] should be re-sent, the performance will
be better.
------------------------------------------------------------------------
From Beijing, China
Mark Allman wrote:
>
>> 1. Receiver should tell sender to re-send as soon as possible.
>> (But TCP makes receiver purely passive)
>
> This isn't really going to help you at all. With SACK (especially, but
> even without it) the receiver isn't really in a whole lot better
> position than the sender to judge when a packet is actually lost. Some
> people have worked on SNACKs (selective NEGATIVE acknowledgments), but
> my opinion is that the results (that I have seen) show them to be fairly
> equivalent to SACK in terms of performance.
>
>> 2. Receiver should tell sender what is really necessary to re-send.
>> (Sometimes only a single ACK number of TCP cannot include enough
>> information)
>
> RFC2018. (Which provides more than a single ACK number. But, this
> doesn't make the receiver tell the sender what to resend. The logic
> still resides at the sender.)
>
> allman
>
>
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060523181419.DB5DDF1056>
