Cesnet Liberouter
  • Projects
  • Liberouter
  • Scampi
  • FlowMon
  • NIC
  • NIFIC
  • IDS
  • NetCOPE
  • VHDL design
  • System software
  • Testing
  • Formal verification
  • Netopeer
  • Documents
  • Our hardware
  • Card Availability
  • Our partners
 

About Netopeer

The Netopeer software system deals with configurations of IPv6 and IPv4 routers and other devices such as the autonomous NetFlow probe. A typical setup is shown in Figure 1: Configurations are created on the manager station, which stores them as XML documents in the configuration repository and also - if instructed to do so - converts them into the native configuration language of the target device and install them in it.

Netopeer setup

Figure 1. Typical setup of the Netopeer system

For the most part, the Netopeer system is a set of programs running on the manager station. The overall architecture is shown in Figure 2. In its upper half are front-ends that realize the user interface, transform user input into an XML document and store it in the repository. For translation into the language of the target router, front-ends use an appropriate back-end, which is available to them as a library function.

Block diagram of manager architecture

Figure 2. Software architecture of the manager application

The configuration language for a particular application is defined using an XML schema. We use the RELAX NG schema description language that also allows to express syntactic and semantic constraints for data items. The schema also includes (via a separate name space) various hints that provide front-ends with information about data rendering, contextual help etc.

At the moment, two different schemas are used:

  • schema for router configuration currently includes configuration of network interfaces (including tunnels and VLANs), basic system configuration (DNS, NTP etc.), packet and route filters, static routing and three major routing protocols (RIP, OSPF and BGP).
  • schema for the NetFlow probe allows to configure the probe itself (active and inactive timeouts, hardware sampling properties) as well as any number of collectors.

Front-ends

The only usable interactive front-end is the command-line interface (CLI) whose syntax is derived directly from the XML schema. We also plan to develop a web front-end that should generate the web forms dynamically by utilizing the hints as well.

A batch-oriented front-end is also available - it allows translating a subset of Cisco IOS configuration into the Netopeer XML language.

Back-ends

Two functional back-ends are currently available:

  • Cisco IOS back-end translates Netopeer router configuration into Cisco IOS commands that must be manually installed to the target Cisco router.
  • Unix back-end currently supports Linux together with the Zebra routing daemon.

Netconf

An interesting addition to the system is the netconf module based on the netconf protocol that is being developed in the IETF. This protocol is also based on XML and so fits very well into the Netopeer architecture. Our first implementation of netconf uses the BEEP transport protocol.

Metaconfiguration

An interesting application that is being developed on top of the Netopeer system is metaconfiguration, which enables configurations of entire networks based on higher level information. This application will automatically generate low-level configurations of individual routers in the Netopeer XML. It uses a special schema (also in RELAX NG) covering all fundamental areas (addressing, routing and filtration) and a graphical user interface is also being designed. The details are described in the CESNET technical report TR27/04.

Main Page About Liberouter Team Mailing list SVN Contacts