Internet DRAFT - draft-liu-netconf-multi-instances
draft-liu-netconf-multi-instances
Network Working Group B. Liu, Ed.
Internet Draft G. Yan
Intended status: Informational Huawei Technologies
Expires: January 3, 2015 July 2, 2014
Multi-Instances Configuration Issue in NETCONF
draft-liu-netconf-multi-instances-00.txt
Abstract
This document puts together the NETCONF issues of configuring
multiple instances including configuring multiple network element
instances and multiple service instances. The main problem is how to
configure the multiple instances in one NETCONF channel.
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 January 3, 2015.
Copyright Notice
Copyright (c) 2011 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
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.
Liu & Yan Expires January 3, 2015 [Page 1]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
Table of Contents
1. Introduction ................................................. 3
2. Requirements Language and Terminology ........................ 3
3. Multiple Instance Management Requirements and Gaps ........... 4
3.1. Multiple Instance Introduction .......................... 4
3.1.1. Multiple Network Element Instances (MNEI)........... 4
3.1.2. Multiple Service Instances (MSI) ................... 4
3.2. Management Requirements ................................. 5
3.2.1. MNEI Management Requirements ....................... 5
3.2.2. MSI Management Requirements ........................ 5
3.3. Gap Analysis ............................................ 6
4. Solutions Discussion.......................................... 7
4.1. NETCONF Context Extension ............................... 7
4.2. Common Service Container ................................ 8
4.3. Allowing Reusing One module in another .................. 8
4.4. Common MSI Data Model ................................... 8
5. Security Considerations ...................................... 8
6. IANA Considerations .......................................... 8
7. References ................................................... 9
7.1. Normative References .................................... 9
7.2. Informative References .................................. 9
8. Acknowledgments .............................................. 9
Authors' Addresses ............................................. 10
Liu & Yan Expires January 3, 2015 [Page 2]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
1. Introduction
In modern networks, according to the wide spread of network multiplex
technologies such as VPN, a key network element (e.g. a PE router) or
a basic service (e.g. routing) is usually separated as multiple
instances to support network multiplex more efficiently.
NETCONF is been adopted by more and more network management systems
to be the southbound interface of configuring the devices. When using
NETCONF to configure the above mentioned key network element or
service, sometimes it is actually to configure each instance rather
than configure the whole network element. However, current NETCONF
protocol and YANG models seem to not specifically consider the
multiple instance configuration issues.
This document discusses the multiple instances configuring issue
among the various scenarios. Multiple instances are separated as
multiple network element instances and multiple service instances to
be discussed respectively.
2. Requirements Language and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119] when they appear in ALL CAPS. When these words are not in
ALL CAPS (such as "should" or "Should"), they have their usual
English meanings, and are not to be interpreted as [RFC2119] key
words.
Terminology:
NEI: network element instance
SI: service instance
MNEI: multiple network element instance
MSI: multiple service instance
Liu & Yan Expires January 3, 2015 [Page 3]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
3. Multiple Instance Management Requirements and Gaps
3.1. Multiple Instance Introduction
3.1.1. Multiple Network Element Instances (MNEI)
o Logic System LS
A network element can be divided into multiple logical systems that
each system can deal with a task independent from others. For example,
a physical router can be divided into multiple logical systems (an LS
on router could be also called LR: Logical Router)and each LS can run
independent routing/MPLS protocols such as OSPF, IS-IS, BGP, RIP, LDP,
and RSVP-TE .etc.
o Virtual System (VS)
A network element can also be divided into multiple virtual systems.
The VSes also can do different tasks respectively. Different with LS,
VS is basically virtualized in software level. If LS and VS are co-
existing in one platform, one VS normally belongs to a specific LS
and one LS could have multiple VSes.
For example, a physical router can also be divided into multiple
virtual systems (then it could be called VR: virtual router). A VR
can also run independent routing/MPLS protocols as OSPF, IS-IS, BGP,
RIP, LDP, and RSVP-TE .etc. So in the perspective of processing a
service, VS could be seen as equivalent to LS.
3.1.2. Multiple Service Instances (MSI)
Following are several representative examples of multiple service
instances.
o VRF Virtual Routing and Forwarding
VRF allows a router to have multiple independent routing tables so
that they could deal with different routing tasks.
VRF could be seen as a container SI, which means it might contain
other SIs such as following IGP/MTR SI.
o IGP Multi-Processes
OSPF and IS-IS can also have multiple instances in one device in the
form of multiple processes of the same protocol stack. Each process
Liu & Yan Expires January 3, 2015 [Page 4]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
has its own independent routing area, path calculation and data
stores like routing tables .etc.
o MTR Multi-Topology Routing
From the perspective of services (e.g. voice, video, data
traffic .etc), one physical network could be seen as different
higher-layer topologies. MTR technology allows the forwarding
capabilities to be separated for each topology. Specifically, MTR
supports a separate multicast topology and multiple unicast
topologies.
Normally, an MTR instance belongs to a specific VRF, and one VRF
could contain multiple MTR instances.
3.2. Management Requirements
3.2.1. MNEI Management Requirements
o Req-1: Independently Managing Each MNEI
Management of multiple network element instances normally has the
following two modes.
- Independent Management
In independent management mode, the NMS considers each instance as
a standalone network element. All the features of them, except
board-level hardware features, could be operated independently
from each other by the user.
- Central Management
In central management mode, normally the NMS does not need to
independently manage each instance in network element management
level. However, there are two exceptions:
1) When the instance is at initialing or failure stage, the NMS
still needs to distinguish and configure each instance.
2) Although NMS doesn't need to independently manage each NEI, it
still needs to independently manage different services. So when
the services are bear on different NEIs, the NMS still needs to
distinguish the NEIs in terms of distinguishing services.
In summary, both in independent management mode and central
management mode, the NMS needs to independently manage each NEI.
3.2.2. MSI Management Requirements
o Req-2: Independently Managing Each MSI
Liu & Yan Expires January 3, 2015 [Page 5]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
Most of the time, the NMS also needs to distinguish different service
instances, because they do different tasks which the NMS needs to
configure respectively. So in NMS perspective, the requirement of
independently managing each instance is similar between MSI and MNEI.
o Req-3: Crossing Configuration between Different SIs
Besides independently managing each SI for a standalone service, MSI
has more complicity than MNEI that one SI might logically belong to
another container SI. For example, an IGP instance might belong to a
VRF instance. This requirement could have two choices as the
following.
- Req-3a: Configure one SI under another container SI
As mentioned above, since SI-A might logically belong to SI-B, the
straightforward way for the NMS to configure SI-A is to configure it
under SI-B. For the above example, the NMS can configure an IGP
instance under the hosting VRF configuration and does not need to
particularly configure it in IGP.
- Req-3b: Configuring one SI binding to another container SI
Instead of Req-3a, Req-3b requires the NMS to directly configure the
targeted SI and bind it to another container SI. For example, the NMS
configures the IGP instance and clearly specify the IGP instance is
for a specific VRF instance.
3.3. Gap Analysis
o Gap-1: NETCONF cannot configure multiple agents within one session
For R1 (independently manage each MNEI), in independent management
mode, each instance would be assigned an IP address that the NMS
could initial one NETCONF session for each thus there is no problem.
However, when the instances are at initialing or failure stage, the
NMS just couldn't connect to them directly to set up NETCONF sessions.
The NMS will have to set up a NETCONF session with the main agent and
configure different instances within this NETCONF session.
In central management mode, since the instances belong to one main
network element, they often need to share the same IP address for
communication to the NMS. According to R1, when the NMS needs to
independently configure the instances, it also needs to configure
them within the NETCONF session which is set between the NMS and the
main device.
Liu & Yan Expires January 3, 2015 [Page 6]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
It is obvious that current NETCONF doesn't support configuring
multiple agents within one NETCONF session, because NETCONF session
is set up on a transport-layer (SSH, TLS .etc) channel, thus one
NETCONF session can only correspond to one IP address.
o Gap-2: Lack of Multiple Instances Extension Capability in Data
Models
For Req-2 (independently manage each MSI), since MSIs also need to
share the same IP address for communication to the NMS, the NMS also
needs to configure multiple services within one NETCONF session,
which is similar with Gap-1. However, the bigger issue is that if a
service model was not constructed as multiple instances at first, it
is hard to be extended to support multiple instances. If the service
models would support multiple instances internally, they will have to
be re-constructed, which is a heavy burden for both standard revision
and implementation. And the model re-construction needs to be one by
one, thus it is not scalable.
o Gap-3a: Cannot Reuse one Module in another
For Req-3a (Configure one SI under another container SI), if the
targeted service module could be directly reused when defining the
container module, it would be very convenient to support the Req-3a
operation. However, current YANG model doesn't have the capability.
o Gap-3b: Modules are not aware of MSI of the container module
For Req-3b (Configuring one SI binding to another container SI), it
requires the targeted service module to be aware of the MSI of the
container module so that the NMS could bind it to a specific
container SI through a key.
4. Solutions Discussion
4.1. NETCONF Context Extension
As defined in [RFC3411], an SNMP context is a collection of
management information accessible by an SNMP entity. An item of
management information may exist in more than one context. An SNMP
entity potentially has access to many contexts.
In NETCONF, similar context extension could be done that the multiple
instances could be distinguished in one NETCONF session. To extend
context, several key problems need to be solved as the following:
Liu & Yan Expires January 3, 2015 [Page 7]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
- To add a Context field in current NETCONF <rpc-request> message.
- There needs a kind of ID to identify each instance.
- The NMS needs to collect the list of the instance IDs so that it
can specify which instance to be configured in the context field.
The context extension is mostly suitable for Gap-1 (NETCONF cannot
configure multiple objects within one session). Especially in the
MNEI cases, the context is just like simply pointing to another
network element and nothing is relevant to data modules. The context
extension can also be used for MSIs; however, the service module
itself has to support multiple instances as the prediction.
4.2. Common Service Container
Make a service container which indexes all the services in the
network element into a single dedicated list. Thus, if some a service
model needs to be extended to support multi-instance, it only needs
the service container to reconstruct without reconstructing the data
models.
This approach mainly fits the Gap-2. Gap-3b could also consider this
approach.
4.3. Allowing Reusing One module in another
As described in Req-3a, YANG could be extended to supporting module-
level reuse rather than current group-level reuse.
4.4. Common MSI Data Model
This issue was discussed in IETF NETCONF and NETMOD mailing list and
the result of the discussion was to write a module defining the
various types of service instances (e.g. VRF, IGP Multi, MTR .etc)
and specifying the semantics of this kind of multi-instance. Then, if
a data model needs to be aware of multiple service instance, multi-
service-id (e.g. VRF-id) leafs will be added to the existing module
via augments.
This approach basically fit the Gap-3b.
5. Security Considerations
TBD.
6. IANA Considerations
None.
Liu & Yan Expires January 3, 2015 [Page 8]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6020] Bjorklund, M., Ed., "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.
7.2. Informative References
[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.
8. Acknowledgments
Many valuable comments were received from Guangying Zheng and
Xiaofeng Ji to improve the draft.
This document was prepared using 2-Word-v2.0.template.dot.
Liu & Yan Expires January 3, 2015 [Page 9]
Internet-Draft draft-liu-netconf-multi-instances-00 May 2014
Authors' Addresses
Bing Liu
Q14-4-A Building
Huawei Technologies Co., Ltd
Zhong-Guan-Cun Environment Protection Park, No.156 Beiqing Rd.
Hai-Dian District, Beijing
P.R. China
Email: leo.liubing@huawei.com
Gang Yan
Q15-2-A Building
Huawei Technologies Co., Ltd
Zhong-Guan-Cun Environment Protection Park, No.156 Beiqing Rd.
Hai-Dian District, Beijing
P.R. China
Email: yangang@huawei.com
Liu & Yan Expires January 3, 2015 [Page 10]