Internet DRAFT - draft-hayashi-supa-policy-model
draft-hayashi-supa-policy-model
Network Working Group Michiaki Hayashi
Internet Draft KDDI R&D Labs. Inc.
Intended status: Standard Track Raghavendra Tadepalli
Expires: August 2015 Wipro Technologies
February 7, 2015
DDC Service Policy YANG Data Model
draft-hayashi-supa-policy-model-00
Abstract
This document describes a YANG data model for traffic steering
policies in Distributed Data Center (DDC) scenarios. The policy
model is a specific data model for traffic steering using VPN
technology. It helps the service management in Simplified Use of
Policy Abstractions (SUPA) to model the policy (a set of
constraints and rules) that defines how a VPN service is monitored
and managed during its lifecycle. Two traffic steering
applications have been provided such as traffic optimization with
pass or bypass specific nodes or sites.
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Hayashi, et al. Expires August 7, 2015 [Page 1]
Internet-Draft SUPA Policy Model February 2015
This Internet-Draft will expire on August 7, 2015.
Copyright Notice
Copyright (c) 2014 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.
Table of Contents
1. Introduction .................................................2
2. Conventions used in this document ............................3
3. Network Configuration Model Overview .........................4
4. Network Policy Configuration Modules .........................4
4.1. Network Policy Model ....................................4
4.2. Policy Applications in DDC services .....................5
4.2.1. Model for Traffic Steering Policy ..................6
5. Security Considerations ......................................9
6. IANA Considerations ..........................................9
7. Acknowledgments .............................................10
8. References ..................................................10
8.1. Normative References ...................................10
8.2. Informative References .................................10
1. Introduction
In order to support the DDC service with VPN connection as well as
new services, it brings new requirements for both network
providers and service providers. Rapid uptake of new services
requires dynamic service provisioning capabilities in the service
management. This is achieved using policies that can be created by
the operators once and the service management refers to these
policies to infer how a given service needs to be provisioned
considering the current state of the network.
A policy defines:
Hayashi, et al. Expires August 7, 2015 [Page 2]
Internet-Draft SUPA Policy Model February 2015
1. An event or a set of events that trigger the evaluation of
policy: This is the trigger for the service management application
to evaluate if a policy needs to be applied. For example a user
action to provision a new VPN service can be a event.
2. A set of conditions that need to be satisfied for the policy to
be applicable: This enables service management to select the right
policy by validating the conditions against the current network
state.
3. A set of actions that should be triggered as part of the policy
execution: This enables the service management to provision the
service.
Meanwhile, DDC service which is mainly relied on VPN [RFC4110]
needs policy based management and controlling capability from the
service management systems to facilitate the service deployment
both inter data centers and within data center.
This document introduces YANG [RFC6020] [RFC6021] data models for
SUPA configuration. Such models can facilitate the
standardization for the interface of SUPA, as they are compatible
to a variety of protocols such as NETCONF [RFC6241] and [RESTCONF].
Please note that in the context of SUPA, the term "application"
refers to an operational and management applications employed, and
possibly implemented, by an operator. The policy model is based on
the first example - DDC services.
With respect to the scope, defining an information model for the
policy exchange between the policy manager and policy agent and a
corresponding data model based on yang to support specific DDC
service use case is initial goal of this document. The protocol
specific aspects are deferred to respective implementations. Also
certain foundational concepts of the model are intentionally left
open to enable future extension. Here the traffic steering policy
in DDC use case provides a concrete example for a specific network
technology and service, as what constitutes a policy could itself
vary depending on the context where it is used, e.g. there could
be tenant specific policies, site specific, network domain
specific etc.
2. Conventions used in this document
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 [RFC2119]. In
this document, these words will appear with that interpretation
Hayashi, et al. Expires August 7, 2015 [Page 3]
Internet-Draft SUPA Policy Model February 2015
only when in ALL CAPS. Lower case uses of these words are not to
be interpreted as carrying [RFC2119] significance.
3. Network Configuration Model Overview
Figure 1 illustrates the network configuration model which
contains several modules for specific services such as VPN
management. Basically, service model is to define the creation and
configuration of the VPN service, while the policy model is more
focused on the adjustment or optimization of the flow path during
the lifecycle of the VPN service based on the predefined policy.
+------------------------------------------+
| Service Management |
| |
| +------------+ +------------+ |
| | Service | | Policy | |
| | Data Model | | Data Model | |
| +------------+ +------------+ |
+------------------------------------------+
Figure 1: Overview of configuration model structure
4. Network Policy Configuration Modules
In this section, a policy model is defined with two applications
for traffic steering between data centers are provided to
illustrate how to use the policy model. The policy model and
policy configuration are based on a set of specific network
services and the framework of SUPA [SUPA-framework].
4.1. Network Policy Model
In SUPA framework, network policy is a predefined rule or a set of
rules that the service management use to map the service to the
lower level network infrastructures. Among different types of
policy models, the SUPA policy model is focused on an E-C-A
(Event-Condition-Action) YANG data model. Within SUPA scope, the
service management system takes the E-C-A fashioned policy model
to handle the VPN management in the data center use case to
improve bandwidth utilization and facilitate service deployment.
Event, in a policy model the event is the object that the
administration system monitors. All the consequence actions are
Hayashi, et al. Expires August 7, 2015 [Page 4]
Internet-Draft SUPA Policy Model February 2015
all based on the event. Condition is whether the parameter of the
monitored event or a certain network characteristic matches with
certain state. Action is the corresponding operation of the
network service management.
module: SUPA-policy
+--rw policy-set
+--rw SetName string
+--rw SetType enumeration
+--rw policy-rule
+--rw rule-name string
+--rw rule-type enumeration
+--rw priority uint8
+--rw event
+--rw EventType enumeration
+--rw value uint32
+--rw condition string
+--rw variable string
+--rw match enumeration
+--rw action
+--rw pass string
+--rw bypass string
4.2. Policy Applications in DDC services
The following describes SUPA policy model designed for DDC
services use case [SUPA-DDC] to do the traffic steering among DCs.
[SUPA-DDC] took a large-scale Internet Data Center (IDC) operator
as an example to describe what SUPA needs to do in VPN-based
traffic steering. Here the policy model only focus on the policy
based traffic steering application.
The traffic steering policy is used in dynamical link
configuration in DDC services [SUPA-DDC]. The service management
can dynamically adjust the traffic flow in the links based on
traffic steering policy. The policy model specifies some high
level requirements to the links, like routing strategy. For
example in this specific traffic steering policy model, if the
link bandwidth usage is above certain threshold, the monitored
flow will be forced to routed to the third place to bypass the
overloaded node or site.
Module "ietf-supa-policy" defines E-C-A based policy model to
describe the policy management in DDC service. In effect, the
module can be expanded with more operation services for DDC
services.
Hayashi, et al. Expires August 7, 2015 [Page 5]
Internet-Draft SUPA Policy Model February 2015
module: ietf-supa-policy
+--rw DDC-policy
+--rw traffic-steering-flow-path* [vpn-name]
+--rw vpn-name string
+--rw vpn-type? enumeration
+--rw flow-name? string
+--rw TrafficSteeringPolicy
+--rw bandwidth
+--rw Type enumeration
+--rw value uint32
+--rw threshold string
+--rw match enumeration
+--rw action
+--rw pass string
+--rw bypass string
+--NodeList string
+--SiteList string
4.2.1. Model for Traffic Steering Policy
<CODE BEGINS>
module ietf-supa-policy {
namespace "urn:ietf:params:xml:ns:yang:ietf-supa-policy";
// replace with IANA namespace when assigned
prefix policy;
import ietf-inet-types {
prefix inet;
}
organization "IETF";
contact
"Editor: Michiaki Hayashi
mc-hayashi@kddilabs.jp ";
description
"This YANG module defines a component that describing
the ddc service model for creating and optimizing
tenant's DC (data center) services that are deployed
in multiple data centers.
Terms and Acronyms
DDC: Distributed Data Center
L2VPN: Layer 2 Virtual Private Network
L3VPN: Layer 3 Virtual Private Network";
revision 2015-02-05 {
Hayashi, et al. Expires August 7, 2015 [Page 6]
Internet-Draft SUPA Policy Model February 2015
description
"Initial revision.";
reference
" Network Policy YANG Data Model ";
}
container ddc-policy{
description
"Distributed Data Center Service Operation Data";
container specify-flow-paths {
description
"To improve the bandwidth utilization (or reduce the cost,
or other reason) and mitigate traffic congestion,management
system/ application requires controller to adjust certain
flows to pass/bypass certain nodes(or links), when, e.g.,
bandwidth utilization exceed certain threshold. Vpn name,
vpn type, adjusted flow and specified nodes (that the flow
should pass) should be told to controller. so that the
controller can configure the network elements to change the
VRF table and routing table";
list specify-flow-path {
key "vpn-name";
description
"The list of VPN and flow that need to be adjusted in
specific paths. So as to optimizing traffic in the links
that are between data centers.";
leaf vpn-name {
type string;
mandatory true;
description
"Indicates the name of VPN that the adjusted flow
belongs
to. A VPN instance is identified by vpn-name. It should
be one of the created VPN instance names";
}
leaf vpn-type {
type enumeration {
enum L2VPN {
description "L2VPN";
}
enum L3VPN {
description "L3VPN";
}
}
Hayashi, et al. Expires August 7, 2015 [Page 7]
Internet-Draft SUPA Policy Model February 2015
description
"Indicates the type of VPN instance that the adjusted
flow belongs to. L2VPN or L3VPN";
}
leaf flow-name {
type string;
description
"The name of the adjusted flow. So as to tell the
Controller which flow should be adjusted";
}
Container TrafficSteeringPolicy{
list bandwidth {
key "type";
leaf Type {
type enumeration {
enum utilization {
description "the link utilization ratio,
0-100%";
}
enum BW {
description "the bandwidth value, 2G,10G
e.g.";
}
}
}
leaf Value {
type uint32;
}
}
list threshold {
key "match";
leaf match {
type enumeration {
enum above {
description "if the value is above the
threshold";
}
enum below {
description "if the value is below the
threshold";
}
}
}
Hayashi, et al. Expires August 7, 2015 [Page 8]
Internet-Draft SUPA Policy Model February 2015
}
container action {
leaf pass {
type string
description " pass action, if the policy is
triggered, certain nodes or sites will be passed";
}
leaf bypass {
type string
description " bypass action, if the policy is
triggered, certain nodes or sites will be bypassed";
}
Leaf-list NodeList {
type string;
description " List of nodes that the adjusted flow needs
to pass or bypass So as to adjust the flow path between
data centers.";
}
Leaf-list SiteList {
type string;
description
" List of sites that the adjusted flow needs to pass or
bypass So as to adjust the flow path between data centers.";
}
}
}
}
}
}
<CODE ENDS>
5. Security Considerations
TBD
6. IANA Considerations
This document has no actions for IANA.
Hayashi, et al. Expires August 7, 2015 [Page 9]
Internet-Draft SUPA Policy Model February 2015
7. Acknowledgments
This document has benefited from reviews, suggestions, comments
and proposed text provided by the following members, listed in
alphabetical order: Jing Huang, Junru Lin, Felix Lu, Juergen
Schoenwaelder, Yiyong Zha, and Min Zha.
8. References
8.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., "YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010.
[RFC6021] Schoenwaelder, J., "Common YANG Data Types", RFC 6021,
October 2010.
[RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X.
Xiao, "Overview and Principles of Internet Traffic
Engineering", RFC 3272, May 2002.
8.2. Informative References
[SUPA-framework] C. Zhou, L. M. Contreras, Q. Sun, and P. Yegani,
" The Framework of Shared Unified Policy Automation (SUPA) ", IETF
Internet draft, draft-zhou-supa-framework, January 2015.
[SUPA-problem-statement] G. Karagiannis, Q. Sun, Luis M. Contreras,
P. Yegani, and JF Tremblay, "Problem Statement for Shared Unified
Policy Automation (SUPA)", IETF Internet draft, draft-karagiannis-
supa-problem-statement, January 2015.
[SUPA-DDC] Y. Cheng,and JF. Tremblay, "Use Cases for Distributed
Data Center Applications in SUPA", IETF Internet draft, draft-
cheng-supa-ddc-use-cases, January 2015.
[RESTCONF] Bierman, A., Bjorklund, M., Watsen, K., and R. Fernando,
"RESTCONF Protocol", draft-ietf-netconf-restconf (work in
progress), July 2014.
Hayashi, et al. Expires August 7, 2015 [Page 10]
Internet-Draft SUPA Policy Model February 2015
[POLICY MODEL] Z. Wang, L. Dunbar, Q. Wu, "Network Policy YANG
Data Model" draft-wang-netmod-yang-policy-dm, January 2015.
Authors' Addresses
Michiaki Hayashi
KDDI R&D Labs. Inc.
2-1-15 Ohara, Fujimino, Saitama, Japan. 356-8502
mc-hayashi@kddilabs.jp
Raghavendra Tadepalli
Wipro Technologies
raghav.rao@wipro.com
Hayashi, et al. Expires August 7, 2015 [Page 11]