Internet DRAFT - draft-peng-p2psip-snmp

draft-peng-p2psip-snmp






P2PSIP                                                           Y. Peng
Internet-Draft                                                   W. Wang
Intended status: Informational                                    Z. Hao
Expires: September 7, 2012                                       Y. Meng
                                                         ZTE Corporation
                                                           March 6, 2012


                        An SNMP Usage for RELOAD
                       draft-peng-p2psip-snmp-04

Abstract

   This document defines a SNMP Usage for REsource LOcation And
   Discovery(RELOAD), The SNMP Usage provides the functionality of
   managing the RELOAD network.  The SNMP Usage provides lookup service
   for the network manager's address stored in the overlay.  The SNMP
   Usage also defines the method that allow the registrations to map a
   network manager'name to a specific node reachable through the
   overlay.  The AppAttach method is used to establish a direct
   connection between nodes through which SNMP messages are exchanged.

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 September 7, 2012.

Copyright Notice

   Copyright (c) 2012 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
   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



Peng, et al.            Expires September 7, 2012               [Page 1]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   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.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Network Management Requirements  . . . . . . . . . . . . . . .  4
   4.  Basic Operations and SNMP  . . . . . . . . . . . . . . . . . .  5
   5.  Overview of SNMP Usage . . . . . . . . . . . . . . . . . . . .  5
   6.  SNMP Usage Architecture  . . . . . . . . . . . . . . . . . . .  6
   7.  Abstract Service Interfaces  . . . . . . . . . . . . . . . . .  7
     7.1.  SNMP-RELOAD Application Primitive  . . . . . . . . . . . .  7
       7.1.1.  getNodeForResource ASI . . . . . . . . . . . . . . . .  7
       7.1.2.  returnNodeForResource ASI  . . . . . . . . . . . . . .  7
       7.1.3.  getAddressForNode ASI  . . . . . . . . . . . . . . . .  8
       7.1.4.  returnAddressForNode ASI . . . . . . . . . . . . . . .  8
     7.2.  RELOAD Node(M-Node/O-Node) primitive . . . . . . . . . . .  8
       7.2.1.  getNodeForResource ASI . . . . . . . . . . . . . . . .  8
       7.2.2.  returnNodeForResource ASI  . . . . . . . . . . . . . .  8
       7.2.3.  exchangeCandidateAddressList ASI . . . . . . . . . . .  9
       7.2.4.  registerManagerReq ASI . . . . . . . . . . . . . . . .  9
       7.2.5.  registerManagerAns ASI . . . . . . . . . . . . . . . . 10
   8.  Managed Object Definitions for RELOAD  . . . . . . . . . . . . 10
   9.  Network Manager Registering and Looking up . . . . . . . . . . 15
   10. An SNMP Entity Forms a Direct Connection with Another SNMP
       Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
   11. O-Node information Collection  . . . . . . . . . . . . . . . . 19
   12. Network Manger Looks up the O-Node for a Resource  . . . . . . 19
   13. SNMP-REGISTRATION Kind Definition  . . . . . . . . . . . . . . 21
   14. Security Considerations  . . . . . . . . . . . . . . . . . . . 21
   15. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 22
   16. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 22
   17. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
     17.1. Normative References . . . . . . . . . . . . . . . . . . . 22
     17.2. Informative References . . . . . . . . . . . . . . . . . . 23
   Appendix A.  Additional Stuff  . . . . . . . . . . . . . . . . . . 23
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23









Peng, et al.            Expires September 7, 2012               [Page 2]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


1.  Introduction

   This document defines an SNMP Usage for RELOAD,which can be used to
   manage the RELOAD network.  It can provide important network
   management functions, such as adjusting the network configuration,
   monitoring the performance of the network, collecting real-time
   failure information, etc.  These network management functions are
   essential for stable operation and high-quality services of the
   network.  As traditional network management protocols (e.g., SNMP)
   cannot be directly applied to RELOAD network management, it is
   necessary to introduce new RELOAD usage of SNMP.

   As defined in [I-D.ietf-p2psip-base], there are two kinds of nodes in
   RELOAD network: centralized servers, such as the Enrollment Server;
   distributed nodes, such as Peer and Client.  The management function
   of centralized servers can be carried out by traditional management
   methods, so we don't discuss the management of the centralized server
   in this document, and only focus on the management of the distributed
   nodes called as RELOAD Nodes.

   When the manager starts up, it needs to register the mapping between
   its name and Node ID into the RELOAD network, in order to be found by
   the managed RELOAD Nodes.  So only the name of manager needs be
   fixed, and needs be knowned beforhand by RELOAD Nodes.  Then, the
   RELOAD Nodes can get the manager's address and connect with it, and
   then Nodes and manager can send management messages each other
   through this link.

   Not only RELOAD Nodes are managed object, but RELOAD resource is
   managed object as well, such as some data stored in RELOAD network by
   SNMP-RELOAD application.

   The basic mechanism of SNMP Usage is the same as SIP Usage for
   RELOAD[I-D.draft-ietf-p2psip-sip].  If you have read the draft of SIP
   Usage, SNMP Usage will be more easy understood.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   We use the terminology and definitions from Concepts and Terminology
   for Peer to Peer SIP [I-D.ietf-p2psip-concepts] and the RELOAD Base
   Protocol [I-D.ietf-p2psip-base] and SNMPv3 [RFC3411] and TLS TM for
   SNMP [RFC5953] extensively in this document.




Peng, et al.            Expires September 7, 2012               [Page 3]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   SNMP:     Simple Network Management Protocol.

   Entity:     SNMP Entity, including both Manager and Agent, which
   resides in RELOAD Node.

   Manager:     SNMP Manager, which resides in RELOAD Node.

   Agent:     SNMP Agent, which resides in RELOAD Node.

   Node:     RELOAD Node, including both Peer and Client, which SNMP
   manager or agent resides in.

   M-Node:     Management Node, which is the RELOAD Node which SNMP
   Manager resides in.

   O-Node:     Objective Node, which is the RELOAD Node managed by a
   network manager, which SNMP agent resides in.

   R-Node:     Responsibility Node, which is the RELOAD Node responsible
   for storing the data according to P2P algorithm.

   SNMP-RELOAD Application:    It provides the functions related to
   RELOAD for SNMP applications, such as getting available address for
   Node ID and getting Node ID for Resource ID.  SNMP applications can
   implement the management for RELOAD network by SNMP-RELOAD
   Application.


3.  Network Management Requirements

   SNMP usage SHOULD or MAY provide these functions and mechanisms as
   below:

   1.  SNMP usage for RELOAD SHOULD provide the management functions for
   RELOAD Nodes.  Such as setting node name, software version or other
   configuration information, monitoring the number of the messages
   initiated, forwarded or processed by nodes, reporting program failure
   , message forwarding failure or other error on nodes.

   2.  SNMP usage for RELOAD SHOULD provide the management functions for
   RELOAD resource.  Such as tracing forwarded the RELOAD messages,
   processing flows of resources.

   3.  SNMP usage for RELOAD SHOULD provide mechanisms for SNMP entities
   to discover each other based on RELOAD NodeID.

   4.  SNMP usage for RELOAD SHOULD provide mechanisms for SNMP entities
   to establish a secure connection between each other.



Peng, et al.            Expires September 7, 2012               [Page 4]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   5.  SNMP usage for RELOAD SHOULD provide mechanisms for SNMP manager
   to discover the RELOAD NodeID associated to a given ResourceID.

   6.  SNMP usage for RELOAD SHOULD provide mechanisms for SNMP entities
   to traverse the NAT in front of the SNMP entities which they will
   connect to.

   7.  SNMP usage for RELOAD MAY provide mechanisms for SNMP entities to
   discover the SNMP manager based on manager names or functions.


4.  Basic Operations and SNMP

   The management interactions between nodes can be abstracted into a
   few basic operations: 1). the network manager requests data of nodes
   and resources; 2). the network manager sets data of nodes and
   resources; 3). nodes initiate data reports to the network manager.  A
   variety of management functions can be carried out by these basic
   operations or their combinations.  This document adopts SNMP as a
   RELOAD Usage to achieve the management of the RELOAD network.  The
   basic operations described above can be implemented by messages
   defined in SNMP, such as GetRequest, GetNextRequest, GetBulkRequest,
   Response, SetRequest, Trap, InformRequest.


5.  Overview of SNMP Usage

   The SNMP entity is deployed as an application on RELOAD Nodes in the
   SNMP usage for RELOAD.  In other words, each SNMP entity is
   associated with a RELOAD Node.  SNMP entities discover other entities
   (agents or managers) by RELOAD mechanisms and to set up connects with
   other SNMP entities.  Therefore, SNMP entities talk to each other
   using SNMP protocol on dedicated connections, while RELOAD protocols
   are used for Node discovery and connection setup.  The diagram of
   system composition and protocol is as follow:
















Peng, et al.            Expires September 7, 2012               [Page 5]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


             +------------------------------------------------+
             |                  RELOAD Network                |
             |                                                |
             |                                                |
             | +------------+                  +------------+ |
             | |            |     SNMP         |            | |
             | |   Manager  |------------------|   Agent    | |
             | |            |                  |            | |
             | +------------+                  +------------+ |
             | |            |     RELOAD       |            | |
             | |    Node    |------------------|    Node    | |
             | |            |                  |            | |
             | +------------+                  +------------+ |
             |                                                |
             +------------------------------------------------+

   SNMP Usage's position in the RELOAD Architecture diagram is as
   follow:


                   Application

            +-------+  +-------+  +-------+
            | SIP   |  | XMPP  |  | SNMP  |  ...
            | Usage |  | Usage |  | Usage |
            +-------+  +-------+  +-------+
         ------------------------------------------- Messaging API

                      RELOAD


6.  SNMP Usage Architecture

   This document defines SNMP Usage Architeture, which includes SNMP-
   RELOAD application and SNMP applications in the Simple Network
   Management Protocol (SNMP) architecture defined in [RFC3411].  The
   SNMP-RELOAD Application will provide the functions related to RELOAD,
   such as getting available address for Node ID and getting Node ID for
   Resource ID, to SNMP applications to implement the management for
   RELOAD network.  This document identifies and describes some key
   aspects that need to be considered for SNMP usage for RELOAD.  The
   following diagram depicts SNMP usage architecture.









Peng, et al.            Expires September 7, 2012               [Page 6]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


                +------------------------------------------+
                | SNMP Usage                               |
                |                                          |
                | +------------+            +------------+ |
                | |   SNMP     |            |SNMP-RELOAD | |
                | |applications|<---------->|application | |
                | |            |            |            | |
                | +------------+            +------------+ |
                |      ^                          ^        |
                +------|--------------------------|--------+
                       |                          |
                       |                          |
                       v                          v
                  +-----------+             +------------+
                  |   SNMP    |             |   RELOAD   |
                  |  Engine   |             | (M/O-Node) |
                  |(with DTLS)|             |            |
                  +-----------+             +------------+


7.  Abstract Service Interfaces

7.1.  SNMP-RELOAD Application Primitive

7.1.1.  getNodeForResource ASI

   The getNodeForResource ASI is provided for SNMP application by SNMP-
   RELOAD application, and it is used to get Node ID of RELOAD Node that
   is responsible for resource.

   getNodeForResource(

       IN     resourceName     -- managed resource name

   )

7.1.2.  returnNodeForResource ASI

   The returnNodeForResource ASI is used to return the Node ID of RELOAD
   Node that is responsible for resource to SNMP applications by SNMP-
   RELOAD application.

   result =     -- SUCCESS or errorIndication

   returnNodeForResource(

       IN     resourceName     -- managed resource name




Peng, et al.            Expires September 7, 2012               [Page 7]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


       IN     nodeID     -- node that responsible for managed resource
   name

   )

7.1.3.  getAddressForNode ASI

   The getAddressForNode ASI is provided for SNMP Applications(e.g.
   Command Application, Notification Application) by SNMP-RELOAD
   application, and it is used to get the address of the other side for
   SNMP communication.

   getAddressForNode(

       IN     nodeID     -- destination node

   )

7.1.4.  returnAddressForNode ASI

   The returnNodeForResource ASI is used to return the address of the
   other side for SNMP communication.

   result =     -- SUCCESS or errorIndication

   returnAddressForNode(

       IN     nodeID     -- destination node

       IN     transportAddress     -- destination network address

   )

7.2.  RELOAD Node(M-Node/O-Node) primitive

7.2.1.  getNodeForResource ASI

   The getNodeForResource ASI is provided for SNMP-RELOAD Application by
   RELOAD Node(M-Node/O-Node), and it is used to get Node ID of RELOAD
   Node that is responsible for resource.  The difinition of
   getNodeForResource is above.

7.2.2.  returnNodeForResource ASI

   The returnNodeForResource ASI is used to return the Node ID of RELOAD
   Node that is responsible for resource to SNMP-RELOAD Application by
   RELOAD Node.  The difinition of returnNodeForResource is above.




Peng, et al.            Expires September 7, 2012               [Page 8]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


7.2.3.  exchangeCandidateAddressList ASI

   The exchangeCandidateAddressList ASI is used by SNMP-RELOAD
   Application and RELOAD Node to exchange the address list each other
   for SNMP communication, and these address lists will be uesd to do
   NAT traversal by the way of ICE.

   exchangeCandidateAddressList(

       IN     nodeID     -- destination node

       IN     ufrag     -- the username fragment (from ICE)

       IN     password     -- the ICE password

       IN     candidateAddressList     -- sender's candidate address
   list

   )

   the Elements of candidateAddress of candidateAddressList including:
   IP address, LinkType, etc.

   In order to implement ICE, these items need to be added into LCD:

   Ufrag

   Password

   LinkType: DTLS-UDP-NO-ICE, DTLS-UDP-ICE, TLS-TCP-NO-ICE, TLS-TCP-ICE.

7.2.4.  registerManagerReq ASI

   The gregisterManagerReq ASI is provided for RELOAD Application by
   RELOAD M-Node, and it is used to register the Node ID of the RELOAD
   Node which Manager resides in.

   gregisterManagerReq(

       IN     managerName     -- the name of Manager

       IN     nodeID     -- the Node ID of the RELOAD Node which Manager
   resides in

   )






Peng, et al.            Expires September 7, 2012               [Page 9]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


7.2.5.  registerManagerAns ASI

   The registerManagerAns ASI is used to return the result of
   registering to SNMP-RELOAD Application by RELOAD M-Node.

   result =     -- SUCCESS or errorIndication


8.  Managed Object Definitions for RELOAD


   SNMP-RELOAD-MIB DEFINITIONS ::= BEGIN

   IMPORTS
     MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, mib-2, Counter32,
     Gauge32, Integer32, NOTIFICATION-TYPE
       FROM SNMPv2-SMI         -- RFC 2578 or any update thereof
     MODULE-COMPLIANCE, OBJECT-GROUP,
     NOTIFICATION-GROUP
       FROM SNMPv2-CONF        -- RFC 2580 or any update thereof
     TimeStamp
       FROM SNMPv2-TC          -- RFC 2579 or any update thereof
     ;

   snmpReloadMIB MODULE-IDENTITY
     LAST-UPDATED "201202280000Z"
     ORGANIZATION "P2PSIP Working Group"
     CONTACT-INFO "WG-EMail:   p2psip@ietf.org"

     DESCRIPTION  "
         SNMP Usage for RELOAD MIB

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

         Redistribution and use in source and binary forms, with or
         without modification, is permitted pursuant to, and subject
         to the license terms contained in, the Simplified BSD License
         set forth in Section 4.c of the IETF Trust's Legal Provisions
         Relating to IETF Documents
         (http://trustee.ietf.org/license-info)."

        REVISION     "201202280000Z"
        DESCRIPTION  "This version of this MIB module is part of
                      draft-peng-p2psip-snmp-04; see the draft itself
            for full legal notices."
     ::= { mib-2 199 }




Peng, et al.            Expires September 7, 2012              [Page 10]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   -- ************************************************
   -- subtrees of the SNMP-RELOAD-MIB
   -- ************************************************

   snmpReloadNotifications OBJECT IDENTIFIER ::= { snmpReloadMIB 0 }
   snmpReloadObjects       OBJECT IDENTIFIER ::= { snmpReloadMIB 1 }
   snmpReloadConformance   OBJECT IDENTIFIER ::= { snmpReloadMIB 2 }

   -- ************************************************
   -- snmpReloadObjects - Objects
   -- ************************************************

   -- Configuration Objects
   snmpReloadConfig    OBJECT IDENTIFIER ::= { snmpReloadObjects 1 }

   snmpReloadConfigVersion OBJECT-TYPE
     SYNTAX      Gauge32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "The version of snmpReloadConfigItem."
     ::= { snmpReloadConfig 1 }


   snmpReloadConfigLastChanged OBJECT-TYPE
     SYNTAX      TimeStamp
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "The value of sysUpTime.0 when the snmpReloadConfigItem was
         last modified through any means, or 0 if it has not been
         modified since the command responder was started."
     ::= { snmpReloadConfig 2 }

   snmpReloadConfigItem OBJECT IDENTIFIER ::= { snmpReloadConfig 3 }

   snmpReloadNodeName        OBJECT-IDENTITY
      STATUS      current
      DESCRIPTION
          "The name of RELOAD Node."
      ::= { snmpReloadConfigItem 1 }

   snmpReloadNodeId        OBJECT-IDENTITY
      STATUS      current
      DESCRIPTION
          "node-id-length  This element contains the length of
      a NodeId(NodeIdLength) in bytes.  This value MUST be
      between 16 (128 bits) and 20 (160 bits).  If this



Peng, et al.            Expires September 7, 2012              [Page 11]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


      element is not present, the default of 16 is used."
      ::= { snmpReloadConfigItem 2 }

   snmpReloadNodeType     OBJECT-TYPE
      SYNTAX      Integer32(0..9)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "the type of RELOAD Node.
          Definition of values as follows:
          Client(0),
          Peer(1)
          "
      ::= { snmpReloadConfigItem 3 }

   snmpReloadLogPrintLevel    OBJECT-TYPE
      SYNTAX      Integer32(0..9)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "the type of RELOAD Node.
           Definition of values as follows:
           debug(3),
           info(2),
           warn(1),
           error(0)
           "
      ::= { snmpReloadConfigItem 4 }

   snmpReloadNotificationEnable     OBJECT-TYPE
      SYNTAX      Integer32(0..9)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Whether are notifications sent.
           Definition of values as follows:
           Disable(0),
           Enable(1)
          "
      ::= { snmpReloadConfigItem 5 }


   -- The snmpReloadFailures Group
   snmpReloadFailures  OBJECT IDENTIFIER ::= { snmpReloadObjects 2 }

   snmpReloadMessageForwardFailures OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only



Peng, et al.            Expires September 7, 2012              [Page 12]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


     STATUS      current
     DESCRIPTION
         "The number of times RELOAD message failed to be forwarded,
         for any reason."
     ::= { snmpReloadFailures 1 }

   snmpReloadDataUpdateFailures OBJECT-TYPE
     SYNTAX       Counter32
     MAX-ACCESS   read-only
     STATUS      current
     DESCRIPTION
         "The number of times RELOAD data failed to be updated,
         for any reason."
     ::= { snmpReloadFailures 2 }


   -- ****************************************************
   --  snmpReloadNotifications - Notifications Information
   -- ****************************************************

   snmpReloadMessageForwardFailNotification NOTIFICATION-TYPE
       OBJECTS { snmpReloadMessageForwardFailures }
       STATUS  current
       DESCRIPTION
           "Notification that RELOAD message failed to be forwarded."
       ::= { snmpReloadNotifications 1 }

   snmpReloadDataUpdateFailNotification NOTIFICATION-TYPE
       OBJECTS { snmpReloadDataUpdateFailures }
       STATUS  current
       DESCRIPTION
           "Notification that RELOAD data failed to be updated."
       ::= { snmpReloadNotifications 2 }


   -- ************************************************
   -- snmpReloadCompliances - Conformance Information
   -- ************************************************

   snmpReloadCompliances OBJECT IDENTIFIER ::= {snmpReloadConformance 1}
   snmpReloadGroups OBJECT IDENTIFIER ::= { snmpReloadConformance 2 }


   -- ************************************************
   -- Compliance statements
   -- ************************************************

   snmpReloadCompliance MODULE-COMPLIANCE



Peng, et al.            Expires September 7, 2012              [Page 13]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


     STATUS      current
     DESCRIPTION
         "The compliance statement for SNMP engines that support
     the SNMP-RELOAD-MIB"
     MODULE
         MANDATORY-GROUPS { snmpReloadConfigGroup,
                            snmpReloadFailuresGroup,
                            snmpReloadNotificationGroup }
     ::= { snmpReloadCompliances 1 }


   -- ************************************************
   -- Units of conformance
   -- ************************************************

   snmpReloadConfigGroup OBJECT-GROUP
     OBJECTS {
     snmpReloadConfigVersion,
     snmpReloadConfigLastChanged,
     snmpReloadNodeType,
     snmpReloadLogPrintLevel,
     snmpReloadNotificationEnable
     }
     STATUS      current
     DESCRIPTION
         "A collection of objects for maintaining configuration
     information of an SNMP engine that implements
     the SNMP Usage for RELOAD."
     ::= { snmpReloadGroups 1 }

   snmpReloadFailuresGroup OBJECT-GROUP
     OBJECTS {
     snmpReloadMessageForwardFailures,
     snmpReloadDataUpdateFailures
     }
     STATUS      current
     DESCRIPTION
         "A collection of objects for failures
     information of an SNMP engine that implements
     the SNMP Usage for RELOAD."
     ::= { snmpReloadGroups 2 }


   snmpReloadNotificationGroup NOTIFICATION-GROUP
     NOTIFICATIONS {
         snmpReloadMessageForwardFailNotification,
         snmpReloadDataUpdateFailNotification
     }



Peng, et al.            Expires September 7, 2012              [Page 14]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


     STATUS current
     DESCRIPTION
         "Notifications"
     ::= { snmpReloadGroups 3 }

   END



9.  Network Manager Registering and Looking up

   The Node ID of the network manager which acts as a provider of
   management service should be able to be found by agents on RELOAD
   nodes, thus agents can send messages to the manager.  The Node ID of
   network manager may not be fixed or predefined in advance.  So a
   recognizable name is necessary and the managed nodes should find the
   Node ID of the manager through this fixed name.  Therefore, it is
   necessary for the manager to register itself in the network after
   joining the network.  In other words, the manager needs to store the
   mapping between its name and its Node ID in the RELOAD network.  When
   an agent wants to contact the manager, it needs to first look up the
   manager's Node ID corresponding to the predefined management service
   name.  This registration is achieved by storing the name of the
   network manager and the structure of SnmpRegistration into the RELOAD
   network.  The corresponding SNMP-REGISTRATION Kind-ID will be
   formally defined in the following chapter.  It is proposed to store
   the mapping of the manager's name to a destination list in this
   document.  Therefore, a single Node ID as a special case for a
   destination list.  The contents of a SnmpRegistration structure are
   as follows

   struct {

      opaque        contact_prefs<0..2^16-1>;

      Destination        destination_list<0..2^16-1>;

   } SnmpRegistrationData;

   struct {

      uint16        length;

      SnmpRegistrationData        data;

   } SnmpRegistration;

   The contents of the SnmpRegistration PDU are:



Peng, et al.            Expires September 7, 2012              [Page 15]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   length

      the length of the rest of the PDU

   data

      the contents of the registration data is an opaque string
   containing the network manager's contact preferences and a
   destination list for the peer.

   When an agent needs to contact to a network manager, it must perform
   a query of SnmpRegistration by FetchReq message to get the manager's
   Node ID.

   The process diagram for Network Manager Registering and Looking up is
   as follow:



































Peng, et al.            Expires September 7, 2012              [Page 16]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


         +------------------------+ +-------------++-------------+
         |Manager                 | | R-Node      || Agent       |
         |                        | |             ||             |
         |SNMP-RELOAD    RELOAD   | |    RELOAD   ||    RELOAD   |
         |application    M-Node   | |    R-Node   ||    O-Node   |
         |                        | |             ||             |
         |  |              |      | |     |       ||     |       |
         +------------------------+ +-------------++-------------+
            |              |              |              |
            |              |              |              |
          +---------------------------------+            |
          |1.Manager Registering:         | |            |
          | |                             | |            |
          | |registerManagerReq           | |            |
          | |------------->|              | |            |
          | |              |              | |            |
          | |              |StoreReq      | |            |
          | |              |------------->| |            |
          | |              |              | |            |
          | |              |StoreAns      | |            |
          | |              |<-------------| |            |
          | |              |              | |            |
          | |registerManagerAns           | |            |
          | |<-------------|              | |            |
          +---------------------------------+            |
            |              |              |              |
            |              |          +---------------------+
            |              |          |2.Manager Looking up:|
            |              |          |   |              |  |
            |              |          |   | FetchReq     |  |
            |              |          |   |<-------------|  |
            |              |          |   |              |  |
            |              |          |   | FetchAns     |  |
            |              |          |   |------------->|  |
            |              |          +---------------------+
            |              |              |              |
            |              |              |              |


10.  An SNMP Entity Forms a Direct Connection with Another SNMP Entity

   Because the targets of the management tasks and reports of RELOAD
   network are Node ID of RELOAD or snmeEngineID of SNMP.  (Note: In
   this document, snmeEngineID constructed from Node ID.)  So when a
   SNMP Entity needs to send SNMP messages to another SNMP Entity, it
   must get the other side of available IP address firstly.  Due to the
   existence of NAT, they need to exchange ICE addresses each other and
   checks connectivity, then selects a pair of available IP address to



Peng, et al.            Expires September 7, 2012              [Page 17]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   establish connection.  (Of course, if a connection has been
   established between this pair of IP address, the initiator node will
   directly send messages to the target node.)  The process of Forming a
   direct connect between SNMP Entities as shown below:


   +---------------------------------------+   +-----------------------+
   |Entity 1                               |   | Entity 2              |
   |                                       |   |                       |
   |   SNMP      SNMP-RELOAD      RELOAD   |   |  RELOAD    SNMP-RELOAD|
   |applications application     M/O-Node  |   | O/M-Node   application|
   |                                       |   |                       |
   |  |              |              |      |   |   |              |    |
   +---------------------------------------+   +-----------------------+
      |              |              |              |              |
      |              |              |              |              |
      |getAddressForNode            |              |              |
      |------------->|              |              |              |
      |              |              |              |              |
      |              |              |              |              |
      |       +---------------+     |              |              |
      |       |Get ICE ufrag/ |     |              |              |
      |       |password from  |     |              |              |
      |       |LCD, collect   |     |              |              |
      |       |candidate      |     |              |              |
      |       |address list   |     |              |              |
      |       +---------------+     |              |              |
      |              |              |              |              |
      |              |              |              |              |
      |              |exchangeCandidateAddressList |              |
      |              |------------->|              |              |
      |              |              |              |              |
      |              |              |              |              |
      |              |              |   AppAttach  |  AppAttach   |
      |              |              |<------------>|<------------>|
      |              |              |              |              |
      |              |              |              |              |
      |              |exchangeCandidateAddressList |              |
      |              |<-------------|              |              |
      |              |              |              |              |
      |              |              |              |              |
      |              |              |              |              |
      |              | ICE Check    |              |              |
      |              |<------------------------------------------>|
      |              |              |              |              |
      |              |              |              |              |
      |              |              |              |              |
      |      +----------------+     |              |              |



Peng, et al.            Expires September 7, 2012              [Page 18]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


      |      |Select available|     |              |              |
      |      |address from    |     |              |              |
      |      |candidate list  |     |              |              |
      |      +----------------+     |              |              |
      |              |              |              |              |
      |              |              |              |              |
      |returnAddressForNode         |              |              |
      |<-------------|              |              |              |
      |              |              |              |              |
      |              |              |              |              |
   +-------------+   |              |              |              |
   |If agent,    |   |              |              |              |
   |store address|   |              |              |              |
   |into MIB     |   |              |              |              |
   |(snmpTarget  |   |              |              |              |
   |AddrTable)   |   |              |              |              |
   +-------------+   |              |              |              |
      |              |              |              |              |


11.  O-Node information Collection

   Before a network manager performs management tasks for nodes, it must
   first collect the Node ID and its status information of managed
   nodes.  The way of a manager collecting the information of RELOAD
   nodes (including Peer and Client) is as follows: when an agent starts
   up, its associated RELOAD Node joins the RELOAD network, it needs to
   get the name of a network manager from its configuration or an
   Enrollment Server; then this node connects to the network manager and
   registers its own information, such as node name, Node ID, status,
   etc., to the manager.  The procedure of finding the manager and
   connecting to it has been introduced in the previous section.  There
   are many other ways to collect information of managed nodes, which
   could be studied in future documents.


12.  Network Manger Looks up the O-Node for a Resource

   When a network manager needs to send a management task for resource,
   it is necessary that the network manager first gets the Node ID of
   the O-Node responsible for the resource so as to judge whether there
   is a connection with the O-Node.  One way for the manager to get the
   Node ID of the O-Node responsible for the resource is to acquire the
   Node ID of the O-NODE responsible for the target resource through
   via_list of Forwarding Header in FindAns.  The process is as follows:

   Firstly, the network manager sends an FindReq to the RELOAD network,
   the target Reource ID is put into the destination_list of the



Peng, et al.            Expires September 7, 2012              [Page 19]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   FindReq.  Then the RELOAD network routes FindReq to the node
   responsible for the target Resource ID according to its routing
   algorithm.

   Secondly, the O-Node returns FindAns to the network manager through
   the RELOAD network.  The first Node ID in the via_list of the
   Forwarding Header of the FindAns is the Node ID of the O-Node
   responsible for the target resource.

   The process diagram for Network Manger Looking up the O-Node for a
   Resource is as below:


         +---------------------------------------+ +-------------+
         |Manager                                | | Agent       |
         |                                       | |             |
         |   SNMP      SNMP-RELOAD      RELOAD   | |    RELOAD   |
         |applications application      M-Node   | |    O-Node   |
         |                                       | |             |
         |  |              |              |      | |     |       |
         +---------------------------------------+ +-------------+
            |              |              |              |
            |              |              |              |
            |getNodeForResource           |              |
            |------------->|              |              |
            |              |              |              |
            |              |              |              |
            |              |              |              |
            |              |getNodeForResource           |
            |              |------------->|              |
            |              |              |              |
            |              |              |              |
            |              |              |    Find      |
            |              |              |<------------>|
            |              |              |              |
            |              |              |              |
            |              |returnNodeForResource        |
            |              |<-------------|              |
            |              |              |              |
            |              |              |              |
            |              |              |              |
            |returnNodeForResource        |              |
            |<-------------|              |              |
            |              |              |              |

   After the network manager gets the Node ID of O-Node, it will be able
   to judge whether there is a connection between itself and the O-Node.
   If the connection exists, the network manager may directly send SNMP



Peng, et al.            Expires September 7, 2012              [Page 20]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   message to the O-Node, otherwise it is necessary to establish a new
   connection to the O-Node.


13.  SNMP-REGISTRATION Kind Definition

   This section defines the SNMP-REGISTRATION kind.

   Name     SNMP-REGISTRATION

   Kind ID     The Resource Name for the SNMP-REGISTRATION Kind-ID is
   the Name of the network manager.  The data stored is a
   SnmpRegistrationData, which can contain a destination list and
   contact preferences to the peer which is acting for the network
   manager.

   Data Model     The data model for the SNMP-REGISTRATION Kind-ID is
   single value.

   Access Control     USER-NODE-MATCH.

   Data stored under the SNMP-REGISTRATION kind is of type
   SnmpRegistration.  A destination list can be used to reach the
   network manager.


14.  Security Considerations

   There are three solutions to the security problem in SNMP Usage for
   RELOAD.  The first option is shared key based solution, which is
   SNMPv3 security solution (USM).  The second option is PKI based
   security solution, which is to use the certificate of RELOAD to
   authenticate and encrypt the SNMP messages.  The third option is
   (D)TLS based security solution, which uses the secure (D)TLS links to
   transfer the SNMP message.

   USM was designed to be independent of other existing security
   infrastructures.  USM therefore uses a separate principal and key
   management infrastructure.  Operators have reported that deploying
   another principal and key management infrastructure in order to use
   SNMPv3 is a deterrent to deploying SNMPv3.  [RFC5590] And the
   efficiency of the second option is questionable.  So we recommend the
   third option.

   The special detail of (D)TLS based security for SNMP is defined in
   RFC5953, and it won't be described again in this document.  In short,
   we propose to use RELAOD certificate for setting up the connection
   using (D)TLS based security.  When the Mapping certificate's



Peng, et al.            Expires September 7, 2012              [Page 21]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


   subjectAltName to a tmSecurityName is used in the SNMP-TLS-TM-MIB's
   snmpTlstmCertToTSNTable, tmSecurityName is derived from the user name
   value of the SubjectAltName field in RELOAD certificate.


15.  IANA Considerations

   This document has no IANA Considerations.


16.  Acknowledgments

   This draft is based on "REsource LOcation And Discovery (RELOAD) Base
   Protocol" draft by C. Jennings, B. Lowekamp, E. Rescorla, S. Baset
   and H. Schulzrinne.

   This draft make a reference to "A SIP Usage for RELOAD" draft by C.
   Jennings, B. Lowekamp, Ed., E. Rescorla, S. Baset, H. Schulzrinne.

   This draft is based on "Architecture for Describing Simple Network
   Management Protocol (SNMP) Management Frameworks" RFC by Harrington,
   D., Presuhn, R., and B. Wijnen.

   This draft is based on "Transport Layer Security (TLS) Transport
   Model for the Simple Network Management Protocol (SNMP)" RFC by
   Hardaker, W..

   Thanks to David Harrington and the many people who give us much
   significative advice.

   Thanks to the many people of the IETF P2PSIP WG and Network WG whose
   many drafts and RFCs we have learned.


17.  References

17.1.  Normative References

   [I-D.ietf-p2psip-base]
              Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and
              H. Schulzrinne, "REsource LOcation And Discovery
              (RELOAD)Base Protocol", August 2010.

   [I-D.ietf-p2psip-sip]
              Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., and
              H. Schulzrinne, "A SIP Usage for RELOAD", July 2010.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate



Peng, et al.            Expires September 7, 2012              [Page 22]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3411]  Harrington, D., Presuhn, R., and B. Wijnen, "An
              Architecture for Describing Simple Network Management
              Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
              December 2002.

   [RFC3414]  Blumenthal, U. and B. Wijnen, "User-based Security Model
              (USM) for version 3 of the Simple Network Management
              Protocol (SNMPv3)", STD 62, RFC 3414, December 2002.

   [RFC5953]  Hardaker, W., "Transport Layer Security (TLS) Transport
              Model for the Simple Network Management Protocol (SNMP)",
              RFC 5953, August 2010.

17.2.  Informative References

   [I-D.ietf-p2psip-concepts]
              Bryan, D., Matthews, P., Shim, E., Willis, D., and S.
              Dawkins, "Concepts and Terminology for Peer to Peer SIP",
              July 2008.

   [I-D.narten-iana-considerations-rfc2434bis]
              Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs",
              draft-narten-iana-considerations-rfc2434bis-09 (work in
              progress), March 2008.

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
              Text on Security Considerations", BCP 72, RFC 3552,
              July 2003.

   [RFC4181]  Heard, C., "Guidelines for Authors and Reviewers of MIB
              Documents", BCP 111, RFC 4181, September 2005.


Appendix A.  Additional Stuff











Peng, et al.            Expires September 7, 2012              [Page 23]

Internet-Draft          An SNMP Usage for RELOAD              March 2012


Authors' Addresses

   YongLin Peng
   ZTE Corporation
   Nanjing,   210012
   China

   Phone: +86 13776637274
   Email: peng.yonglin@zte.com.cn


   Wei Wang
   ZTE Corporation
   Nanjing,   210012
   China

   Phone: +86 13851658076
   Email: wang.wei108@zte.com.cn


   ZhenWu Hao
   ZTE Corporation
   Nanjing,   210012
   China

   Phone: +86 13382087596
   Email: hao.zhenwu@zte.com.cn


   Yu Meng
   ZTE Corporation
   Nanjing,   210012
   China

   Phone: +86 18651806839
   Email: meng.yu@zte.com.cn















Peng, et al.            Expires September 7, 2012              [Page 24]