[Webpush] Early TSV-ART review of draft-ietf-webpush-protocol-09

Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 27 September 2016 10:28 UTC

Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 328B312B026; Tue, 27 Sep 2016 03:28:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] 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 2Hr3G0qnVEvx; Tue, 27 Sep 2016 03:28:16 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (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 884CE12B060; Tue, 27 Sep 2016 03:28:12 -0700 (PDT)
X-AuditID: c1b4fb25-15fff7000000793b-dc-57ea49b90daa
Received: from ESESSHC004.ericsson.se (Unknown_Domain [153.88.183.30]) by (Symantec Mail Security) with SMTP id A7.22.31035.9B94AE75; Tue, 27 Sep 2016 12:28:10 +0200 (CEST)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.32) with Microsoft SMTP Server id 14.3.301.0; Tue, 27 Sep 2016 12:28:09 +0200
To: <tsv-art@ietf.org>, <draft-ietf-webpush-protocol@ietf.org>, <webpush@ietf.org>, <webpush-ads@ietf.org>
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
Message-ID: <1f645188-2344-ebf3-1228-3735bcf81338@ericsson.com>
Date: Tue, 27 Sep 2016 12:28:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0
MIME-Version: 1.0
Content-Type: text/plain; charset="windows-1252"; format=flowed
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprELMWRmVeSWpSXmKPExsUyM2K7nO4uz1fhBk+Xylgs/t7AZjFrzyIW i/ZLZ9gtrpz+y+7A4rFkyU+mAMYoLpuU1JzMstQifbsEroyGtz3MBc/UKi6cu8LYwDhRvouR k0NCwERi0cY9LF2MXBxCAusZJSacnM0K4SxnlFh97QxTFyMHh4hAjsTlfmeQBjYBC4mbPxrZ QGxhAXuJny82MIHYvED2k6dX2UDKWQRUJTa2lICERQViJPbPmskMUSIocXLmExaQEmag8gdb y0DCzALyEs1bZ4OVCAloSzQ0dbBOYOSdhaRjFkLHLCQdCxiZVzGKFqcWJ+WmGxnrpRZlJhcX 5+fp5aWWbGIEhtTBLb9VdzBefuN4iFGAg1GJhzdh1stwIdbEsuLK3EOMEhzMSiK8Mu6vwoV4 UxIrq1KL8uOLSnNSiw8xSnOwKInzmq28Hy4kkJ5YkpqdmlqQWgSTZeLglGpgZJWRuKWUK77v zNJNTxYbRknZLlJ73vxF8Frzkhntc9+xX5NgcbD26Fk9RUpU+f/zfVN8PZ+rH74l2S6+5m3m 7DUbhJoM5R/e+RKxPtfaQIDpjP+D1bdz25Q3hua/3O7irrwrzUtY5vmes7UawirhG2dwX37A a2LMISmX12T1JS9il9CU2wFWSizFGYmGWsxFxYkAxXkZPyUCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/Up0kDoUQmXrpOeidYEE9krjtOz4>
Subject: [Webpush] Early TSV-ART review of draft-ietf-webpush-protocol-09
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Sep 2016 10:28:18 -0000

Hi,

This review is an early, i.e. pre IETF Last Call TSV-ART review. The 
TSV-ART reviews document that has potential transport implications or 
transport related subjects. Please treat it as an IETF Last call comment 
if you don't want to handled it during the AD review.

Document: draft-ietf-webpush-protocol-09
Title: Generic Event Delivery Using HTTP Push
Reviewer: M. Westerlund
Review Date: Sept 27, 2016

Below are a number of comments based on my review. The one with 
transport related subject is the overload handling in comment 4.

1. Section 3:

So the Security Considerations do require use of HTTP over TLS. However, 
I do wonder if there would be a point to move that requirement up into 
the relevant connection sections, like 3. Especially as when one reads 
the confidentiality requirement in Section 4 for the message one wonders 
a bit why it is not explicitly required in section 3.


2. Section 5.2:

TTL = 1*DIGIT

Shouldn't the upper range for allowed values be specified here. At least 
to ensure that one doesn't get interoperability issues.

3. Section 7.2:

    To limit the number of stored push messages, the push service MAY
    either expire messages prior to their advertised Time-To-Live or
    reduce their advertised Time-To-Live.

Do I understand this correctly, that theses options are push service 
side actions that is not notified at that point to the application 
server? Instead it will have to note that the message was early expired 
if it subscribes to delivery receipts?

4. Dealing with overload situations

Reviewing Section 7.1 and other parts I find the discussion of how 
overload situations of various kinds are dealt with missing some cases. 
So the general handling of subscriptions are covered in Section 7.1 and 
with a mitigation of redirecting to another server to handle the new 
subscription.

What I lack discussion of are how any form of push back are handled when 
first the deliver of push service to UA link is overloaded. Is the 
assumption here that as the push service can store messages the delivery 
will catch up eventually, or the message expires? How does one handle a 
0-RTT messages when one has a queue of messages to deliver, despite 
having a UA to Push service connection?

The second case is how the push service server can push back on 
accepting new message when it is overloaded. To me it appears that the 
load on a push service can be very dynamic. Thus overload can really be 
periods. Thus, what push back to application servers is intended here? 
Just, do a 503 response on the request from the application server?

I do note that RFC 7231 does not appear to have any guidance one how one 
sets the Retry-After header to spread the load of the retries. This is a 
known issue. And in this context with automated or external event 
triggered message creations the push back mechanism needs to be robust 
and reduce the issues, not make them worse.

I would recommend that some recommendations are actually included here 
for handling overload from application server message submissions.


5. Life of subscription in relation to transports

I find myself a bit perplexed of if there are any relation between the 
subscription and the relation to an existing transport connection and 
outstanding request, i.e. the availability to receive messages over 
push. I would guess, that there are no strict need for terminating the 
subscription even if there are no receiver for an extended time. 
However, from an application perspective there could exists reason for 
why a subscription would not be terminated as long as the UA is 
connected, while any longer duration of no connections could motivate 
the subscription termination.

I personally would like a bit more clarification on this, but seeing how 
these issues are usually handled around HTTP, I would guess the answer, 
it will be implementation specific? Still there appear to be assumptions 
around this, why it wouldn't matter that much, but that is only given 
that one follows these assumptions.

6. Unclarities which requests that require HTTP/2.

The specification is explicit that some request can be performed over 
HTTP/1.x. However, it is not particular clear which requests that 
require HTTP/2. I assume all the GET requests that will hang to enable 
PUSH promises needs to be HTTP/2? Maybe this should be clarified?

Cheers

Magnus Westerlund

----------------------------------------------------------------------
Services, Media and Network features, Ericsson Research EAB/TXM
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Färögatan 6                 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------