Subject: Re: Comments to "Advice for Internet Subnetwork Designers"

From: Joe Touch <[email-masked]>
Date: Tue, 19 Sep 2000 09:35:45 -0700

Kathleen Nichols wrote:
> 
> Phil Karn wrote:
> >
> ...
> > So what about a "TOS" field that simply indicates how many IP packets
> > make up this application's transaction size? 

Where does this information come from?
And why is it useful?

Regarding the first question:

In particular, how many IP packets an application 'write' gets
translated into depends on a number of factors, many of which 
aren't available at any particular time (listed in no particular order):

	- currently pending outgoing data
	- IP fragmentation
	- ACK frequency (1 every 2 MTUs is recommended, but not required)
		and it hiccups with timeout-generated ACKs, 
	- Nagle status (on/off)
	- PUSH requests (which can hiccup the stream)
	- MTU (which can change on the fly, e.g., PMTU)

The problem is that there is no one number that describes, or 
even approximates usefully, a transaction size. Further, applications
have varying transaction sizes.

It is even further muddied by application-layer (or above-the-transport)
muxing.

> > While the analogy isn't
> > perfect, think of it as a distant cousin of the TCP "push" bit, which
> > was originally defined to permit implementations to gain efficiency by
> > aggregating data when immediate delivery wasn't necessary.

This wasn't a network issue; it was an end-system issue.

---

Regarding the second question, why is it useful, I could
imagine it potentially being used for IP-level EPD, e.g.,
at a RED router, dropping the remainder of a transaction 
when a part is dropped. However, in ATM it requires that
there not be reordering (e.g., that reordering be checked
and out-of-order cells be dropped PRIOR to the EPD). 

Given IP reordering, how can this information be used??

Joe