[BEHAVE] Comments on DCCP NAT
Gorry Fairhurst <gorry@erg.abdn.ac.uk> Sat, 15 March 2008 17:29 UTC
Return-Path: <behave-bounces@ietf.org>
X-Original-To: ietfarch-behave-archive@core3.amsl.com
Delivered-To: ietfarch-behave-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6D9513A67FC; Sat, 15 Mar 2008 10:29:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.308
X-Spam-Level:
X-Spam-Status: No, score=-101.308 tagged_above=-999 required=5 tests=[AWL=-1.171, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_ORG=0.611, MIME_8BIT_HEADER=0.3, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P0meW+sTcw5c; Sat, 15 Mar 2008 10:29:35 -0700 (PDT)
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7B3763A6936; Sat, 15 Mar 2008 10:29:35 -0700 (PDT)
X-Original-To: behave@core3.amsl.com
Delivered-To: behave@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7D8B728C136 for <behave@core3.amsl.com>; Thu, 13 Mar 2008 14:26:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id caSi8vFMMjnG for <behave@core3.amsl.com>; Thu, 13 Mar 2008 14:26:08 -0700 (PDT)
Received: from erg.abdn.ac.uk (unknown [IPv6:2001:630:241:204:203:baff:fe9a:8c9b]) by core3.amsl.com (Postfix) with ESMTP id 0CC883A6CC2 for <BEHAVE@IETF.ORG>; Thu, 13 Mar 2008 14:26:07 -0700 (PDT)
Received: from ra-gorry.erg.abdn.ac.uk (ra-gorry.erg.abdn.ac.uk [139.133.204.42]) (authenticated bits=0) by erg.abdn.ac.uk (8.13.4/8.13.4) with ESMTP id m2DLNaKE018321 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 13 Mar 2008 21:23:42 GMT
Message-ID: <47D99B57.80709@erg.abdn.ac.uk>
Date: Thu, 13 Mar 2008 17:23:35 -0400
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Organization: School of Engineering, University of Aberdeen, Scotland
User-Agent: Thunderbird 2.0.0.12 (Macintosh/20080213)
MIME-Version: 1.0
To: BEHAVE@IETF.ORG, RĂ©mi Denis-Courmont <rem@videolan.org>
X-ERG-MailScanner: Found to be clean
X-ERG-MailScanner-From: gorry@erg.abdn.ac.uk
X-Mailman-Approved-At: Sat, 15 Mar 2008 10:29:33 -0700
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Subject: [BEHAVE] Comments on DCCP NAT
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: gorry@erg.abdn.ac.uk
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: behave-bounces@ietf.org
Errors-To: behave-bounces@ietf.org
Remi, As I said, I think this is a useful document to produce. I do have a few comments on your draft, as below. Gorry --- The Abstract seems to be a little short on motivation. Could we ad something like the text from Behave TCP to indicate who should read this: such as peer-to-peer applications and on-line games, to work consistently. Developing NATs that meet this set of requirements will greatly increase the likelihood that these applications will function properly. - I think it could ALSO be good to state up-front that these requirements resemble those recommended for TCP. --- Section 4.2 (simultaneous open). Simultaneous Open updates DCCP by adding a new packet type, DCCP-Listen. The DCCP-Listen packet communicates the information necessary to uniquely identify a DCCP session. NATs may utilise the connection information (address, port, Service Code) to establish local forwarding state. --- Section 4.3 - Not sure I understand the wording of the REQ-4 requirement. --- Section 6 It could also be appropriate to indicate that the payload of a DCCP-Data packet is usually a natural transmission unit, rather than a byte-stream as in TCP. The size is therefore determined by the application using DCCP and can vary from packet to packet. --- Two other things that I had in mind both follow the rule of don't change the other end-to-end protocol header fields: 1) Partial Coverage. It is worth saying something about partial coverage: DCCP supports partial checksum coverage. A NAT MAY perform incremental changes to the packet checksum field, as for IETF-defined protocols. However, if it needs to recalulate a new checksum value it MUST use the method described in section 9.2 of RFC4340. The Checksum Coverage field in the DCCP header determines the parts of the packet that are covered by the Checksum field. This always includes the DCCP header and options, but some or all of the application data may be excluded as determined on a packet-by-packet basis by the application. A NAT SHOULD NOT modify the Checksum field in the packet header. Changing this value in the network violates the integrity assumptions at the receiver and may result in unpredictable application behaviour. 2) Service Codes. DCCP specifies a Service Code as a 4-byte value (32 bits) that describes the application-level service to which a client application wishes to connect [RFC4340]. This value MUST NOT be modified by the NAT. Implementation and guidance on use of Service Codes by middleboxes, including NATs can be found in [draft-ietf-dccp-serv-codes-04.txt]. <Note: The SC document will be updated to reflect this, and will also update the caution that SC can not be guarenteed to be associated with the applications that they claim to describe>. --- Editorial NiTs that you may like to take-up in the next revision: --- Introduction: " handling datagrams and flows for application using the: ^ - Insert "s". --- Introduction: "enables when either or both"... ^^^^^^^ - This seems like the wrong word. Are we say it is "needed" ---- Introduction: "[I-D.fairhurst-dccp-behave-update]" - this was renamed [draft-ietf-dccp-simul-open-00.txt]. --- Section 6 " modifying the payload of DCCP packets present a significant" ^ -Please insert "s" (the "presents" refers to the modification). --- Section 8 "Both sides of the DCCP session need must be updated to use" ^^^^ - delete "need"? "A method MUST be defined to negociate when to use tunnelling." ^^^^ - Is this a requirement or an assertion? (i.e. "MUST" or "must") --- Section 9 " paassive endpoint in the connection establishment." ^ - remove "a" --- Section 9 - Since the last comment, simultaneous open IS a working group document, therefore "the DCCP working group is defining an update to DCCP that will support this mode". --- Section 8 " A DCCP transport-specific solution is specified by [I-D.phelan-dccp-natencap]." - A procedural note: This was not proposed as a working group item, therefore it is only an example of one proposal - there could be others. --- _______________________________________________ Behave mailing list Behave@ietf.org https://www.ietf.org/mailman/listinfo/behave
- [BEHAVE] Comments on DCCP NAT Gorry Fairhurst