NetML Network Markup Language - PowerPoint PPT Presentation

About This Presentation
Title:

NetML Network Markup Language

Description:

NetML. Network Markup Language. Ivan Santarelli. i.santarelli_at_tiscali.it. Alexandra Bellogini ... Describes a network at different levels of abstraction ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 41
Provided by: diaUni
Category:

less

Transcript and Presenter's Notes

Title: NetML Network Markup Language


1
NetMLNetwork Markup Language
  • Ivan Santarellii.santarelli_at_tiscali.it
  • Alexandra Belloginia.bellogini_at_tiscali.it

2
NetMLNetwork Markup Language
  • A language for describing computer networks
  • Based on XML
  • Describes a network at different levels of
    abstraction
  • The focus is on conceptual aspects rather than on
    configuration issues
  • Helps simplify network design
  • Allows quick specification and implementation of
    a network test-bed

3
NetMLCapabilities
  • Network topology
  • Data link level
  • AS (Autonomous System) level
  • Router configurations
  • Interfaces
  • BGP
  • RIP
  • Policies and Lists

4
The Netml approach
  • Analysis of the current implementation of the
    protocols
  • Cisco, Juniper, Zebra
  • Description using the ER (Entity-Relationship)
    model
  • ER-schemas for Cisco, Juniper, Zebra

5
The Netml approach (2)
  • Compare schemas
  • Identify a common schema common features plus
    the most interesting vendor-dependent parts
  • Translation of the ER common schema into an XML
    schema (an improved version of a DTD)

6
Cisco Juniper
7
Cisco Zebra
8
Cisco Juniper Zebra
9
BGP in NetML Entity Relationship
10
The NetML tools
  • An XML validating parser
  • An XML translator to vendor-specific
    configuration languages
  • Uses XSLT (eXtensible Stylesheet Language -
    Transformations)

11
What the user can do
  • Describe the network using NetML grammar
  • With a text editor
  • With an XML editor (with syntax checking and tag
    auto-completion)
  • Use the tools
  • Generate the configuration of each router
  • Generate a script for Netkit (virtual network
    environment)

12
An example network in NetMLConventions
13
An example network in NetMLConventions (2)
14
AS20
RIP BGP
AS100
AS200

15
NetMLTop level structure
ltNetMLgt ltAS-Listgt lt/AS-Listgt
ltebgpPeeringsgt lt/ebgpPeeringsgt ltNetworksgt
lt/Networksgt ltRoutersgt lt/Routersgt lt/NetML
gt
16
NetMLTop level structure
ltNetMLgt ltAS-Listgt lt/AS-Listgt
ltebgpPeeringsgt lt/ebgpPeeringsgt ltNetworksgt
lt/Networksgt ltRoutersgt lt/Routersgt lt/NetML
gt
17
NetMLThe AS level
  • ltAS-Listgt
  • ltAS number"AS100" gt
  • ......
  • lt/ASgt
  • ltAS number"AS20" gt......lt/ASgt
  • ltAS number"AS200" gt......lt/ASgt
  • lt/AS-Listgt

18
NetMLThe AS level
  • ltAS number"AS100" gt
  • ltInternalNetworksgt
  • ltn id"n-D"/gt
  • ltn id"n-H"/gt
  • ltn id"n-J"/gt
  • ltn id"n-L"/gt
  • ltn id"n-K"/gt
  • lt/InternalNetworksgt
  • ltBorderRoutersgt
  • ltr id"r_100_1"/gt
  • lt/BorderRoutersgt
  • lt/ASgt

19
NetMLThe AS level
  • ltAS number"AS100" gt
  • ltInternalNetworksgt
  • ltn id"n-D"/gt
  • ltn id"n-H"/gt
  • ltn id"n-J"/gt
  • ltn id"n-L"/gt
  • ltn id"n-K"/gt
  • lt/InternalNetworksgt
  • ltBorderRoutersgt
  • ltr id"r_100_1"/gt
  • lt/BorderRoutersgt
  • lt/ASgt

20
NetMLTop level structure
ltNetMLgt ltAS-Listgt lt/AS-Listgt
ltebgpPeeringsgt lt/ebgpPeeringsgt ltNetworksgt
lt/Networksgt ltRoutersgt lt/Routersgt lt/NetML
gt
21
NetMLSpecifying peerings
  • ltebgpPeeringsgt
  • ltP id"p01"gt... lt/Pgt
  • ltP id"p02"gt... lt/Pgt
  • ltP id"p03"gt... lt/Pgt
  • lt/ebgpPeeringsgt

22
NetMLSpecifying peerings (2)
  • ltebgpPeeringsgt
  • ltP id"p01"gt
  • ltPeeringSidegt
  • ltasgtAS100lt/asgt
  • ltroutergtr_100_1lt/routergt
  • ltifacegteth0lt/ifacegt
  • lt/PeeringSidegt
  • ltPeeringSidegt
  • ltasgtAS20lt/asgt
  • ltroutergtr_20_2lt/routergt
  • ltifacegteth0lt/ifacegt
  • lt/PeeringSidegt
  • lt/Pgt
  • ltP id"p02"gt... lt/Pgt
  • ltP id"p03"gt... lt/Pgt
  • lt/ebgpPeeringsgt


23
NetMLTop level structure
ltNetMLgt ltAS-Listgt lt/AS-Listgt
ltebgpPeeringsgt lt/ebgpPeeringsgt ltNetworksgt
lt/Networksgt ltRoutersgt lt/Routersgt lt/NetML
gt
24
NetMLNetworks and collision domains
  • ltNetworksgt
  • ltn id"n-A"gt...lt/ngt
  • ltn id"n-B"gt...lt/ngt
  • ltn id"n-C"gt...lt/ngt
  • lt/Networksgt

25
NetMLNetworks and collision domains
  • ltNetworksgt
  • ltn id"n-A"gt
  • ltnetworkAddressgt11.0.0.32/30lt/networkAddr
    essgt
  • ltCollisionDomainsgt
  • ltc id"A"gt
  • ltiface r_id"r_200_1" if"eth0"/gt
  • ltiface r_id"r_20_1" if"eth0"/gt
  • lt/cgt
  • lt/CollisionDomainsgt
  • lt/ngt
  • ltn id"n-B"gt lt/ngt
  • ltn id"n-C"gt lt/ngt
  • lt/Networksgt

26
NetMLNetworks and collision domains
  • ltNetworksgt
  • ltn id"n-A"gt
  • ltnetworkAddressgt11.0.0.32/30lt/networkAddr
    essgt
  • ltCollisionDomainsgt
  • ltc id"A"gt
  • ltiface r_id"r_200_1" if"eth0"/gt
  • ltiface r_id"r_20_1" if"eth0"/gt
  • lt/cgt
  • lt/CollisionDomainsgt
  • lt/ngt
  • ltn id"n-B"gt lt/ngt
  • ltn id"n-C"gt lt/ngt
  • lt/Networksgt

27
NetMLNetworks and collision domains
  • ltNetworksgt
  • ltn id"n-A"gt
  • ltnetworkAddressgt11.0.0.32/30lt/networkAddr
    essgt
  • ltCollisionDomainsgt
  • ltc id"A"gt
  • ltiface r_id"r_200_1" if"eth0"/gt
  • ltiface r_id"r_20_1" if"eth0"/gt
  • lt/cgt
  • lt/CollisionDomainsgt
  • lt/ngt
  • ltn id"n-B"gt lt/ngt
  • ltn id"n-C"gt lt/ngt
  • lt/Networksgt

28
NetMLNetworks and collision domains
  • ltNetworksgt
  • ltn id"n-A"gt
  • ltnetworkAddressgt11.0.0.32/30lt/networkAddr
    essgt
  • ltCollisionDomainsgt
  • ltc id"A"gt
  • ltiface r_id"r_200_1" if"eth0"/gt
  • ltiface r_id"r_20_1" if"eth0"/gt
  • lt/cgt
  • lt/CollisionDomainsgt
  • lt/ngt
  • ltn id"n-B"gt lt/ngt
  • ltn id"n-C"gt lt/ngt
  • lt/Networksgt

11.0.0.32/30
29
NetMLTop level structure
ltNetMLgt ltAS-Listgt lt/AS-Listgt
ltebgpPeeringsgt lt/ebgpPeeringsgt ltNetworksgt
lt/Networksgt ltRoutersgt lt/Routersgt lt/NetML
gt
30
NetMLRouter configuration
  • ltRoutersgt
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt...lt/R
    outerConfgt
  • ltRouterConf id"r_20_2" Hostname"as20r2"gt...lt/R
    outerConfgt
  • ltRouterConf id"r_100_1" Hostname"as100r1"gt...lt
    /RouterConfgt
  • ...
  • lt/Routersgt

31
NetMLRouter configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltInterface name"eth0"gt
  • ltipAddressgt11.0.0.34/30lt/ipAddressgt
  • lt/Interfacegt
  • ltInterface name"eth1"gt...lt/Interfacegt
  • ltPolicy name"RedistConnecteds"gt
  • ltRedistributiongt
  • ltfrom_protocolgtconnectedlt/from_prot
    ocolgt
  • ltto_protocolgtbgplt/to_protocolgt
  • lt/Redistributiongt
  • lt/Policygt
  • ltBGPConf as"..."gt...lt/BGPConfgt
  • ltRipConfgt ..... lt/RIPConfgt
  • lt/RouterConfgt

32
NetMLRouter configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltInterface name"eth0"gt...lt/Interfacegt
  • ltInterface name"eth1"gt...lt/Interfacegt
  • ltPolicy name"RedistConnected"gt
  • ltRedistributiongt
  • ltfrom_protocolgtconnectedlt/from_prot
    ocolgt
  • ltto_protocolgtbgplt/to_protocolgt
  • lt/Redistributiongt
  • lt/Policygt
  • ltBGPConf as"..."gt...lt/BGPConfgt
  • ltRipConfgt ..... lt/RIPConfgt
  • lt/RouterConfgt

33
NetMLBGP configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltBGPConf as"20"gt
  • ltStaticRoutesgt
  • lts address"0.0.0.0/0"/gt
  • lts address"..."/gt
  • lt/StaticRoutesgt
  • ltPolicy type"export"gtRedistConnectedlt
    /Policygt
  • ltPeerGroup name"EBGP"gt...
    lt/PeerGroupgt
  • lt/BGPConfgt
  • lt/RouterConfgt

34
NetMLBGP configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltBGPConf as"20"gt
  • ltStaticRoutesgt
  • lts address"0.0.0.0/0"/gt
  • lts address"..."/gt
  • lt/StaticRoutesgt
  • ltPolicy type"export"gtRedistConnectedlt
    /Policygt
  • ltPeerGroup name"EBGP"gt...
    lt/PeerGroupgt
  • lt/BGPConfgt
  • lt/RouterConfgt

35
NetMLBGP configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltBGPConf as"20"gt
  • ltStaticRoutesgt...lt/StaticRoutesgt
  • ltPolicy type"export"gtRedistConnectedlt
    /Policygt
  • ltPeerGroup name"EBGP"gt
  • ltNeighbor address"11.0.0.33"gt
  • ltDescriptiongtRouter
    as200r1lt/Descriptiongt
  • ltDefault-Originate/gt
  • ltPeer-AS name"200"/gt
  • ltList type"Prefix"
    inOut"export"gtdefaultOutlt/Listgt
  • ltList type"Prefix"
    inOut"import"gtcustomerInlt/Listgt
  • lt/Neighborgt
  • ltNeighbor address"11.0.0.5"gt......
    lt/Neighborgt
  • lt/PeerGroupgt
  • ltPeerGroup name"IBGP"gt......lt/PeerGro
    upgt
  • lt/BGPConfgt
  • lt/RouterConfgt

36
NetMLRIP configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltRipConfgt
  • ltneighbourgt
  • ltaddressgt100.1.0.0/24lt/addressgt
  • lt/neighbourgt
  • ltpolicy typeexport nameredist-conn/gt
  • lt/RipConfgt
  • lt/RouterConfgt

37
NetMLRIP configuration
  • ltRouterConf id"r_20_1" Hostname"as20r1"gt
  • ltRipConfgt
  • ltneighbourgt
  • ltaddressgt100.1.0.0/24lt/addressgt
  • lt/neighbourgt
  • ltpolicy typeexport nameredist-conn/gt
  • lt/RipConfgt
  • lt/RouterConfgt

38
NetML
  • Live example

39
References and links
  • Automatic generation of XML DTDs from conceptual
    database schemaCarsten Kleiner and Udo W.
    Lipeckhttp//dbs.uni-leipzig.de/webdb/wien/015.pd
    f
  • NetML Homepagehttp//www.dia.uniroma3.it/compun
    et/netml/http//giga.dia.uniroma3.it/ivan/NetML/
  • Compunet Homepagehttp//www.dia.uniroma3.it/com
    punet/
  • Netkit web sitehttp//www.netkit.org/

40
NetML
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com