JefGrailet / WISE

Public repository for WISE (Wide and lInear Subnet inferencE), a subnet inference tool.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WISE (Wide and lInear Subnet inferencE)

By Jean-François Grailet (last updated: July 3, 2020)

Overview

WISE is a new subnet inference tool which purpose is to overcome the limitations of state-of-the-art tools such as TreeNET and ExploreNET, in terms of both accuracy and performance. In particular, it is able to complete its subnet inference in a time proportional to the amount of responsive IPs found within a target domain, which drastically reduces its execution time on large target networks.

WISE is designed such that it first completely analyzes the target network to both detect responsive IPs and collect some data on each (such as their respective distance as a minimal Time To Live value to get a proper reply) before conducting any subnet inference. All preliminary steps are accomplished in a linear time, but in practice, the data collection process uses some heuristics to speed up the whole process. If we except a short preliminary step which conducts alias resolution on a restricted set of IPs, the subnet inference itself is completely offline and is achieved by processing all discovered and analyzed IP addresses one by one, aggregating them in consecutive subnets (with respect to the address space).

WISE is currently only available for IPv4, but its design is arguably much better suited for IPv6 than previous subnet inference tools. It also comes as a 32-bit application (written in C/C++ for Linux distributions) to ensure compatibility with all testbed environments.

About development

WISE has been expanded into a new tool: SAGE. Future updates of WISE will therefore mostly consist of minor fixes and adjustements that will also be applied to SAGE.

It's worth noting that WISE is coded such that it can run on any machine, and in particular old environments. Indeed, WISE has been deployed almost exclusively on the PlanetLab testbed (which will be shut down during 2020, as explained here), where a lot of machines used to be 32-bit systems running with Fedora 8. This is why it is still designed to be a 32-bit application and why it doesn't use features from C++11 and onwards.

Publications

WISE and its measurements are presented and discussed in two peer-reviewed publications. People wishing to get a big picture on the software free of implementation details are encouraged to read them.

Content of this repository

This repository consists of the following content:

  • Dataset/ provides measurements collected for various Autonomous Systems (or ASes) from the PlanetLab testbed with WISE, from Fall 2018 to December 2019. Note that the earliest datasets only consist of IP dictionaries, as we used them to study our target networks and progressively design the final WISE v1.0.

  • Evaluation/ provides several sub-folders consisting of Python scripts written to build figures and the figures that were obtained on our public dataset. The purpose of each kind of figure is further described in additional README files. Two sub-folders in particular also briefly review how we validate WISE and compare it to TreeNET and ExploreNET and how we evaluate the neighborhoods discovered with WISE v1.1.

  • v1/ provides all the source files of WISE v1.1, along some instructions to build and use it.

Disclaimer

WISE was written by Jean-François Grailet, currently Ph. D. student at the University of Liège (Belgium) in the Research Unit in Networking (RUN).

Contact

E-mail address: Jean-Francois.Grailet@uliege.be

Personal website: http://www.run.montefiore.ulg.ac.be/~grailet/

Feel free to send me an e-mail if your encounter problems while compiling or running WISE. I am also inclined to answer questions regarding the algorithms used in WISE and to discuss its application in other research projects.

About

Public repository for WISE (Wide and lInear Subnet inferencE), a subnet inference tool.


Languages

Language:C++ 90.6%Language:Python 5.6%Language:Makefile 3.1%Language:Shell 0.7%