Goals

The goal of this project was to develop and create an online internet topology platform with both a visualizer and simulator of Africa's internet topology. The visualizer was to create a map that shows the interconnection of various between various ASNs and IXPs. The simulator was to evaluate how various ISPs could peer at Africa IXPs and how the internet performance affected would be affected.

The research questions we worked on are:

  • How efficient are the current internet measuring techniques used in collecting data?
  • How can we implement visualization of a constantly updating internet topology?
  • How do various ISPs in Africa peer at local African IXPs?
  • What will be the effect peering African ISPs at local IXPs on internet performance in Africa?

Gant Chart

The Gantt chart of the project is attached and shown below:


Risks and Risk management

The risk matrix that was developed is shown below:

Proposed Architecture

The system is made up of 5 main components namely: system web view, internet measuring platforms, internet measurements collector, databases and the database server. System web view is the user interface of the system which contains both the simulator and the visualizer. The web view provides the user with the functionality to view and simulate the Africa internet topology. The internet measurements collector collects traceroute measurements from the internet measuring platforms namely: CAIDA, RIPE and Speedchecker. The collection component contains a python script which runs after every three hours and collects internet measurements from three measuring platforms. The database server has four components namely: data mapper, query manager, request handler and the response handler. The data mapper maps and structure the data collected in order to be stored in the databases. The query manager handles the various queries sent to the databases. The request and the response handlers manages the data requests and responses sent to and from web view to the databases. The system has two databases namely: traceroute database and nodes and links database. The traceroute database stores the traceroute measurements from the different measuring platforms while the nodes and links database stores data on links and the nodes. Since to plot the internet topology nodes and links are needed, the traces stored in the traceroute database were used to model links and nodes. The modelled links and nodes were stored separately from the traces to ensure that when the client wants to visualize or simulate internet topology, nodes and links could be loaded faster. To allow flexibility of our database and higher availability, both databases that were developed are noSQL.



Project proposal