ANIMA WG | Z. Du |
Internet-Draft | S. Jiang |
Intended status: Informational | Huawei Technologies Co., Ltd |
Expires: April 21, 2016 | J. Nobre |
Federal University of Rio Grande do Sul | |
L. Ciavaglia | |
Alcatel Lucent | |
October 19, 2015 |
Autonomic Network Intent and Format
draft-du-anima-an-intent-02
This document describes the concept and consideration of the Autonomic Network Intent, and proposes a uniform format for the Autonomic Network Intent.
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, 2016.
Copyright (c) 2015 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.
This document describes the concept and consideration of the Autonomic Network Intent, which is used to operate the Autonomic Nodes within Autonomic Networks. The background to Autonomic Network (AN) is described in [RFC7575] and [RFC7576]. A generic autonomic signaling protocol (GRASP) is proposed by [I-D.ietf-anima-grasp], which would be used in the propagation of the Autonomic Network Intent.
The Autonomic Network Intent should be able to be unscrambled by all Autonomic Nodes, although certain parts of contents may not be relevant to a specific Autonomic Node. The Autonomic Network Intent gives operational guidance for every Autonomic Node.
This document also proposes a generic format for Autonomic Network Intent.
The interface to receive or configure the Autonomic Network Intent is out of scope. The distribution mechanism of the Autonomic Network Intent is introduced in [I-D.liu-anima-intent-distribution].
Note in draft: This version is preliminary. In particular, many design details may be subject to change until the anima specifications become agreed.
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.
The Autonomic Network is supposed to work with minimum intervention from human operators. However, it is still needed to receive some form of guidance/information/orders in order to meet specific requirements.
Upon receiving the Autonomic Network Intent, the Autonomic Node should be able to unscramble the meaning of the intent with no ambiguity, and act accordingly.
Using this intent approach, the operator can manage the network as a whole, and does not need to configure specific node(s) in the network like what happens in the traditional NMS system. In other words, the operator communicates with the Autonomic Network using an abstract or high lever intent, and the configurations of the nodes take place automatically. By replacing most of the NMS jobs, intent-based management makes the network management work much easier than before.
On the other sides, the intent-based and NMS-based management may co-exist for a long time, because autonomic behavior will be defined function by function. Similarly, at the beginning of defining the Autonomic Network Intents, the intent-based method cannot be assumed to cover every aspect of network management.
The definition of Intent can be found in [I-D.behringer-anima-reference-model], which is described as an abstract, declarative, high-level policy used to operate an autonomic domain, such as an enterprise network. Based on this definition, this section further discusses the concept of Autonomic Network Intent.
Autonomic Network Intent consists of different parts, and should not be considered as a monolithic block. Different parts of Intent will be "interpreted" by different entities in autonomic networks, and the "level" of understanding of the intent will impact how the intent will be presented to this entity. So there should be "intermediate" mechanisms/functions that cater for the intent translation continuum across the heterogeneity (in policy capabilities) of the network entities. Also, intents will possibly overlap and this overlapping should be managed (e.g., avoid conflicts, resolve applicable policies in context).
The description of "abstract" in the definition is relative. Different users (e.g., the network administrator, end-users) of the network see different levels of network details, so they are in different abstraction levels. Meanwhile, different intents or different parts of intent may require different levels of abstraction.
The more abstract an intent is, the more intelligent the devices are required. In an extreme example, the network operator just needs to have only one intent for the network: "the network should work well for everything". However, this assumption is not likely to be realized in recent years, and this intent requires no or little standardization jobs. Besides, if an intent is too abstract, different solutions can emerge from different vendors, and it is hard to co-exist for the devices from different vendors.
This document will talk about the intents which need to be communicated among devices, and have more detailed requirements. Some intents may have a higher abstraction level (e.g. some high-level policies), and some may have a lower abstraction level (e.g. some network-level parameters). Meanwhile, due to the target of reducing human Interventions for the Autonomic Network, detailed configurations should be avoided as much as possible.
{Editor notes: the most important questions here are as follows. Are there any configuration parameters of an anima network outside intents? Are there different kinds of intents? Need we define a "hierarchy" for intents?}
The Autonomic Networks are supposed to be self-managed. It includes managing the network infrastructure, and also the network services that are running over the network infrastructure. However, the network services have different features against network administration, as listed below. Hence, it may be better to organize them into separated Administrative Intent and Service Intent.
{Editor notes: one possibility is to treat the Service Intent as a normal Intent for a certain Autonomic Service Agent, such as a Autonomic Service Provision Agent.}
An example of the intent can be found in [I-D.jiang-anima-prefix-management]. Other examples include what kind of IGP (such as OSPF) or what kind of transport layer technology (such as MPLS) should be used for the autonomic domain.
After these configurations in the network level, detailed configurations in every node are not needed; whereas, policy-based method will need detailed configurations for every specific node.
An Intent should contains some common information that are needed by every intent and some specific information that influence the configuration of the nodes, and the detailed content and format of the specific part should be defined under its specific application environment by other documents, such as the prefix management intent defined in [I-D.jiang-anima-prefix-management].
{Editor Notes: as autonomic functions are defined one by one, the intent should be developed at a per need basis.}
{Editor Notes: the intents introduced here look like not that abstract, however, it does help to make the network more autonomic, and reduce the configuration jobs. Maybe in future, when the autonomic node becomes more intelligent, some of the intents defined will disappear or be replaced.}
For clarifying the concept of the intent in Autonomic Network, this section introduces some autonomic intent examples about the high-level polices. Multiple Autonomic Function Agents may be involved in the implementation of these intents.
These abstract policies need to be interpreted by a policy continuum to low level commands that the device can understand. The detailed realization of the tranlation for these high-level polices is out of scope of this document.
Usecase one:
Autonomic Network of Operator A is composed of Autonomic Function Agents such as load balancing (LB_AFA) and energy saving (ES_AFA). Operator A wants to limit the proportion of links loaded over a certain threshold and thus defines an Intent to activate load balancing if the load is superior to 0.6 on more than 30% of the links.
Meanwhile, operator A wants different load balancing policies per (technology, administrative, topology) domain. Let's consider a metropolitan network domain and a core network domain, or different LB policy for border routers than interior routers. For the metropolitan network domain, Operator A defines an Intent to minimize the link load variance. For the core network domain, Operator A applies the previously defined intent (activate load balancing if the load is superior to 0.6 on more than 30% of the links).
The intents will be distributed to the right network domain, and take effect after being interpreted and coordinated, and it is easy to change them without the need to configure every device manually.
Usecase two:
This example is about "arranging VM guest distribution". The autonomic network is supposed to be able to monitor the CPU/power utilization on each host machine, and control the status of each host machine (e.g. turn on/off). The operator may have an intent "there should be enough hosts to keep CPU utilization less than 70%", and also another one "there are few enough hosts powered so that electricity isn't wasted".
{Editor Notes: Besides these ones, we are quite open for other use cases here.}
Due to the system limitations and complexity reasons, some intents may just be network-level parameters configured by the network operator for a specific autonomic function. These configuration parameters can be distributed in the autonomic domain to influence the detail configurations on each autonomic node.
Most of these parameters are for establishing network infrastructure. They are likely only needed to be configured once, and rarely changed. Meanwhile, these parameters do not need coordination with others parameters most of the times. Some examples are as follows.
Usecase three:
When bootstrapping, the new device needs to know some basic parameters about the autonomic domain to complete the process. To reduce the complexity of bootstrapping, they are perhaps not need to be encrypted. They can be treated as "bootstrapping intent" as a special kind of intent.
Usecase four:
Assuming we need an autonomic network to run and connect to Internet, an IP prefix is needed for the whole autonomic domain in the data plane. In this case, we need devices in the autonomic domain can configure themselves after the human operator has notified the IP prefix for this autonomic network. (Configuring every device's IP address manually is not considered a good way in autonomic network, and is not recommended here.)
Usecase five:
Configuring the routing protocol in the autonomic network directly by the operator, assuming it can be ISIS or OSPF.
Usecase six:
In the prefix management draft [I-D.jiang-anima-prefix-management], it is suggested that the prefix lengths for the CSG, ASG, RSG (different roles in IPRAN) should be assigned as an "intent".
{Editor Notes: Besides these ones, we are quite open for other use cases here.}
TBD.
{Editor Notes: talk about the questions as follows. Who are the sources and recipients of the intent? }
TBD.
{Editor Notes: talk about the questions as follows. How the AFAs receive, understand and react to an intent? }
TBD.
{Editor Notes: talk about the questions as follows. When/on which triggers are intents generated, updated? How the domain(s) are defined and recognized (if I am an AFA, how do I know i am part of domain x, y or z...?). }
{Editor Notes: It is still remaining an open issue for the way that intent may be organized. Should the intent be a single one in a given AN domain with a hierarchical version, or multiple intents, each of which targets different Autonomic Service Agent? For now, the below text takes the later approach.}
This section proposes a uniform intent format. It uses the tag-based format.
{Editor Notes: JSON is one of the term candidates for the Autonomic Network Intent format.}
Relevant security issues are discussed in [I-D.ietf-anima-grasp]. The Autonomic Network Intent requires strong security environment from the start, because it would be great risk if the Autonomic Network Intent had been maliciously tampered. The Autonomic Intent should employ a signature scheme to provide authentication, integrity, and non-repudiation.
This document defines one new format. The IANA is requested to establish a new assigned list for it.
Valuable comments were received from Bing Liu and Brian Carpenter. Talking in the mailist is very helpful.
This document was produced using the xml2rfc tool [RFC2629].
draft-du-anima-an-intent-00: original version, 2015-06-11.
draft-du-anima-an-intent-01: add intent use case section, add some elements for the format section, and coauthor Jeferson Campos Nobre and Laurent Ciavaglia, 2015-07-06.
draft-du-anima-an-intent-02: add the intent concept section, and some other sections, 2015-10-14.
[I-D.behringer-anima-reference-model] | Behringer, M., Carpenter, B., Eckert, T., Ciavaglia, L., Liu, B., Jeff, J. and J. Strassner, "A Reference Model for Autonomic Networking", Internet-Draft draft-behringer-anima-reference-model-04, October 2015. |
[I-D.ietf-anima-grasp] | Bormann, C., Carpenter, B. and B. Liu, "A Generic Autonomic Signaling Protocol (GRASP)", Internet-Draft draft-ietf-anima-grasp-01, October 2015. |
[I-D.jiang-anima-prefix-management] | Jiang, S., Du, Z., Carpenter, B. and Q. Qiong, "Autonomic Prefix Management in Large-scale Networks", Internet-Draft draft-jiang-anima-prefix-management-02, October 2015. |
[I-D.liu-anima-intent-distribution] | Liu, B. and S. Jiang, "Intent Distribution for Autonomic Networking", Internet-Draft draft-liu-anima-intent-distribution-00, June 2015. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC2629] | Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, DOI 10.17487/RFC2629, June 1999. |
[RFC7575] | Behringer, M., Pritikin, M., Bjarnason, S., Clemm, A., Carpenter, B., Jiang, S. and L. Ciavaglia, "Autonomic Networking: Definitions and Design Goals", RFC 7575, DOI 10.17487/RFC7575, June 2015. |
[RFC7576] | Jiang, S., Carpenter, B. and M. Behringer, "General Gap Analysis for Autonomic Networking", RFC 7576, DOI 10.17487/RFC7576, June 2015. |