111 XMLCONF Introduction Strategy Protocol Layering Session Management RPC Mechanism Capabilities Exchange Operational Model Protocol Operations Standard.

Slides:



Advertisements
Similar presentations
XML-based Network Management Rob Enns
Advertisements

Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
RIP V1 W.lilakiatsakun.
October Dyalog File Server Version 2.0 Morten Kromberg CTO, Dyalog LTD Dyalog’13.
Chapter 9: Access Control Lists
SOAP.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
CCNA2 Module 4. Discovering and Connecting to Neighbors Enable and disable CDP Use the show cdp neighbors command Determine which neighboring devices.
1 Semester 2 Module 4 Learning about Other Devices Yuda college of business James Chen
Simple tutorial Yang & Netconf.
Identity Management Based on P3P Authors: Oliver Berthold and Marit Kohntopp P3P = Platform for Privacy Preferences Project.
XMLCONF IETF 57 – Vienna Rob Enns
1 CCNA 2 v3.1 Module 4. 2 CCNA 2 Module 4 Learning about Devices.
Introduction to Structured Query Language (SQL)
Introduction to Structured Query Language (SQL)
Polaris Financial Technologies Welcomes the members of Hyderabad chapter for the 2nd event on 4 th July 14 held by PACE (The Testing Practice)
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
VLAN Trunking Protocol (VTP) W.lilakiatsakun. VLAN Management Challenge (1) It is not difficult to add new VLAN for a small network.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
1 Weijing Chen Keith Allen XML Network Management Interface (draft-weijing-netconf-interface-01.txt) NETCONF Interim.
VLAN Trunking Protocol (VTP)
JavaScript, Fourth Edition
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Netconf Monitoring IETF 70 Mark Scott Sharon Chisholm Hector Trevino
Abierman-nanog-30may03 1 XML Router Configs BOF Operator Involvement Andy Bierman
Chapter 8 Cookies And Security JavaScript, Third Edition.
© Hitachi, Ltd All rights reserved. NETCONF Configuration I/F Advertisement by WSDL and XSD Hideki Okita, Tomoyuki Iijima, Yoshifumi Atarashi, Ray.
Abierman-netconf-mar03 1 NETCONF BOF 56th IETF San Francisco, California March 17, 2003 Discussion: Admin:
March 12, 2008© Copyright 2008 John Buford SAM Overlay Protocol draft-buford-irtf-sam-overlay-protocol-01.txt John Buford, Avaya Labs Research IETF 71.
Syslog (1) The purpose of syslog is to write system messages to a log The purpose of syslog is to write system messages to a log Syslog messages can include.
N ETWORK C ONFIGURATION Prepared by: Menna Hamza Mohamad Hesham Mona Abdel Mageed Yasmine Shaker.
Data Manipulation Jonathan Rosenberg dynamicsoft.
PG 1 Netconf Data Model Netmod BOF – IETF 60 Sharon Chisholm – Randy Presuhn -
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Protocol for I2RS I2RS WG IETF #89 London, UK Dean Bogdanovic v0.1.
Introduction to Routers
CCNA2 Chapter 2 Cisco IOS Software. Cisco’s operating system is called Cisco Internetwork Operating System (IOS) IOS provides the following network services:
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
Abierman-netconf-mar04 1 NETCONF WG 59th IETF Seoul, Korea March 3, 2003 March 4, 2003.
An Analysis of XMPP Security Team “Vision” Chris Nelson Ashwin Kulkarni Nitin Khatri Taulant Haka Yong Chen CMPE 209 Spring 2009.
VLAN Trunking Protocol (VTP)
N ETWORK C ONFIGURATION Prepared by: Menna Hamza Mohamad Hesham Mona Abdel Mageed Yasmine Shaker.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Netconf Event Notifications IETF 66 Sharon Chisholm Hector Trevino
Netconf Schema Query Mark Scott IETF 70 Vancouver December 2007
SOAP, Web Service, WSDL Week 14 Web site:
LAN Switching Virtual LANs. Virtual LAN Concepts A LAN includes all devices in the same broadcast domain. A broadcast domain includes the set of all LAN-connected.
YANG Modelling and NETCONF Protocol Discussion
Jonathan Rosenberg dynamicsoft
Convergence of Network Management Protocols
Managing Your Network Environment
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Introduction to the Junos Operating System
Chapter 10: Device Discovery, Management, and Maintenance
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
#01 Client/Server Computing
Chapter 10: Device Discovery, Management, and Maintenance
Factory default Setting draft-wu-netmod-factory-default-01
Chapter 8: Monitoring the Network
Henning Schulzrinne Dept. of Computer Science Columbia University
NETMOD IETF 103 Bangkok Nov , 2018
Post WG LC NMDA datastore architecture draft
WEB SERVICES From Chapter 19, Distributed Systems
Chapter 7 Network Applications
#01 Client/Server Computing
Device Management Profile and Requirements
Presentation transcript:

111 XMLCONF Introduction Strategy Protocol Layering Session Management RPC Mechanism Capabilities Exchange Operational Model Protocol Operations Standard Schema Design Decisions Topics

222 Introduction Effort within the IETF to promote XML based Network Management Focus on configuration because it is the biggest unmet need wrt/ IETF NM standards Include support for monitoring and notifications Focus on replacement for Expect/Perl scripts which interact with proprietary CLI What is XMLCONF?

333 Introduction March, 2001 OPS-NM Area Meeting Randy Bush asks crowd of 300 how many operators enable SNMP writes. Zero hands raised April, 2001 – May 2002 OPS-NM Road show visits Operators at RIPE, NANOG, LISA to determine network management needs June, 2002 IAB Workshop on Network Management Operators want better scripting tools; Interest in XML July, 2002 XMLCONF BOF at IETF #54 Well attended, lots of interest, but no concrete proposals November, 2002 Small team started by Margaret Wasserman to write XMLCONF I-D and attempt to get WG created History

444 Introduction Andy Bierman Eliot Lear David Perkins Ted Goddard Phil Shafer Rob Enns Ken Crozier Steve Waldbusser Margaret Wasserman Team members (in no particular order)

555 Strategy Create a standard operational framework for configuration Allow for monitoring and notifications, but focus on configuration Separate the protocol from the data model Allow for standard and proprietary content Standardize the protocol first, and then start on content Create a transport independent, RPC-based configuration mechanism Standardize XMLCONF protocol over BEEP/TCP first Develop high level protocol operations common to most devices Focus on transactions

666 Strategy Allow implementation to mirror native capabilities of device Text-based technology such as XML permits tight integration with CLI No feature lag between XMLCONF and CLI

777 Protocol Layering XMLCONF BEEP TCP IP Initial Protocol Mapping Other transport mappings (SSH, …) can be defined

888 Protocol Layering XML Content Standard or Proprietary XML Schemas Protocol Operations Standard XML Schema (XMLCONF) RPC Standard XML Schema (XMLCONF) Session Create standard channels through BEEP Security SASL, TLS through BEEP Transport TCP Network IP Functional Layers

999 Session Management Management channel Session control; creation of other channels Abort command kills current command on the operations channel Kill-session used to terminate the session of another user Operations channel Used for RPC requests and replies Notification channel Optional channel for asynchronous messages Channels

10 RPC Mechanism Request on operations channel Reply sent on operations channel Provides progress reports (percentage completion) for long duration RPC operations, sent on the management channel Provides a way to abort an RPC in progress, or queued for processing, sent on the management channel Abort RPC reply, sent on the management channel XML Based Messages

11 RPC Mechanism Included in if an error occurs during processing of an RPC request Included in if no error occurred during processing of an RPC request Error reporting

12 Capabilities Exchange Each peer sends capabilities summary during session startup Capability is used only if both parties advertise the same version of the same capability Capability expressed as a URI At least 1 version of the base protocol must be advertised Vendor specific capabilities may also be advertised Base protocol + optional capabilities

13 Capabilities List Base protocol Set, Get and Copy configuration commands Get system state information Optional Capabilities Notification channel supported Separate candidate (scratchpad) configuration Lock configuration for exclusive writing Candidate configuration (commit and rollback) Configuration Validation Separate startup (NV-stored) configuration Named Configurations can be stored on the device Initial set

14 Operational Model: Concepts A device contains one or more configuration datastores Some of these datastores have special semantics candidate, running, startup Configuration datastores can be created, copied, retrieved, deleted, and validated Basic framework concepts

15 Operational Model: Datastores candidate Collects changes that are applied all at once to the running config Exists only if candidate capability is supported running Current device configuration; changes to this config take effect immediately Exists on all devices startup Configuration to apply to device upon next reboot Exists only if distinct startup capability is supported Special configuration datastores

16 Operational Model candidaterunningstartup Configuration datastores Different variants of this model are possible

17 Operational Model: Named Configs A simple text (or XML) file that contains a complete or partial configuration Optionally supported by the device Specified with a ‘file’ URL

18 Protocol Operations Base set get-config, edit-config, copy-config, delete-config, get-state, kill-session Configuration locking supported lock, unlock Configuration validation supported validate Candidate configuration supported commit, discard-changes Low Level Standard Commands

19 Protocol Operations: get-config Retrieve all or part of the specified configuration Parameters: source: config: | text) format: (xml | text)

20 Protocol Operations: get-config request xml

21 Protocol Operations: get-config reply root superuser fred admin

22 Protocol Operations: get-config notes The element sub-tree specified in the parameter is used to filter the response. Multiple filter elements can be specified Wildcard characters currently not supported in a standard way Use of XPath subset being debated; More complicated but more standard and more powerful approach One or more namespace declarations (xmlns) must be included in the parameter which correspond to the XML Schema defining the configuration commands used (unless format is text) Text format for parameter allows CLI style ASCII instead of XML element tree

23 Protocol Operations: edit-config Load all or part of a specified configuration to the designated target configuration. Parameters: target: test-option: (test-then-set | set) [default: set] write-option: (merge | replace | overwrite) [default: merge] error-option: (stop-on-err | ignore-err) [default: stop-on-err] format: (xml | text) config: | text)

24 Protocol Operations: edit-config request test-then-set replace stop-on-error xml

25 Protocol Operations: edit-config notes One or more namespace declarations (xmlns) must be included in the parameter which correspond to the XML Schema defining the configuration commands used (unless format is text) Text format for parameter allows CLI style ASCII instead of XML element tree The parameter includes zero or more commands; could be an entire configuration file

26 Protocol Operations: copy-config Overwrite the target configuration with the source configuration Parameters: source: | URL) target: | URL) format: (xml | text) Restrictions Remote to remote copy is not supported Device may not support URL based source or target parameter Device may restrict protocol types specified in URL

27 Protocol Operations: copy-config request ftp://example.com/myconfig.txt text

28 Protocol Operations: copy-config is used to apply partial or complete configuration commands to the designated target configuration Complex set options supported such as test-then-set or merge is used to overwrite a complete configuration file with a different complete configuration file Hardwired set options (set without validation, replace, ignore errors) edit-config and copy-config differences

29 Protocol Operations: delete-config Remove a specific local configuration file Parameters: target: Restrictions: The running config cannot be deleted The device may refuse to delete the startup config

30 Protocol Operations: get-state Retrieve device state information Parameters: state: | text) format: (xml | text)

31 Protocol Operations: get-state request xml

32 Protocol Operations: get-state reply

33 Protocol Operations: lock, unlock Lock is used to prevent any other sessions from writing to a specific configuration Applies to all access mechanisms, not just XMLCONF Partial locks are not supported in v1.0 Can request automatic rollback on ungraceful unlock Unlock is used to release a previously obtained lock Lock can fail if: Lock is already granted Candidate configuration has already been written but not saved Lock automatically released if the session is terminated for any reason Kill-session operation used to force another session to release a lock Configuration name is the only parameter (in v1.0)

34 Protocol Operations: validate Validate is used to check configuration commands before they are applied to the running configuration Applies to any configuration datastore Tests performed depend on the device Syntax check is performed at a minimum Referential check may be performed Resource check may be performed Parameters: source: format: (xml | text)

35 Protocol Operations: commit Commit operation activates candidate configuration Available if ‘candidate’ capability is supported Parameters: confirmed: requires a confirming commit or commit will be backed out confirmed-timeout: timeout period for confirmed commit, default is 10 minutes

36 Protocol Operations: is inserted in if an error occurred Standard error message format (still TBD): UI_RANGE_ERROR 207 error interface-daemon interfaces so-0/0/0 mtu 40000; mtu exceeds allowable maximum discarded Multiple error responses would be returned per request if applicable

37 Protocol Operations Generic RPC provided to allow high-level operations, not replace low-level protocol operations High level procedure such as ‘set-bgp-peer’ Function could be achieved with multiple low-level operations, but done as a high-level RPC for ease-of-use Example: 14 fred High Level Remote Procedure Call

38 Notifications An XMLCONF peer advertising the ‘notifications’ capability supports the notification channel Used for sending asynchronous messages operation requests opening notification channel with specific parameters format: rfc3195 is the only legal value (in v1.0) requests that the notification channel be closed

39 Standard Schema Version 1.0 will have some standard attributes Some attributes are needed for the protocol to function properly: Show session information Show lock information List named configurations (name, size, last modified timestamp) Show debug information (capabilities advertised, capabilities in use)

40 Design Decisions RPC – Why not SOAP? XMLCONF’s RPC is low overhead, easy to understand, implement, debug SOAP’s interoperability value based on transport over HTTP – want XMLCONF transport over BEEP, SSH, console…

41 Design Decisions Transport – Why BEEP first? Connection oriented Multi-channel capability Simple and robust framing Ability to initiate a connection from either end

42 XMLCONF Summary Provides common operational framework for configuration management Focus on features needed for configuration, like locking and rollback, generic high-level RPC mechanism Support for simple transactions Building block for network transactions Configuration model maps to real-world networks (candidate, running, startup)

43 XMLCONF Summary Leverages existing standards Standard and proprietary XML content is supported Monitoring functions and notifications are supported, but protocol is not optimized for monitoring Hierarchical content filtering used instead of get- next Clear separation between configuration and state information