Network Working Group                                        Y. Teramoto
Internet-Draft                                          Kyoto University
Intended status: Informational                               R. Atarashi
Expires: August 30, 2013                         IIJ Research Laboratory
                                                             Y. Atarashi
                                                  Alaxala Networks Corp.
                                                                Y. Okabe
                                                        Kyoto University
                                                            Feb 26, 2013


           Experience of Designing Network Management System
            draft-teramoto-experience-network-management-01

Abstract

   This document describes our experiences from designing and
   implementing a large-scale local area network management system using
   mainly NETCONF.  We designed the data models for device
   configurations and implemented NETCONF client to centrally control
   multiple devices of various vendors.  The document provides insight
   on strong and weak points of current NETCONF approach.  The document
   also makes some recommendations about NETCONF and future network
   management protocols.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 30, 2013.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal



Teramoto, et al.         Expires August 30, 2013                [Page 1]


Internet-Draft         Experience of Designing NMS              Feb 2013


   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Management System Setup . . . . . . . . . . . . . . . . . . . . 3
     2.1.  Required Information  . . . . . . . . . . . . . . . . . . . 3
   3.  Experiences of Implementing NETCONF Client  . . . . . . . . . . 4
     3.1.  Transport Protocol  . . . . . . . . . . . . . . . . . . . . 4
     3.2.  Framing Mechanism on SSH transport  . . . . . . . . . . . . 5
     3.3.  Capability Exchange . . . . . . . . . . . . . . . . . . . . 5
     3.4.  Lock and Commit Mechanism . . . . . . . . . . . . . . . . . 6
     3.5.  Notification  . . . . . . . . . . . . . . . . . . . . . . . 6
   4.  Experiences with Data Model Design  . . . . . . . . . . . . . . 7
     4.1.  YANG  . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
   5.  Experiences with Management Network . . . . . . . . . . . . . . 7
     5.1.  VLAN Configuration  . . . . . . . . . . . . . . . . . . . . 7
   6.  Conclusions and Recommendations . . . . . . . . . . . . . . . . 8
   7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 9
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 9
   9.  Normative References  . . . . . . . . . . . . . . . . . . . . . 9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 9





















Teramoto, et al.         Expires August 30, 2013                [Page 2]


Internet-Draft         Experience of Designing NMS              Feb 2013


1.  Introduction

   We designed a large-scale local area network management system that
   can manage the network independently of physical topology and the
   vendor of networking equipments composing the network system by
   modeling the functions of network equipments and using widely used
   network management protocols.  To manage networks, we used mainly the
   NETCONF protocol and the SNMP [RFC3416] because these protocols are
   supported by various major vendors' networking equipments and does
   not depend on specific architectures such as an OpenFlow or a MPLS.
   This document describes the experiences from designing and
   implementing such management system.

   An NETCONF protocol is defined in [RFC6241] and is intended to manage
   configurations of the networking equipment from computers.  The
   NETCONF protocol is supported by various network equipments such as
   Cisco IOS and Junos and so on.  We mainly used a NETCONF protocol to
   get and edit configurations of networking equipments.  Although many
   networking equipments support the NETCONF protocol, there are some
   kinds of data model designed by vendors.  It is because the model
   layer of NETCONF protocol is still developing.  We designed the
   unified data model for device configurations to manage multiple
   equipments of various vendors and implemented NETCONF client to
   control multiple devices simultaneously.

   This document evaluates the NETCONF protocol design and makes some
   recommendations about NETCONF and future network management protocols
   to support large-scale network management.


2.  Management System Setup

   Our Network management system contains some information in database
   to grasp network states and authorize management interface of
   equipments.  The NETCONF protocol and SNMP requires login
   authorization on starting login.  Moreover these protocols support
   only the information for the configurations and states, and hence the
   management system needs some information related to several
   networking equipments such as the network topology and the routes of
   IP packets.  The remainder of this section describes the setup
   information that is required to start network managing.

2.1.  Required Information

   Network Management systems usually require some information in
   advance that the systems cannot retrieve from network devices
   automatically like followings:




Teramoto, et al.         Expires August 30, 2013                [Page 3]


Internet-Draft         Experience of Designing NMS              Feb 2013


   Management Interface

      One of the most fundamental information is login authorization for
      connecting to management interfaces of network devices: management
      IP address, user ID, password and so on.  This is because
      management protocols such as NETCONF and SNMP usually requires
      authentication to get or edit device configurations at need to be
      secured.

   Device Information

      The system requires the information for devices, such as the
      vendor, the model and the version to determine the capabilities
      and providing resource of the device, because NETCONF provides no
      information and no unified models for them.

   Network Information

      Network Devices provides no information for network topology.
      There are some protocols to get neighbor information such as LLDP,
      however there is no standardized protocols to provide them into
      client.  Therefore, to manage network with network topology, the
      topology information is to be prepared in advance.


3.  Experiences of Implementing NETCONF Client

   The NETCONF protocol is an XML-based protocol used to manage the
   configuration of networking equipment.  We implemented NETCONF client
   to manage networking equipments centrally.  This section provides
   insight on NETCONF protocol.

3.1.  Transport Protocol

   The NETCONF protocol defines an SSH protocol as mandatory transport
   protocol.  The advantage of using the SSH protocol is that it
   provides strong authentication mechanism and full encrypted
   communication.  However, there are some issues of using the SSH
   protocol.  It is very large protocol for developers to implement full
   scratch client, therefore they need to use some existing libraries.
   Network management systems often have their own architecture for
   increasing performance, because it is often required high-performance
   operation and response.  SSH libraries also often have their own
   architecture, and hence it is need to carefully bond two
   architecture.  This may cause performance degradation on multi-
   threading software because these asynchronous events cannot be
   concentrated into one.  Furthermore, if encrypted communication is
   forced like the SSH protocol, it is sometimes difficult to detect the



Teramoto, et al.         Expires August 30, 2013                [Page 4]


Internet-Draft         Experience of Designing NMS              Feb 2013


   cause of transport problems on debugging.

3.2.  Framing Mechanism on SSH transport

   The current framing mechanism of SSH transport is defined in
   [RFC6242].  The previous version of NETCONF (version 1.0) defined
   framing mechanism to separate each messages by the character sequence
   "]]>]]>" according to the assumption that well-formed XML documents
   does not contain the sequence, however it was found later that the
   assumption is not collect.  Therefore the current framing mechanism
   of SSH uses chunked framing mechanism.

   However framing mechanism still have confusing specification.  The
   framing mechanism defines no error notification mechanism when given
   chunk-size is invalid or an error occurs on transport layer.
   [RFC6242] requires the peer to terminate the NETCONF session
   immediately without notifying error information when receiving such
   an invalid message.  This mechanism often causes confusing issues
   that the developer cannot determine the reason of unexpected
   disconnection, because the reason may exist on multiple layers from
   physical layer to application layer.  This problem also occurs on the
   previous version.

3.3.  Capability Exchange

   Capabilities are advertised in messages sent by each peer during
   session establishment as <hello> message.  Each peer determines the
   NETCONF version by comparing the sent capabilities with received one.
   Furthermore this list can contain other additional capabilities such
   as the capability of notification.

   The mechanism of capability exchange have the same undesirable
   specification as framing mechanism of the SSH transport.  [RFC6241]
   require peers to disconnect the session immediately when the
   supporting capability version is mismatched or the treatment of
   session-id is wrong.

   The reaction of invalid <hello> varies by vendor implementations.
   For example, the Junos returns error message as XML comments like
   followings:
   <!-- netconf error: unknown command -->
   <!-- session end at 2012-08-30 19:01:10 UTC -->

   Cisco IOS returns no error message and disconnected on receiving next
   message by the frame chunk.  This causes unexpected disconnection on
   sending first <rpc> command.

   This is notable that other management protocols that have capability



Teramoto, et al.         Expires August 30, 2013                [Page 5]


Internet-Draft         Experience of Designing NMS              Feb 2013


   exchange such as OpenFlow often support error notification mechanism
   on receiving an invalid hello message.

3.4.  Lock and Commit Mechanism

   Lock mechanism of NETCONF is defined in [RFC6242] as mandatory
   function.  Commit mechanism is defined as optional function.  These
   commands are useful on controlling multiple devices.

3.5.  Notification

   The original NETCONF protocols does not provide networking equipments
   to push some information to client.  To send some information from
   servers, notification mechanism is defined as optional capability in
   [RFC5277].

   Notification mechanism supports replaying the previous logs by
   specifying startTime.  After starting notification, the server can
   only operate close-session command to terminate current session and
   returns resource-denied error on receiving other commands.  However,
   the server that supports interleave capability can operate any
   commands while notification phase.  The client can specify stopTime
   to stop the notification on the time.  After stop time, NETCONF
   session becomes ordinal mode and accept any NETCONF commands again.

   This too complicated mechanism makes enormous number of session
   states and conditions like following diagram; this makes it difficult
   to create brief management system that support full NETCONF
   specifications.

        +-------+
        | Hello |
        +-------+
            | <hello> exchange
     S  +-------+ <------+
     t+>|  RPC  |  <rpc> | return result
     o| +-------+ -------+
     p|     | <create-subscription>
     T|     |<--------------------------+ Yes: return result
     i| +--------+ <rpc>  -----------   | No : return resource-denied
     m+-| Notify |------< interleave? >-+
     e  +--------+        -----------
            | <rpc><close-session/></rpc>
           End

                  Figure 1: Session States and Conditions





Teramoto, et al.         Expires August 30, 2013                [Page 6]


Internet-Draft         Experience of Designing NMS              Feb 2013


4.  Experiences with Data Model Design

   Current NETCONF protocol does not provide data models specification,
   and hence there is no unified data models.  Therefore, to manage
   networking equipments of multiple vendors with same way, we designed
   some models of the function that networking equipments provides.
   This section describes the insight on current approach of
   standardizing data models.

4.1.  YANG

   YANG is a data modeling language used to model configuration and
   state data manipulated by the NETCONF defined in [RFC6020].  The
   approach of YANG is to express various configurations using highly
   expressive schema, while the approach of SNMP is to predefine
   fundamental data model.

   The same approaches of YANG often causes variability of configuration
   model and also causes too large and complex data schema.  Furthermore
   YANG defines only the model schema, therefore the way to construct
   model data is owed to the developer.  We think the fundamental model
   data, that is frequently used in configuration such as VLANs and
   Interfaces, should be defined by NETCONF core specification like SNMP
   in order to avoid such problems.


5.  Experiences with Management Network

   We designed the system to manage multiple network equipments of
   multiple vendors that support the NETCONF protocol.  This section
   describes the experience with example of designing some function that
   uses multiple networking equipments via NETCONF.

5.1.  VLAN Configuration

   VLAN configuration is one of most fundamental functions; however the
   configuration needs various information.  VLAN configuration requires
   following information:

   o  Current VLAN assignment

   o  VLAN ID and port name to be assigned

   o  Additional information such as bandwidth, port state (some ports
      may be disabled)

   o  Network topology




Teramoto, et al.         Expires August 30, 2013                [Page 7]


Internet-Draft         Experience of Designing NMS              Feb 2013


   First two information can be retrieved from NETCONF configurations.
   The rest information, however, is more difficult than the former two.
   NETCONF provides no information for the capability of networking
   equipments, such as ports speed or the number of ports, that is not
   shown as configuration text.  NETCONF also does not offer topology or
   neighbor information because of the same reason.

   No current widely used protocols support the mechanism to retrieve
   such information, therefore we have no choice but prepare them in
   advance.  However, an OpenFlow protocol now provide the way to get
   them by handling LLDP packets using packet-out operation.  This is
   one of the reasons that an OpenFlow protocol is referred as a hot
   protocol.


6.  Conclusions and Recommendations

   We come to deeply know about the NETCONF protocol on the view of
   developers.  This section conclude our experience and recommends some
   requirements that future management protocol would satisfy.

   The current NETCONF protocol have some undesirable specifications
   like followings:

   o  Specify an SSH protocol as an mandatory transport protocol.

   o  Some undesirable error handling such as on capability exchange
      failure

   o  Too many state and conditions of each session by notification

   Furthermore, a current approach of models is going toward complicated
   and large models by YANG.  We propose future management protocols to
   use simple transport protocol, to define appropriate error handling
   that does not disconnect without any error notification, and to
   provide simple notification mechanism that is supported by default
   and supports interleave capability like function as default.

   Current Network Management is required to use some similar protocols
   such as NETCONF and SNMP.  We found that the two protocol is covering
   each other weakness that NETCONF does not support live information
   and SNMP does not support configuration management.  However, there
   are few ways to get the capability of the networking equipments and
   the information for constructing topology graphs.  There are often
   required to prepared in advance.  There is a need to new management
   protocols for flexibly control whole network by providing appropriate
   models and information of the network.




Teramoto, et al.         Expires August 30, 2013                [Page 8]


Internet-Draft         Experience of Designing NMS              Feb 2013


7.  Security Considerations

   In our experience, the NETCONF protocol require high security
   considerations on the specification such as authorization and
   encrypted messaging; therefore the use of the NETCONF protocol
   improves the security of management.

   To manage networking equipments centarally does not matter security
   issues if they are used in separated logical network and operated
   proper properly.


8.  IANA Considerations

   This document makes no request of IANA.


9.  Normative References

   [RFC3416]  Presuhn, R., "Version 2 of the Protocol Operations for the
              Simple Network Management Protocol (SNMP)", STD 62,
              RFC 3416, December 2002.

   [RFC5277]  Chisholm, S. and H. Trevino, "NETCONF Event
              Notifications", RFC 5277, July 2008.

   [RFC6020]  Bjorklund, M., "YANG - A Data Modeling Language for the
              Network Configuration Protocol (NETCONF)", RFC 6020,
              October 2010.

   [RFC6241]  Enns, R., Bjorklund, M., Schoenwaelder, J., and A.
              Bierman, "Network Configuration Protocol (NETCONF)",
              RFC 6241, June 2011.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, June 2011.















Teramoto, et al.         Expires August 30, 2013                [Page 9]


Internet-Draft         Experience of Designing NMS              Feb 2013


Authors' Addresses

   Yasuhiro Teramoto
   Graduate School of Informatics Kyoto University
   Yoshida-Hommachi
   Sakyo-ku, Kyoto  606-8501
   Japan

   Phone: +81-75-753-7417
   Fax:   +81-75-753-7440
   Email: teramoto@net.ist.i.kyoto-u.ac.jp


   Ray S. Atarashi
   IIJ Research Laboratory
   Jinbocho Mitsui Bldg., 1-105 Kanda Jinbo-cho
   Chiyoda-ku, Tokyo  101-0051
   Japan

   Phone: +81-3-5205-6464
   Fax:   +81-3-5205-6466
   Email: ray@iijlab.net


   Yoshifumi Atarashi
   Alaxala Networks Corp.
   Shin-Kawasaki Mitsui Bldg.
   890 Saiwai-ku Kashimada
   Kawasaki, Kanagawa  212-0058
   Japan

   Phone: +81-44-549-1735
   Fax:   +81-44-549-1272
   Email: atarashi@alaxala.net


   Yasuo Okabe
   Academic Center for Computing and Media Studies Kyoto-University
   Yoshida-Hommachi
   Sakyo-ku, Kyoto  606-8501
   Japan

   Phone: +81-44-549-1735
   Fax:   +81-44-549-1272
   Email: okabe@i.kyoto-u.ac.jp






Teramoto, et al.         Expires August 30, 2013               [Page 10]