How many ways are there to describe a computer network? Maybe one...

Disambiguation: NetML is also the name of a network design system developed by prof. Ronald G. Addie et al. If that is the system you are looking for, you may want to consider having a look at the pertaining Google Code page and at a reference paper.
Otherwise, enjoy your stay on this web site.

Home | News | Detailed Information | Download | Configuration Examples | Publications and Contacts

Describing and configuring a computer network is a hard task. Most of the configuration work is performed manually, and furthermore this process depends on vendor specific features of network devices. NetML was born as an effort to tackle this problem.

NetML is an XML based, open source markup language to describe computer networks. The main objectives taken into account in defining it are:

NetML can be used to describe a network at the Autonomous System level or at a lower level (i.e., ISO-OSI level 2). Starting from these descriptions, it is possible to configure both routers (Cisco, Juniper, or Zebra) and firewalls (Iptables, Cisco PIX, Ipfilter, or Ipfirewall). NetML provides you with a suite of tools to automatically build these configurations.

In order to test the generated configurations, the NetML tools also allow to create a script that can be used with the Netkit network emulation toolkit. This eases experimenting with the network before deploying it on real devices.

The approach used within the NetML project is the one typically adopted when dealing with XML based languages. Network descriptions are written according to the NetML grammar (i.e., an XmlSchema instance). XSLT (eXtensible Stylesheet Language Transformations) is then used to generate the configuration files for different types of routers and firewalls.

NetML resources can be found at the following links: