--- 1/draft-ietf-ippm-twamp-yang-09.txt 2018-05-03 11:13:19.405414728 -0700 +++ 2/draft-ietf-ippm-twamp-yang-10.txt 2018-05-03 11:13:19.545418047 -0700 @@ -1,25 +1,25 @@ IPPM WG R. Civil Internet-Draft Ciena Corporation Intended status: Standards Track A. Morton -Expires: October 22, 2018 AT&T Labs +Expires: November 4, 2018 AT&T Labs R. Rahman Cisco Systems M. Jethanandani K. Pentikousis, Ed. Travelping - April 20, 2018 + May 3, 2018 Two-Way Active Measurement Protocol (TWAMP) Data Model - draft-ietf-ippm-twamp-yang-09 + draft-ietf-ippm-twamp-yang-10 Abstract This document specifies a data model for client and server implementations of the Two-Way Active Measurement Protocol (TWAMP). The document defines the TWAMP data model through Unified Modeling Language (UML) class diagrams and formally specifies it using YANG. Status of This Memo @@ -29,21 +29,21 @@ 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 October 22, 2018. + This Internet-Draft will expire on November 4, 2018. Copyright Notice Copyright (c) 2018 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 @@ -95,21 +95,21 @@ 1. Introduction The Two-Way Active Measurement Protocol (TWAMP) [RFC5357] is used to measure network performance parameters such as latency, bandwidth, and packet loss by sending probe packets and measuring their experience in the network. To date, TWAMP implementations do not come with a standard management framework, and, as such, implementors have no choice except to provide a proprietary mechanism. This document addresses this gap by formally specifying the TWAMP data - model using YANG [RFC7950]. + model using YANG 1.1 [RFC7950]. 1.1. Motivation In current TWAMP deployments the lack of a standardized data model limits the flexibility to dynamically instantiate TWAMP-based measurements across equipment from different vendors. In large, virtualized, and dynamically instantiated infrastructures where network functions are placed according to orchestration algorithms as discussed in Unifying Carrier and Cloud Networks: Problem Statement and Challenges [I-D.unify-nfvrg-challenges], and DevOps For Software- @@ -121,29 +121,29 @@ First, it is expected that in the coming years large-scale and multi- vendor TWAMP deployments will become the norm. From an operations perspective, using several vendor-specific TWAMP configuration mechanisms when one standard mechanism could provide an alternative is expensive and inefficient. Second, the increasingly software- defined and virtualized nature of network infrastructures, based on dynamic service chains [NSC] and programmable control and management planes Software-Defined Networking (SDN): Layers and Architecture Terminology [RFC7426] requires a well-defined data model for TWAMP 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. 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 - reference to RFC XXXX, and draft-ietf-port-twamp-test with the RFC - numbers assigned to the drafts. + reference to RFC XXXX, and draft-ietf-ippm-port-twamp-test with the + RFC numbers assigned to the drafts. 1.2. 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 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 1.3. Document Organization @@ -211,22 +211,22 @@ Figure 2: Simplified TWAMP model and protocols The data model defined in this document is orthogonal to the specific protocol used between the Config client and Config server to communicate the TWAMP configuration parameters. Operational actions such as how TWAMP-Test sessions are started and stopped, how performance measurement results are retrieved, or how stored results are cleared, and so on, are not addressed by the configuration model defined in this document. As noted above, such - operational actions are not part of the TWAMP [RFC5357] - specification, and hence are out of scope of this document. See also + operational actions are not part of the TWAMP specification TWAMP + [RFC5357] and hence are out of scope of this document. See also Appendix B. 3. Data Model Overview The TWAMP data model includes four categories of configuration items. First, global configuration items relate to parameters that are set on a per device level. For example, the administrative status of the 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 @@ -669,21 +669,21 @@ module: ietf-twamp +--rw twamp +--rw client {control-client}? | +--rw admin-state? boolean | +--rw mode-preference-chain* [priority] | | +--rw priority uint16 | | +--rw mode? twamp-modes | +--rw key-chain* [key-id] | | +--rw key-id string - | | +--rw secret-key? string + | | +--rw secret-key? binary | +--rw ctrl-connection* [name] | +--rw name string | +--rw client-ip? inet:ip-address | +--rw server-ip inet:ip-address | +--rw server-tcp-port? inet:port-number | +--rw control-packet-dscp? inet:dscp | +--rw key-id? string | +--rw max-count-exponent? uint8 | +--ro client-tcp-port? inet:port-number | +--ro server-start-time? uint64 @@ -712,21 +712,21 @@ +--rw server {server}? | +--rw admin-state? boolean | +--rw server-tcp-port? inet:port-number | +--rw servwait? uint32 | +--rw control-packet-dscp? inet:dscp | +--rw count? uint8 | +--rw max-count-exponent? uint8 | +--rw modes? twamp-modes | +--rw key-chain* [key-id] | | +--rw key-id string - | | +--rw secret-key? string + | | +--rw secret-key? binary | +--ro ctrl-connection* | [client-ip client-tcp-port server-ip server-tcp-port] | +--ro client-ip inet:ip-address | +--ro client-tcp-port inet:port-number | +--ro server-ip inet:ip-address | +--ro server-tcp-port inet:port-number | +--ro state? server-ctrl-connection-state | +--ro control-packet-dscp? inet:dscp | +--ro selected-mode? twamp-modes | +--ro key-id? string @@ -787,21 +787,21 @@ YANG Data Types [RFC6991], and references NTPv3 Specification [RFC1305], Framework for IP Performance Metrics [RFC2330], Randomness Requirements for Security [RFC4086], OWAMP [RFC4656], TWAMP [RFC5357], More Features for TWAMP [RFC5618], Individual Session Control Feature [RFC5938], TWAMP Reflect Octets and Symmetrical Size Features [RFC6038], Advances Stream and Sampling Framework [RFC7312], IKEv2-Derived Shared Secret Key for OWAMP and TWAMP [RFC7717], and OWAMP and TWAMP Well-Known Port Assignments [I-D.ietf-ippm-port-twamp-test]. - file "ietf-twamp@2018-04-19.yang" + file "ietf-twamp@2018-05-03.yang" module ietf-twamp { yang-version 1.1; namespace urn:ietf:params:xml:ns:yang:ietf-twamp; prefix ietf-twamp; import ietf-inet-types { prefix inet; reference "RFC 6991: Common YANG Types."; @@ -842,21 +842,21 @@ Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2018-04-19 { + revision 2018-05-03 { description "Initial Revision. Covers RFC 5357, RFC 5618, RFC 5938, RFC 6038, RFC 7717, and draft-ietf-ippm-metric-registry"; reference "RFC XXXX: TWAMP YANG Data Model."; } @@ -1120,21 +1120,21 @@ } description "KeyID used for a TWAMP-Control connection. As per 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 shared secret the [Control-Client] wishes to use to authenticate or encrypt'."; } leaf secret-key { - type string; + type binary; description "The secret key corresponding to the KeyID for this TWAMP-Control connection."; } description "Relates KeyIDs with their respective secret keys in a TWAMP-Control connection."; } description "Used by the Control-Client and Server for TWAMP-Control @@ -2532,21 +2532,23 @@ operations and content.. There are a number of nodes defined in this YANG module which are writeable. These data nodes may be considered sensitive and vulnerable to attacks in some network environments. Ability to write into these nodes without proper protection can have a negative effect on the devices that support this feature. Examples of nodes that are particularly vulnerable include several 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 This document registers a URI in the IETF XML registry [RFC3688]. Following the format in IETF XML Registry [RFC3688], the following registration is requested to be made. URI: urn:ietf:params:xml:ns:yang:ietf-twamp Registrant Contact: The IPPM WG of the IETF.