Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16

Qin Wu <bill.wu@huawei.com> Wed, 19 September 2018 08:36 UTC

Return-Path: <bill.wu@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 129A2130FCA for <netconf@ietfa.amsl.com>; Wed, 19 Sep 2018 01:36:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 H1VAj1keOoT5 for <netconf@ietfa.amsl.com>; Wed, 19 Sep 2018 01:36:54 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 DEA80130F88 for <netconf@ietf.org>; Wed, 19 Sep 2018 01:36:53 -0700 (PDT)
Received: from lhreml708-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 100BBE1318098 for <netconf@ietf.org>; Wed, 19 Sep 2018 09:36:49 +0100 (IST)
Received: from NKGEML414-HUB.china.huawei.com (10.98.56.75) by lhreml708-cah.china.huawei.com (10.201.108.49) with Microsoft SMTP Server (TLS) id 14.3.399.0; Wed, 19 Sep 2018 09:36:50 +0100
Received: from NKGEML513-MBX.china.huawei.com ([169.254.1.200]) by nkgeml414-hub.china.huawei.com ([10.98.56.75]) with mapi id 14.03.0399.000; Wed, 19 Sep 2018 16:36:46 +0800
From: Qin Wu <bill.wu@huawei.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "evoit=40cisco.com@dmarc.ietf.org" <evoit=40cisco.com@dmarc.ietf.org>, "douglas@hubler.us" <douglas@hubler.us>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16
Thread-Index: AQHUSpBgBUFGD5oy2kmpOilc7/EuyqTuKlmAgACurwCAAAD1gIAFUEkAgAG9NoCAAAwnAIAAICCAgAATFYCAAM5uAP//w1YAgACXhhA=
Date: Wed, 19 Sep 2018 08:36:46 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABA9B04B604@nkgeml513-mbx.china.huawei.com>
References: <CALAkb6cfiFugMpSdU+FUhu9zRsWkXttGRZq80VQtD9kM+wM4bg@mail.gmail.com> <48e4aac958d142669f4032737cdc4373@XCH-RTP-013.cisco.com> <B8F9A780D330094D99AF023C5877DABA9B04B16C@nkgeml513-mbx.china.huawei.com> <20180919.092522.1558587282279688362.mbj@tail-f.com>
In-Reply-To: <20180919.092522.1558587282279688362.mbj@tail-f.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.138.33.244]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/dfCAHUS9y4aEY_XOGKLzY6sRlHY>
Subject: Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Sep 2018 08:36:55 -0000


-----邮件原件-----
发件人: Martin Bjorklund [mailto:mbj@tail-f.com] 
发送时间: 2018年9月19日 15:25
收件人: Qin Wu
抄送: evoit=40cisco.com@dmarc.ietf.org; douglas@hubler.us; netconf@ietf.org
主题: Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16

Qin Wu <bill.wu@huawei.com> wrote:
> 
> 发件人: Netconf [mailto:netconf-bounces@ietf.org] 代表 Eric Voit
> (evoit)
> 发送时间: 2018年9月19日 6:44
> 收件人: Douglas Hubler; Martin Bjorklund
> 抄送: netconf@ietf.org
> 主题: Re: [Netconf] activate-configured-subecription - WGLC
> subscribed-notifications-16
> 
> Hi Douglas,
> 
> From: Douglas Hubler, September 18, 2018 5:35 PM
> 
> On Tue, Sep 18, 2018 at 3:40 PM Martin Bjorklund 
> <mbj@tail-f.com<mailto:mbj@tail-f.com>> wrote:
> So it seems you support my point to make this draft use SSE.  Then if 
> you use HTTP/2 you (the client) can simply create one HTTP/2 stream 
> per notification stream.  This just falls out for free with HTTP/2.
> 
> yes, with caveat that I haven't attempted actual implementation yet.
> 
> <Eric> Agree that SSE over HTTP2 should work.  However to me using SSE 
> here seems redundant as HTTP2 provides the necessary mechanisms.  But 
> I won’t get in the way if people really do want to go in this 
> direction.
> 
> [Qin]: HTTP2 provides Server Push mechanism however there are lots of 
> drawbacks, typical one is Server Push may be blocked, therefore 
> HTTP1.1+ SSE is favored.

But HTTP/2 server push doesn't even address the same problem; how to get a stream of notifs sent from the server to the client.  If I'm not mistaken, server push could be done w/ the GET of the SSE stream, so maybe server push could be used to avoid the round trip:

    client                              server
    ------                              ------
      |      establish-subscription    
      |      ------------------------>    |
      |                                   |
      |         OK, location=SSE URL      |
      |      <------------------------    |
      |         PUSH_PROMISE,             |
      |           new stream, SSE URL     |
      |      <------------------------    |
      |           SSE event (notif)       |
      |      <------------------------    |
      |           SSE event (notif)       |
      |      <------------------------    |
      |                                   |
            
[Qin]: Yes, HTTP/2 server push can save round trip, but if HTTP/2 server push is used, two channels need to be established, one for establish-subscription,
One for HTTP/2 Server Push, not sure the sequence of work flow here is correct, first how does establish-subscription RPC indicate server push support, how does server know server push should be used for response.
Second, SSE event and OK, PUSH-PROMISE should be established in another channel or HTTP connection?

HTTP server push has two typical drawbacks:
1. HTTP/2 does not guarantee that pushed resources are delivered
   to the client in the order they were sent by the client
2.Server Push is optional and can be disabled by any proxy between the client and the server.
Therefore HTTP/2 Server Push is not desirable comparing with HTTP1.1+SSE

/martin