Subject: RE: Anomalous TCP behaviour?

From: Stefan Savage <[email-masked]>
Date: Tue, 25 Jan 2000 10:26:27 -0800

Minor tangential point: you can usually disambiguate re-ordering from
retransmissions at the receiver by observing ip_id.  Most OSs provide
monotonicity in ip_id (at least per-flow) so re-ordered segments will have
in-order ip_id values, and retransmitted segments will not (excluding a few
special cases).

Tweak, add some glue, watch what gets ack'd, and you can estimate one-way
reordering rates from a single endpoint :-)

- Stefan

-----Original Message-----
From: Shawn Ostermann [mailto:[email-masked]]
Sent: Tuesday, January 25, 2000 5:43 AM
To: Vern Paxson
Cc: [email-masked]; Anupama Sundaresan
Subject: Re: Anomalous TCP behaviour? 

> >      outoforder pkts:           9           outoforder pkts:           0

> 
> What does outoforder pkts mean here?

That's what you'll see with tcptrace when it sees a retransmitted
segment without having seen the original.  It could be caused by
missing packets in the trace file, but it's more commonly the case
that you're grabbing the packets near the receiver rather than near
the sender.  In either case, you can't tell for sure whether the
segments are out of order or a retransmission (although it's almost
always the latter, of course).

--sdo
-------------------------------------------------------------------------
   Dr. Shawn Ostermann  -  Associate Professor  -  Ohio University
      322 Stocker Center, Ohio University, Athens, Ohio  45701-2979
 [email-masked] -- FAX: (740)593-0007 -- Voice: (740)593-1234
    http://ace.cs.ohiou.edu/~osterman   http://jarok.cs.ohiou.edu

---

From: "Shawn Ostermann" <[email-masked]>
Date: Wed, 26 Jan 2000 10:17:15 -0500

> Minor tangential point: you can usually disambiguate re-ordering
> from retransmissions at the receiver by observing ip_id.  Most OSs
> provide monotonicity in ip_id (at least per-flow) so re-ordered
> segments will have in-order ip_id values, and retransmitted segments
> will not (excluding a few special cases).

I can't dispute your claim, but I'm skeptical how safe it would be.
As far as I can tell, the protocol standard (791 at least) only
requires that the identifier field be unique:

    Thus, the sender must choose the Identifier to be unique for this
    source, destination pair and protocol for the time the datagram
    (or any fragment of it) could be alive in the internet.

Of course, with today's fast networks, even that requirement is
difficult (impossible) to meet.  I'd be hesitant to rely on a
heuristic that isn't guaranteed to hold for all IP stacks and that
would definitely not work with IPv6.

It's an interesting idea, though.  It would be very useful for an set
of experiments.

Shawn