Skip to main content

Experience of Implementing NETCONF over SOAP
draft-iijima-netconf-soap-implementation-10

Revision differences

Document history

Date Rev. By Action
2012-08-22
10 (System) post-migration administrative database adjustment to the No Objection position for Chris Newman
2012-08-22
10 (System) post-migration administrative database adjustment to the No Objection position for Pasi Eronen
2012-08-22
10 (System) post-migration administrative database adjustment to the No Objection position for David Ward
2012-08-22
10 (System) post-migration administrative database adjustment to the Yes position for Jari Arkko
2012-08-22
10 (System) post-migration administrative database adjustment to the No Objection position for Magnus Westerlund
2008-09-22
10 (System) IANA Action state changed to No IC from In Progress
2008-09-22
10 (System) IANA Action state changed to In Progress
2008-09-22
10 Cindy Morgan State Changes to RFC Ed Queue from Approved-announcement sent by Cindy Morgan
2008-09-22
10 Amy Vezza IESG state changed to Approved-announcement sent
2008-09-22
10 Amy Vezza IESG has approved the document
2008-09-22
10 Amy Vezza Closed "Approve" ballot
2008-09-22
10 Amy Vezza State Changes to Approved-announcement to be sent from IESG Evaluation::AD Followup by Amy Vezza
2008-09-22
10 David Ward [Ballot Position Update] Position for David Ward has been changed to No Objection from Discuss by David Ward
2008-09-16
10 Pasi Eronen [Ballot Position Update] Position for Pasi Eronen has been changed to No Objection from Discuss by Pasi Eronen
2008-08-18
10 (System) Sub state has been changed to AD Follow up from New Id Needed
2008-08-18
10 (System) New version available: draft-iijima-netconf-soap-implementation-10.txt
2008-08-07
10 Dan Romascanu State Changes to IESG Evaluation::Revised ID Needed from IESG Evaluation::AD Followup by Dan Romascanu
2008-06-18
10 David Ward [Ballot discuss]
Section 3.2.2 is too restrictive (aka not generic enough) and doesn't cover enough state machinery to fully describe session maintenance.
2008-06-18
10 David Ward [Ballot Position Update] Position for David Ward has been changed to Discuss from No Objection by David Ward
2008-06-18
10 David Ward [Ballot Position Update] Position for David Ward has been changed to No Objection from Discuss by David Ward
2008-06-13
10 Chris Newman [Ballot Position Update] Position for Chris Newman has been changed to No Objection from Discuss by Chris Newman
2008-06-12
10 Pasi Eronen
[Ballot discuss]
There's one place where it's not clear whether the text is just
explaining how things work, or actually specifies new behavior
that is …
[Ballot discuss]
There's one place where it's not clear whether the text is just
explaining how things work, or actually specifies new behavior
that is not part of the current RFCs. Specifically, Sections 3.1.2 and
3.2.2 seem to specify a different approach to maintaining sessions
than what is used in RFC 4741/4743.
2008-06-09
09 (System) New version available: draft-iijima-netconf-soap-implementation-09.txt
2008-05-30
10 Magnus Westerlund [Ballot Position Update] Position for Magnus Westerlund has been changed to No Objection from Discuss by Magnus Westerlund
2008-05-28
10 Jari Arkko [Ballot Position Update] Position for Jari Arkko has been changed to Yes from Discuss by Jari Arkko
2008-05-27
08 (System) New version available: draft-iijima-netconf-soap-implementation-08.txt
2008-05-08
10 Cindy Morgan State Changes to IESG Evaluation::AD Followup from IESG Evaluation by Cindy Morgan
2008-05-08
10 Pasi Eronen
[Ballot discuss]
Discuss discuss: We don't usually publish documents whose title could
be "Beginner's Guide to Apache Axis". I didn't review those parts
(since I'm …
[Ballot discuss]
Discuss discuss: We don't usually publish documents whose title could
be "Beginner's Guide to Apache Axis". I didn't review those parts
(since I'm not even a beginner with this particular tool). For an
Apache Axis tutorial, it doesn't look particularly good; and it
doesn't seem to have much NETCONF specific content. Fine text for a
web page, perhaps, but I don't quite understand why it would be a good
fit for the RFC series.

However, there's one place where it's not clear whether the text is
just explaining how things work, or actually specifies new behavior
that is not part of the current RFCs. Specifically, Sections 3.1.2 and
3.2.2 seem to specify a different approach to maintaining sessions
than what is used in RFC 4741/4743.

Additional comments:

Section 2.1 suggests that using SOAP/HTTP for NETCONF means we
also get things like WS-Security, WS-Reliability, etc. -- this
is not really true; RFC 4743 doesn't use e.g. WS-Security.

Section 3.1.2 says HTTP creates TCP connection for every request;
this hasn't been true for at least 10 years.
2008-05-08
10 Pasi Eronen [Ballot Position Update] New position, Discuss, has been recorded by Pasi Eronen
2008-05-08
10 David Ward [Ballot discuss]
Section 3.2.2 is too restrictive (aka not generic enough) and doesn't cover enough state machinery to fully describe session maintenance.
2008-05-08
10 David Ward [Ballot Position Update] New position, Discuss, has been recorded by David Ward
2008-05-08
10 Ross Callon [Ballot Position Update] New position, No Objection, has been recorded by Ross Callon
2008-05-08
10 Tim Polk [Ballot Position Update] New position, No Objection, has been recorded by Tim Polk
2008-05-08
10 Tim Polk [Ballot comment]
In section 3.1:

s/Apache Axis is the widely used/Apache Axis is widely used/
2008-05-08
10 Magnus Westerlund
[Ballot discuss]
3.1.2. Session Maintenance in NMS


  When exchanging NETCONF messages between an NMS and network
  equipment, implementation of a session-maintenance function is …
[Ballot discuss]
3.1.2. Session Maintenance in NMS


  When exchanging NETCONF messages between an NMS and network
  equipment, implementation of a session-maintenance function is
  necessary on both sides.

  HTTP is a stateless protocol that is used as an underlying transport
  protocol for SOAP.  HTTP creates and terminates a TCP session at
  every request.  Therefore, when using HTTP as a transport protocol
  for SOAP messages, session maintenance at the TCP level as well as at
  the NETCONF level is necessary.  Unless a session is maintained at
  the TCP level, a different NETCONF service provider is invoked every
  time the NETCONF client sends a NETCONF message to the NETCONF
  server.  We used a cookie field inside a HTTP header as a session
  identifier for the session on TCP level.

  The session-maintenance function at the TCP level has to be
  incorporated as follows.  After the NETCONF application sends a
  NETCONF hello message to a NETCONF service provider, the application
  receives a newly allocated session identifier written in the cookie
  field of a replying hello message.  The NETCONF application preserves
  the cookie paired with the network equipment's MAC address and uses
  it as a session identifier for subsequent NETCONF message exchanges.
  When an NMS sets the cookie for subsequent NETCONF messages, the
  network equipment recognizes the session and maintains it.  The
  stored cookie is erased when the NMS sends a close-session message
  and a response message is received from the network equipment.
 
 
I am a bit uncertain if I understood this correctly but to me the
above text seems to have some issue.

1. "HTTP creates and terminates a TCP session at
  every request."
 
  This is not true if HTTP 1.1 support for persistent connections are used.
 
2. Secondly, the closing of the TCP connection seems to be breaking the
  RFC 4743 rules for session handling.
 
3. "The session-maintenance function at the TCP level has to be
  incorporated as follows."
 
  This text seems to imply that this document is redefining RFC 4742.
 
4. I don't understand why MAC address has to be maintained can you please
  clarify why that would be necessary?


General discuss discuss:

I think it is great that this type of document gets writtne. However, I think this document has somewhat the wrong tone for its intention. On
several places it has wordnings such as:

"must have", "must use", "needs" instead of "we used" "may use" as this is intended
to describe what the document authors did rather than

example:

The development of a Java-based NETCONF client
  needs JDK (Java Development Kit) [JDK] and Apache Axis.
2008-05-08
10 Magnus Westerlund
[Ballot discuss]
3.1.2. Session Maintenance in NMS


  When exchanging NETCONF messages between an NMS and network
  equipment, implementation of a session-maintenance function is …
[Ballot discuss]
3.1.2. Session Maintenance in NMS


  When exchanging NETCONF messages between an NMS and network
  equipment, implementation of a session-maintenance function is
  necessary on both sides.

  HTTP is a stateless protocol that is used as an underlying transport
  protocol for SOAP.  HTTP creates and terminates a TCP session at
  every request.  Therefore, when using HTTP as a transport protocol
  for SOAP messages, session maintenance at the TCP level as well as at
  the NETCONF level is necessary.  Unless a session is maintained at
  the TCP level, a different NETCONF service provider is invoked every
  time the NETCONF client sends a NETCONF message to the NETCONF
  server.  We used a cookie field inside a HTTP header as a session
  identifier for the session on TCP level.

  The session-maintenance function at the TCP level has to be
  incorporated as follows.  After the NETCONF application sends a
  NETCONF hello message to a NETCONF service provider, the application
  receives a newly allocated session identifier written in the cookie
  field of a replying hello message.  The NETCONF application preserves
  the cookie paired with the network equipment's MAC address and uses
  it as a session identifier for subsequent NETCONF message exchanges.
  When an NMS sets the cookie for subsequent NETCONF messages, the
  network equipment recognizes the session and maintains it.  The
  stored cookie is erased when the NMS sends a close-session message
  and a response message is received from the network equipment.
 
 
I am a bit uncertain if I understood this correctly but to me the
above text seems to have some issue.

1. "HTTP creates and terminates a TCP session at
  every request."
 
  This is not true if HTTP 1.1 support for persistent connections are used.
 
2. Secondly, the closing of the TCP connection seems to be breaking the
  RFC 4743 rules for session handling.
 
3. "The session-maintenance function at the TCP level has to be
  incorporated as follows."
 
  This text seems to imply that this document is redefining RFC 4742.
 
4. I don't understand why MAC address has to be maintained can you please
  clarify why that would be necessary?


General discuss discuss:

I think this document has somewhat the wrong tone for its intention. On
several places it has wordnings such as:

"must have", "must use", "needs" instead of "we used" "may use" as this is intended
to describe what the document authors did rather than

example:

The development of a Java-based NETCONF client
  needs JDK (Java Development Kit) [JDK] and Apache Axis.
2008-05-08
10 Magnus Westerlund [Ballot Position Update] New position, Discuss, has been recorded by Magnus Westerlund
2008-05-07
10 Jari Arkko
[Ballot discuss]
Discuss-discuss.

I would have voted Yes on this document, if it were not for one
detail. I am looking at Section 3.2.1 that …
[Ballot discuss]
Discuss-discuss.

I would have voted Yes on this document, if it were not for one
detail. I am looking at Section 3.2.1 that says one need not implement
the SOAP encodingStyle attribute, or the SOAP header inside a SOAP
envelope, if "memory is tight".

I wanted to check the SOAP spec for whether this was actually legal.
I was unable to find any statement regarding what SOAP actually
requires as mandatory to implement. The relevant section

http://www.w3.org/TR/soap12-part1/#soapencattr

only says that the attribute MAY appear. To me that sounds like it
does not have to be present on the wire, but the endpoints have to be
able to understand it if it is.

But I would like some SOAP expert to weigh in on this.
2008-05-07
10 Jari Arkko [Ballot Position Update] New position, Discuss, has been recorded by Jari Arkko
2008-05-07
10 Chris Newman
[Ballot discuss]
I wonder if a brief IESG note along the lines of the following would be a good idea:

---
IESG Note:

  RFC …
[Ballot discuss]
I wonder if a brief IESG note along the lines of the following would be a good idea:

---
IESG Note:

  RFC 4741 section 2.4 states, "A NETCONF implementation MUST support
  the SSH transport protocol mapping."
---

While I appreciate and value the input this document provides to the
IETF, we choose mandatory-to-implement facilities to promote
interoperability and I wouldn't want this document to accidentally
mislead a reader.  Note that I will change my position to no
objection after the IESG discusses this unless the IESG has rough
consensus in favor of this sort of a note.
2008-05-07
10 Chris Newman [Ballot Position Update] New position, Discuss, has been recorded by Chris Newman
2008-05-07
10 Ron Bonica [Ballot Position Update] New position, No Objection, has been recorded by Ron Bonica
2008-05-06
10 Russ Housley [Ballot Position Update] New position, No Objection, has been recorded by Russ Housley
2008-05-01
10 Dan Romascanu Telechat date was changed to 2008-05-08 from  by Dan Romascanu
2008-05-01
10 Dan Romascanu [Ballot Position Update] New position, Yes, has been recorded for Dan Romascanu
2008-05-01
10 Dan Romascanu Ballot has been issued by Dan Romascanu
2008-05-01
10 Dan Romascanu Created "Approve" ballot
2008-05-01
10 Dan Romascanu State Changes to IESG Evaluation from AD Evaluation::AD Followup by Dan Romascanu
2008-05-01
10 Dan Romascanu Placed on agenda for telechat - 2008-05-08 by Dan Romascanu
2008-04-20
10 (System) Sub state has been changed to AD Follow up from New Id Needed
2008-04-20
07 (System) New version available: draft-iijima-netconf-soap-implementation-07.txt
2008-04-20
10 Samuel Weiler Request for Last Call review by SECDIR Completed. Reviewer: Stefan Santesson.
2008-04-02
10 Dan Romascanu State Changes to AD Evaluation::Revised ID Needed from Waiting for AD Go-Ahead by Dan Romascanu
2008-02-20
06 (System) New version available: draft-iijima-netconf-soap-implementation-06.txt
2008-02-12
10 (System) State has been changed to Waiting for AD Go-Ahead from In Last Call by system
2008-02-06
10 Amanda Baber IANA Last Call comments:

As described in the IANA Considerations section, we understand this document
to have NO IANA Actions.
2008-01-18
10 Samuel Weiler Request for Last Call review by SECDIR is assigned to Stefan Santesson
2008-01-18
10 Samuel Weiler Request for Last Call review by SECDIR is assigned to Stefan Santesson
2008-01-15
10 Amy Vezza Last call sent
2008-01-15
10 Amy Vezza State Changes to In Last Call from Last Call Requested by Amy Vezza
2008-01-15
10 Dan Romascanu State Changes to Last Call Requested from Publication Requested by Dan Romascanu
2008-01-15
10 Dan Romascanu Last Call was requested by Dan Romascanu
2008-01-15
10 (System) Ballot writeup text was added
2008-01-15
10 (System) Last call text was added
2008-01-15
10 (System) Ballot approval text was added
2008-01-15
10 Dan Romascanu Intended Status has been changed to Informational from None
2008-01-15
10 Dan Romascanu Draft Added by Dan Romascanu in state Publication Requested
2008-01-10
05 (System) New version available: draft-iijima-netconf-soap-implementation-05.txt
2007-11-19
04 (System) New version available: draft-iijima-netconf-soap-implementation-04.txt
2007-10-19
03 (System) New version available: draft-iijima-netconf-soap-implementation-03.txt
2007-04-20
02 (System) New version available: draft-iijima-netconf-soap-implementation-02.txt
2006-10-25
01 (System) New version available: draft-iijima-netconf-soap-implementation-01.txt
2006-10-18
00 (System) New version available: draft-iijima-netconf-soap-implementation-00.txt