[Netconf] NETCONF over SOAP issue with draft-iijima-netconf-soap-implementation-10

"Romascanu, Dan (Dan)" <dromasca@avaya.com> Mon, 01 September 2008 14:37 UTC

Return-Path: <netconf-bounces@ietf.org>
X-Original-To: netconf-archive@ietf.org
Delivered-To: ietfarch-netconf-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0C1533A69DA; Mon, 1 Sep 2008 07:37:17 -0700 (PDT)
X-Original-To: netconf@core3.amsl.com
Delivered-To: netconf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 448B53A69D9 for <netconf@core3.amsl.com>; Mon, 1 Sep 2008 07:37:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.257
X-Spam-Level:
X-Spam-Status: No, score=-2.257 tagged_above=-999 required=5 tests=[AWL=0.342, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q5CXMaUhCMXr for <netconf@core3.amsl.com>; Mon, 1 Sep 2008 07:37:15 -0700 (PDT)
Received: from co300216-co-outbound.avaya.com (co300216-co-outbound.net.avaya.com [198.152.13.100]) by core3.amsl.com (Postfix) with ESMTP id 1BA2B3A6980 for <netconf@ietf.org>; Mon, 1 Sep 2008 07:37:14 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.32,307,1217822400"; d="scan'208";a="141863152"
Received: from unknown (HELO nj300815-nj-erheast.avaya.com) ([198.152.6.5]) by co300216-co-outbound.avaya.com with ESMTP; 01 Sep 2008 10:37:15 -0400
X-IronPort-AV: E=Sophos;i="4.32,307,1217822400"; d="scan'208";a="263710895"
Received: from unknown (HELO 307622ANEX5.global.avaya.com) ([135.64.140.13]) by nj300815-nj-erheast-out.avaya.com with ESMTP; 01 Sep 2008 10:37:15 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Date: Mon, 01 Sep 2008 16:37:12 +0200
Message-ID: <EDC652A26FB23C4EB6384A4584434A04F38DCB@307622ANEX5.global.avaya.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: NETCONF over SOAP issue with draft-iijima-netconf-soap-implementation-10
Thread-Index: AckMQDh/C8n4Gpm+RiGIguY5Xotr5Q==
From: "Romascanu, Dan (Dan)" <dromasca@avaya.com>
To: netconf@ietf.org
Cc: tomoyuki.iijima@alaxala.com, Pasi.Eronen@nokia.com
Subject: [Netconf] NETCONF over SOAP issue with draft-iijima-netconf-soap-implementation-10
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://www.ietf.org/mailman/private/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>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: netconf-bounces@ietf.org
Errors-To: netconf-bounces@ietf.org

During the IESG review of draft-iijima-netconf-soap-implementation-10
(AD-sponsored independent submission targeting Informational RFC) Pasi
Eronen raised the issue of the usage by the implementation described in
the document of the cookie field inside the HTTP header to map incoming
requests to NETCONF sessions.  This makes such an implementation
implementation to be an alternative SOAP binding for NETCONF which does
not interoperate with RFC4743 compliant implementations.

In the IESG discussions we chose to approve the document as
Informational but make clear in the text that such implementations are
not interoperable. We would like however to have the NETCONF WG look at
the proposed text and make sure that we got it right and especially that
RFC4743 is not in error.

If you believe that there are any problems with the proposed text please
let us know until 9/10 the latest. 

Proposed Notes to the RFC Editor:



1. In the Abstract Section:

OLD: 

  This document describes how the authors developed a SOAP (Simple
  Object Access Protocol)-based NETCONF client and server.  When SOAP
  is used as a transport protocol for NETCONF, various kinds of
  development tools are available.  By making full use of these tools,
  developers can significantly reduce their workload.  The authors
  developed an NMS (Network Management System) and network equipment
  that can deal with NETCONF messages sent over SOAP.  This document
  aims to provide NETCONF development guidelines gained from the
  experience of implementing a SOAP-based NETCONF client and server.

NEW: 

  This document describes how the authors developed a SOAP (Simple
  Object Access Protocol)-based NETCONF client and server. It 
  describes an alternative SOAP binding for NETCONF which does not  
  interoperate with an RFC4743 conformant implementation making 
  use of cookies on top of the persistent transport connections of HTTP.
  
  When SOAP is used as a transport protocol for NETCONF, various kinds
of
  development tools are available.  By making full use of these tools,
  developers can significantly reduce their workload.  The authors
  developed an NMS (Network Management System) and network equipment
  that can deal with NETCONF messages sent over SOAP.  This document
  aims to provide NETCONF development guidelines gained from the
  experience of implementing a SOAP-based NETCONF client and server.

2. Add to Section 1.2 the following paragraph:

  This  document describes an alternative SOAP binding for NETCONF which
  does not interoperate with an RFC4743 conformant implementation as it 
  relies on cookies used on top of the persistent transport connections 
  of HTTP. This is provided for information purposes only based on the 
  implementation experience of the authors. 

3. In Section 3.1.2

OLD: 

  In [RFC4743], HTTP is specified as an option of an underlying
  protocol for NETCONF over SOAP.  When HTTP is used for that purpose,
  it is also specified that a NETCONF session will be supported by an
  HTTP connection.  However HTTP is a stateless protocol; that is, HTTP
  cannot process a user's request according to the state resulting from
  the user's previous request.  Unless the state is kept at the HTTP-
  level, a different NETCONF service provider will be invoked every
  time the NETCONF application sends a NETCONF message to the NETCONF
  service provider.  To ensure that the same NETCONF service provider
  is used every time the NETCONF application sends a NETCONF message,
  the state of the HTTP connection must be maintained.  Accordingly, a
  cookie field inside an HTTP header was devised for maintaining the
  state of an HTTP connection.  We therefore used such a cookie field
  to maintain the state of the HTTP connection over which the NETCONF-
  session maintenance is ensured.

NEW: 

  In [RFC4743], HTTP is specified as an option of an underlying
  protocol for NETCONF over SOAP.  When HTTP is used for that
  purpose, it is also specified that a NETCONF session state is tied
  to the state of the underlying transport (TCP) connection (just
  like in NETCONF over SSH [RFC4742] and NETCONF over BEEP
  [RFC4744]). However, HTTP itself is a stateless protocol, and many
  server implementations process user requests independently of
  previous requests received over the same transport connection.  To
  simplify implementation of the NETCONF service provider, we used
  the cookie field inside the HTTP header to map incoming requests to
  NETCONF sessions. Note that this means our implementation actually
  uses an alternative SOAP binding for NETCONF which does not
  interoperate with RFC4743 compliant implementations.

Thanks and Regards,

Dan

_______________________________________________
Netconf mailing list
Netconf@ietf.org
https://www.ietf.org/mailman/listinfo/netconf