Title: XML-based Network Management
1XML-based Network Management
- Rob Enns
- rpe_at_juniper.net
2Introduction
- 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
3XML
- 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
4Why 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
5XML Elements
- Six main constructs
- Open tags lttaggt
- Close tags lt/taggt
- Data lttaggtdatalt/taggt
- Empty tags lttag/gt
- Attributes lttag foobar googar/gt
- Namespaces
lthomegt ltaddressgt123 Main Streetlt/addressgt
ltnetwork xmlnsns2my.identifying.stringgt
ltns2addressgt10.0.0.1lt/ns2addressgt
lt/networkgt lt/homegt
6XML Example
- lt?xml version"1.0" encoding"UTF-8"?gt
- ltroutegt
- ltdestinationgt10.3.1.1/32lt/destinationgt
- ltroute-entrygt
- ltcurrent-active/gt
- ltprotocol-namegtBGPlt/protocol-namegt
- ltpreferencegt170lt/preferencegt
- ltage seconds"1749"gt002909lt/agegt
- ltlocal-preferencegt100lt/local-prefe
rencegt - ltlearned-fromgt10.17.136.2lt/learned
-fromgt - ltas-pathgt1403 170 39 Ilt/as-pathgt
- ltnhgt
- ltselected-next-hop/gt
- lttogt192.168.1.254lt/togt
- ltviagtge-0/0/0.0lt/viagt
- lt/nhgt
- lt/route-entrygt
- lt/routegt
7Advantages of XML
- Handles forward and backward compatibility
- Widely available tools
- Widely implemented standard
- http//www.w3c.org/xml
8DTDs 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
9XSL
- XML Stylesheet Language
- Originally intended for rendering XML
- Powerful enough for generic transformations
- Two branches of the technology
- XSLT XSL Transformations
- XML-gtXML 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
10XSL Functionality
XSLT Stylesheet
ltTDgt MTU ltxslvalue-of./gt lt/TDgt
XML Input Document
XML Output Document
ltmtugt 1500 lt/mtugt
XSLT Processor
ltTDgt MTU 1500 lt/TDgt
XSLT can make XML, XHTML, Text, SVG, XSLT
11XPath
- 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-n
umber - Select every chassis component with a temperature
attribute greater than 40 degrees - chassis-module_at_temperature gt 40
- Get the status of power supply B
- chassis-modulename"Power Supply B"/status
12Using XML for Network Management
- Network Monitoring
- Device Configuration
- Network Provisioning
- Fault diagnosis
13Network 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
14Hardware Inventory
. . . . . . .
- Retrieve inventory data from network
Router A
Router Z
XSL Transformation
- Transform data into format required by inventory
DB
Inventory DB
15Device Configuration
- Configuration is exposed in XML elements
- For example
ltconfigurationgt ltprotocolsgt ltbgpgt
ltgroupgt
ltnamegtlocallt/namegt ltneighborgt
ltnamegt10.0.0.1lt/namegt
ltlocal-addressgt10.0.0.2lt/local-addre
ssgt lt/neighborgt
lt/groupgt lt/bgpgt lt/protocolsgt lt/configu
rationgt
16Device 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
17Network 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
18Network Provisioning
Vendor-independent configuration
Device-specific Configuration
Customer DB
XSL Transformation
Interface DB
Policy DB
Router(s)
19Diagnosing 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
20Summary
- 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
- XMLs 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.
21Thank you!