CCAMP Working Group | X. Zhang |
Internet-Draft | Huawei Technologies |
Intended status: Standards Track | A. Sharma |
Expires: April 29, 2017 | Infinera |
X. Liu | |
Ericsson | |
October 26, 2016 |
A YANG Data Model for Optical Transport Network Topology
draft-zhang-ccamp-l1-topo-yang-05
A transport network is a server-layer network designed to provide connectivity services for a client-layer network to carry the client traffic transparently across the server-layer network resources. A transport network can be constructed from equipments utilizing any of a number of different transport technologies such as the evolving Optical Transport Networks (OTN) or packet transport as provided by the MPLS-Transport Profile (MPLS-TP).
This draft describes a YANG data model to describe the topologies of an Optical Transport Network (OTN). It is independent of control plane protocols and captures topological and resource related information pertaining to OTN. This model enables clients, which interact with a transport domain controller via a REST interface, for OTN topology related operations such as obtaining the relevant topology resource information.
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].
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 http://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 April 29, 2017.
Copyright (c) 2016 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.
A transport network is a server-layer network designed to provide connectivity services for a client-layer network to carry the client traffic transparently across the server-layer network resources. A transport network can be constructed of equipments utilizing any of a number of different transport technologies such as the Optical Transport Networks (OTN) or packet transport as provided by the MPLS-Transport Profile (MPLS-TP).
This document defines a data model of an OTN network topology, using YANG [RFC6020]. The model can be used by an application exposing to a transport controller via a REST interface. Furthermore, it can be used by an application for the following purposes (but not limited to):
The YANG model defined in this draft is independent of control plane protocols and captures topology related information pertaining to an Optical Transport Networks (OTN)-electrical layer, as the scope specified by [RFC7062] and [RFC7138]. Furthermore, it is not a stand-alone model, but augmenting from the TE topology YANG model defined in [I-D.ietf-teas-yang-te-topo].
Optical network technologies, including fixed Dense Wavelength Switched Optical Network (WSON) and flexible optical networks (a.k.a., flexi-grid networks), are covered in [I-D.ietf-ccamp-wson-yang] and [I-D.vergara-ccamp-flexigrid-yang], respectively.
A simplified graphical representation of the data model is used in this document. The meaning of the symbols in the YANG data tree presented later in this draft is defined in [I-D.ietf-netmod-rfc6087bis]. They are provided below for reference.
module: ietf-otn-topology augment /nd:networks/nd:network/nd:network-types/tet:te-topology: +--rw otn-topology! augment /nd:networks/nd:network: +--rw name? string augment /nd:networks/nd:network/nd:node: +--rw name? string augment /nd:networks/nd:network/lnk:link/tet:te/tet:config: +--rw available-odu-info* [priority] | +--rw priority uint8 | +--rw odulist* [odu-type] | +--rw odu-type identityref | +--rw number? uint16 +--rw distance? uint32 augment /nd:networks/nd:network/lnk:link/tet:te/tet:state: +--ro available-odu-info* [priority] | +--ro priority uint8 | +--ro odulist* [odu-type] | +--ro odu-type identityref | +--ro number? uint16 +--ro distance? uint32 augment /nd:networks/nd:network/nd:node/lnk:termination-point /tet:te/tet:config: +--rw client-facing? empty +--rw tpn? uint16 +--rw tsg? identityref +--rw protocol-type? identityref +--rw adaptation-type? adaptation-type +--rw sink-adapt-active? boolean +--rw source-adapt-active? boolean +--rw tributaryslots | +--rw values* uint8 +--rw supported-payload-types* [index] +--rw index uint16 +--rw payload-type? string augment /nd:networks/nd:network/nd:node/lnk:termination-point/ tet:te/tet:state: +--ro client-facing? empty +--ro tpn? uint16 +--ro tsg? identityref +--ro protocol-type? identityref +--ro adaptation-type? adaptation-type +--ro sink-adapt-active? boolean +--ro source-adapt-active? boolean +--ro tributaryslots | +--ro values* uint8 +--ro supported-payload-types* [index] +--ro index uint16 +--ro payload-type? string
As can be seen, from the data tree shown in Section 3.1, the YANG module presented in this draft augments from a more generic Traffic Engineered (TE) network topology data model, i.e., the ietf-te-topology.yang as specified in [I-D.ietf-teas-yang-te-topo]. The entities and their attributes, such as node, termination points and links, are still applicable for describing an OTN topology and the model presented in this draft only specifies with technology-specific attributes/information. For example, if the data plane complies with ITU-T G.709 (2012) standards, the switching-capability and encoding attributes MUST be filled as OTN-TDM and G.709 ODUk(Digital Path) respectively.
Note the model in this draft re-uses some attributes defined in ietf-transport-types.yang, which is specified in [I-D.sharma-ccamp-otn-service-model].
One of the main augmentations in this model is that it allows to specify the type of ODU container and the number a link can support per priority level. For example, for a ODU3 link, it may advertise 32*ODU0, 16*ODU1, 4*ODU2 available, assuming only a single priority level is supported. If one of ODU2 resource is taken to establish a ODU path, then the availability of this ODU link is updated as 24*ODU0, 12*ODU1, 3*ODU2 available. If there are equipment hardware limitations, then a subset of potential ODU type SHALL be advertised. For instance, an ODU3 link may only support 4*ODU2.
<CODE BEGINS> file " ietf-otn-topology@2016-10-26.yang" module ietf-otn-topology { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology"; prefix "otntopo"; import ietf-network { prefix "nd"; } import ietf-network-topology { prefix "lnk"; } import ietf-te-topology { prefix "tet"; } import ietf-transport-types { prefix "tran-types"; } organization "Internet Engineering Task Force (IETF) CCAMP WG"; contact " WG List: <mailto:ccamp@ietf.org> ID-draft editor: Xian ZHANG (zhang.xian@huawei.com); Anurag Sharma (AnSharma@infinera.com); "; description "This module defines a protocol independent Layer 1/ODU topology data model."; revision 2016-10-26 { description "Initial version."; reference "draft-zhang-ccamp-l1-topo-yang-04.txt"; } /* typedef */ typedef adaptation-type { type enumeration { enum CBR { description "Constant Bit Rate."; } enum ATMvp { description "ATM VP."; } enum GFP { description "Generic Framing Procedure."; } enum NULL { description "NULL"; } enum PRBS { description "Pseudo Random Binary Sequence"; } enum RSn { description "SDH/SONET section"; } enum ODUj-21 { description "ODU payload type 21"; } enum ETHERNET_PP-OS { description "ETHERNET_PP-OS, for ODU 2 only"; } enum CBRx { description "CBRx(0.. 1.25G), for ODU0 only"; } enum ODU { description "Optical Data Unit"; } } description "Defines a type representing the adaptation type on the termination point."; } /* Groupings */ grouping otn-topology-type { container otn-topology { presence "indicates a topology type of Optical Transport Network (OTN)-electrical layer."; description "otn topology type"; } description "otn-topology-type"; } grouping otn-topology-attributes { leaf name { type string; description "the topology name"; } description "name attribute for otn topology"; } grouping otn-node-attributes { description "otn-node-attributes"; leaf name { type string; description "a name for this node."; } } grouping otn-link-attributes { description "otn link attributes"; list available-odu-info{ key "priority"; max-elements "8"; description "List of ODU type and number on this link"; leaf priority { type uint8 { range "0..7"; } description "priority"; } list odulist { key "odu-type"; description "the list of available ODUs per priority level"; leaf odu-type { type identityref{ base tran-types:tributary-protocol-type; } description "the type of ODU"; } leaf number { type uint16; description "the number of odu type supported"; } } } leaf distance { type uint32; description "distance in the unit of kilometers"; } } grouping otn-tp-attributes { description "otn-tp-attributes"; leaf client-facing { type empty; description "if present, it means this tp is a client-facing tp. adding/dropping client signal flow."; } leaf tpn { type uint16 { range "0..4095"; } description "Tributary Port Number. Applicable in case of mux services."; reference "RFC7139: GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks."; } leaf tsg { type identityref { base tran-types:tributary-slot-granularity; } description "Tributary slot granularity."; reference "G.709/Y.1331, February 2012: Interfaces for the Optical Transport Network (OTN)"; } leaf protocol-type { type identityref { base tran-types:tributary-protocol-type; } description "Protocol type for the Termination Point."; } leaf adaptation-type { type adaptation-type; description "This attribute indicates the type of the supported adaptation function at the termination point."; reference "G.874.1, January 2002: Optical transport network (OTN): Protocol-neutral management information model for the network element view."; } leaf sink-adapt-active { type boolean; description "This attribute allows for activation or deactivation of the sink adaptation function. The value of TRUE means active."; reference "G.874.1, January 2002: Optical transport network (OTN): Protocol-neutral management information model for the network element view "; } leaf source-adapt-active { type boolean; description "This attribute allows for activation or deactivation of the sink adaptation function. The value of TRUE means active."; reference "G.874.1, January 2002: Optical transport network (OTN): Protocol-neutral management information model for the network element view "; } container tributaryslots { description "A list of tributary slots used by the ODU Termination Point."; leaf-list values { type uint8; description "Tributary slot value."; reference "G.709/Y.1331, February 2012: Interfaces for the Optical Transport Network (OTN)"; } } list supported-payload-types{ key "index"; description "supported payload types of a TP"; leaf index { type uint16; description "payload type index"; } leaf payload-type { type string; description "the payload type supported by this client tp"; reference "http://www.iana.org/assignments/gmpls-sig-parameters /gmpls-sig-parameters.xhtml not: the payload type is defined as the generalized PIDs in GMPLS."; } } } /* * Data nodes */ augment "/nd:networks/nd:network/nd:network-types/tet:te-topology" { uses otn-topology-type; description "augment network types to include otn newtork"; } augment "/nd:networks/nd:network" { when "nd:network-types/tet:te-topology/otn-topology" { description "Augment only for otn network"; } uses otn-topology-attributes; description "Augment network configuration"; } augment "/nd:networks/nd:network/nd:node" { when "../nd:network-types/tet:te-topology/otn-topology" { description "Augment only for otn network"; } description "Augment node configuration"; uses otn-node-attributes; } augment "/nd:networks/nd:network/lnk:link/tet:te/tet:config" { when "../../../nd:network-types/tet:te-topology/otn-topology" { description "Augment only for otn network."; } description "Augment link configuration"; uses otn-link-attributes; } augment "/nd:networks/nd:network/lnk:link/tet:te/tet:state" { when "../../../nd:network-types/tet:te-topology/otn-topology" { description "Augment only for otn network."; } description "Augment link state"; uses otn-link-attributes; } augment "/nd:networks/nd:network/nd:node/" +"lnk:termination-point/tet:te/tet:config" { when "../../../../nd:network-types/tet:te-topology/otn-topology" { description "Augment only for otn network"; } description "OTN TP attributes config in a ODU topology."; uses otn-tp-attributes; } augment "/nd:networks/nd:network/nd:node/" +"lnk:termination-point/tet:te/tet:state" { when "../../../../nd:network-types/tet:te-topology/otn-topology" { description "Augment only for otn network"; } description "OTN TP attributes state in a ODU topology."; uses otn-tp-attributes; } } <CODE ENDS>
TBD.
TBD.
The data following the model defined in this draft is exchanged via, for example, the interface between an orchestrator and a transport network controller. The security concerns mentioned in [I-D.ietf-teas-yang-te-topo] for using ietf-te-topology.yang model also applies to this draft.
The YANG module defined in this document can be accessed via the RESTCONF protocol defined in [I-D.ietf-netconf-restconf], or maybe via the NETCONF protocol [RFC6241].
There are a number of data nodes defined in the YANG module which are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable in some network environments. Write operations (e.g., POST) to these data nodes without proper protection can have a negative effect on network operations.
Editors note: to list specific subtrees and data nodes and their sensitivity/vulnerability.
We would like to thank Igor Bryskin, Zhe Liu, Dieter Beller and Daniele Ceccarelli for their comments and discussions.
Baoquan Rao
Huawei Technologies
Email: raobaoquan@huawei.com
Sergio Belotti
Alcatel Lucent
Email: Sergio.belotti@alcatel-lucent.com
Huub van Helvoort
Hai Gaoming BV
the Netherlands
Email: huubatwork@gmail.com
[I-D.ietf-ccamp-wson-yang] | Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V., King, D. and B. Yoon, "A Yang Data Model for WSON Optical Networks", Internet-Draft draft-ietf-ccamp-wson-yang-03, July 2016. |
[I-D.vergara-ccamp-flexigrid-yang] | Madrid, U., Lopezalvarez, V., Dios, O., King, D., Lee, Y. and Z. Ali, "YANG data model for Flexi-Grid Optical Networks", Internet-Draft draft-vergara-ccamp-flexigrid-yang-03, July 2016. |