ONF Transport API Opening up Disaggregated Optical Transport Applications * Karthik Sethuraman, NEC Andrea Mazzini, Nokia Stephane St Laurent, Infinera Lyndon Ong, Ciena Dec 3, 2018 *animated slides
Introduction & Overview ONF TAPI Introduction & Overview
Transport API – Simple Problem Statement Network Orchestrator APP Open Standard T-API ONOS APIs ODL APIs Proprietary APIs ONOS ODL Proprietary
ONF Transport API (TAPI): Functional Architecture Application SDN Controller NE NE NE NE Transport API or Other NBIs Topology Service Connectivity Service OAM Service Path Computation Service Virtual Network Service Notification Service Shared Network Information Context Transport API or Other SBIs Network Elements SDN Controller NE NE NE
TAPI RI - Prototyping Controller-agnostic API TAPI Client (Python) Transport API Topology Service Connectivity Service OAM Service Path Computation Service Virtual Network Service Notification Service ONOS NBI Mapper ODL NBI Mapper TAPI Server Backend TAPI Server (Python) Network Domain (ODTN) Network Domain (UniMgr) TAPI Reference Network DB (JSON) Available / Shortly Available
OIF Transport API Interop Demo (2014, 2016, 2018) OSS/App/Orchestrator Test Carriers TAPI Agent Multi-Domain Controller Transport API Common Abstraction model TAPI Agent Multi-Domain Controller Transport API TAPI Agent TAPI Agent TAPI Agent Technology, Vendor Specific models Domain Controller Domain Controller Domain Controller Test Vendors
MEF 3.0 Optical Transport Implementation Project
ONF ODTN (Open Disaggregated Transport) Architectures With OLS Controller (Current Ph 1.5) TAPI ONOS TAPI OLS Controller Has topology OpenConfig OpenConfig TRN MUX WSS AMP WSS MUX TRN Open Line System (OLS) Without OLS Controller (Future Ph 2.0) TAPI ONOS TBD OpenConfig OpenConfig TRN MUX WSS AMP WSS MUX TRN Open Disaggregated System
Confluence of Standards and Open Source ONF OTCC TAPI FRS Use cases & Requirements TAPI UML Information Model ONF OIMT Open Model Profile ONF Core Information Model UML-YANG Generation Tool TAPI YANG Data Schema ONF Technology Specification Models YANG-OpenAPI Generation Tool ONF TAPI SDK OpenAPI (RESTConf) Schema Python Stub Generation Tool Code OTN (ITU-T G.874.1) ETH (ITU-T G.8052) Photonic (ITU-T G.807.1*) EAGLE Modeling Tools Python Reference Implementation Technology Generic Core Model (ITU-T G.7711) ITU-T SG15 MEF MEF 3.0 Implementations OIF Interop Implementations NRM NRP Optical Transport Packet WAN Multi-carrier T-SDN Interop Implementation Agreements & Certification MEF Models
TAPI Feature Set Topology Service Node Constraints TAPI SDK 1.x (H2 2016) TAPI SDK 2.x (H2 2018) Topology Service Logical (abstract/virtual) Topology, Node, Link & Edge-Point (Across al layers) Connectivity Service Retrieve & Request P2P, P2MP, MP2MP connectivity (Across all layers) Path Computation Service Request for Computation & Optimization of paths Virtual Network Service Create, Update, Delete Virtual Network topologies Notification Framework Subscription and filtering Autonomous/Push mechanism Node Constraints Ability to specify connectivity/blocking constraints Resilience & Protection Multi-layer, Multi-Domain Based on use cases under discussion OAM/Monitoring/PM Consistent Multi-layer abstraction and model – L0-L2 Alarm/TCA/Counter Multi-Technology Photonic Media spec models ETH & OTN enhancements Microware TBD TR-527 FRD 1.0 – June 2016 SDK 1.0 – September 2016
Transport API Summary General Benefits TAPI Next Steps Provides functions necessary for multi-domain orchestration Topology view and abstraction Connectivity establishment Hierarchical Abstraction Migration path for legacy systems Different types of topology abstraction Abstract Node (single, edge, sliced, etc) Abstract Link Complete (1-to-1) internal topology Supports multiple transport technologies Packet Transport (Ethernet, MPLS-TP) Optical Transport (OTN, DWDM) Interoperability on North-South Orchestrator/Controller interface TAPI 2.x fixes & enhancements Photonic Model updates based on ODTN feedback ETH, L1 & OAM alignment due to interaction with MEF (NRM-OAM/SOAM, L1) projects YANG & OpenAPI/RESTConf Best Practices Based on MEF-PRESTO (ODL), ODTN (ONOS) and OIF (TAPI Interop) activity feedback TAPI 3.0 Items (Current) Equipment Inventory & configuration Equipment, Holders (Rack/Shelf, etc), Connectors, Fiber, etc Topology Pacs/Datatypes (Capacity, Cost, Latency, Risk parameters) enhancements Rationalize/tune the component-system pattern for Topology & Connectivity
Logical Topology & Forwarding Concepts with Photonic Example ONF TAPI Logical Topology & Forwarding Concepts with Photonic Example
Simple Physical Network Example to illustrate T-API UNI1 (200G) NNI1 (200G) TPD1 RDM1 UNI3 (200G) RDM3 RDM4 RDM5 TPD3 NNI3 (400G) TPD2 RDM2 UNI4 (200G) UNI2 (200G) NNI2 (200G) OLS Domain TPD Domain Abbreviations TPD – Transponder Node RDM – ROADM Node UNI – User-Network Interface NNI – Network-Network Interface NMC – Network Media Channel NMCA – NMC Assembly OTSi – Optical Tributary Signal OTSiA – OTSi Assembly Node Edge Point (Network Internal) Node Edge Point (Network Edge) Service Interface Point Logical Termination Points shown Connectivity Service End Point A Network Provider with 2 operator domains : Transponder domain OLS/ROADM domain And with two Customers (Red and Green) connected to Transponders No Switching on TPD Nodes - DSRs are mapped into ODU into OTSi Only Photonic switching assumed on ROADMS
Example T-API Contexts (based on ONF Architecture v1.1) Client Application RED Client Controller GREEN TPD Controller Admin APP Blue Resource Group Resource Group Client TAPI TAPI TAPI Customer Context RED Customer Context GREEN Admin Context BLUE.Admin Resource Group Resource Group Resource Group Server TAPI Provider Internal Context Resource Groups TAPI Provider SDN Controller Orchestration / Virtualization Other Admin Interfaces Client Device Context TPD1 Device Context TPD2 Device Context TPD3 Controller Context OLS TPD-1 TPD2 TPD3 OLS Server
Example 1: Hierarchical TAPI Control Domains & Abstracted OLS Topology Customer(s) view TAPI Context-R TAPI Context-G Transponder Domain Controller UNI 1 UNI 3 UNI2 UNI 4 Abstraction & Orchestration Network Provider View UNI1 UNI2 TPD3 TPD1 TPD2 TPD Domain UNI4 UNI3 NNI1 NNI2 NNI3 OLS Domain OLS Node OLS Domain Controller OLS TAPI Context NNI 1 NNI 2 NNI 3 Abstraction & Orchestration OLS Operator View Node Edge Point (Network Internal) Node Edge Point (Network Edge) Service Interface Point Logical Termination Points shown Connectivity Service End Point Abbreviations TPD – Transponder Node RDM – ROADM Node UNI – User-Network Interface NNI – Network-Network Interface NMC – Network Media Channel NMCA – NMC Assembly OTSi – Optical Tributary Signal OTSiA – OTSi Assembly RDM2 RDM1 RDM4 RDM3 RDM5 OLS Domain NNI2 NNI1 NNI3
Example 1: E2E Connectivity Request Flow (Omnipotent view) DSR Connectivity Service 1 Photonic Connectivity Service 1 DSR1 100G OTSiA1 UNI1 TPD1 NNI1 RDM1 UNI3 OTSi 1-1 NMCA1 RDM3 RDM4 RDM5 NNI3 TPD3 OTSi 1-2 TPD2 RDM2 OTSiA2 OTSi 2-1 NMCA2 DSR2 100G OTSi 2-2 UNI4 UNI2 NNI2 OLS Domain TPD Domain Photonic Connectivity Service 2 DSR Connectivity Service 2 Abbreviations TPD – Transponder Node RDM – ROADM Node UNI – User-Network Interface NNI – Network-Network Interface NMC – Network Media Channel NMCA – NMC Assembly OTSi – Optical Tributary Signal OTSiA – OTSi Assembly Node Edge Point (Network Internal) Node Edge Point (Network Edge) Service Interface Point Logical Termination Points shown Connectivity Service End Point
Example 1: E2E Connectivity Request Flow (actual TAPI Contexts view) Customer(s) view TAPI Context-G UNI 1 UNI 3 TAPI Context-R UNI2 UNI 4 DSR Connectivity Service 1 DSR Connectivity Service 2 Network Provider View DSR Connectivity Service 1 Transponder Domain Controller DSR Connectivity Service 2 UNI1 UNI2 TPD3 TPD1 TPD2 TPD Domain UNI4 UNI3 NNI1 NNI2 NNI3 OLS Domain OLS Node OLS TAPI Context NNI 1 NNI 2 NNI 3 Photonic Connectivity Service 1 OLS Operator View Photonic Connectivity Service 2 Photonic Connectivity Service 1 Node Edge Point (Network Internal) Node Edge Point (Network Edge) Service Interface Point Logical Termination Points shown Connectivity Service End Point Abbreviations TPD – Transponder Node RDM – ROADM Node UNI – User-Network Interface NNI – Network-Network Interface NMC – Network Media Channel NMCA – NMC Assembly OTSi – Optical Tributary Signal OTSiA – OTSi Assembly Photonic Connectivity Service 2 RDM2 RDM1 RDM4 RDM3 RDM5 OLS Domain NNI2 NNI1
Example 1: Connectivity Request Flow /w provisioned Connectivity Resources Customer(s) view TAPI Context-G UNI 1 UNI 3 TAPI Context-R UNI2 UNI 4 DSR Connectivity Service 1 DSR Connectivity Service 2 Network Provider View DSR Connectivity Service 1 DSR Connectivity Service 2 Transponder Domain Controller UNI1 UNI2 TPD3 TPD1 TPD2 UNI4 UNI3 DSR1 100G OTSiA1 OTSi 1-1 NNI1 NNI2 NNI3 OLS Domain NMCA1 OLS Node OTSi 1-2 OTSiA2 OTSi 2-1 NMCA2 DSR2 100G OTSi 2-2 OLS TAPI Context NNI 1 NNI 2 NNI 3 Photonic Connectivity Service 1 OLS Operator View Photonic Connectivity Service 2 Photonic Connectivity Service 1 Node Edge Point (Network Internal) Node Edge Point (Network Edge) Service Interface Point Logical Termination Points shown Connectivity Service End Point Abbreviations TPD – Transponder Node RDM – ROADM Node UNI – User-Network Interface NNI – Network-Network Interface NMC – Network Media Channel NMCA – NMC Assembly OTSi – Optical Tributary Signal OTSiA – OTSi Assembly Photonic Connectivity Service 2 RDM2 RDM1 RDM4 RDM3 RDM5 OLS Domain NNI2 NNI1 NMCA1 NMCA2
Example 2: Alternate TAPI Control Domains – Orchestration architecture Customer(s) view TAPI Context-R TAPI Context-G Service Orchestrator UNI 1 UNI 3 UNI2 UNI 4 Abstraction & Orchestration Network Provider View TPD3 TPD1 TPD2 UNI3 UNI4 UNI1 UNI2 RDM2 RDM1 RDM4 RDM3 RDM5 NNI1 NNI2 NNI3 TPD Domain Controller TPD TAPI Context NNI 1 NNI 2 NNI 3 Abstraction & Orchestration UNI 1 UNI 2 UNI 3 UNI 4 OLS Domain Controller OLS TAPI Context NNI 1 NNI 3 NNI 2 Abstraction & Orchestration Operators View TPD3 UNI4 UNI3 UNI1 UNI2 TPD1 TPD2 NNI2 TPD Domain NNI3 NNI1 RDM2 RDM1 RDM4 RDM3 RDM5 OLS Domain NNI2 NNI1 NNI3
Example 2: Alternate TAPI Control Domains – E2E Connectivity Request Flow Customer(s) view TAPI Context-G UNI 1 UNI 3 TAPI Context-R UNI2 UNI 4 DSR Connectivity Service 1 DSR Connectivity Service 2 Network Provider View TPD3 TPD1 TPD2 UNI3 UNI4 UNI1 UNI2 RDM2 RDM1 RDM4 RDM3 RDM5 NNI1 NNI2 NNI3 TAPI Context-G UNI 1 NNI 1 UNI 2 NNI 2 NNI 3 UNI 3 UNI 4 DSR CS 1-1 DSR CS 1-2 DSR CS 2-1 DSR CS 2-2 Operators View OLS TAPI Context NNI 1 NNI 2 NNI 3 Photonic Connectivity Service 1 TPD3 UNI4 UNI3 UNI1 UNI2 TPD1 TPD2 NNI2 TPD Domain NNI3 NNI1 Photonic Connectivity Service 2 RDM2 RDM1 RDM4 RDM3 RDM5 OLS Domain NNI2 NNI1 NNI3
Recursive Node & Topology aspects of TAPI Forwarding Domain TAPI Context Network Domain View Node aspect of the FD Topology aspect of the FD Observer Link Mapping A FD (Node) 01.1 LTP (Service Interface Point) A FD (Topology) Context appears as a Topology of one Node B and SIPs (off-network relationships/Links) 01 LTP (Node Edge Point) B B A A A.1 Node-B appears a Topology of Nodes A & C and Link A-C 01 11 A.4 13 12 17 05 A.3 19 01.1 18 02.1 14 A.5 20 01.n A.2 16 C C 02.n 15 03 02 04 Node-C appears as a Topology with NULL elements Node-A appears a Topology of Nodes A.1 - A.5 & Links between them
Recursive Connectivity decomposition of TAPI Forwarding Construct TAPI Context Network Domain View Node aspect of the FD Topology aspect of the FD Observer Link Mapping A FD (Node) 01.1 LTP (Service Interface Point) A FD (Topology) LTP (Node Edge Point) Context appears as a Topology of one Node B and a Connection (01-02) 01 B B A A A.1 Node-B appears a Topology of Nodes A & C and Link A-C. Connection (01-02) decomposes into 2 lower-level Connections (01-04) & (03-02) 01 11 A.4 13 12 17 05 A.3 19 01.1 18 02.1 14 01.n A.2 A.5 20 16 C 02.n 15 03 02 04 Node-A appears a Topology of Nodes A.1 - A.5 & Connection (01-04) further decomposes into 3 lowest-level connections (01-12), (17-18) & (20, 04)
TAPI 2.1 Photonic LTP Model (still under review for 2.2) TRANSPONDER ROADM Service Interface Point Node Edge Point ODU (ODUCn) 1 Node Edge Point Group Connection End Point (TTP only) OTU (OTUCn) c ~FlexO 1..c OTSi OTSiA Connection End Point (CTP only) 1..r Connection End Point (TTP + CTP) r OTSi s*n NMC NMCA OTSiA Connection End Point (Inverse mux CTP only) 1:1 1:1 1:1 Media Channel CEP {lowerFreq, upperFreq} OTSi NMCA NMC r r` NMCA Media Channel Assembly [{lowerFreq, upperFreq}, {lowerFreq, upperFreq}, ..] N NMC n n` NMC N` NMCA q q` SMCA SMC MIP Down MEP Up MEP OPM 1:1 1:1 1:1 1:1 SMCA SMC SMC Not explicitly represented Not explicitly modeled SMCA S SMC s SMC SMCA s` S` p p` 1:1 SMC Non Intrusive Monitoring No Specific OAM signaling Optical Power Monitoring 1 OMS OMS 1 OMS 1 OMS Link OMS Link C/L bands Line Port Add/Drop Port 1..2 OTS OTS Link Degree Port
References Thank you
Links…. TAPI Wiki: TAPI SDK Core model: TR-512 V1.4 (November 2018) https://wiki.opennetworking.org/display/OTCC/TAPI TAPI SDK https://github.com/OpenNetworkingFoundation/tapi Core model: TR-512 V1.4 (November 2018) https://3vf60mmveq1g8vzn48q2o71a-wpengine.netdna-ssl.com/wp-content/uploads/2018/12/TR-512_v1.4_OnfCoreIm-info.zip UML, Papyrus, YANG Guidelines TR 514/515 (July 2018) Last published version https://www.opennetworking.org/software-defined-standards/models-apis/ Latest working draft https://wiki.opennetworking.org/display/OIMT/Infrastructure+Sub-team+Guidelines https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines UML to YANG & YAMG-OpenAPI Mapping Tools Github repository: https://github.com/OpenNetworkingFoundation/EagleUmlYang Github repository: https://github.com/OpenNetworkingFoundation/EagleYangOpenApi