Re: [rtcweb] draft-jesup-rtcweb-data-00 posted

Hadriel Kaplan <HKaplan@acmepacket.com> Tue, 25 October 2011 16:50 UTC

Return-Path: <HKaplan@acmepacket.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 441E121F84BC for <rtcweb@ietfa.amsl.com>; Tue, 25 Oct 2011 09:50:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.145
X-Spam-Level:
X-Spam-Status: No, score=-2.145 tagged_above=-999 required=5 tests=[AWL=-0.147, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_23=0.6]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 58rvlisMpEWr for <rtcweb@ietfa.amsl.com>; Tue, 25 Oct 2011 09:50:54 -0700 (PDT)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by ietfa.amsl.com (Postfix) with ESMTP id D65E921F8C58 for <rtcweb@ietf.org>; Tue, 25 Oct 2011 09:50:52 -0700 (PDT)
Received: from MAIL2.acmepacket.com (10.0.0.22) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.2.254.0; Tue, 25 Oct 2011 11:50:47 -0400
Received: from MAIL1.acmepacket.com ([169.254.1.230]) by Mail2.acmepacket.com ([169.254.2.157]) with mapi id 14.01.0270.001; Tue, 25 Oct 2011 11:50:47 -0400
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: Ted Hardie <ted.ietf@gmail.com>
Thread-Topic: [rtcweb] draft-jesup-rtcweb-data-00 posted
Thread-Index: AQHMky3cZQqP1ujCGEKVF1TBv3YWpQ==
Date: Tue, 25 Oct 2011 15:50:47 +0000
Message-ID: <4DBA01DA-EAEB-4B4B-BB42-9DF23B86D8E0@acmepacket.com>
References: <4EA5EA46.1010803@jesup.org> <D3C41C1C-3586-4A22-8040-C7F0E22B41A7@acmepacket.com> <CA+9kkMC8s1KvASsFz==txbpb7O9=22v5fHOu5tOBz_8-Fktfuw@mail.gmail.com>
In-Reply-To: <CA+9kkMC8s1KvASsFz==txbpb7O9=22v5fHOu5tOBz_8-Fktfuw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.0.0.30]
Content-Type: multipart/alternative; boundary="_000_4DBA01DAEAEB4B4BBB429DF23B86D8E0acmepacketcom_"
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAQAAAWE=
Cc: Randell Jesup <randell-ietf@jesup.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] draft-jesup-rtcweb-data-00 posted
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Oct 2011 16:50:55 -0000

Actually that is also a requirement, but not the one I was worried about. :)

My concern is that there will be IP-layer fragmentation - even if the IP fragments successfully get delivered to the far end.  Consumer NATs, Corp Firewalls, and CGNs have a really hard time with IP-layer fragmentation; in some cases they will block it altogether, in other cases they'll handle a small restricted volume of it.  Some IP routers and CGNs, for example, play tricks with the MSS in TCP to prevent IP-layer fragmentation of TCP segments.

Since UDP has no MSS-equivalent, and no UDP-layer segmentation/chunking, we need it at a layer above UDP so that every IP+UDP packet coming out of the Browser's OS is a whole UDP packet and no IP-layer fragmentation occurs.

In fact, I wonder if we shouldn't add an MSS-type thing for this data channel, in STUN/ICE since it's now a virtual connection "handshake".

-hadriel


On Oct 25, 2011, at 10:56 AM, Ted Hardie wrote:

Hi Hadriel,

I'm finding this requirement to be oddly worded:


Req. 7: Data streams MUST provide fragmentation at a layer above UDP, such that IP-layer fragmentation does not occur no matter how large a message/buffer the Javascript application passes down to the Browser to be sent out.


Isn't the issue that the data stream must understand the path MTU and must chunk the data so as to avoid IP fragmentation?  If it did not, it could run into IP-layer fragmentation even with a relatively small amount of traffic to send.  Why tie that requirement either to a "layer above UDP" (since running this over UDP is not decided) or to the size of the data to be passed?

I'm guessing that at the back of this is a requirement like "Please, don't make the downloaded javascript application figure out how to chop up the data to make it pass unmolested over the path".  I heartily agree with that, but if I'm understanding you right, that would be:

Req. 7:  Data streams must avoid IP-layer fragmentation without requiring the Javascript application to restrict the size of messages to be passed over the channel.

Does that make sense?

regards,

Ted