Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Jan 2005 22:40:44 +0100
From:      Andre Oppermann <andre@freebsd.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        net@freebsd.org
Subject:   Re: TCP out-of-order packets.
Message-ID:  <41E6EADC.2AFAEA47@freebsd.org>
References:  <41E5C9D8.4090209@elischer.org> <41E6C564.50005@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote:
> 
> Brooks Davis wrote:
> 
> >On Wed, Jan 12, 2005 at 05:07:36PM -0800, Julian Elischer wrote:
> >
> >
> >>I have a link which is provided by someone else that is 7 x E1s aggregated.
> >>At leat it looks that way to me when I get to see it. however I have
> >>only been able to get
> >>60kB.sec across this, despite having a tcp window size of 131072 bytes..
> >>After investigation it appears that the link is massively re-orderring
> >>packets.
> >>groups of upto 10 packets may appear in random order. (Maybe more, bu tI
> >>have seen 10)
> >>
> >>in fact packets are rarely IN order.
> >>
> >>This plays havoc with the tcp sessions.
> >>
> >>I was thinking of writing a hacked up version of NATD that
> >>instead of doing NAT, just did a pre-sort on packets from each session,
> >>so that the receiver would
> >>see a stream of IN-order packets, with occasional delays.
> >>
> >>firstly, does anyone have any tools to do this already (why build when
> >>you can borrow)
> >>and secondly, does anyone have any experience with this sort of problem?
> >>
> >>I have no control over or access to the link.. all I have is a promise
> >>that they will deliver
> >>14Mb/Sec. with approc 300mSec. RTT to me but there is no promise about
> >>packet order.
> >>
> >>I just get a 100Mb ethernet cable.
> >>
> >>
> >
> >Have you tried Andre's TCP reassembly rewrite?  He says he saw
> >significant improvements in the face of major reordering.
> >
> >
> 
> I don't think it's a problem with reassembly overhead, but rather a
> symptom of sender
> backoff when confronted with multiple duplicate acks due to the receiver
> getting the packets out of order.
> 
> I wonder if there's a way to turn off the sender backoff?

Not directly.  What you actually want is to delay the generating of
ACK's for a certain amount of time (some milli-seconds) to aggregate
the out-of-order packets into one ACK and to avoid the backoff from
the other side.

-- 
Andre



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41E6EADC.2AFAEA47>