Internet DRAFT - draft-moulchan-nmrg-network-intent-concepts
draft-moulchan-nmrg-network-intent-concepts
Internet Research Task Force K. Sivakumar
Internet-Draft M. Chandramouli
Intended status: Informational Cisco Systems, Inc.
Expires: May 1, 2018 October 28, 2017
Concepts of Network Intent
draft-moulchan-nmrg-network-intent-concepts-00
Abstract
This document presents an overview of the concepts of Network Intent
and provides definitions for some of the nomenclature. Some
potential use cases are presented.
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 https://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 May 1, 2018.
Copyright Notice
Copyright (c) 2017 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
(https://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.
Sivakumar & Chandramouli Expires May 1, 2018 [Page 1]
Internet-Draft Concepts of Network Intent October 2017
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Hierarchy of Manageability . . . . . . . . . . . . . . . . . 4
4. Network Configuration . . . . . . . . . . . . . . . . . . . . 4
5. Network Policy . . . . . . . . . . . . . . . . . . . . . . . 5
6. Network Intent . . . . . . . . . . . . . . . . . . . . . . . 5
7. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. A simple example . . . . . . . . . . . . . . . . . . . . 7
7.2. Disaster Management . . . . . . . . . . . . . . . . . . . 7
8. Issues with Intent based networking . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 9
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
11.1. Normative References . . . . . . . . . . . . . . . . . . 9
11.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
Recently, there have been deployments of networks of Service
Provider, enterprise and data centres in a very large scale. From a
network management perspective, the manageability of networks of such
scale poses new challenges. The increasing complexity of network
configuration is an additional challenge for the network
administrators. To an extent, for device-level configurations, there
has been standardization efforts underway in technologies such as
YANG [RFC6020], and NETCONF [RFC6241]. However, the challenge still
remains at the network level configuration, orchestration and
management. The complexity of the network can lead to potential mis-
configurations and furthermore, it may be difficult to troubleshoot
the network failure conditions.
From a management perspective, it is of paramount importance for the
network administrator to reduce the complexity of the network
management. There are several measures and approaches that have been
under consideration towards that objective. One aspect that has
gained attention is Network Programmability APIs in the management
plane. Programmability allows the capabilities of network
functionality to be modified or extended. Programmability promises
to enable the development of a whole new wave of applications that
provide additional management intelligence. Programmability enables
the development of applications whose purpose is to make the networks
easier to manage, and those applications can be embedded and tightly
coupled with the network. The application developers can use the
Network Programmability APIs that can allow them to add new features
that can facilitate ease of network management, efficiency and the
Sivakumar & Chandramouli Expires May 1, 2018 [Page 2]
Internet-Draft Concepts of Network Intent October 2017
effectiveness with which the network can be provisioned,
administrated and managed. Programmability, as provided through SDN,
provides exciting new opportunities to increase manageability by
facilitating the development of corresponding applications. Software
defined networking (SDN) is an umbrella term for a programmatic
approach to managing network devices, using software controls to
replace manual configuration. Initial motivations for SDN were to
overcome the the lack of network programmability, and manageability
in networks.
SDN technologies allow network-wide visibility and the possibility of
feedback actions across the network. The desire to implement higher
layers of management abstraction such as policy-based management, or
the desire to extend an application's capabilities with application-
specific pre-processing that can be delegated to the network.
Leveraging the Network Programmability APIs opens the possibility to
introduce an abstraction for the network, which can be used to
synthesise the overall system behaviour. In the networking parlance,
there have been several concepts that have been have been considered
to simplify the network management - Network Policy, Autonomic
Networking, Service Models, and Network Configuration. We introduce
the concept of Intent Based Networking, by which the network
administrator can articulate a desired outcome to the network. The
Network Intent is translated to appropriate network policies and/or
network configurations. With this approach to Network Intent, the
focus is more on "what" the network should do and less on "how" i.e.,
the intermediate steps that should be executed. This level of
abstraction can be referred to as "Network Intent". The implicit
assumption is that for "Network Intent" there might be some
prerequisite steps that may need to be performed, such as the network
elements are discovered and controlled, and device capabilities and
features are identified.
While there has been investigations of Network Intent, there are some
still ambiguities in terms of the terminology used. This initial
proposal is an attempt to clarify some of the terms and provides a
brief outline of the goals or the vision intended. Some use cases
are presented to illustrate the concepts introduced in this document.
2. Requirements Language
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].
Sivakumar & Chandramouli Expires May 1, 2018 [Page 3]
Internet-Draft Concepts of Network Intent October 2017
3. Hierarchy of Manageability
There is a certain non-physical, logical hierarchy in a network
management environment, as described in the figure below. The user
at the top of the hierarchy can be represented by a "real" user or a
system that performs actions on behalf of a user, such as a
management station.
The "user" establishes an "intent" to be taken on the network as a
whole and pushes that intent to the second layer of the management
hierarchy, which consists of the intent engine.
The next layer of the hierarchy consumes the "intent" and translates
the intent to desired actions based on the meaning of the intent.
The bottom layer of the hierarchy consists of the devices on the
network that consume the configurations and actions issued to them by
the intent engine. These devices sit directly on the network and are
responsible for traffic flowing through the network.
+---------+
| user |
+----+----+
|
| Intent API
|
+------+-------+ +------+-------+
| SDN | | |
+ +-------------+Intent Engine +
| Controller | | |
+------+-------+ +------+-------+
|
| Instruct
| network
+------------------+------------------+
| | |
+----+----+ +----+----+ +----+----+
| Device | | Device | | Device |
+---------+ +---------+ +---------+
Figure 1
4. Network Configuration
Network configurations are the most basic atomic operations that can
be performed on a network device. A particular feature of the
network software can be enabled by one or many lines of network
Sivakumar & Chandramouli Expires May 1, 2018 [Page 4]
Internet-Draft Concepts of Network Intent October 2017
configurations. Often the network devices are configured by experts
with _domain expertise_ and based on the functionality the network
device has to perform. Often, network configuration is performed on
a device by device basis and this is a manual process. Automation of
this process is very important step, which can save time and reduce
the possible number of mis-configurations.
5. Network Policy
Policy based network management has been widely discussed in the
literature [JNSM]. Several proposals for the semantics and structure
for expressing network policy have been considered. There are some
particular implementations and deployments of network policies such
as Performance Forwarding, QoS profiles etc.
A network policy can be viewed as a set of rules a network administer
can use to manage the network resources; for example to provide
differential treatment for traffic. Policies can be at a network
level and can provide a way of consistently managing multiple network
devices. The administrator can define policies and specify how the
network devices should deal with different types of traffic.
Policies can be defined to be conditional, in the sense, if there is
a condition A is observed, then a set a network policy can be
implemented on some network devices. Policies can be a group of
network configurations which perform a specific function that can be
applied to network devices. In the SDN paradigm, network policies
can be pushed to the network devices using NETCONF [RFC6020] and
RESTCONF [RFC8040].
6. Network Intent
Network Intent can be considered as a declarative paradigm by which
the network administrator articulates a desited outcome or the state
of the network. In abstraction, the network enables a set of
services that can be consumed. In particular, Network Intent is a
desirable functionality that can be enabled from an SDN Controller.
There are potential benefits of ease-of-use and operational
simplicity and the capability of programming the entire network.
Network Intent need not be prescriptive or expressed explicitly in
terms of specific actions. The following are the intended design
considerations of network intent.
o First, there may be several alternative approaches to realise a
specific Network Intent.
Sivakumar & Chandramouli Expires May 1, 2018 [Page 5]
Internet-Draft Concepts of Network Intent October 2017
o Second, it is conceivable that it may not be possible to realise
some of the Network Intents due to non-availability of network
resources or the network may not have functionality.
o Third, some new Network Intent can be in conflict with the current
state of the network or can disrupt the Network Intents expressed
previously. It is assumed such a feedback regarding the conflicts
is provided back to the administrator the originator of the
Network Intent. Based on the feedback, it should be possible for
the network administrator to refine the new Network Intent.
This proposal or definition of Network Intent can be viewed as
analogous to the promise theory framework proposed [Promise]. In
order to realise the Network Intent, it may be useful consider a
logical functional block - the Intent Engine - that can resolve the
network intent and render the Network Intent appropriately on to the
network.
The simplistic method to realise network intent is to consider linear
one-to-one mapping of Network Intents to actual network policies or
network configurations. In a more general framework of Network
Intent, it should be possible to consider a more general approach
leveraging artificial intelligence based techniques so that the
Network Intent can be accurately realised and appropriately rendered
on the network. Translating the intent requests to rendering actions
would require the modelling of network devices and the
functionalities and configurations.
In order to realise a Network Intent eventually that should consist
of network configuration blocks that can be implemented in one or
more network devices.
There is a general confusion between policy based network management
and intent based network management. An analogy can be drawn between
intent based network management and the automotive industry. Though
cliched, this analogy provides the closest match. Many cars, if not
all, have cruise control as a function today. Cruise control is a
very simplistic functionality that keeps the car going at a specific
speed. It monitors the speed and adjusts it up or down. This can be
considered as a policy, to keep the car driving at certain speed,
until the operator disengages the policy manually.
An car that can handle intent would, on the other hand, accept a
request such as "take me from San Francisco to Los Angeles within 6
hours," plot the appropriate path based on historical data on which
roads are the best ones to take to achieve the constraint of reaching
within 6 hours and plots the direction to go in. Then it would
constantly monitor the traffic on the path and provide feedback to
Sivakumar & Chandramouli Expires May 1, 2018 [Page 6]
Internet-Draft Concepts of Network Intent October 2017
the operator about whether the path chosen will still achieve the
constraint. If the constraint cannot be achieved, then it either re-
plots the path or lets the operator know that the constraint cannot
be achieved and requests a new constraint. The operator is removed
from making the decision about which exact path to take and is
instead just providing the constraints that need to be achieved.
7. Use Cases
This section lists certain use cases that showcase the value of
intent based network management. There are a variety of use cases
where intent based network management is of value but the highest
value is present in scenarios where a network needs to be
reprogrammed in a significant manner in the shortest of time frames.
Such a network reconfiguration should not result in misconfiguration
that could result in the loss of communication capabilities for the
users of the network.
We provide two scenarios where such a reconfiguration of the network
is required. There are obviously many more day-to-day scenarios
where the intent of change or monitoring of a network can be of a
much lower scale.
7.1. A simple example
The network administrator articulates the Network Intent, "Route
traffic from Node A to Node B with minimum bandwidth of K mbps". The
Intent Engine then resolves the intent. This step involves
understanding the intent expressed and the second step to resolving
that intent would require performing routing calculations between
Node A and Node B. This is a key step involved in this proposal.
Once the intent has been resolved, routing calculations are well-
known and there are standard techniques taking into account the
network topology between Node A and Node B; the current utilisations
with minimum guaranteed bandwidth of K Mbps between Node A and Node
B. Once the path is determined, that routing and next hop
configurations are communicated to the respective network nodes.
7.2. Disaster Management
Planning for disaster management and sudden reconfiguration of
infrastructure is common in the "physical" world - ie roads, water
supply, electricity, etc. Similar reconfigurations of communication
networks also is important during a disaster. During a disaster
management / recovery, it is important to ensure that emergency
communication traffic (such as 911 in the USA, 999 in UK and similar
in other countries) gets more bandwidth and resources than non-
Sivakumar & Chandramouli Expires May 1, 2018 [Page 7]
Internet-Draft Concepts of Network Intent October 2017
emergency communication. It is also important to allow people to
communicate with their family members inside and outside the disaster
area, to help in recovery efforts. For this reason, voice
communication, including VoIP, should be prioritized over streaming
video services.
Such a disaster management is geographically bounded, therefore the
network changes need to also be appropriately geographically bounded.
This is very often hard to apply manually in a very large network at
the moment that the change is needed. Intent based networks can
provide an abstraction that use the underlying knowledge of the
network and policies to achieve an action to provide this ability in
a finer grained manner.
As the disaster scenario subsides the applied intent should
automatically subside as well. This requires not only action to be
taken based on policies, but also requires constant monitoring of the
operational state network. Such monitoring presents significant
amounts of data and it is quite hard to build rules and conditions to
operate on such data while minimizing mistakes. Machine learning
based monitoring can provide a mechanism to make applying an intent
easier, especially in very large networks. Such machine learning
based mechanisms can be integrated with physical world monitoring to
identify when a disaster hits a certain geography and to
automatically trigger a pre-set intent for that scenario. With such
machine learning mechanisms and multiple pre-set intents, it would be
possible for a management system to automatically trigger a specific
intent when it detects a particular scenario. Similar combination of
operational monitoring and intent based networking mechanism can be
used to withdraw an intent when the disaster like scenario recedes.
8. Issues with Intent based networking
Intent based network management is about creating an abstraction to
handle the management of a network. Naturally issues related to any
abstraction mechanism applies here as well. Specifically, an
abstraction like this removes the direct interaction of a user with
the network for operations management. While the original creators
of this intent, and the associated policies, would have understood
the reasoning behind this intent, and more importantly the fine
distinction between when to apply and when NOT to apply such an
intent, later users of the system may not have that clear distinction
and may apply this intent needlessly. This problem exists in any
abstraction mechanism.
Sivakumar & Chandramouli Expires May 1, 2018 [Page 8]
Internet-Draft Concepts of Network Intent October 2017
9. Security Considerations
This draft currently does not impose any security considerations.
10. IANA Considerations
This memo has no actions for IANA.
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
11.2. Informative References
[JNSM] Boutaba, R. and I. Aib, "Policy-Based Management: A
Historical perspective, Journal of Network and Systems
Management 15 (4), 447-480", 2007.
[Promise] Borril, P., Burgess, M., Craw, T., and M. Dvorkin, "A
Promise Theory Perspective on Data Networks, CoRR,
abs/1405.2627", September 2014.
Authors' Addresses
Sivakumar & Chandramouli Expires May 1, 2018 [Page 9]
Internet-Draft Concepts of Network Intent October 2017
Kaarthik Sivakumar
Cisco Systems, Inc.
Sarjapur Outer Ring Road
Bangalore 560103
India
Phone: +91 80 4429 2264
Email: kasivaku@cisco.com
URI: http://www.cisco.com/
Mouli Chandramouli
Cisco Systems, Inc.
Sarjapur Outer Ring Road
Bangalore 560103
India
Phone: +91 80 4429 2409
Email: moulchan@cisco.com
URI: http://www.cisco.com/
Sivakumar & Chandramouli Expires May 1, 2018 [Page 10]