idnits 2.17.1 draft-li-intent-classification-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC7575]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (March 13, 2017) is 2594 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'ONOS' is defined on line 282, but no explicit reference was found in the text == Unused Reference: 'RFC3198' is defined on line 286, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force C. Li 3 Internet-Draft China Telecom 4 Intended status: Informational Y. Cheng 5 Expires: September 14, 2017 China Unicom 6 T. Peng 7 X. Song 8 J. Strassner 9 Huawei Technologies 10 March 13, 2017 12 Internet Classfication 13 draft-li-intent-classification-00 15 Abstract 17 Intent is an abstract high-level policy used to operate the network 18 RFC 7575 [RFC7575]. Intent management system includes an interface 19 for users to input requests and an engine to manage the requests. Up 20 to now, there is no commonly agreed interface or model of intent. 21 This document describes different ways to classify intent, and an 22 associated taxonomy of this classification. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at http://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on September 14, 2017. 41 Copyright Notice 43 Copyright (c) 2017 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 60 3. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 4. The Policy Continuum . . . . . . . . . . . . . . . . . . . . 3 62 5. Functional Characteristics and Behavior . . . . . . . . . . . 3 63 5.1. Persistence . . . . . . . . . . . . . . . . . . . . . . . 3 64 5.2. Abstracting Intent Operation . . . . . . . . . . . . . . 4 65 5.3. Policy Subjects and Policy Targets . . . . . . . . . . . 4 66 5.4. Policy Scope . . . . . . . . . . . . . . . . . . . . . . 4 67 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 68 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 69 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 70 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 71 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 72 9.2. Informative References . . . . . . . . . . . . . . . . . 6 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 75 1. Introduction 77 Different SDOs (such as [ANIMA][ONF]) have proposed intent as a 78 declarative interface for defining a set of network operations to 79 execute. Although there is no common definition or model of intent 80 which are agreed by all SDOs, there are several shared principles: 82 o intent should be declarative, using and depending on as few 83 deployment details as possible 85 o intent should provide an easy-to-use interface, and use 86 terminology and concepts familiar to its target audience 88 o intent should be vendor-independent and portable across platforms 90 o the intent framework should be able to detect and resolve 91 conflicts between multiple intents 93 SDOs have different perspectives on what intent is, what set of 94 actors it is intended to serve, and how it should be used. This 95 document provides several dimensions to classify intents. 97 2. Requirements Language 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in RFC 2119 [RFC2119]. 103 3. Acronyms 105 CLI: Command Line Interface 107 SDO: Standards Development Organisation 109 SUPA: Simplified Use of Policy Abstractions 111 VPN: Virtual Private Network 113 4. The Policy Continuum 115 The Policy Continuum defines the set of actors that will create, 116 read, use, and manage policy. Each set of actors has their own 117 terminology and concepts that they are familiar with. This captures 118 the fact that business people do not want to use CLI, and network 119 operations center personnel do not want to use non-technical 120 languages. 122 5. Functional Characteristics and Behavior 124 Intent can be used to operate immediately on a target (much like 125 issuing a command), or whenever it is appropriate (e.g., in response 126 to an event). In either case, intent has a number of behaviors that 127 serve to further organize its purpose, as described by the following 128 subsections. 130 5.1. Persistence 132 Intents can be classified into transient/persistent intents. 134 If intent is transient, it has no lifecycle management. As soon as 135 the specified operation is successfully carried out, the intent is 136 finished, and can no longer affect the target object. 138 If the intent is persistent, it has lifecycle management. Once the 139 intent is successfully activated and deployed, the system will keep 140 all relevant intents active until they are deactivated or removed. 142 5.2. Abstracting Intent Operation 144 The modeling of Policies can be abstracting using the following 145 three-tuple: 147 {Context, Capabilities, Constraints} 149 Context grounds the policy, and determines if it is relevant or not 150 for the current situation. Capabilities describe the functionality 151 that the policy can perform. Capabilities take different forms, 152 depending on the expressivity of the policy as well as the 153 programming paradigm(s) used. Constraints define any restrictions on 154 the capabilities to be used for that particular context. Metadata 155 can be optionally attached to each of the elements of the three- 156 tuple, and may be used to describe how the policy should be used and 157 how it operates, as well as prescribe any operational dependencies 158 that must be taken into account. Put another way: 160 o Context selects policies based on applicability 162 o Capabilities describe the functionality provided by the policy 164 o Constraints restrict the capabilities offered and/or the behavior 165 of the policy 167 Hence, the difference between imperative, declarative, and other 168 types of policies lies in how the elements of this three-tuple are 169 used according to that particular programming paradigm. This is how 170 [SUPA] was designed: a Policy is a container that aggregates a set of 171 statements . 173 5.3. Policy Subjects and Policy Targets 175 Policy subject is the actor that performs the action specified in the 176 policy. It can be the intent management system which executes the 177 policy. Policy target is a set of managed objects which may be 178 affected in the policy enforcement. 180 5.4. Policy Scope 182 Policies used to manage the behavior of objects that they are applied 183 to (e.g., the target of the policy). It is useful to differentiate 184 between the following categories of targets: 186 o Policies defined for the Customer or End-User 188 o Policies defined for the management system to act on objects in 189 the domain that the management system controls 191 o Policies defined for the management system to act on objects in 192 one or more domains that the management system does not directly 193 control 195 The different origins and views of these three categories of actors 196 lead to the following important differences: 198 - Network Knowledge. This area is explored using three exemplary 199 actors that have different knowledge of the network. 201 Customers and end-users do not necessarily know the functional and 202 operational details of the network that they are using. Furthermore, 203 most of the actors in this category lack skills to understand such 204 details; in fact, such knowledge is typically not relevant to their 205 job. In addition, the network may not expose these details to its 206 users. This class of actor focuses on the applications that they 207 run, and uses services offered by the network. Hence, they want to 208 specify policies that provide consistent behavior according to their 209 business needs. They do not have to worry about how the policies are 210 deployed onto the underlying network, and especially, whether the 211 policies need to be translated to different forms to enable network 212 elements to understand them. 214 Application developers work in a set of abstractions defined by their 215 application and programming environment(s). For example, many 216 application developers think in terms of objects (for example, a 217 VPN). While this makes sense to the application developer, most 218 network devices do not have a VPN object per se; rather, the VPN is 219 formed through a set of configuration statements for that device in 220 concert with configuration statements for the other devices that 221 together make up the VPN. Hence, the view of application developers 222 matches the services provided by the network, but may not directly 223 correspond to other views of other actors. 225 Management personnel, such as network Administrators, have complete 226 knowledge of the underlying network. However, they may not 227 understand the details of the applications and services of Customers 228 and End-Users. 230 - Automation. In theory, intents from both end-user and management 231 system can be automated. In practice, most intents from end-user are 232 created manually according to business request. End-users do not 233 create or alter intents unless there is change in business. Intents 234 from management systems can be created or altered to reflect with 235 network policy change. For example, end-users create intents to set 236 up paths between hosts, while the management system creates an intent 237 to set a global link utilization limit. 239 6. Acknowledgements 241 The authors would like to thank Will (Shucheng) Liu for his comments 242 to this document. 244 7. IANA Considerations 246 This document includes no request to IANA. 248 8. Security Considerations 250 This document does not have any Security Considerations. 252 9. References 254 9.1. Normative References 256 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 257 Requirement Levels", BCP 14, RFC 2119, 258 DOI 10.17487/RFC2119, March 1997, 259 . 261 [RFC7575] Behringer, M., Pritikin, M., Bjarnason, S., Clemm, A., 262 Carpenter, B., Jiang, S., and L. Ciavaglia, "Autonomic 263 Networking: Definitions and Design Goals", RFC 7575, 264 DOI 10.17487/RFC7575, June 2015, 265 . 267 [SUPA] Strassner, J., "Simplified Use of Policy Abstractions", 268 2017, . 271 9.2. Informative References 273 [ANIMA] Du, Z., "ANIMA Intent Policy and Format", 2017, 274 . 277 [ONF] ONF, "Intent Definition Principles", 2017, 278 . 282 [ONOS] ONOS, "ONOS Intent Framework", 2017, 283 . 286 [RFC3198] Westerinen, A., Schnizlein, J., Strassner, J., Scherling, 287 M., Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, 288 J., and S. Waldbusser, "Terminology for Policy-Based 289 Management", RFC 3198, DOI 10.17487/RFC3198, November 290 2001, . 292 Authors' Addresses 294 Chen Li 295 China Telecom 296 No.118 Xizhimennei street, Xicheng District 297 Beijing 100035 298 P.R. China 300 Email: lichen.bri@chinatelecom.cn 302 Ying Cheng 303 China Unicom 304 No.21 Financial Street, XiCheng District 305 Beijing 100033 306 P.R. China 308 Email: chengying10@chinaunicom.cn 310 Tao Peng 311 Huawei Technologies 312 Bantian 313 Shenzhen, Longgang District 518129 314 P.R. China 316 Email: dr.pengtao@huawei.com 318 Xiaolin Song 319 Huawei Technologies 320 Bantian 321 Shenzhen 518129 322 P.R. China 324 Email: sxlin@huawei.com 325 John Strassner 326 Huawei Technologies 327 2330 Central Expressway 328 Santa Clara 95138 329 P.R. China 331 Email: john.sc.strassner@huawei.com