Re: [dtn-interest] UDP/DCCP draft

Simon Perreault <simon.perreault@viagenie.ca> Wed, 10 October 2012 18:13 UTC

Return-Path: <simon.perreault@viagenie.ca>
X-Original-To: dtn-interest@ietfa.amsl.com
Delivered-To: dtn-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 92A1721F8723 for <dtn-interest@ietfa.amsl.com>; Wed, 10 Oct 2012 11:13:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id emqZWQsMX6nj for <dtn-interest@ietfa.amsl.com>; Wed, 10 Oct 2012 11:13:19 -0700 (PDT)
Received: from jazz.viagenie.ca (jazz.viagenie.ca [IPv6:2620:0:230:8000::2]) by ietfa.amsl.com (Postfix) with ESMTP id 7DC2521F86FC for <dtn-interest@irtf.org>; Wed, 10 Oct 2012 11:13:19 -0700 (PDT)
Received: from porto.nomis80.org (unknown [IPv6:2620:0:230:c000:4c00:b0b2:9637:3271]) by jazz.viagenie.ca (Postfix) with ESMTPSA id E79B44015B for <dtn-interest@irtf.org>; Wed, 10 Oct 2012 14:13:15 -0400 (EDT)
Message-ID: <5075BABB.10405@viagenie.ca>
Date: Wed, 10 Oct 2012 14:13:15 -0400
From: Simon Perreault <simon.perreault@viagenie.ca>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1
MIME-Version: 1.0
To: "dtn-interest@irtf.org" <dtn-interest@irtf.org>
References: <CFB330D8-7178-4783-8BF6-B2E7D050EEBC@ohio.edu>
In-Reply-To: <CFB330D8-7178-4783-8BF6-B2E7D050EEBC@ohio.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [dtn-interest] UDP/DCCP draft
X-BeenThere: dtn-interest@irtf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "The Delay-Tolerant Networking Research Group \(DTNRG\) - Announce." <dtn-interest.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/dtn-interest>, <mailto:dtn-interest-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/dtn-interest>
List-Post: <mailto:dtn-interest@irtf.org>
List-Help: <mailto:dtn-interest-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Oct 2012 18:13:20 -0000

Here's my review. Sorry for the delay, it fell into a crack in the floor...


Summary: This draft is almost ready. A few technical changes to the text 
are necessary.


Major:

- Section 3.1 needs to talk about PMTUD. Specifically, it needs to say 
that the BP stack SHOULD fragment bundles so as to produce DCCP or UDP 
packets equal to the PMTU value. And PMTUD is the way this value should 
be discovered on the Internet. There is no need to specify fallback 
values for IPv4 and IPv6 (second paragraph of 3.1.2) since this is 
already specified by PMTUD.

The following excerpt from section 3.2 should be reworded in terms of 
PMTUD, should not mention "operating system services" (this is an 
implementation detail and we should only be concerned by 
externally-observable behaviour), and should be moved to section 3.1:

    The CL SHOULD use available operating system services to obtain the
    largest supported packet size, and MAY use the default packet size
    limit if path-specific information is not available.  For bundles
    that are too large for the supported packet size, the bundle protocol
    fragmentation process SHOULD be used to transmit the large bundle.

Same for similar text in section 3.3.


Minor:

- Section 2:

    As such, it is
    RECOMMENDED that, if possible, DCCP be used to transport LTP segments
    across the Internet.

Shouldn't this recommendation also apply to bundles?


- Section 2:

    Therefore, any
    application using UDP to transport LTP segements or Bundles MUST
    implement congestion control consistent with RFC 5405.

I suggest to change MUST into SHOULD. In many networks, nothing breaks 
if there is no congestion control.

Also, does "applications" refer to BP applications, or to the BP stack 
itself?


- Section 3.2:

    If a datagram CL is used for transmission of bundles, every packet
    MUST contain exactly one bundle or four zero octets as a keep-alive.

Also section 3.4:

    Therefore,
    the CL MAY send a packet containing exactly 4 octets of zero bits.

s/packet/datagram/

Why use four octets as a keepalive? Why not zero octets?

You may also want to specify a recommended keep-alive interval. I would 
suggest simply adapting the second paragraph of section 10 in RFC5245.


- Section 3.6: The status of DCCP availability may change. RFCs are 
forever. I would suggest removing most of this section but keep the 
actual recommendation:

    the UDP CL either MUST NOT
    be used outside an isolated network for the transmission of any non-
    trivial amounts of data, or it MUST implement congestion control
    procedures as outlined in RFC 5405 [RFC5405].

And move that to section 2.


Nits:

- In the abstract, remove "the availability of implementations is 
limited". That situation may change. RFCs are forever.

- Section 1 contains "RFCs 5325 [RFC5325], 5326 [RFC5326], and 5327 
[RFC5327]". Section 2 contains "RFCs 2914 [RFC2914], 5405 [RFC5405], and 
2309 [RFC2309]". Try to use a more descriptive citation style such as 
"Bundle Protocol [RFC5050]".

- Section 5: s/have been requested/have been assigned/
Remember that this will be published as an RFC after IANA has done the 
actual allocation.


Simon
-- 
DTN made easy, lean, and smart --> http://postellation.viagenie.ca
NAT64/DNS64 open-source        --> http://ecdysis.viagenie.ca
STUN/TURN server               --> http://numb.viagenie.ca