Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard

Joe Touch <touch@isi.edu> Wed, 22 January 2014 15:34 UTC

Return-Path: <touch@isi.edu>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDBDD1A0102; Wed, 22 Jan 2014 07:34:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.735
X-Spam-Level:
X-Spam-Status: No, score=-4.735 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.535] autolearn=ham
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 Uo7-mb0gFZvx; Wed, 22 Jan 2014 07:34:38 -0800 (PST)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) by ietfa.amsl.com (Postfix) with ESMTP id 278241A00E4; Wed, 22 Jan 2014 07:34:38 -0800 (PST)
Received: from [192.168.1.93] (pool-71-105-87-112.lsanca.dsl-w.verizon.net [71.105.87.112]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id s0MFXQj1028544 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 22 Jan 2014 07:33:35 -0800 (PST)
Message-ID: <52DFE4C9.8080403@isi.edu>
Date: Wed, 22 Jan 2014 07:33:29 -0800
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
MIME-Version: 1.0
To: Scott Brim <scott.brim@gmail.com>
References: <20140102151419.4692.48031.idtracker@ietfa.amsl.com> <5933BB7D-2D2D-4145-A0B2-E92C8DA25844@netapp.com> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE08242A8E@NKGEML512-MBS.china.huawei.com> <43B89809-F517-4BE2-BE1B-748A4B78FC7F@netapp.com> <52D01383.2080509@joelhalpern.com> <8DCFAFEE-2B06-4334-A5D7-7698D8D3081A@netapp.com> <CAPv4CP-iwoHEiV=xtNAd7qT4r8OYvfE1ZjnKE=wWY5VVcQ3x8w@mail.gmail.com> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE0824427A@NKGEML512-MBS.china.huawei.com> <A1F82D9D-F9D0-46C1-B666-0C13DB79A845@netapp.com> <52D40B91.8040101@joelhalpern.com> <CAPv4CP9R-6Dv9O_H8Ox_-uLWMSzqpx7Gn97TF8jceFkVKPLWTw@mail.gmail.com> <52D518D9.7010703@cisco.com> <CAPv4CP-eNJuOKv4vWxGkiUPUTMkYyqY4cbTmj8M4sn+jXzmCkw@mail.gmail.com> <CAPv4CP-DnNdSoVEFTg9N53xP=yOd6pNe97WxmXJeGHBPKC2h6w@mail.gmail.com> <52D547B2.1060302@cisco.com> <DB6CF60F-FFBA-47DA-9FD6-7288CCB260A6@netapp.com> <52D5568F.2070600@joelhalpern.com> <52DF19ED.8010200@isi.edu> <CAPv4CP_OQ57_tHzVB+7cQ=QpMPyD9Q9zLJW0MrGDioiCADF9Rg@mail.gm! ail.com>
In-Reply-To: <CAPv4CP_OQ57_tHzVB+7cQ=QpMPyD9Q9zLJW0MrGDioiCADF9Rg@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: "mpls@ietf.org" <mpls@ietf.org>, "Eggert, Lars" <lars@netapp.com>, IETF discussion list <ietf@ietf.org>
Subject: Re: [mpls] Last Call: <draft-ietf-mpls-in-udp-04.txt> (Encapsulating MPLS in UDP) to Proposed Standard
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Jan 2014 15:34:39 -0000

On 1/21/2014 7:50 PM, Scott Brim wrote:
> On Tue, Jan 21, 2014 at 8:07 PM, Joe Touch <touch@isi.edu> wrote:
>>
>> On 1/14/2014 7:23 AM, Joel M. Halpern wrote:
>>>
>>> Isn't that basically the problem of the inner traffic sender, not the
>>> problem of the tunnel that is carrying the traffic?
>>> Asking tunnel's to solve the problem of applications with undesirable
>>> behavior seems backwards.
>>
>> By that argument, apps using TCP shouldn't expect the transport to control
>> congestion. They ought to control it at the app layer.
>>
>> Tunneled MPLS, when encapsulated inside UDP, *is* the "application". UDP
>> expects the app to deal with congestion, so it's entirely reasonable for UDP
>> to expect the tunneling system to do this.
>
> Joe, I believe you are confusing a protocol with an architectural
> function.

http://www.isi.edu/rna ought to clear that misconception up.

> It's a UDP encapsulation, but that encapsulation has nothing
> to do with transport, and what runs over it is not an "application".

That would be correct if the 8-byte UDP header were interpreted anywhere 
*except* the current Internet as the demuxing layer above IP. But that 
semantics is exactly what this document seeks - to use that UDP 
information for load balancing, e.g.

Consider this from the Internet's viewpoint; UDP traffic is traversing 
it, sourced by the tunnel ingress, and travels through the Internet with 
the congestion control expectations outlined in RFC5405.

To the Internet, this UDP header is a transport layer, and the tunnel 
ingress is the application.

Yes, if you were just using these bytes somewhere else, interpreted by 
some other mechanism (or not), they'd be just bytes of encapsulation. 
But in the Internet, the roles are determined by RFC768, RFC1122, and 
RFC5405.

> It may be a client layer (with the encapsulation a service layer), but
> that's a relative relationship, not an absolution one about stack
> position.

In an arbitrary environment, without knowledge of any of the other 
protocol layers, yes (that's the principle behind RNA, above).

When instantiated inside the Internet, when you take a physical signal, 
interpret it as a link layer packet, examine the next 20-40 bytes as the 
IP header, and the next 8 as UDP, then that UDP header *is* the 
transport layer for that network (the Internet), and the application 
layer *is* whatever generated the contents of that packet (the 
encapsulator).

 > This instance of UDP is way below transport, is just in
> fact a bit of lubrication for the packet, and considered

That's true from the perspective of the MPLS packet and its origin 
network, but not from the perspective of the network the UDP 
encapsulated result traverses.

> _functionally_ has nothing to do with congestion control.

Oh, sure - UDP has nothing to do with congestion control. But that's 
exactly why the transport area generated RFC5405's section 3.1.3 - 
requiring that the application (the party that generates the UDP 
packets) includes congestion control (directly, or by transitive closure 
of the source of the source of the source... that generated the original 
highest layer of packet, which eventually became encapsulated in UDP).

 > The only
> reason for using UDP encapsulation is to get through middleboxes. If
> something else worked better for that, they would use it.

According to the doc, this is also for load distribution. That aside, 
however, it'd be nice if there were a layer that just "got through 
middleboxes" and had no other properties.

UDP isn't that layer. Nor is TCP.

TCP comes with its own baggage (including reactive congestion control) 
of a heavyweight mechanism that isn't desired for most high-speed tunnels.

UDP comes with RFC5405. That requires some sort of congestion reaction. 
No need to be on the same timescale as TCP - it could be much slower, or 
could simply be (as Lars suggested) a throttle-limit (circuit breaker).

Joe