Introduction

Traceanal is the visualization service of traceroute information gathered by IEPM-BW. It provides the historical snapshot of network topology, from source to multiple destinations.

Implementation

It is implemented in Perl, while strictly following the Object Oriented approach. This made the code understandable and maintainable for future perspective. We can define our implementation in three layers.

Database Layer

The purpose of this layer is to interact with IEPM database and retrieve traceroute related information.

Middle Layer

This layer retrieves data from the Database layer and provide that data to presentation layer through defined interfaces. The main class of this layer is IEPM::IEPM_BW::Factory::TracerouteFactory.

Presentation Layer

It uses Middle layer to present that data in human readable form. Currently, we use Graphiz and HTML Table to represent that data.

Visualization

To visualize the traceroute information, we define the severity of an anomaly in traceroute.  Based on that severity, we decide which anomaly should be presented, e.g. If one traceroute has any missing hop plus a destination hop not responding. In our case, destination hop not responding is of high severity than any other missing hop. So we prefer to show destination hop not responding with a specified character instead of any other missing hop. The color represent severity and the character symbol represent anomaly.

Detail traceroute information is provided with the help of pop-ups. Pop-up over traceroute symbol provides the actual traceroute text with anomolies colored. E.g. checksum error is shown as orange and change in traceroute from the previous one is shown as red (intensity of redness specifies the severity of change).

Severity

Color

0

Green

1-3

Orange

4-5

Red

Symbol

Description

X

Host Unknown

U

No Output

u

The output is not parsable

N

The last hop is not responding

A

The Autonomous System change occured in traceroute

a

The Subnet Change occured in tracerotue

--

Stutter

!

Annotation

o

Some hop(s) are not responding.

~

Checksum error

  • No labels