A Software Toolkit for Visualizing Enterprise Routing Design

logo

Download

Installation

Usage

1. Router configuration file
2. CDP neighbor log file
3. Run the executable

Examples

How to read the generated graph


Download:

Please contact Xin Sun (sun19@purdue.edu) or Jinliang Wei (jlwei@purdue.edu) to request the software.

Currently only Linux is supported.

If you want to cite this tool, please cite the following paper instead:
X. Sun, J. Wei, S. Rao and G. G Xie, "A Software Toolkit for Visualizing Enterprise Routing Design", Symposium on Configuration Analytics and Automation (IEEE SafeConfig), 2011


Installation:

1. Download and install Perl 5.

2. Install the following CPAN modules. Instructions on how to install each module can be found here.

Graph-0.94

Net::IP-1.25

NetAddr::IP-4.043

Net::Netmask-1.9016

3. Install GraphViz. Here we use the dot module to help generate the graph.

4. Download and unzip the package. The main executable is analysis.pl.


Usage:

1. Router configuration file

The major input file is router configuration file. The toolkit only deals with Cisco router configuration files. The configuration can be got by run "show running-config" on one router and redirect the output to a file. The configurations of all routers in the network should be assembled together in one file as the following format:

< router 1's name >

router 1's configuration

< router 2's name >

router 2's configuration

< router 3's name >

....

The finally assembled file should be named as "all-config.$date", where $date represents the date when the file is produced.

2. Router CDP neighbor log file

By executing "show cdp nei", each router's CDP neighbor log can be got. The "show running-config" command may get the configurations of those routers that are not participating in the network's routing session, such as the lay-2 switches or the retired routers. The purpose of this file is to determine which routers are actually participating in the routing session.

This file should be named as "cdp-neighbor.$date", where $date represent the date when the file is produced.

3. Running the executable

The executable can be run as the command below:

./analysis.pl $date $config-directory $hasCDP

$date is the date when the configuration and the CDP file were produced. $config-directory is the directory where the files are placed. $hasCDP is 1 or 0 indicating whether the CDP neighbor log file exists or not.

The output of the program is a graph named "instance.$date.png" Please check here if there is any question about how to read the graph.

4. Runtime options

-v produce verbose output. Below is the list of files that the program produces to help show the network architecture.

IP_router.dat IP-name mappings of each router.
subnet_interface.log interface-IP mappings for each interface.
No_SNMP_session.log routers that do not run SNMP sessions.
RDST.log infomation on route redistribution configuration.
ValidDevice.$date valid routers, ie. routers that actively participate in the network's routing session.
instance.$date.dot the dot file that dot uses to generate the graph. The user may tune the file and run dot independently to obtain revised graph.

-t produce another type of graph, which may be pdf jpg ps.

©Copyright 2007 - Internet Systems Lab - Purdue University