Internet DRAFT - draft-peng-p2psip-snmp
draft-peng-p2psip-snmp
P2PSIP Y. Peng
Internet-Draft W. Wang
Intended status: Informational Z. Hao
Expires: April 21, 2013 Y. Meng
ZTE Corporation
October 18, 2012
An SNMP Usage for RELOAD
draft-peng-p2psip-snmp-05
Abstract
This document defines an SNMP Usage for REsource LOcation And
Discovery(RELOAD). The objective of SNMP Usage is to provide the
functionality of managing the RELOAD network. In particular, the
SNMP Usage provides the following functions: (a) defining the method
that allow the registrations to map a network manager's name to a
host node reachable in the overlay, and (b) providing lookup service
for the node hosts the network manager in the overlay. Then the
AppAttach method is used to exchange addresses between nodes to
establish a direct connection 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 April 21, 2013.
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
Peng, et al. Expires April 21, 2013 [Page 1]
Internet-Draft An SNMP Usage for RELOAD October 2012
(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. 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(ASI) . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . 9
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 Registration and Lookup . . . . . . . . . . . 15
10. An SNMP Entity Forms a Direct Connection with Another SNMP
Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
11. O-Node information Collection . . . . . . . . . . . . . . . . 19
12. O-Node Lookup by the Network Manager for a Resource . . . . . 20
13. Definition of SNMP-REGISTRATION Kind . . . . . . . . . . . . . 21
14. Security Considerations . . . . . . . . . . . . . . . . . . . 22
15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
16. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
17. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
17.1. Normative References . . . . . . . . . . . . . . . . . . . 23
17.2. Informative References . . . . . . . . . . . . . . . . . . 24
Appendix A. Additional Stuff . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
Peng, et al. Expires April 21, 2013 [Page 2]
Internet-Draft An SNMP Usage for RELOAD October 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 changing the network configuration,
monitoring the performance of the network, collecting real-time
status/failure information, etc. These network management functions
are essential for stable operation and high-quality services offered
by the network. Since the 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 network
elements 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, and aren't discussed in this
document. We focus on the management of the distributed nodes called
as RELOAD Nodes in this draft.
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
recognized and found by the managed RELOAD Nodes. So only the name
of manager needs be fixed, and needs be known beforhand by RELOAD
Nodes. Then, the RELOAD Nodes can get the manager's address and
connect with it. Then the Nodes and the manager can exchange
management messages through this link.
Not only RELOAD Nodes are managed object, but a RELOAD resource is a
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]. It is easier to understood the
SNMP Usage, if someone has the backgroud of SIP Usage draft.
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].
In this document, we use the definitions from Concepts and
Terminology as described in the following drafts:
Peer to Peer SIP [I-D.ietf-p2psip-concepts], RELOAD Base Protocol
[I-D.ietf-p2psip-base], SNMPv3 [RFC3411], TLS TM for SNMP [RFC5953] .
Peng, et al. Expires April 21, 2013 [Page 3]
Internet-Draft An SNMP Usage for RELOAD October 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.
LCD: Local Configuration Datastore.
Node: RELOAD Node, including both Peer and Client, which SNMP
manager or agent resides in.
ReDiR: Recursive Distributed Rendezvous.
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: Responsible 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 the following functions and
mechanisms:
i. 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.
ii. SNMP usage for RELOAD SHOULD provide the management functions
for RELOAD resource. Such as tracking the RELOAD messages is
forwarded, processing flows of resources.
iii. SNMP usage for RELOAD SHOULD provide mechanisms for SNMP
Peng, et al. Expires April 21, 2013 [Page 4]
Internet-Draft An SNMP Usage for RELOAD October 2012
entities to discover each other based on RELOAD Node-ID.
iv. SNMP usage for RELOAD SHOULD provide mechanisms for SNMP
entities to establish a secure connection between each other.
v. SNMP usage for RELOAD SHOULD provide mechanisms for SNMP manager
to discover the RELOAD NodeID associated to a given Resource-ID.
vi. 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.
vii. 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
Management interactions between nodes can be abstracted into the
following basic operations: a) the network manager requests data of
nodes and resources; b) the network manager sets data of nodes and
resources; c) 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, and 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 connect 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 following figure shows
the system composition and protocol:
Peng, et al. Expires April 21, 2013 [Page 5]
Internet-Draft An SNMP Usage for RELOAD October 2012
+------------------------------------------------+
| RELOAD Network |
| |
| |
| +------------+ +------------+ |
| | | SNMP | | |
| | Manager |------------------| Agent | |
| | | | | |
| +------------+ +------------+ |
| | | RELOAD | | |
| | Node |------------------| Node | |
| | | | | |
| +------------+ +------------+ |
| |
+------------------------------------------------+
The following figure shows SNMP Usage's position in the RELOAD
Architecture:
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 figure depicts SNMP usage architecture.
Peng, et al. Expires April 21, 2013 [Page 6]
Internet-Draft An SNMP Usage for RELOAD October 2012
+------------------------------------------+
| SNMP Usage |
| |
| +------------+ +------------+ |
| | SNMP | |SNMP-RELOAD | |
| |applications|<---------->|application | |
| | | | | |
| +------------+ +------------+ |
| ^ ^ |
+------|--------------------------|--------+
| |
| |
v v
+-----------+ +------------+
| SNMP | | RELOAD |
| Engine | | (M/O-Node) |
|(with DTLS)| | |
+-----------+ +------------+
7. Abstract Service Interfaces(ASI)
Abstract service interfaces describe only the conceptual interfaces
between SNMP-RELOAD application and the other subsystems, and it is
intended to help clarify the externally observable behavior. They
should not be interpreted as APIs or as requirements statements for
APIs. More description about abstract service interfaces is in
[RFC3411].
7.1. SNMP-RELOAD Application Primitive
7.1.1. getNodeForResource ASI
The getNodeForResource ASI is provided for SNMP applications by SNMP-
RELOAD application, and it is used to get the Node-ID of the RELOAD
Node that is responsible for a 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.
Peng, et al. Expires April 21, 2013 [Page 7]
Internet-Draft An SNMP Usage for RELOAD October 2012
result = -- SUCCESS or errorIndication
returnNodeForResource(
IN resourceName -- managed resource name
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.
Peng, et al. Expires April 21, 2013 [Page 8]
Internet-Draft An SNMP Usage for RELOAD October 2012
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.
7.2.3. exchangeCandidateAddressList ASI
The exchangeCandidateAddressList ASI is used by SNMP-RELOAD
application and RELOAD Node to exchange the address list with each
other for SNMP communication, and these address lists will be used
for NAT traversal by the 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(Local Configuration Datastore):
Ufrag
Password
LinkType: DTLS-UDP-NO-ICE, DTLS-UDP-ICE, TLS-TCP-NO-ICE.
7.2.4. registerManagerReq ASI
The registerManagerReq ASI is provided for SNMP-RELOAD application by
RELOAD M-Node, and it is used to register the Node-ID of the RELOAD
Node which hosts the Manager.
registerManagerReq(
IN managerName -- the name of Manager
Peng, et al. Expires April 21, 2013 [Page 9]
Internet-Draft An SNMP Usage for RELOAD October 2012
IN nodeID -- the Node-ID of the RELOAD Node which Manager
resides in
)
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"
Peng, et al. Expires April 21, 2013 [Page 10]
Internet-Draft An SNMP Usage for RELOAD October 2012
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 }
-- ************************************************
-- 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 }
Peng, et al. Expires April 21, 2013 [Page 11]
Internet-Draft An SNMP Usage for RELOAD October 2012
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
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 }
Peng, et al. Expires April 21, 2013 [Page 12]
Internet-Draft An SNMP Usage for RELOAD October 2012
-- The snmpReloadFailures Group
snmpReloadFailures OBJECT IDENTIFIER ::= { snmpReloadObjects 2 }
snmpReloadMessageForwardFailures OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
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 }
Peng, et al. Expires April 21, 2013 [Page 13]
Internet-Draft An SNMP Usage for RELOAD October 2012
-- ************************************************
-- Compliance statements
-- ************************************************
snmpReloadCompliance MODULE-COMPLIANCE
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 }
Peng, et al. Expires April 21, 2013 [Page 14]
Internet-Draft An SNMP Usage for RELOAD October 2012
snmpReloadNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS {
snmpReloadMessageForwardFailNotification,
snmpReloadDataUpdateFailNotification
}
STATUS current
DESCRIPTION
"Notifications"
::= { snmpReloadGroups 3 }
END
9. Network Manager Registration and Lookup
The Node-ID of the network manager which acts as a provider of
management service should be discovered by agents on RELOAD nodes, so
that the 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;
Peng, et al. Expires April 21, 2013 [Page 15]
Internet-Draft An SNMP Usage for RELOAD October 2012
SnmpRegistrationData data;
} SnmpRegistration;
The contents of the SnmpRegistration PDU are:
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 a network manager, it must perform a
query of SnmpRegistration by FetchReq message to get the manager's
Node-ID.
The process for Network Manager Registration and Lookup is as shown
the following figure:
Peng, et al. Expires April 21, 2013 [Page 16]
Internet-Draft An SNMP Usage for RELOAD October 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 Lookup: |
| | | | | |
| | | | FetchReq | |
| | | |<-------------| |
| | | | | |
| | | | FetchAns | |
| | | |------------->| |
| | +---------------------+
| | | |
| | | |
10. An SNMP Entity Forms a Direct Connection with Another SNMP Entity
Note that 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.) 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 with each other
and check for connectivity, and then selects a pair of available IP
Peng, et al. Expires April 21, 2013 [Page 17]
Internet-Draft An SNMP Usage for RELOAD October 2012
address to establish the 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
establishing a direct connection between SNMP Entities is 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 | |
| |------------->| | |
| | | | |
| | | exchangeCandidateAddressList
| | | AppAttach | |
| | |<------------>|<------------>|
| | | | |
| | | | |
| |exchangeCandidateAddressList | |
| |<-------------| | |
| | | | |
| | | | |
| | | | |
| | ICE Check | | |
| |<------------------------------------------>|
| | | | |
| | | | |
| | | | |
Peng, et al. Expires April 21, 2013 [Page 18]
Internet-Draft An SNMP Usage for RELOAD October 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 the status information of managed
nodes. The manager collects the information about RELOAD nodes
(including Peer and Client) using the following method: when an agent
starts up(or is activated), its associated RELOAD node joins the
RELOAD network, and it needs to obtain the name of a network manager
by some method. Such as: a) the name of the network manager is set
in the configuration file in configuration server, and the managed
nodes can obtain the name from the configuration file, b) build the
tree struture of the names of the network manager according to ReDiR,
and the managed nodes can obtain the name by the method of ReDiR
service discovery (note: an entry is added in ReDiR Namespaces
Registry, its detail is in the section of IANA Considerations), c)
the name of the network manager is set in the LCD in the managed
node, and the managed node can obtain the name from its LCD. 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 for finding the manager and connecting to it
has been introduced in the previous section. There are many other
ways to collect the information about managed nodes, which could be
studied further in future.
Peng, et al. Expires April 21, 2013 [Page 19]
Internet-Draft An SNMP Usage for RELOAD October 2012
12. O-Node Lookup by the Network Manager 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 in order to determine 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 the via_list of Forwarding Header in FindAns. The process is
as follows:
First, the network manager sends a FindReq to the RELOAD network with
the target Reource-ID put into the destination_list of the FindReq.
Then the RELOAD network routes FindReq to the node responsible for
the target Resource ID according to its routing algorithm.
Second, 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 which Network Manger utilizes when Looking up the O-Node
for a Resource is as shown below:
Peng, et al. Expires April 21, 2013 [Page 20]
Internet-Draft An SNMP Usage for RELOAD October 2012
+---------------------------------------+ +-------------+
|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 can
determine whether there is a connection between itself and the
O-Node. If the connection exists, the network manager may directly
send SNMP message to the O-Node, otherwise it is required to
establish a new connection to the O-Node.
13. Definition of SNMP-REGISTRATION Kind
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
Peng, et al. Expires April 21, 2013 [Page 21]
Internet-Draft An SNMP Usage for RELOAD October 2012
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
The threats to SNMP Usage for RELOAD are the same with the SNMP, and
which are described specifically in RFC5953. We won't repeat it in
this document.
There are three solutions can solve the security issues in SNMP Usage
for RELOAD. The first option is to use a shared key based solution
which is utilized in SNMPv3 security solution (USM). The second
option is a 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. Many operators have reported that
deploying another principal and key management infrastructure in
order to use SNMPv3 is a deterrent to deploying SNMPv3[RFC5590]. We
note that the second option may not be as efficient as expected by
the service providers. 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 RELOAD certificate for setting up the connection
using (D)TLS based security. When the Mapping of certificate's
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
In case of multiple managers and single administration domain, the
managed Nodes may get the manager's name by the method of ReDiR
Peng, et al. Expires April 21, 2013 [Page 22]
Internet-Draft An SNMP Usage for RELOAD October 2012
service discovery. And an entry added in ReDiR Namespaces Registry
is below.
+----------------+----------+
| Namespace | RFC |
+----------------+----------+
| snmp-manager | RFC-AAAA |
+----------------+----------+
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, Juergen Schoenwaelder, Dan Romascanu, Tom
Petch, Marc Petit-Huguenin, and others in P2PSIP and Network WG who
offered significant advice on earlier versions of this draft.
Thank 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-service-discovery]
Maenpaa, J. and G. Camarillo, "Service Discovery Usage for
REsource LOcation And Discovery (RELOAD)", October 2012.
Peng, et al. Expires April 21, 2013 [Page 23]
Internet-Draft An SNMP Usage for RELOAD October 2012
[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
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 April 21, 2013 [Page 24]
Internet-Draft An SNMP Usage for RELOAD October 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 April 21, 2013 [Page 25]