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