Re: [Netconf] HTTP/2 support in draft-ietf-netconf-restconf-09

"Eric Voit (evoit)" <evoit@cisco.com> Tue, 26 January 2016 17:45 UTC

Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A3B11A9116 for <netconf@ietfa.amsl.com>; Tue, 26 Jan 2016 09:45:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.502
X-Spam-Level:
X-Spam-Status: No, score=-14.502 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] 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 pBqLqrMBkztk for <netconf@ietfa.amsl.com>; Tue, 26 Jan 2016 09:45:16 -0800 (PST)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6A3231A9113 for <netconf@ietf.org>; Tue, 26 Jan 2016 09:45:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2833; q=dns/txt; s=iport; t=1453830313; x=1455039913; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=qx0Rke+9vpX/HEnoKNIFAZVfPV47vt356PsCT61AIQs=; b=Y0PENMalIPcCBxLNx/hPrpsDPaHZH6ry7KVhB0aUQEY69bXVeP68kpMx sfVQHo1wL+7Uy/hoW/54ZR9NiDmjFLMwY8pB3v+eFl7/ysJZEGmHt7U5v RKq3EumZBiiTCbwDGm4LaARQZFtKvWQwJmPzFcWNOgmdEQ5/zisc6yx41 o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AmBQAnsKdW/4cNJK1bA4M6Um0GiFGyLIFiGAqFI0oCgU45EwEBAQEBAQGBCoRBAQEBAgEBAQEBNzQLBQkCAgEIDgIFAx4QGwwLJQIEAQ0FCIgLCA6+YgEBAQEBAQEBAQEBAQEBAQEBAQEBARUEhi6EbYQsAQEFOREVg3QFlnkBjU6PAI5CASIDPYNpagGHEzR8AQEB
X-IronPort-AV: E=Sophos;i="5.22,350,1449532800"; d="scan'208";a="67318352"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Jan 2016 17:45:12 +0000
Received: from XCH-RTP-009.cisco.com (xch-rtp-009.cisco.com [64.101.220.149]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id u0QHjB6k019250 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 26 Jan 2016 17:45:12 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-009.cisco.com (64.101.220.149) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Tue, 26 Jan 2016 12:45:11 -0500
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1104.009; Tue, 26 Jan 2016 12:45:11 -0500
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Ladislav Lhotka <lhotka@nic.cz>, "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com>
Thread-Topic: [Netconf] HTTP/2 support in draft-ietf-netconf-restconf-09
Thread-Index: AQHRWE6/sZkYl04aS0ml1QE4AkU/MZ8OBbvw
Date: Tue, 26 Jan 2016 17:45:10 +0000
Message-ID: <490555c0a8bf4741914459892cdddce1@XCH-RTP-013.cisco.com>
References: <569E13E2.9020802@cisco.com> <m2io2gfmmp.fsf@birdie.labs.nic.cz> <20160126150503.GB53158@elstar.local> <A4F69E08-2349-42F3-821C-AC5D96328CAD@nic.cz> <20160126153205.GA53359@elstar.local>
In-Reply-To: <20160126153205.GA53359@elstar.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.230]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/netconf/gmwp6GVPPM7I-LI4GmKZI-IRLak>
Cc: Netconf <netconf@ietf.org>
Subject: Re: [Netconf] HTTP/2 support in draft-ietf-netconf-restconf-09
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.15
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: Tue, 26 Jan 2016 17:45:17 -0000

At this point, Restconf does not expose the necessary capabilities to fully utilize HTTP/2.  Previously the NETCONF WG talked about this in a thread:
  https://www.ietf.org/mail-archive/web/netconf/current/msg10429.html

There are several nice things full HTTP/2 can provide, should the capabilities be exposed above Restconf:
- Prioritized TCP stream de-queuing 
- Avoiding head-of-line blocking from elephant flows
- Per-stream flow control

For more, see slides 5 & 6 from IETF 94
  https://www.ietf.org/proceedings/94/slides/slides-94-netconf-5.pdf
(This deck is framed in terms of subscriptions, but the points are equally valid for normal TCP streams.)

Although I would love to see this in the initial Restconf RFC, I have always expected the such a specification would be in a subsequent draft.

Eric

> From: Juergen Schoenwaelder, Tuesday, January 26, 2016 10:32 AM
> 
> On Tue, Jan 26, 2016 at 04:25:56PM +0100, Ladislav Lhotka wrote:
> >
> > > On 26 Jan 2016, at 16:05, Juergen Schoenwaelder
> <j.schoenwaelder@jacobs-university.de> wrote:
> > >
> > > On Tue, Jan 26, 2016 at 03:20:30PM +0100, Ladislav Lhotka wrote:
> > >
> > >> Apart from message ordering issues, do you see other differences
> > >> between HTTP 1.1 and 2 that might affect RESTCONF?
> > >
> > > I think notification delivery could be done more elegant in HTTP/2
> > > using Server Push (section 8 of RFC 7540) but then I do not know to
> >
> > My understanding is that HTTP/2 server push cannot be used as a replacement
> for SSE or Websockets, because the server has to send the PUSH_PROMISE
> frame also containing "expected" request headers to which the server is about
> to send responses.
> >
> > So, for example, a HTTP/2 server, after receiving
> >
> > GET /.well-known/host-meta
> >
> > *might* use server push for sending yang-library information right away,
> because the client is likely to need it, too. But I don't think server push can be
> used for implementing notifications.
> >
> 
> Because notifications are not modelled as first class resources? I doubt this
> matters. The notification stream could be a resource and then you simply craft
> GET requests that return the notification content. In fact, RESTCONF already has
> 'event stream resources'.
> But at the end, wide-spread support in HTTP APIs does matter and it is perhaps
> too early to tell.
> 
> /js
> 
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf