draft-ietf-ippm-twamp-yang-09.txt   draft-ietf-ippm-twamp-yang-10.txt 
IPPM WG R. Civil IPPM WG R. Civil
Internet-Draft Ciena Corporation Internet-Draft Ciena Corporation
Intended status: Standards Track A. Morton Intended status: Standards Track A. Morton
Expires: October 22, 2018 AT&T Labs Expires: November 4, 2018 AT&T Labs
R. Rahman R. Rahman
Cisco Systems Cisco Systems
M. Jethanandani M. Jethanandani
K. Pentikousis, Ed. K. Pentikousis, Ed.
Travelping Travelping
April 20, 2018 May 3, 2018
Two-Way Active Measurement Protocol (TWAMP) Data Model Two-Way Active Measurement Protocol (TWAMP) Data Model
draft-ietf-ippm-twamp-yang-09 draft-ietf-ippm-twamp-yang-10
Abstract Abstract
This document specifies a data model for client and server This document specifies a data model for client and server
implementations of the Two-Way Active Measurement Protocol (TWAMP). implementations of the Two-Way Active Measurement Protocol (TWAMP).
The document defines the TWAMP data model through Unified Modeling The document defines the TWAMP data model through Unified Modeling
Language (UML) class diagrams and formally specifies it using YANG. Language (UML) class diagrams and formally specifies it using YANG.
Status of This Memo Status of This Memo
skipping to change at page 1, line 40 skipping to change at page 1, line 40
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 22, 2018. This Internet-Draft will expire on November 4, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 14 skipping to change at page 3, line 14
1. Introduction 1. Introduction
The Two-Way Active Measurement Protocol (TWAMP) [RFC5357] is used to The Two-Way Active Measurement Protocol (TWAMP) [RFC5357] is used to
measure network performance parameters such as latency, bandwidth, measure network performance parameters such as latency, bandwidth,
and packet loss by sending probe packets and measuring their and packet loss by sending probe packets and measuring their
experience in the network. To date, TWAMP implementations do not experience in the network. To date, TWAMP implementations do not
come with a standard management framework, and, as such, implementors come with a standard management framework, and, as such, implementors
have no choice except to provide a proprietary mechanism. This have no choice except to provide a proprietary mechanism. This
document addresses this gap by formally specifying the TWAMP data document addresses this gap by formally specifying the TWAMP data
model using YANG [RFC7950]. model using YANG 1.1 [RFC7950].
1.1. Motivation 1.1. Motivation
In current TWAMP deployments the lack of a standardized data model In current TWAMP deployments the lack of a standardized data model
limits the flexibility to dynamically instantiate TWAMP-based limits the flexibility to dynamically instantiate TWAMP-based
measurements across equipment from different vendors. In large, measurements across equipment from different vendors. In large,
virtualized, and dynamically instantiated infrastructures where virtualized, and dynamically instantiated infrastructures where
network functions are placed according to orchestration algorithms as network functions are placed according to orchestration algorithms as
discussed in Unifying Carrier and Cloud Networks: Problem Statement discussed in Unifying Carrier and Cloud Networks: Problem Statement
and Challenges [I-D.unify-nfvrg-challenges], and DevOps For Software- and Challenges [I-D.unify-nfvrg-challenges], and DevOps For Software-
skipping to change at page 3, line 40 skipping to change at page 3, line 40
First, it is expected that in the coming years large-scale and multi- First, it is expected that in the coming years large-scale and multi-
vendor TWAMP deployments will become the norm. From an operations vendor TWAMP deployments will become the norm. From an operations
perspective, using several vendor-specific TWAMP configuration perspective, using several vendor-specific TWAMP configuration
mechanisms when one standard mechanism could provide an alternative mechanisms when one standard mechanism could provide an alternative
is expensive and inefficient. Second, the increasingly software- is expensive and inefficient. Second, the increasingly software-
defined and virtualized nature of network infrastructures, based on defined and virtualized nature of network infrastructures, based on
dynamic service chains [NSC] and programmable control and management dynamic service chains [NSC] and programmable control and management
planes Software-Defined Networking (SDN): Layers and Architecture planes Software-Defined Networking (SDN): Layers and Architecture
Terminology [RFC7426] requires a well-defined data model for TWAMP Terminology [RFC7426] requires a well-defined data model for TWAMP
implementations. This document defines such a TWAMP data model and implementations. This document defines such a TWAMP data model and
specifies it formally using the YANG [RFC7950] data modeling specifies it formally using the YANG 1.1 [RFC7950] data modeling
language. language.
Note to RFC Editor: Note to RFC Editor:
Please replace the date 2018-04-19 in Section 5.2 of the draft with Please replace the date 2018-05-03 in Section 5.2 of the draft with
the date of publication of this draft as a RFC. Also, replace the date of publication of this draft as a RFC. Also, replace
reference to RFC XXXX, and draft-ietf-port-twamp-test with the RFC reference to RFC XXXX, and draft-ietf-ippm-port-twamp-test with the
numbers assigned to the drafts. RFC numbers assigned to the drafts.
1.2. Terminology 1.2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
1.3. Document Organization 1.3. Document Organization
skipping to change at page 5, line 38 skipping to change at page 5, line 38
Figure 2: Simplified TWAMP model and protocols Figure 2: Simplified TWAMP model and protocols
The data model defined in this document is orthogonal to the specific The data model defined in this document is orthogonal to the specific
protocol used between the Config client and Config server to protocol used between the Config client and Config server to
communicate the TWAMP configuration parameters. communicate the TWAMP configuration parameters.
Operational actions such as how TWAMP-Test sessions are started and Operational actions such as how TWAMP-Test sessions are started and
stopped, how performance measurement results are retrieved, or how stopped, how performance measurement results are retrieved, or how
stored results are cleared, and so on, are not addressed by the stored results are cleared, and so on, are not addressed by the
configuration model defined in this document. As noted above, such configuration model defined in this document. As noted above, such
operational actions are not part of the TWAMP [RFC5357] operational actions are not part of the TWAMP specification TWAMP
specification, and hence are out of scope of this document. See also [RFC5357] and hence are out of scope of this document. See also
Appendix B. Appendix B.
3. Data Model Overview 3. Data Model Overview
The TWAMP data model includes four categories of configuration items. The TWAMP data model includes four categories of configuration items.
First, global configuration items relate to parameters that are set First, global configuration items relate to parameters that are set
on a per device level. For example, the administrative status of the on a per device level. For example, the administrative status of the
device with respect to whether it allows TWAMP sessions and, if so, device with respect to whether it allows TWAMP sessions and, if so,
in what capacity (e.g. Control-Client, Server or both), is a typical in what capacity (e.g. Control-Client, Server or both), is a typical
skipping to change at page 16, line 44 skipping to change at page 16, line 44
module: ietf-twamp module: ietf-twamp
+--rw twamp +--rw twamp
+--rw client {control-client}? +--rw client {control-client}?
| +--rw admin-state? boolean | +--rw admin-state? boolean
| +--rw mode-preference-chain* [priority] | +--rw mode-preference-chain* [priority]
| | +--rw priority uint16 | | +--rw priority uint16
| | +--rw mode? twamp-modes | | +--rw mode? twamp-modes
| +--rw key-chain* [key-id] | +--rw key-chain* [key-id]
| | +--rw key-id string | | +--rw key-id string
| | +--rw secret-key? string | | +--rw secret-key? binary
| +--rw ctrl-connection* [name] | +--rw ctrl-connection* [name]
| +--rw name string | +--rw name string
| +--rw client-ip? inet:ip-address | +--rw client-ip? inet:ip-address
| +--rw server-ip inet:ip-address | +--rw server-ip inet:ip-address
| +--rw server-tcp-port? inet:port-number | +--rw server-tcp-port? inet:port-number
| +--rw control-packet-dscp? inet:dscp | +--rw control-packet-dscp? inet:dscp
| +--rw key-id? string | +--rw key-id? string
| +--rw max-count-exponent? uint8 | +--rw max-count-exponent? uint8
| +--ro client-tcp-port? inet:port-number | +--ro client-tcp-port? inet:port-number
| +--ro server-start-time? uint64 | +--ro server-start-time? uint64
skipping to change at page 17, line 39 skipping to change at page 17, line 39
+--rw server {server}? +--rw server {server}?
| +--rw admin-state? boolean | +--rw admin-state? boolean
| +--rw server-tcp-port? inet:port-number | +--rw server-tcp-port? inet:port-number
| +--rw servwait? uint32 | +--rw servwait? uint32
| +--rw control-packet-dscp? inet:dscp | +--rw control-packet-dscp? inet:dscp
| +--rw count? uint8 | +--rw count? uint8
| +--rw max-count-exponent? uint8 | +--rw max-count-exponent? uint8
| +--rw modes? twamp-modes | +--rw modes? twamp-modes
| +--rw key-chain* [key-id] | +--rw key-chain* [key-id]
| | +--rw key-id string | | +--rw key-id string
| | +--rw secret-key? string | | +--rw secret-key? binary
| +--ro ctrl-connection* | +--ro ctrl-connection*
| [client-ip client-tcp-port server-ip server-tcp-port] | [client-ip client-tcp-port server-ip server-tcp-port]
| +--ro client-ip inet:ip-address | +--ro client-ip inet:ip-address
| +--ro client-tcp-port inet:port-number | +--ro client-tcp-port inet:port-number
| +--ro server-ip inet:ip-address | +--ro server-ip inet:ip-address
| +--ro server-tcp-port inet:port-number | +--ro server-tcp-port inet:port-number
| +--ro state? server-ctrl-connection-state | +--ro state? server-ctrl-connection-state
| +--ro control-packet-dscp? inet:dscp | +--ro control-packet-dscp? inet:dscp
| +--ro selected-mode? twamp-modes | +--ro selected-mode? twamp-modes
| +--ro key-id? string | +--ro key-id? string
skipping to change at page 19, line 19 skipping to change at page 19, line 19
YANG Data Types [RFC6991], and references NTPv3 Specification YANG Data Types [RFC6991], and references NTPv3 Specification
[RFC1305], Framework for IP Performance Metrics [RFC2330], Randomness [RFC1305], Framework for IP Performance Metrics [RFC2330], Randomness
Requirements for Security [RFC4086], OWAMP [RFC4656], TWAMP Requirements for Security [RFC4086], OWAMP [RFC4656], TWAMP
[RFC5357], More Features for TWAMP [RFC5618], Individual Session [RFC5357], More Features for TWAMP [RFC5618], Individual Session
Control Feature [RFC5938], TWAMP Reflect Octets and Symmetrical Size Control Feature [RFC5938], TWAMP Reflect Octets and Symmetrical Size
Features [RFC6038], Advances Stream and Sampling Framework [RFC7312], Features [RFC6038], Advances Stream and Sampling Framework [RFC7312],
IKEv2-Derived Shared Secret Key for OWAMP and TWAMP [RFC7717], and IKEv2-Derived Shared Secret Key for OWAMP and TWAMP [RFC7717], and
OWAMP and TWAMP Well-Known Port Assignments OWAMP and TWAMP Well-Known Port Assignments
[I-D.ietf-ippm-port-twamp-test]. [I-D.ietf-ippm-port-twamp-test].
<CODE BEGINS> file "ietf-twamp@2018-04-19.yang" <CODE BEGINS> file "ietf-twamp@2018-05-03.yang"
module ietf-twamp { module ietf-twamp {
yang-version 1.1; yang-version 1.1;
namespace urn:ietf:params:xml:ns:yang:ietf-twamp; namespace urn:ietf:params:xml:ns:yang:ietf-twamp;
prefix ietf-twamp; prefix ietf-twamp;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference reference
"RFC 6991: Common YANG Types."; "RFC 6991: Common YANG Types.";
skipping to change at page 20, line 26 skipping to change at page 20, line 26
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2018-04-19 { revision 2018-05-03 {
description description
"Initial Revision. "Initial Revision.
Covers RFC 5357, RFC 5618, RFC 5938, RFC 6038, RFC 7717, and Covers RFC 5357, RFC 5618, RFC 5938, RFC 6038, RFC 7717, and
draft-ietf-ippm-metric-registry"; draft-ietf-ippm-metric-registry";
reference reference
"RFC XXXX: TWAMP YANG Data Model."; "RFC XXXX: TWAMP YANG Data Model.";
} }
skipping to change at page 26, line 14 skipping to change at page 26, line 14
} }
description description
"KeyID used for a TWAMP-Control connection. As per "KeyID used for a TWAMP-Control connection. As per
Section 3.1 of RFC 4656, KeyID is 'a UTF-8 string, up to Section 3.1 of RFC 4656, KeyID is 'a UTF-8 string, up to
80 octets in length' and is used to select which 'shared 80 octets in length' and is used to select which 'shared
shared secret the [Control-Client] wishes to use to shared secret the [Control-Client] wishes to use to
authenticate or encrypt'."; authenticate or encrypt'.";
} }
leaf secret-key { leaf secret-key {
type string; type binary;
description description
"The secret key corresponding to the KeyID for this "The secret key corresponding to the KeyID for this
TWAMP-Control connection."; TWAMP-Control connection.";
} }
description description
"Relates KeyIDs with their respective secret keys "Relates KeyIDs with their respective secret keys
in a TWAMP-Control connection."; in a TWAMP-Control connection.";
} }
description description
"Used by the Control-Client and Server for TWAMP-Control "Used by the Control-Client and Server for TWAMP-Control
skipping to change at page 55, line 46 skipping to change at page 55, line 46
operations and content.. operations and content..
There are a number of nodes defined in this YANG module which are There are a number of nodes defined in this YANG module which are
writeable. These data nodes may be considered sensitive and writeable. These data nodes may be considered sensitive and
vulnerable to attacks in some network environments. Ability to write vulnerable to attacks in some network environments. Ability to write
into these nodes without proper protection can have a negative effect into these nodes without proper protection can have a negative effect
on the devices that support this feature. on the devices that support this feature.
Examples of nodes that are particularly vulnerable include several Examples of nodes that are particularly vulnerable include several
timeout values put in the protocol to protect against sessions that timeout values put in the protocol to protect against sessions that
are not active but are consuming resources. are not active but are consuming resources. Limiting access to these
nodes will limit the ability to launch an attack in network
environments.
8. IANA Considerations 8. IANA Considerations
This document registers a URI in the IETF XML registry [RFC3688]. This document registers a URI in the IETF XML registry [RFC3688].
Following the format in IETF XML Registry [RFC3688], the following Following the format in IETF XML Registry [RFC3688], the following
registration is requested to be made. registration is requested to be made.
URI: urn:ietf:params:xml:ns:yang:ietf-twamp URI: urn:ietf:params:xml:ns:yang:ietf-twamp
Registrant Contact: The IPPM WG of the IETF. Registrant Contact: The IPPM WG of the IETF.
 End of changes. 15 change blocks. 
17 lines changed or deleted 19 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/