En route to CAIDA topology map

Wednesday, March 30th, 2011

In my current endeavor to make the BGP-Graph comprehensible a few huge leaps have been made. If you are familiar with other work in this field you may know the following image. (source)

Internet topology map from

Internet topology map from

Although this rendering does convey a few insights that are not plainly visible looking at the graph data, it still has some serious drawbacks. My main criticism is that it is  fixed image that does not allow easy reuse of the underlying data or any interactivity such as querying and highlighting certain parts of the graph. Also it is not possible to watch changes in this graph in relation to events like 2008′s severing of a FLAG submarine cable leaving much of the middle east with poor Internet speeds. (BBC article)

As you could see in previous articles, it is not trivial to turn such a huge graph into something meaningful. A main problem has been that the force-based graph layout that I employed takes very long to converge if I impose too many restrictions that limit the complexity of the resulting layout. My new approach is to help the force-based algorithm by providing it with a meaningful initialization of the graph layout. Using the CAIDA as-rank dataset I determined a circle radius on which each Autonomous System is placed. The initial angle at which the AS is placed was then calculated using the country code in the WHOIS information obtained from APNIC and the other RIRs.

After this initial placement the movement of the graph nodes was restricted to the angle. The force-based layout algorithm then spread the ASes and also moved a fair few of them away from the United States, where many of them are registered although their main business is done elsewhere. The resulting positions can then be rendered and update in realtime using any decent graphics card.

Longitude based layout of graph

Longitude based layout of graph

There is still a lot of work left but this seems to me like a rather significant breakthrough. Next I will try to integrate my clustering algorithms into the rendering, stay tuned for more…

Next up: Bachelor Thesis

Friday, January 28th, 2011

It looks like I have finally gotten myself a subject for my bachelors thesis:

Interactive 3D routing graph visualization (working title)
My supervisors are Dirk Haage and Johann Schlamp from the chair for “Network Architectures and Services” at TU München

What I’m trying to accomplish is to build a tool to visualize the data collected in the routeviews project. This project hosts dumps of the routing tables from several locations around the world. This data contains information about paths that can be used if you want to contact a certain IP-address. Such a table tells an AS (Autonomous System) which remote AS brings it closer to a certain ip address. After several such hops you get a route to your target address.

The data contained in these tables is quite massive (full dump means ~1GB) and requires extensive caching and preparsing. But also if you go a step further and consider the graph that is defined through hops from AS to AS you are looking at ~30.000 nodes and ~70.000 individual links (each of which may be used in thousands of routes!) The main goal of my thesis is to render this graph in such a way that is not just visually pleasing but actually enables the user to explore and understand the complex structure of the graph. To avoid ending up with a hairball (which you can see below) I intend to try several graph clustering and layout algorithms (spring based layoutsLGL, …)

Another main aspect will be to integrate data from various sources, so a user is not forced to copy & paste data all the time when he just wants to look up some additional information.

In order to work with such complex information I will build an extensive GUI interface that enables panning, zooming and rotation and selection through mouse and keyboard controls. To complement this, another fundamental part will be an extensive console interface that allows for complex queries. If I find the time (thumbs pressed) I will post updates on my progress from time to time.

Early screenshot of my bachelor thesis

Early screenshot of my bachelor thesis