XML-based Network Management Rob Enns [email protected].
-
Upload
johana-purdon -
Category
Documents
-
view
233 -
download
0
Transcript of XML-based Network Management Rob Enns [email protected].
XML-based Network Management
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
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
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
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>
<?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> <age seconds="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>
XML Example
Advantages of XML
Handles forward and backward compatibility
Widely available toolsWidely implemented standard
http://www.w3c.org/xml
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
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
XSL Functionality
XSLTProcessor
XSLTStylesheet
XMLInput
Document
XMLOutput
Document
XSLT can make: XML, XHTML, Text, SVG, XSLT
<TD>MTU: 1500</TD>
<mtu>1500</mtu>
<TD>MTU: <xsl:value-of=“.”/></TD>
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 > 40]
Get the status of power supply B chassis-module[name="Power Supply B"]/status
Using XML for Network Management
Network Monitoring Device Configuration Network Provisioning Fault diagnosis
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
Hardware Inventory
Inventory DB
Router A
Router Z
. . . . . .
.
Retrieve inventory data from network
Transform data into format required by inventory DB
Add data to inventory DB
XSL Transformation
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>
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
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
Network Provisioning
Router(s)
Customer DB
Interface DB
Policy DB
XSL Transformatio
n
Device-specific
Configuration
Vendor-independent configuration
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
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.