1 / 21

XML-based Network Management

XML-based Network Management. Rob Enns rpe@juniper.net. Introduction. Routers are complex devices that are hard to manage remotely Traditional management methods are SNMP and expect, their strengths and weaknesses are well-known

baley
Download Presentation

XML-based Network Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML-based Network Management Rob Enns rpe@juniper.net

  2. Introduction • Routers are complex devices that are hard to manage remotely • Traditional management methods are SNMP and expect, their strengths and weaknesses are well-known • Operators and network management software vendors demand a secure, stable method to manage routers • Want network-oriented solutions, not single-box ones • XML is an alternative with exciting possibilities

  3. XML • Extensible Markup Language • XML is a generally self-describing data format • Application reads data, parses it, and knows exactly what each constituent part of the data means • An XML document is a “text file with structure” • Easy to understand • Easy to parse • Easy to debug • Widely implemented standard • http://www.w3c.org/xml

  4. Why XML? • Network devices are good at generating large amounts of hierarchical data • Device configurations • Routing tables • Interface hierarchies • Billing records • XML is good at describing hierarchical data in a standard way

  5. XML Elements • Six main constructs • Open tags: <tag> • Close tags: </tag> • Data: <tag>data</tag> • Empty tags: <tag/> • Attributes: <tag foo=“bar” goo=“gar”/> • Namespaces: <home> <address>123 Main Street</address> <network xmlns:ns2=“my.identifying.string”> <ns2:address>10.0.0.1</ns2:address> </network> </home>

  6. XML Example <?xml version="1.0" encoding="UTF-8"?> <route> <destination>10.3.1.1/32</destination> <route-entry> <current-active/> <protocol-name>BGP</protocol-name> <preference>170</preference> <ageseconds="1749">00:29:09</age> <local-preference>100</local-preference> <learned-from>10.17.136.2</learned-from> <as-path>1403 170 39 I</as-path> <nh> <selected-next-hop/> <to>192.168.1.254</to> <via>ge-0/0/0.0</via> </nh> </route-entry> </route>

  7. Advantages of XML • Handles forward and backward compatibility • Widely available tools • Widely implemented standard • http://www.w3c.org/xml

  8. DTDs and XML Schemas • XML data definition tools • Document Type Definitions (DTDs) • Lists the elements that may appear in an XML document and their relationships to one another • XML Schemas • Defines content and semantics in addition to element relationships • Simple and complex data types, value ranges, match expressions, documentation

  9. XSL • XML Stylesheet Language • Originally intended for rendering XML • Powerful enough for generic transformations • Two branches of the technology • XSLT – XSL Transformations • XML->XML transformations • Add additional information • Remove uninteresting elements or attributes • Rearrange hierarchies, sort elements, lots of party tricks • XSL-FO – XSL Formating Objects • Render XML into XHTML or PDF

  10. XSL Functionality XSLT Stylesheet <TD> MTU: <xsl:value-of=“.”/> </TD> XML Input Document XML Output Document <mtu> 1500 </mtu> XSLT Processor <TD> MTU: 1500 </TD> XSLT can make: XML, XHTML, Text, SVG, XSLT

  11. XPath • A standard for describing parts of XML documents • Uses “Unix-like” path expressions • Basic expression and function support • Used by XSL • Select the serial number of every chassis component • /chassis-inventory/chassis/chassis-module/serial-number • Select every chassis component with a temperature attribute greater than 40 degrees • chassis-module[@temperature &gt; 40] • Get the status of power supply B • chassis-module[name="Power Supply B"]/status

  12. Using XML for Network Management • Network Monitoring • Device Configuration • Network Provisioning • Fault diagnosis

  13. Network Monitoring • Applications periodically fetch operational content • Compare against historical data using XML diff tools, or transform data into a more appropriate format using XSLT • Use XSL to render output • Web page (XSLT) • Email (XSLT) • Report PDF (XSL-FO) • Example: Collecting hardware inventory

  14. Hardware Inventory Retrieve inventory data from network . . . . . . . Router A Router Z XSL Transformation Transform data into format required by inventory DB Add data to inventory DB Inventory DB

  15. Device Configuration • Configuration is exposed in XML elements • For example: <configuration> <protocols> <bgp> <group> <name>local</name> <neighbor> <name>10.0.0.1</name> <local-address>10.0.0.2</local-address> </neighbor> </group> </bgp> </protocols> </configuration>

  16. Device Configuration • Represent device configurations in XML • Configurations become malleable data, can be manipulated using standard tools • Add/delete/change configuration using XSL transformations • Store and retrieve configuration from an XML database

  17. Network Provisioning • Avoid writing multiple vendor-specific configuration parsers • Use XSLT to translate from vendor-neutral configuration to a vendor-specific configuration for each device • XML Schemas can provide data types, value ranges, regex matches, help information for vendor configuration • Enables provisioning tools to partially validate configuration before uploading to device

  18. Network Provisioning Vendor-independent configuration Device-specific Configuration Customer DB XSL Transformation Interface DB Policy DB Router(s)

  19. Diagnosing Faults • Everyone has “5 commands” to run when logging on to a sick router • Diagnose problems with network by running XSL scripts over XML output • XSL is a powerful tool • Inspect results from multiple commands • Discard normal output • Focus on abnormal situations • Use SVG (Scalable Vector Graphics (XML)) to graph historical values for data visualization • Target multiple routers

  20. Summary • Choosing XML simplifies application development • Widely available tools and information • Easy to understand text format • Larger talent pool of engineers • Offers a reliable alternative to Expect scripts • XML’s self-describing nature prevents problems with variations in CLI output • Enhances Interoperability • XML is a standard method of exchanging information between programs • Adopted by many industries – eCommerce, databases, networking, etc.

  21. Thank you! http://www.juniper.net

More Related