Skip to content

DisNETPerf - a Distributed Internet Paths Performance Analyzer

License

Notifications You must be signed in to change notification settings

SAWassermann/DisNETPerf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DisNETPerf

DisNETPerf

DisNETPerf - a Distributed Internet Paths Performance Analyzer - is a tool that allows one to locate the closest RIPE Atlas box (in terms of minimum RTT) to a given IP. You can either run DisNETPerf for a single IP or for a set of IPs.

Furthermore, once the closest RIPE Atlas box has been located, DisNETPerf permits to launch traceroutes from this box to a destination IP address provided by the user.

RIPE Atlas is a large active measurement network composed of geographically distributed probes used to measure Internet connectivity and reachability.

Given a certain server, with IP address IPs, and a target customer, with IP address IPd, DisNETPerf locates the closest RIPE Atlas probe to IPs, namely IPc, and periodically runs traceroute from IPc to IPd, collecting different path performance metrics such as RTT per hop, end-to-end RTT, etc. The collected data is then used to troubleshoot ''reverse'' paths, from the server to the target customer.

To select IPc, DisNETPerf makes use of a combined topological and latency-based approach, using standard pings and BGP routing tables. In a nutshell, it locates the RIPE Atlas probe with minimum RTT to the selected server IPs, among a set of prefiltered IPc candidates, which are located at either the same AS of IPs or in the neighbor ASes.

The complete documentation can be found in the .rst files located in the folder docs or simply on Read the Docs.

List of runnable scripts

  • find_psbox.py: locate the closest boxes for a set of IPs

  • launch_traceroutes.py: launch traceroutes from RIPE Atlas boxes to a given destination IP address

  • get_traceroute_results.py: Retrieve the results of the launched traceroute-measurements

All the scripts whose names are prefixed with AUX_ cannot be run but are used by the scripts explained above.

Structure

DisNETPerf is structured into 6 folders:

  • docs: contains .rst files explaining how to use DisNETPerf
  • input: should include the files used as input for DisNETPerf
  • lib: contains datasets needed in order to locate the closest RIPE Atlas boxes
  • logs: includes log-files
  • output: the result-files generated by DisNETPerf are saved into this folder
  • disnetperf: includes all the Python scripts

Prerequisites

To run DisNETPerf, Python 2.7 or 3.5+ must be installed. You can download Python on https://www.python.org/.

Papers related to DisNETPerf

Several papers about DisNETPerf have been published:

[1] On the Analysis of Internet Paths with DisNETPerf, a Distributed Paths Performance Analyzer
S. Wassermann, P. Casas, B. Donnet, G. Leduc, M. Mellia
in Proceedings of the 10th IEEE Workshop on Network Measurements (WNM), Dubai, United Arab Emirates, 2016

[2] Towards DisNETPerf: a Distributed Internet Paths Performance Analyzer
S. Wassermann, P. Casas, B. Donnet
in Proceedings of the ACM CoNEXT Student Workshop, Heidelberg, Germany, 2015

[3] Reverse Traceroute with DisNETPerf, a Distributed Internet Paths Performance Analyzer
S. Wassermann, P. Casas
in Proceedings of Demonstrations of the 41th Annual IEEE Conference on Local Computer Networks (LCN-Demos 2016), Dubai, United Arab Emirates, 2016

[4] Unveiling Network and Service Performance Degradation in the Wild with mPlane
P. Casas, P. Fiadino, S. Wassermann, S. Traverso, A. D'Alconzo, E. Tego, F. Matera, M. Mellia
in IEEE Communications Magazine, Network Testing Series, 2016, issue 3

If you use DisNETPerf in your work, please cite [1]

@article{disnetperf,
 author               = {Wassermann, S. and Casas, P. and Donnet, B. and Leduc, G. and Mellia, M.}, 
 journal              = {{Proc. 10th IEEE Workshop on Network Measurements (WNM)}}, 
 month                = {November}, 
 title                = {{On the Analysis of Internet Paths with DisNETPerf, a Distributed Paths Performance Analyzer}}, 
 year                 = {2016}, 
 }

Acknowledgement

This work has been partially funded by the European Commission funded mPlane ICT-318627 project (www.ict-mplane.eu).

mPlane

Authors

About

DisNETPerf - a Distributed Internet Paths Performance Analyzer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages