ANIMA WG Z. Du Internet-Draft S. Jiang Intended status: Informational Huawei Technologies Co., Ltd Expires: April 20, 2016 J. Nobre Federal University of Rio Grande do Sul L. Ciavaglia Alcatel Lucent October 18, 2015 Autonomic Network Intent and Format draft-du-anima-an-intent-02 Abstract This document describes the concept and consideration of the Autonomic Network Intent, and proposes a uniform format for the Autonomic Network Intent. 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 20, 2016. Copyright Notice 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 Du, et al. Expires April 20, 2016 [Page 1] Internet-Draft Autonomic Network Intent October 2015 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language and Terminology . . . . . . . . . . . . 3 3. Intervention of the Network Running by Autonomic Network Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. Concept of Autonomic Network Intent . . . . . . . . . . . 4 3.2. Administrative Intent and Service Intent . . . . . . . . 5 3.3. Use Cases for Autonomic Network Intent . . . . . . . . . 6 3.3.1. High-Level Policy Intent . . . . . . . . . . . . . . 6 3.3.2. Network-Level Parameter Intent . . . . . . . . . . . 7 3.4. Distribution of Autonomic Network Intent . . . . . . . . 8 3.5. Interpretation of Autonomic Network Intent . . . . . . . 8 3.6. Management of Autonomic Network Intent . . . . . . . . . 8 4. Uniform Format of the Autonomic Network Intent . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 8. Change log [RFC Editor: Please remove] . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction 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]. Du, et al. Expires April 20, 2016 [Page 2] Internet-Draft Autonomic Network Intent October 2015 Note in draft: This version is preliminary. In particular, many design details may be subject to change until the anima specifications become agreed. 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. Autonomic Function: A feature or function which requires no configuration, and can derive all required information either through self-knowledge, discovery or through Intent. Autonomic Node: A node which employs exclusively Autonomic Functions. Legacy Node: A non-autonomic node, i.e., a node which employs some non-autonomic functions. Autonomic Network: A network containing exclusively Autonomic Nodes. It may contain one or several Autonomic Domains. Autonomic Service Agent: An agent implemented on an Autonomic Node which implements an Autonomic Function. Intent: An abstract, high-level policy used to operate the network, quoted from [RFC7575]. Autonomic Network Intent: Intent that is used to intervene the running status of the Autonomic Network. Administrative Intent: Intent that is used to manage the network infrastructure. Service Intent: Intent that is used to intervene the network services running over the network infrastructure. 3. Intervention of the Network Running by Autonomic Network Intent 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. Du, et al. Expires April 20, 2016 [Page 3] Internet-Draft Autonomic Network Intent October 2015 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. 3.1. Concept of Autonomic Network Intent 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 Du, et al. Expires April 20, 2016 [Page 4] Internet-Draft Autonomic Network Intent October 2015 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?} 3.2. Administrative Intent and Service Intent 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. o A Service Intent may have a smaller scope than the Administrative Intent because only the nodes related to the service need to know this intent. Although it may only affect a few nodes, the Service Intent may also be propagated domain wide. o A Service Intent may have a limited lifetime, while the Administrative Intents are normally permanent although the content of the Administrative Intent may be updated from time to time. o There maybe are many Service Intents in the autonomic domain, while only one Administrative Intent for a giving Autonomic Service Agent. {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.} Du, et al. Expires April 20, 2016 [Page 5] Internet-Draft Autonomic Network Intent October 2015 3.3. Use Cases for Autonomic Network Intent 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.} 3.3.1. High-Level Policy Intent 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. Du, et al. Expires April 20, 2016 [Page 6] Internet-Draft Autonomic Network Intent October 2015 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.} 3.3.2. Network-Level Parameter Intent 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: Du, et al. Expires April 20, 2016 [Page 7] Internet-Draft Autonomic Network Intent October 2015 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.} 3.4. Distribution of Autonomic Network Intent TBD. {Editor Notes: talk about the questions as follows. Who are the sources and recipients of the intent? } 3.5. Interpretation of Autonomic Network Intent TBD. {Editor Notes: talk about the questions as follows. How the AFAs receive, understand and react to an intent? } 3.6. Management of Autonomic Network 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...?). } Du, et al. Expires April 20, 2016 [Page 8] Internet-Draft Autonomic Network Intent October 2015 4. Uniform Format of the Autonomic Network Intent {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. Autonomic intent: The root tag for the Autonomic Network Intent. Intent type: It indicates the intent type, which is associated with a specific Autonomic Service Agent. Autonomic domain: It indicates the domain of the Autonomic Network. It is also the scope of the Autonomic Network Intent. Intent version: It indicates the version of the Autonomic Network Intent. This is an important feature for synchronization. Model version: The version of the model used to define the intent. Name: The name of the intent which describes the intent for human operators. Signature: The signature is used as a security mechanism to provide authentication, integrity, and non-repudiation. Timestamp: The timestamp of the creation of the intent using the format supported by the IETF [TBC]. Lifetime: The lifetime in which the intent may be observed. A special case of the lifetime is the definition of permanent intents. Content: It contains the main information of the intent. It may include objects, policies, goals and configuration data. The detailed contents and formats should be defined under their specific situations by documents that specifies the Autonomic Service Agent. Within the content, there may be sub_intents. {Editor Notes: JSON is one of the term candidates for the Autonomic Network Intent format.} Du, et al. Expires April 20, 2016 [Page 9] Internet-Draft Autonomic Network Intent October 2015 5. Security Considerations 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. 6. IANA Considerations This document defines one new format. The IANA is requested to establish a new assigned list for it. 7. Acknowledgements 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]. 8. Change log [RFC Editor: Please remove] 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. 9. References [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", draft-behringer-anima- reference-model-03 (work in progress), June 2015. [I-D.ietf-anima-grasp] Bormann, C., Carpenter, B., and B. Liu, "A Generic Autonomic Signaling Protocol (GRASP)", draft-ietf-anima- grasp-01 (work in progress), October 2015. Du, et al. Expires April 20, 2016 [Page 10] Internet-Draft Autonomic Network Intent October 2015 [I-D.jiang-anima-prefix-management] Jiang, S., Du, Z., Carpenter, B., and Q. Qiong, "Autonomic Prefix Management in Large-scale Networks", draft-jiang- anima-prefix-management-01 (work in progress), May 2015. [I-D.liu-anima-intent-distribution] Liu, B. and S. Jiang, "Intent Distribution for Autonomic Networking", draft-liu-anima-intent-distribution-00 (work in progress), 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, . Authors' Addresses Zongpeng Du Huawei Technologies Co., Ltd Q14, Huawei Campus, No.156 Beiqing Road Hai-Dian District, Beijing, 100095 P.R. China Email: duzongpeng@huawei.com Sheng Jiang Huawei Technologies Co., Ltd Q14, Huawei Campus, No.156 Beiqing Road Hai-Dian District, Beijing, 100095 P.R. China Email: jiangsheng@huawei.com Du, et al. Expires April 20, 2016 [Page 11] Internet-Draft Autonomic Network Intent October 2015 Jeferson Campos Nobre Federal University of Rio Grande do Sul Porto Alegre Brazil Email: jcnobre@inf.ufrgs.br Laurent Ciavaglia Alcatel Lucent Route de Villejust Nozay 91620 France Email: laurent.ciavaglia@alcatel-lucent.com Du, et al. Expires April 20, 2016 [Page 12]