Re: [Tsv-art] [tram] Tsvart last call review of draft-ietf-tram-turnbis-25

Joe Touch <touch@strayalpha.com> Tue, 18 June 2019 14:30 UTC

Return-Path: <touch@strayalpha.com>
X-Original-To: tsv-art@ietfa.amsl.com
Delivered-To: tsv-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D86341200E3; Tue, 18 Jun 2019 07:30:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.218
X-Spam-Level:
X-Spam-Status: No, score=-1.218 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.com
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 FgzpugLh16tD; Tue, 18 Jun 2019 07:30:33 -0700 (PDT)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7241D1201AF; Tue, 18 Jun 2019 07:30:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=mAYGMhe8xP1G90LwVE0xBAozhJ3YyjROzxwywy4H0Pg=; b=arHdIyO4VF8cTl8DxAh36hz8H 5FrlE1epFx0EWSmZBJxirZfhwmpN7kZj7WJAr64DaDH4sTPPiY7hrq63ulJ5G9MG648qFJKUpcvoC sMXDYfai3KRjyVXddwLHcLmoxLh58zfokczAKv6UnHAHswgX5SFWXQD7eN7BukL89FvfTGM8mzN00 BLAqB1HVq+qpg1ajBXEbKIynLvkYMDpR9qDooFr7IKy7G+yBCoe4k9IG27/qQDFM4T8p7h6e1o0NA aSGuBXFbCMtDUUpJDME7Le3c6AphFzG3kkeyV3pd9lSN3BoqMa+X+CtlUe439Oec2r0KF2ySj21rE 6JrQBlq9Q==;
Received: from cpe-172-250-240-132.socal.res.rr.com ([172.250.240.132]:51953 helo=[192.168.1.77]) by server217.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from <touch@strayalpha.com>) id 1hdF7z-001fQG-H8; Tue, 18 Jun 2019 10:30:32 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail=_95A54A3E-6EC8-4873-94F2-659BA0AF1A9C"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Joe Touch <touch@strayalpha.com>
In-Reply-To: <DM5PR16MB17054A230572CECFB3E2EADEEAEA0@DM5PR16MB1705.namprd16.prod.outlook.com>
Date: Tue, 18 Jun 2019 07:30:25 -0700
Cc: Magnus Westerlund <magnus.westerlund@ericsson.com>, "tram@ietf.org" <tram@ietf.org>, Brandon Williams <brandon.williams@akamai.com>, "draft-ietf-tram-turnbis.all@ietf.org" <draft-ietf-tram-turnbis.all@ietf.org>, "tsv-art@ietf.org" <tsv-art@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>
Message-Id: <25ACCF3B-3E1D-4F01-A75D-C3DDF0F8B48F@strayalpha.com>
References: <155971464360.28104.6837263931145163343@ietfa.amsl.com> <F306B122-79F3-4C7A-8CE2-1C094D9F0FCC@strayalpha.com> <DM5PR16MB1705A4C370C4405AFFD63546EA100@DM5PR16MB1705.namprd16.prod.outlook.com> <5F2F8A3B-2887-4107-81E2-B4E222A4044E@strayalpha.com> <DM5PR16MB1705BD4E31370D2F5A179F17EA130@DM5PR16MB1705.namprd16.prod.outlook.com> <2C6B5776-CB95-4607-8D0C-07FDE2F6D515@strayalpha.com> <DM5PR16MB1705638AD29F3288E4AC0952EAED0@DM5PR16MB1705.namprd16.prod.outlook.com> <HE1PR0701MB252250AE4E7C158F985B0CC895ED0@HE1PR0701MB2522.eurprd07.prod.outlook.com> <D9A01E28-F9FB-4C86-AFD3-A2BA8D89C340@strayalpha.com> <a3bbeb17-e768-9ab2-9f34-3d179fa8fe38@akamai.com> <E41C125D-F3B4-475E-8AD0-124F531F1DC9@strayalpha.com> <DM5PR16MB170564C0438321CC3FDD0ACFEAEF0@DM5PR16MB1705.namprd16.prod.outlook.com> <4C41A2BC-0CBC-42D5-B313-22F9A9D51F6E@strayalpha.com> <DM5PR16MB1705874C023145D26DCB58E6EAEE0@DM5PR16MB1705.namprd16.prod.outlook.com> <edcd66c2-0dfb-8f89-d6a3-53482c433d4e@strayalpha.com> <DM5PR16MB17057CCD4D2543D84254EFD1EAEB0@DM5PR16MB1705.namprd16.prod.outlook.com> <9EC31E30-695B-4F9E-9320-63B6F0E08036@strayalpha.com> <DM5PR16MB17054A230572CECFB3E2EADEEAEA0@DM5PR16MB1705.namprd16.prod.outlook.com>
To: "Konda, Tirumaleswar Reddy" <TirumaleswarReddy_Konda@McAfee.com>
X-Mailer: Apple Mail (2.3445.9.1)
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/H29sfAj_664B97H6ibE34UF_NuI>
Subject: Re: [Tsv-art] [tram] Tsvart last call review of draft-ietf-tram-turnbis-25
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Jun 2019 14:30:36 -0000

See end...

> On Jun 18, 2019, at 1:31 AM, Konda, Tirumaleswar Reddy <TirumaleswarReddy_Konda@McAfee.com> wrote:
> 
> Hi Joe,
>  
> Please see inline [TR2]
>  
> From: tram <tram-bounces@ietf.org <mailto:tram-bounces@ietf.org>> On Behalf Of Joe Touch
> Sent: Monday, June 17, 2019 7:48 PM
> To: Konda, Tirumaleswar Reddy <TirumaleswarReddy_Konda@McAfee.com <mailto:TirumaleswarReddy_Konda@McAfee.com>>
> Cc: Magnus Westerlund <magnus.westerlund@ericsson.com <mailto:magnus.westerlund@ericsson.com>>; ietf@ietf.org <mailto:ietf@ietf.org>; Brandon Williams <brandon.williams@akamai.com <mailto:brandon.williams@akamai.com>>; draft-ietf-tram-turnbis.all@ietf.org <mailto:draft-ietf-tram-turnbis.all@ietf.org>; tsv-art@ietf.org <mailto:tsv-art@ietf.org>; tram@ietf.org <mailto:tram@ietf.org>
> Subject: Re: [tram] [Tsv-art] Tsvart last call review of draft-ietf-tram-turnbis-25
>  
> CAUTION: External email. Do not click links or open attachments unless you recognize the sender and know the content is safe.
> 
>  
> 
> 
> On Jun 17, 2019, at 3:30 AM, Konda, Tirumaleswar Reddy <TirumaleswarReddy_Konda@McAfee.com <mailto:TirumaleswarReddy_Konda@McAfee.com>> wrote:
>  
> Hi Joe,
>  
> Please see inline [TR1]
>  …
> 
> 
> On Jun 13, 2019, at 1:42 AM, Konda, Tirumaleswar Reddy <TirumaleswarReddy_Konda@McAfee.com <mailto:TirumaleswarReddy_Konda@McAfee.com>> wrote:
>  
> ...
> The description in the document implies packet-to-packet translation, which
> seems dangerous (even as a description). This is especially true for the
> notion that each UDP packet is translated into exactly one TCP frame directly.
> 
> The TURN specification only discusses packet-to-packet translation for UDP-to-UDP relay and not for TCP-to-UDP relay.
>  
> Sec 15 talks about setting IP fragmentation based on the received messages. If this is not based on packet-to-packet translation, can you explain how this can be achieved? TCP sets DF for a connection, not on a per packet basis
>  
> [TR] It is not based on packet-to-packet translation. TURN client can set the DON’T-FRAGMENT attribute in the TURN message to tell the TURN server to set the DF bit in the resulting UDP datagram sent to the peer. Please seehttps://tools.ietf.org/html/draft-ietf-tram-turnbis-25#section-15 <https://tools.ietf.org/html/draft-ietf-tram-turnbis-25#section-15>
> The section notes that only a single DSCP can be set for a TCP connection. A similar note should be included in the discussion of IP fragmentation and IP options  - these too can be set on a per-message basis for UDP, but not for TCP.
> [TR1] Section 15 discusses both IP fragmentation and IP options, see https://tools.ietf.org/html/draft-ietf-tram-turnbis-25#section-15 <https://tools.ietf.org/html/draft-ietf-tram-turnbis-25#section-15>
> It does, but incorrectly implies these are per packet decisions. As with that section’s description of DSCP, the descriptions of IP fragmentation and IP options need to indicate these are either not under user control (IP fragmentation) or per-connection (IP options) for TCP.
>  
> [TR2] No, the section does not say per-packet translations. Please see the below snip from Section 15
> <snip>
>       Preferred Behavior: When the server sends a packet to a peer in
>       response to a Send indication containing the DONT-FRAGMENT
>       attribute, then set the DF bit in the outgoing IP header to 1.  In
>       all other cases when sending an outgoing packet containing
>       application data (e.g., Data indication, ChannelData message, or
>       DONT-FRAGMENT attribute not included in the Send indication), set
>       the DF bit in the outgoing IP header to 0.
> </snip>

Loosely restated, this says:
	
	when you get TURN message X, set the IP header as follows

That implies that each TURN message affects a single IP header. That implies packet translation, not content relay - especially because it cannot work for TCP content relay, where IP options cannot be controlled  mid-connection on a per-user-message basis....

> Again, despite claims of intent, this document’s description of all these translations inappropriately implies they are per-packet decisions throughout. This should further be corrected with some explicit text indicating otherwise - as has been noted throughout this thread.
>  
> [TR2] I will add the following line to avoid confusion:
>  
> Note that the server does not preform per-packet translation for TCP-to-UDP translation and vice-versa.

That seems reasonable, but….

> The TURN server sets various fields in the IP header based on the DONT-FRAGMENT attribute in the TURN message and on a per-connection basis for the TCP connection.

That’s still confusing.

You’re not setting IP header values; you’re setting TCP or UDP parameters (which you hope will affect IP values).

Is this also based on the DF attribute in the TURN message, or would it be equally valid (and much more clear) to say that it is based on the DF value of a **TURN session***? I.e., what happens if you receive more than one TURN message with different DF parameters (itor if this is strictly prohibited, please cite where that is mandated).

Joe