Re: [Spud] related draft in TSVWG

Joe Touch <touch@isi.edu> Mon, 27 June 2016 23:13 UTC

Return-Path: <touch@isi.edu>
X-Original-To: spud@ietfa.amsl.com
Delivered-To: spud@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 17BEF12DA6F for <spud@ietfa.amsl.com>; Mon, 27 Jun 2016 16:13:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.326
X-Spam-Level:
X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QlbfMB_imLtq for <spud@ietfa.amsl.com>; Mon, 27 Jun 2016 16:13:19 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36D6312DA63 for <spud@ietf.org>; Mon, 27 Jun 2016 16:13:19 -0700 (PDT)
Received: from [128.9.184.182] ([128.9.184.182]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id u5RNChs1011732 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 27 Jun 2016 16:12:44 -0700 (PDT)
To: Tom Herbert <tom@herbertland.com>
References: <57719746.6030304@isi.edu> <CALx6S34KiyVHs74TWhM=meypbB7BWkeJD-t_P76ZtkRY3Y+LXg@mail.gmail.com>
From: Joe Touch <touch@isi.edu>
Message-ID: <5771B2E9.6030304@isi.edu>
Date: Mon, 27 Jun 2016 16:12:41 -0700
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2
MIME-Version: 1.0
In-Reply-To: <CALx6S34KiyVHs74TWhM=meypbB7BWkeJD-t_P76ZtkRY3Y+LXg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <https://mailarchive.ietf.org/arch/msg/spud/9aYrzD2wJFyDs4NNCtJxu4unbvM>
Cc: Aaron Falk <aaron.falk@gmail.com>, Natasha Rooney <nrooney@gsma.com>, spud <spud@ietf.org>
Subject: Re: [Spud] related draft in TSVWG
X-BeenThere: spud@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Session Protocol Underneath Datagrams <spud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spud>, <mailto:spud-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spud/>
List-Post: <mailto:spud@ietf.org>
List-Help: <mailto:spud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spud>, <mailto:spud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Jun 2016 23:13:21 -0000


On 6/27/2016 3:53 PM, Tom Herbert wrote:
> On Mon, Jun 27, 2016 at 2:14 PM, Joe Touch <touch@isi.edu> wrote:
>> Hi, all,
>>
>> The following draft may be of potential utility in SPUD/PLUS:
>>
>>      draft-touch-tsvwg-udp-options
>>
>> It describes an extension to UDP to allow for trailing options at the
>> transport layer.
>>
> Hi Joe,
>
> >From the draft:
>
> "This length field is typically redundant with IP datagram length and
> header length information as follows:
>
>                   UDPlen = IPlen - IPhdrlen - 8
>
> As a result of this redundancy, the UDP length field can be used in other ways."
>
> "typically" is a key word here; this is not a requirement of UDP. As
> long as the UDP length is less than or equal to IP payload length it
> would be a valid UDP packet. The draft exploits this characteristic,
> however that does not preclude that packets with smaller UDP length
> than IP payload length already exist (maybe even using the same trick
> to extend UDP!). Seems like that leads to a potential ambiguity?

First, yes, if this were a strict requirement, than UDP implementations
would discard UDP segments that were smaller than the IP payload -- in
practice, they don't.

The good news is that there are no known specs (at least none I've heard
of yet or know of otherwise) that use this trick except:

a) UDP-lite, which uses a different transport protocol number and has
different semantics
    in UDP-lite, the entire IP payload is treated as the UDP payload,
which isn't compatible with RFC768

    i.e., it basically delivers both what UDP considers the payload AND
the extended area to the app layer

b) there's a defensive patent that talks about this, which we already
know about but AFAIK never got beyond the though level

    (it's the typical patent with permissions compatible with IETF
standards, again AFAIK)

This does appear to be the first system that will spec this out. We do
include the new OCS (option checksum), which might help avoid accidental
ambiguous use (I.e., UDP OCS ought to help avoid processing these other
uses as UDP checksum).

We can add text to address this issue, though we would appreciate also
knowing if anyone is aware of existing uses other than the two above.

Joe

>
> Tom
>
>> NOTE: I'm not sure what space makes the most sense; for on-path info,
>> IMO IP is a more appropriate location than transport, but IF there is
>> info that is useful to exchange at the transport layer in the header,
>> this might be useful for UDP.
>>
>> It will be briefly presented by the chairs in TSVWG.
>>
>> FYI.
>>
>> Joe
>>
>> _______________________________________________
>> Spud mailing list
>> Spud@ietf.org
>> https://www.ietf.org/mailman/listinfo/spud