Re: [tcpm] draft-ietf-tcpm-tcp-uto-02
Gorry Fairhurst <gorry@erg.abdn.ac.uk> Fri, 02 December 2005 14:14 UTC
Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EiBgV-0004SY-3p; Fri, 02 Dec 2005 09:14:47 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EiBgS-0004SB-Mr for tcpm@megatron.ietf.org; Fri, 02 Dec 2005 09:14:44 -0500
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA27664 for <tcpm@ietf.org>; Fri, 2 Dec 2005 09:13:56 -0500 (EST)
Received: from dee.erg.abdn.ac.uk ([139.133.204.82] helo=erg.abdn.ac.uk) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EiC17-0000Pt-3Q for tcpm@ietf.org; Fri, 02 Dec 2005 09:36:07 -0500
Received: from [139.133.207.163] (dhcp-207-163.erg.abdn.ac.uk [139.133.207.163]) by erg.abdn.ac.uk (8.13.4/8.13.4) with ESMTP id jB2EDmNE016279; Fri, 2 Dec 2005 14:13:48 GMT
Message-ID: <4390569C.6050004@erg.abdn.ac.uk>
Date: Fri, 02 Dec 2005 14:13:48 +0000
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Organization: University of Aberdeen, UK
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Fernando Gont <fernando@gont.com.ar>
Subject: Re: [tcpm] draft-ietf-tcpm-tcp-uto-02
References: <BF9BD734.4234%gorry@erg.abdn.ac.uk> <6.2.0.14.0.20051201035418.0323fc48@localhost>
In-Reply-To: <6.2.0.14.0.20051201035418.0323fc48@localhost>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ERG-MailScanner: Found to be clean
X-ERG-MailScanner-From: gorry@erg.abdn.ac.uk
X-Spam-Score: 0.0 (/)
X-Scan-Signature: bc6181926481d86059e678c9f7cb8b34
Content-Transfer-Encoding: 7bit
Cc: Lars Eggert <lars.eggert@netlab.nec.de>, tcpm@ietf.org, Ted Faber <faber@ISI.EDU>, "mallman@icir.org" <mallman@icir.org>
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: gorry@erg.abdn.ac.uk
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
A few comments are in-line (but not to all points yet). Gorry Fernando Gont wrote: > At 09:30 a.m. 12/11/2005, Gorry Fairhurst wrote: > >> 2) I don't yet see a compelling reason why this has to be negotiated >> at the >> TCP-layer. > > > We are altering a transport-protocol parameter. > >> This needs to be made clear. The new method does not completely >> relieve the need for new code - Applications still need to add (some) >> code to use the new socket option. > > You could set up the option with a system-wide toggle, for example. > A proposal to make this the default behaviour for all applications on an end-host makes me feel uneasy. > >> 3) If I understand, the mechanism is also per-direction of data >> transfer - >> that is there is no *necessity* for both end hosts to agree on the same >> values - although there are cases where they may both wish to (e.g.) >> increase the default. > > > It's not actually "per direction". Are you saying that it must be configured for BOTH directions then? - This is not my understanding. > But the option is just an advisory. > i.e., you need not use the same value the remote peer is advertising. > The draft contains a RECOMMENDED mechanism to choose the actual user > timeout. The formula means, basically, "if both the local and remote UTO > options are within the allowed higher and lower limits, choose the > higher of the two", > > > >> 4) My biggest worry that the current mechanism allows a remote party to >> alter the behaviour of a sender, without the prior consent of the host >> application. This seems wrong. I suggest it is important to consider >> whether this is "sane" - it needs thought. > > > In principle, it's the transport protocol that should handle this issue. > The application itself should not care about this network-specific > parameter. > I don't agree. The application uses a transport service, this proposed change modifies that service. > In any case, the option will not make things any worse. Do you mean there are no cases where application semantics can change as a result of using this option. That's a bold statement (i.e. big is always best?). > You have upper > and lower limits for the user timeout. And it is assumed that, within > those limits, things cannot go wrong. Under the recommended scheme, > receiving an UTO won't cause connections to be aborted unnecessarily, as > you will always choose the larger of the two UTOs. OTOH, the upper limit > is supposed to prevent you from adopting a user timeout that is too large. > >> On the other hand, if the application calls-down the socket API saying >> this >> is allowed, then this is fine, and I would have no problems on this >> point. > > > In the case there's no socket API call and no system-wide toggle set to > "on", the upper limit could be set up so that it equals the current User > Timeout, as specified in the existing RFCs. This will basically mean > that even upon receipt of an UTO, you won't actually alter the user > timeout for the connection. (under the RECOMMENDED scheme, at least) > > > >> 1) The wording describes sending the option in either/both the SYN v. >> established states. The protocol should be made clearer about this. > > > There had been some discussion on whether sending the option in the SYN > segment should be required. > The consensus was, IIRC, to make it a SHOULD rather than a MUST. > > >> If an end-host SENDS the option in a SYN packet, is it expected in the >> SYN-ACK? > > > I'd say it SHOULD be included, as above. Lars? > > > >> - One thing that I think needs thought is that in the currently defined >> method the Option in a SYN indicates "I may tell you that I wish to use a >> different UTO" - In fact the exact opposite is much more useful tgo the >> remote party: A SYN packet that carries an option saying "MY UTO is XXXX, >> you may change it". > > > I will go back to the draft, but... the option in the SYN segment > basically says "I suport UTO, my current user timeout is XXXX". > > > >> 2) A separate point, relating to options is that normal TCP behaviour >> REQUIRES an option to be present in the SYN to use it later. Is it >> REQUIRED >> to send this option in the SYN packet to be allowed to later use this >> once >> the session is established? > > > The WG consensus was, IIRC, not to make it a requirement. > I am happy with this, if The WG believes that "normal" TCP stacks can handle this, without introducing problems, then I have nmo objection. > > >> 4) Too low a UTO can be VERY harmful to the network service. I believe >> it is >> very important to establish and define a sensible minimal value. All >> to many >> times applications developers write and test code in a LAN environment >> and >> only later deploy in the general Internet. We should not provide another >> opportunity for people to use TCP in cute ways that will break on >> arbitrary >> Internet paths! I think the minimum UTO must be REQUIRED. > > > Requiring a minimum UTO means we should also make the recommended > mechanism for choosing the UTO a "requirement", I think. (the > recommended mechanism basically means "choose the larger of the two > UTOs, and apply higher and lower limits to it). > I'd agree with this. Lars? > > > >> 5) I really feel uneasy about the idea of responding to a UTO option >> with >> another UTO option. This seems bad protocol design, and should at >> least be >> damped by imposing a minimum time before the response can be sent. >> >> Why do this? - I change my end, I request you to change yours. Is that >> not >> it done? > > > Actually, IIRC this was included in the draft for further feedback, as > had been raised on the mailing-list. > > As for my own view on this issue, I agree with yours. If I change the > user timeout, I'd send an UTO. Done. > > > >> 6) Are there situations in which you wish to allow the UTO to be reduced >> once the session has started. Allowing reduction of the UTO below the >> actual PRTT (whatever that means in practice) provides a DOS >> vulnerability. > > > In principle, the UTO will reflect the length of the periods of > disconnection. If these periods change (for good) during the life of a > connection, then it would make sense to reduce them. However, of course > you have raised a good point. But I'd assume that the lower limit for > the UTO will address your case. As stated in the draft, the limits need > not be fixed. So, at any point, the lower limit should be, at least, the > actual PRTT. > > > >> 7) Are there any interoperability issues with NATs/Middleboxes when >> this is >> included on a SYN packet? > > > [MEDINA] has shown that there are not. > > > >> /on a satellite/on a non-geostationary satellite/ >> - All satellites orbit, but the vast majority used for telecoms take an >> orbit that is goeostationary. > > > IIRC, this had been a contribution of (NASA's) Wesley Eddy. "Satellite" > need not be a communications satellite, but could also be planetary body > (i.e., a node operating from the Moon experiences periods of disconnection) - Yes and is also a rather bizarre illustration of the point, considering the Path RTT >> "normal Internet MSL" ;-) > > P.S.: Skipped a few comments, but will come back to them. > > BTW, Thanks so much for your detailed feedback! > > Kindest regards, > > -- > Fernando Gont > e-mail: fernando@gont.com.ar || fgont@acm.org > > > > > _______________________________________________ tcpm mailing list tcpm@ietf.org https://www1.ietf.org/mailman/listinfo/tcpm
- [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Wesley Eddy
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Lars Eggert
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Joe Touch
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont