Information Models, Data Models, and YANG. IETF 86, Orlando, 2013-03-14



Similar documents
Instant YANG. The Basics. Hakan Millroth, Tail- f Systems ( hakan@tail- f.com)

P. van der Stok. Intended status: Standards Track Expires: April 18, J. Schoenwaelder Jacobs University A. Sehgal. consultant.

Working with YANG Data Models and Instances Using (Mainly) pyang

Easy configuration of NETCONF devices

OpenFlow Configuration and Management Protocol OF-CONFIG 1.0

Network Configuration Management Using NETCONF and YANG

Network Configuration Management with NETCONF and YANG. 84th IETF Meeting, Vancouver,

Tail-f White Paper. Configuration Management Simplified. Executive summary. Why NETCONF and YANG?

YANG Data Model for Stateless Packet Filter Configuration draft-huang-netmod-acl-03

Using YANG for the Dissemination of the Traffic Engineering Database within Software Defined Elastic Optical Networks

UML Modeling Guidelines

Outline of the SNMP Framework

TAIL-F SYSTEMS TECHNOLOGY BRIEF Creating and modifying network services using Tail-f NCS

Simplifying the Management of Virtualized Network Elements in

Brocade Product Training

SNMP....Simple Network Management Protocol...

Lecture 5: Foundation of Network Management

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati

Information Model Architecture. Version 2.0

DESIGN OF A CONFIGURATION AND MANAGEMENT TOOL FOR INSTRUMENTATION NETWORKS

A Guide to NETCONF for SNMP Developers

Better management of large-scale, heterogeneous networks toward a programmable management plane

MIB Explorer Feature Matrix

3GPP TS V8.1.0 ( )

INTERNATIONAL TELECOMMUNICATION UNION

Replication and High-Availability

Remote Management. Vyatta System. REFERENCE GUIDE SSH Telnet Web GUI Access SNMP VYATTA, INC.

XML Document Management Architecture

SyncML Device Management

Internet Management Protocols

Interface Definition Language

Simple Network Management Protocol (SNMP) EngineID Discovery draft-schoenw-snmp-discover-01

Tutorial: NETCONF and YANG

NCS. EMS/NMS Platforms for Network Equipment Providers

TDX - SNMP Revision 01-01

Specific Simple Network Management Tools

Lesson 4 Web Service Interface Definition (Part I)

INTERNATIONAL TELECOMMUNICATION UNION

CS/ECE 438: Communication Networks. Internet QoS. Syed Faisal Hasan, PhD (Research Scholar Information Trust Institute) Visiting Lecturer ECE

SNMP Basics BUPT/QMUL

Design Document. Offline Charging Server (Offline CS ) Version i -

21.4 Network Address Translation (NAT) NAT concept

System and Network Management

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

Network Management. Jaakko Kotimäki. Department of Computer Science Aalto University, School of Science. 21. maaliskuuta 2016

Introduction to Web Services

Table of Contents. Cisco Fault Management of ONS Using Simple Network Management Protocol

Simple Network Management Protocol

Naming. Name Service. Why Name Services? Mappings. and related concepts

Using UML Part One Structural Modeling Diagrams

Interoperable Web Services for Building Automation Integrating KNX. KNX Scientific Conference 2006

LIME Base YANG Model Work Update draft-tissa-lime-yang-oam-model draft-wang-lime-yang-pm. Deepak Kumar Qin WU. IETF93 Prage,Czech

TR-154 TR-069 Data Model XML User Guide

Link Layer Discovery Protocol and MIB

NETCONF-based Integrated Management for Internet of Things using RESTful Web Services

XNMP - XML Network Management Protocol and Interface

ETSI TS V8.4.0 ( )

UML PROFILING AND DSL

Structural Design Patterns Used in Data Structures Implementation

On QoS Support to Ofelia and OpenFlow

Network Management (NETW-1001)

11 November

Rights Expression Language Version 1.0 Version 13-September Open Mobile Alliance OMA-Download-DRMREL-v1_ C

Simple Network Management Protocol (SNMP) Primer

SNMP Monitoring. BSDCon, Sofia October, Shteryana Shopova,

Apache Sentry. Prasad Mujumdar

NLUI Server User s Guide

Representation of E-documents in AIDA Project

Comparison of SNMP. Versions 1, 2 and 3

SNMP Protocol for Easy Network Management

SNMP a new paradigm for SCADA. By Vishal Prakash and Robert Casey

Certificate Management Profile

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Guideline for Implementing the Universal Data Element Framework (UDEF)

Understanding the SCSI MIB

Firewall Builder Architecture Overview

Data Integration through XML/XSLT. Presenter: Xin Gu

Design Patterns in Parsing

Presence SIMPLE Architecture

A Web-based System to Monitor and Analyze Network Management Information in XML

Configuring SNMP Monitoring

A Real Time, Object Oriented Fieldbus Management System

EDI Process Specification

Management Tools, Systems and Applications. Network Management

THE SNMP PROTOCOL THE SNMP REQUEST MIB SATELLAR 2DS/20DS SIMPLE NETWORK MANAGEMENT PROTOCOL SATELLAR MANAGEMENT WITH SNMP GET AND SET SMART RADIO

CIM Operations over HTTP

X.500 and LDAP Page 1 of 8

This section describes how to set up, find and delete community strings.

SNMP Simple Network Management Protocol

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services Skilltop Technology Limited. All rights reserved.

XML Document Management (XDM) Specification

Transcription:

Information Models, Data Models, and YANG Jürgen Schönwälder IETF 86, Orlando, 2013-03-14 1 / 12

Information Models (RFC 3444) Information Models are used to model managed objects at a conceptual level, independent of any specific protocols used to transport the data (protocol agnostic). The degree of specificity (or detail) of the abstractions defined in the information model depends on the modeling needs of its designers. In order to make the overall design as clear as possible, information models should hide protocol and implementation details. Information models focus on relationships between managed objects. Information models are often represented in Unified Modeling Language (class) diagrams, but there are also informal information models written in plain English language. 2 / 12

Data Models (RFC 3444) Data Models are defined at a lower level of abstraction and include many details (compared to information models). They are intended for implementors and include implementation- and protocol-specific constructs. Data models are often represented in formal data definition languages that are specific to the management protocol being used. 3 / 12

Information Models vs. Data Models IM conceptual/abstract model for designers and operators DM DM DM concrete/detailed model for implementors Since conceptual models can be implemented in different ways, multiple data models can be derived from a single Information Model. Although information models and data models serve different purposes, it is not always easy to decide which detail belongs to an information model and which belongs to a data model. Similarily, it is sometimes difficult to determine whether an abstraction belongs to an information model or a data model. 4 / 12

IMs and DMs in the Real World Information Model Information Model MIB Module PIP Module YANG Module Interface Definitions Data Model SMIv2 SPPI XSD OMG IDL MIB Variables Provisioning Instances XML Documents Instance Data BER BER XML The architecture for differentiated services (RFC 2475) is an example for an informal definition of the DiffServ information model. The DiffServ MIB module (RFC 3289) and the DiffServ PIP module (RFC 3317) are examples of data models conforming to the DiffServ information model. The IPFIX configuration specification (RFC 6728) contains both an information model and a data model. 5 / 12

So what is YANG? YANG is a data modeling language used to model configuration and state data manipulated by the NETCONF protocol, NETCONF remote procedure calls, and NETCONF notifications. hierarchical configuration/state data models reusable types and groupings data model extensibility through augmentations supports the definition of operations (RPCs) formal constraints for configuration validation data model modularity through features / sub-modules versioning rules and development support well defined ways to extend the language easy to read and process textual representation 6 / 12

Even more reasons to use YANG... produced and maintained by the IETF tool support (written by people active in the IETF) growing set of (reusable) definitions (typedefs, groupings) support via YANG doctors JSON encodings possible (currently not used by NETCONF) flexibility and extensibility For a more detailed technical introduction to NETCONF and YANG, see the IETF 84 tutorial available on the IETF EDU pages: http://www.ietf.org/edu/technical-tutorials.html 7 / 12

Defining YANG Data Models I Start by identifying the basic concepts that need to be modeled, give those concepts good names, and identify relationships between them. Sketch the structure of the data model; if necessary break things into meaningful pieces (different modules or submodules, consider defining features for optional things). Use tools to generate summaries like YANG tree diagrams since they help to understand the structure of a larger data model (existing tools usually work fine with somewhat incomplete data model definitions). Include the generated diagrams as supporting documentation into the specification. Write example data instances in XML and validate them against the model; make sure you like the instance data and consider including some of the examples in the documentation. 8 / 12

Defining YANG Data Models II Sometimes it is useful to factor out reusable components (e.g., type definitions or groupings). Sometimes a modeled function or data type is rather generic and not WG specific (talk with YANG doctors they might help getting the definition into the right place). For type definitions, think about canonical representations if certain values may have multiple representations. Do not over constrain data models (be careful with when and must statements); design for exensibility by both future standards and vendor-specific extensions. Manage your namespaces and be consistent with your naming conventions. Use tools to validate your data model (and sample data instances), pick tool options that ensure compliance to IETF rules (which are a bit more strict than YANG itself). 9 / 12

YANG Tree Diagrams Tree diagrams summarize the hierarchical structure of YANG data models: Brackets [ and ] enclose list keys. Abbreviations before data node names: rw means configuration (read-write) and ro state data (read-only). Symbols after data node names:? means an optional node and * denotes a leaf-list. Parentheses enclose choice and case nodes, and case nodes are also marked with a colon ( : ). Ellipsis (... ) stands for contents of subtrees that are not shown. 10 / 12

YANG Tree Diagram Example module: foo +--rw mycontainer +--rw mylist [mykey] +--rw mykey string +--rw (alternative)? +--:(simple) +--rw simple? uint8 +--:(multi) +--rw multivalued* string +--ro state enumeration module foo { container mycontainer { list mylist { key mykey; leaf mykey { type string; } choice alternative { case simple { leaf "simple" { type uint8; } } case multi { leaf-list "multivalued" { type string; } } } leaf "state" { config false; mandatory true; type enumeration; } } } } 11 / 12

References A. Pras and J. Schönwälder. On the Difference between Information Models and Data Models. RFC 3444, University of Twente, University of Osnabrueck, January 2003. M. Bjorklund. YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF). RFC 6020, Tail-f Systems, October 2010. J. Schönwälder. Common YANG Data Types. RFC 6021, Jacobs University, October 2010. A. Bierman. Guidelines for Authors and Reviewers of YANG Data Model Documents. RFC 6087, Brocade, January 2011. 12 / 12