Subscribing to Events and YANG datastores IETF #96 Berlin 21-July-2016 Balazs Lengyel Alberto Gonzalez Prieto Hector Trevino Ambika Prasad Tripathy Eric.

Slides:



Advertisements
Similar presentations
Module 5: Routing BizTalk Messages. Overview Lesson 1: Introduction to Message Routing Lesson 2: Configuring Message Routing Lesson 3: Monitoring Orchestrations.
Advertisements

Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
1 Peer Mount Eric Voit Alex Clemm 13-Nov Four Drafts Requirements for Peer Mounting of YANG subtrees from Remote Datastores draft-voit-netmod-peer-mount-requirements-01.
Model-based Programmable Networks
Abierman-nanog-30may03 1 XML Router Configs BOF Operator Involvement Andy Bierman
Framework & Requirements for an Access Node Control Mechanism in Broadband Multi-Service Networks ANCP WG IETF 71 – Philadelphia draft-ietf-ancp-framework-05.txt.
© 2014 Cisco - Cisco INTERNAL only – All Rights Reserved1 Requirements for Subscription to YANG Datastores draft-ietf-i2rs-pub-sub-requirements-01 NECONF.
Authentication Mechanism for Port Control Protocol (PCP) draft-wasserman-pcp-authentication-01.txt Margaret Wasserman Sam Hartman Painless Security Dacheng.
© 2006 Cisco Systems, Inc. All rights reserved. Cisco IOS Threat Defense Features.
P-IMAP Draft Overview (
1 YANG PUB-SUB Proposed project to Beryllium release of ODL Aug 6 th 2015 Alexander Clemm Ambika Prasad Tripathy Einar Nilsen-Nygaard Eric Voit Suryamani.
Protocol for I2RS I2RS WG IETF #89 London, UK Dean Bogdanovic v0.1.
IETF 69 SIPPING WG Meeting Mohammad Vakil Microsoft An Extension to Session Initiation Protocol (SIP) Events for Pausing and Resuming.
YANG Data Model for Access Control List Configuration draft-huang-netmod-acl-02 Lisa Huang, Alexander Clemm,
Abierman-netconf-mar07 1 NETCONF WG 68 th IETF Prague, CZ March 19, 2007.
1 © NOKIA FILENAMs.PPT/ DATE / NN Requirements for Firewall Configuration Protocol March 10 th, 2005 Gabor Bajko Franck Le Michael Paddon Trevor Plestid.
Subscribing to datastore push updates draft-netmod-clemm-datastore-push-00.txt Alexander Clemm, Alberto Gonzalez Prieto, Eric Voit.
Netconf Event Notifications IETF 66 Sharon Chisholm Hector Trevino
Netconf Schema Query Mark Scott IETF 70 Vancouver December 2007
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
Notification + Yang-push Kickoff 26 - April
Notification + Yang-push Meeting #2 3 - May
Author: Maros Marsalek (Honeycomb PTL)
I2rs Requirements for NETCONF IETF 93. Requirement Documents
Input for issues resolution Antoine Mensch Odonata 16 july 2009.
I2RS Building the NG routing interface Sue Hares, Eric Voit, andothesr I2RS built for High performance Not the Pizza box CLI.
Netconf Notifications Sharon Chisholm Hector Trevino IETF 67 November 2006.
Subscriptions for Event Notification + Yang-push IETF NETCONF WG Contributors Call 26 - May
1 Needing an extensible Mount syntax across Schema, Alias, & Peers IETF 95 Eric Voit, Alex Clemm April 4 th 2016.
Resource subscription using DDS in oneM2M
Evolution of the Subscription & Event Notification Drafts IETF #97 Seoul 17-Nov-2016 NETCONF Charter Item 6: “Enhance RFC 5277 with the ability to delete.
“with-defaults” capability in NETCONF
NETCONF WG IETF 93 - Prague, Czech Republic THURSDAY, July 23, 2015
draft-ietf-teas-yang-te-topo-06
Routing Area Yang Architecture Design Team Update
draft-ietf-teas-yang-te-topo-01
Bing Liu (Ed.) , Guangying Zheng Nov 2014
IETF-59 P-IMAP Draft Overview ( Stéphane H. Maes – Jean.
FRD Examples November 28, 2017 L. Ong.
Subscribing to YANG datastore push updates draft-netconf-yang-push-00 IETF #94 Yokohama A. Clemm A. Gonzalez Prieto
NETCONF Configuration I/F Advertisement by WSDL and XSD
NETCONF Discussion Draft-ietf-i2rs-ephemeral-state-14.txt
Subscribing to YANG datastore push updates draft-ietf-netconf-yang-push-02 NETMOD WG IETF #95 Buenos Aires 4-April-2015 Alexander Clemm Alberto Gonzalez.
Evolution of the Subscription & Event Notification Drafts IETF #98 Chicago Eric Voit 28-Mar-2017 DRAFT Authors on at least 1 drafts Andy Bierman Alexander.
NETCONF Base Notifications for NMDA
Subscriptions for Event Notification + Yang-push
Yang-Push On-change Notification Capability
Network Services Interface
IETF #101 - NETCONF WG session
UDP based Publication Channel for Streaming Telemetry
Factory default Setting draft-wu-netmod-factory-default-01
Binary encoding draft-MAHESH-NETCONF-binary-encoding
Stream Issues Alex, Ambika, Eric, Tim
YANG-Push and related drafts 1
NETMOD IETF 103 Bangkok Nov , 2018
With Thanks to... Authors on at least 1 WG draft Andy Bierman
NMDA Q & A draft-dsdt-nmda-guidelines &
DetNet DetNet Flow Information Model draft-farkas-detnet-flow-information-model-02 Balázs Varga, János Farkas, Rodney Cummings, Jiang Yuanlong and.
YANG Mount draft-clemm-netmod-mount IETF 98 Chicago, 30 March 2017
Distributed Data Collection
Evolution of the Subscription & Event Notification Drafts IETF #98 Chicago Eric Voit 28-Mar-2017 DRAFT Authors on at least 1 drafts Andy Bierman Alexander.
5G Use Case Configuration & PNF SW Upgrade using NETCONF ONAP DDF, Jan 9, 2019 Ericsson.
YANG Instance Data for Documenting Server Capabilities
Smart filters for Push Updates – Problem Statement draft-clemm-netconf-push-smart-filters-ps-00 Alexander Clemm, Eric Voit, Xufeng Liu, Igor Bryskin,
Subscription to Multiple Stream Originators
Device Management Profile and Requirements
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-21 draft-ietf-teas-yang-rsvp-11 draft-ietf-teas-yang-rsvp-te-07 Tarek Saad, Juniper Networks Rakesh.
An HTTPS-based Transport for Subscribed Notifications
YANG Data Models for TE and RSVP draft-ietf-teas-yang-te-21 draft-ietf-teas-yang-rsvp-11 draft-ietf-teas-yang-rsvp-te-07 Tarek Saad, Juniper Networks Rakesh.
Comparison of NMDA datastores draft-ietf-netmod-nmda-diff-02
Presentation transcript:

Subscribing to Events and YANG datastores IETF #96 Berlin 21-July-2016 Balazs Lengyel Alberto Gonzalez Prieto Hector Trevino Ambika Prasad Tripathy Eric Voit Kent Watsen Guangying Zheng (Walker) Andy Bierman Sharon Chisholm Alexander Clemm Einar Nilsen-Nygaard Yan Gang Peipei Guo Susan Hares Tim Jenkins

Subscribing Device Device Continuous Polling Device Must have Alternative to Polling Anything different? Just the new stuff push Up-to-date objects delivered Reaction speed CPU, Bandwidth reduced New use cases based on distributed synched state Well known cost/scale limits with continuous polling Propagation latency CPU, Bandwidth Multiple Polling devices No. NO! Yeah. fetch Anything different? no

Subscriptions Device Subscriber Subscription Request Publisher Datastore ResponsePushed Updates Events Receiver

Generalized Publisher Capabilities Streaming of updates Customized to recipient On-change or Periodic Publisher Streaming mechanism Subscription interface Subscribing to updates Event Stream or Subtree(s) of YANG Datastore Statically configured or dynamically signaled Any Model Vendor Model Events Datastore

Many Consumption Models Collector Subscriber Controller Subscriber Network Element Application Subscriber Network Element Network Element Subscriber Orchestration Subscriber NMS Subscriber Publisher Config Capacity Config Counters Status Routes Config Routes Status Config Counters Flows Config Routes Counters Status Application Datastore Events Publisher Subscriber

Controller/Collector Datastore Applicability beyond the Network Element YANG Models describing network state can be published as well. Which in turn can be integrated as part of fast reacting multi-layered abstraction NMS Application Network Element Network Element Subscriber Publisher Subscriber Publisher Events

Differentiating Event Notifications & YANG Datastore Push What you need Consume a stream of Publisher generated messages at the cadence determined by the Publisher Consume a stream of Publisher generated YANG data updates at a cadence negotiated with the Subscriber What to Use 5277bis Event NotificationsYANG Push Requirements RFC NETCONF WG DiscussionsRFC 7923 complimentary Events Datastore

Tracking the Subscription work Github repository for 4 drafts under discussion Subscription Mechanism: YANG Datastore Push draft-ietf-netconf-yang-push yang-push Subscriptions for Event Notifications draft-gonzalez-netconf-5277bis rfc5277bis Choice of Transports: NETCONF Transport for Event Notifications draft-gonzalez-netconf-event-notifications notif-netconf RESTCONF & HTTP Transport for Event Notifications draft-voit-netconf-restconf-notif notif-restconf Future Transport Notification drafts Current draftGit name

Functional Partitioning Event NotificationsYANG Datastore Push 5277 ModeEnhanced Types of SubscriptionDynamicDynamic and Configured Subscriptions per Session onemany NegotiationNoYes RPCscreateestablish, modify, delete Control Plane NotificationsNone started, suspended, resumed, terminated, modified Data Plane Notificationsnotification+subscription-id push-update, push-change-update NETCONF Yes RESTConf, HTTP, HTTP2No Yes Subscription Transport YANG Datastore Push Subscriptions for Event Notifications NETCONF Transport for Event Notifications RESTCONF Transport for Event Notifications Legend Compatibility with RFC-5277

Subscriptions for Event Notifications (Base Subscription Draft) Support for many subscriptions / transport Dynamic & Configured state machines Multiple configured receivers New stream types (syslog?) Authorization model per stream RFC5277 & XPATH filters RPCs: Establish, modify, delete Error responses (under error-info?) Notifications: started, suspended, resumed, terminated, modified YANG Datastore Push (includes functions above Base Subscription Draft): Datastore on-change and periodic triggers YANG filters per RFC6241 Authorization model per object Negotiation NETCONF Transport for Event Notifications Transport mapping 5277 mode RESTCONF & HTTP Transport for Event Notifications Transport mappings Subscriber/receiver different Heartbeats and clean-up Subscription to HTTP2 stream Out of Scope/future: dynamic stream creation, new undefined filter types Current Functional Partitioning Context Stream discovery Stream configuration Data Plane Notification 5277 mode & YANG model Replay (by Stream type) Prioritization Monitoring Push-update, Push- change-update New stream types & stuff

Requirements of RFC 7923 Periodic On-change Dynamic Configured Multiple receivers VRF support Subtree Netconf Restconf HTTP/2 Security Start/stop time Push synchronization Prioritized Push Parameter negotiation DDoS protection Trigger Burst dampening Configuration Transport Substring Range Filters Admission Control QoS Stateful Per leaf/subtree JSON Encoding XML Operations Modify Visibility Subscriptions Event Notification Only for YANG Datastore Push

Context with OC-Telemetry.yang Periodic On-change Dampened Eventing Dynamic subscriptions Configured subscriptions GBP gRPC Multiple receivers VRF support Subtree filtering Netconf Restconf HTTP/2 Value and Range filtering Start/stop time Push synchronization Prioritized subscriptions Parameter negotiation DSCP DDoS vector protection Security by subtree XML JSON Recurring requirement: specification of market requested, non-IETF technologies RFC-5277 Compatibility Only for YANG Datastore Push

MUST UPDATE Key items in –v02 subscription Data Model +--rw datastore-push-subscription* +--rw subscription-id +--rw stream? +--rw encoding? +--rw subscription-start-time? +--rw subscription-stop-time? +--rw (filterspec)? | +--rw (filter-type)? | +--:(subtree) | | +--rw subtree-filter | +--:(xpath) | +--rw xpath-filter? +--rw (update-trigger)? | +--:(periodic) | | +--rw period | +--:(on-change) | +--rw no-synch-on-start? | +--rw dampening-period | +--rw excluded change* +--rw dscp? +--rw subscription-priority? +--rw subscription-dependency? Config? Operational? Ephemeral? Multiple? Other? Encode in XML? in JSON? Filter stream so that just items desired are pushed The amount of time between periodic updates Minimum interval between pushes Timeframe of interest Send full initial state? Push object adds/deletes? Property changes? +--rw receiver* [address] | +--rw address | +--rw port? +--rw (push-source)? +--:(address-originated) | +--rw source-vrf? : +--rw source-address One or more pre-configured recipients Should the Push egress from a specific place? + also for Configured (Static) Subscriptions Signaled (Dynamic) Subscriptions Network QoS Class Dequeuing precedence | Extensible for multiple filter types

Transport for Event Notifications Transport bindings defined Subscriber XML YANG Netconf Client Publisher XML YANG Netconf Server Requests Subscription Subscriber Restconf Client JSON YANG Publisher Restconf Server JSON YANG Requests Subscription Configured HTTP Receiver JSON YANG HTTP2 Server Publisher JSON YANG HTTP2 Client Stream Subscription NETCONFRESTCONFLocally Configured

RESTCONF & HTTP Transport for Event Notifications Appendix Subscriber Restconf Client JSON YANG Publisher Restconf Server JSON YANG Requests Subscription Separate Subscriber & Receiver Receiver HTTP Server JSON YANG Subscription HTTP Client

YANG Push results at IETF95 Hackathon March 2016 Objective Extend OpenDaylight’s YANG Push Client Coded / Demonstrated Create Subscription (via OpenDaylight) Delete Subscription (via NETCONF session) On-change subscription (via NETCONF session)

Questions? Also will do a deeper dive in NETCONF on Thursday….

Subtree and XPATH Filtering Can enable a reduction in sent objects by order(s) of magnitude Subtree and XPATH cannot be combined Interfaces-state interface [name] oper-status name phys-address speed statistics in-octets discontinuity-time out-octets in-discards … XPATH Filtering Subscribe to this target node Use when you want to explicitly exclude (or include) all of an object type: Use when you want a subset of instances from a list (e.g.: [E0, E1]) Subtree Filtering

Dampening Period & Suppressed Periodic Behavior Events Subscription to interface state Subscription Interfaces-state interface [name] oper-status E0E1 E0 E1 E0 E1 E E0 E1 E0 E1 E YANG Push Dampening period =10 On-change OC-Telemetry.yang Period =10 Suppress Redundant = Yes Interface UP Interface DOWN Time Update Stream Faster reaction Shows flaps underway Update Stream State at a certain time

Dampening Period & Suppressed Periodic Behavior Subscription to Access Control List Subscription ACL* ACL entries ACE YANG Push Dampening period = 60 On-change OC-Telemetry.yang Period = 60 Suppress Redundant = Yes Time matches action 50 access-list permit ip any any 100 access-list permit host access-list deny any any create 200 Update Stream Exposes existence of transient config create 100 delete 50 create Security Vulnerability commit commit commit commit 200

Thank you! 21