Git Product home page Git Product logo

diamond-miner's Introduction

Diamond-Miner 💎

Tests Coverage Documentation PyPI

D-Miner is the first Internet-scale system that captures a multipath view of the topology. By combining and adapting state-of-the-art multipath detection and high speed randomized topology discovery techniques, D-Miner permits discovery of the Internet’s multipath topology in 2.5 days1 when probing at 100kpps.2

🚀 Quickstart

Diamond-Miner is implemented as a Python library which computes the probes to send. To actually send the probes, we recommend Caracal but you can use the tool of your liking, such as yarrp or scamper as long as you convert its output to the expected format described in the documentation.

To get started, install Diamond-Miner and head over to the documentation:

pip install diamond-miner

Publications

Diamond-Miner has been presented and published at NSDI 2020. Since then, the code has been refactored and separated in the diamond-miner and caracal repositories. The code as it was at the time of the publication is available in the diamond-miner-cpp and diamond-miner-wrapper repositories.

If you use Diamond-Miner, please cite the following paper:

@inproceedings {DiamondMiner2020,
  author = {Kevin Vermeulen and Justin P. Rohrer and Robert Beverly and Olivier Fourmaux and Timur Friedman},
  title = {Diamond-Miner: Comprehensive Discovery of the Internet{\textquoteright}s Topology Diamonds },
  booktitle = {17th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 20)},
  year = {2020},
  isbn = {978-1-939133-13-7},
  address = {Santa Clara, CA},
  pages = {479--493},
  url = {https://www.usenix.org/conference/nsdi20/presentation/vermeulen},
  publisher = {{USENIX} Association},
  month = feb,
}

Authors

Diamond-Miner is developed and maintained by the Dioptra group at Sorbonne Université in Paris, France. The initial version has been written by Kévin Vermeulen, with subsequents refactoring and improvements by Maxime Mouchet and Matthieu Gouel.

License & Dependencies

This software is released under the MIT license, in accordance with the license of its dependencies.

Name License Usage
pych-client MIT Querying the database
pygfc MIT Generating random permutations
python-zstandard 3-clause BSD Compression

Footnotes

  1. As of v0.1.0, diamond-miner can discover the multipath topology in less than a day when probing at 100k pps.

  2. Vermeulen, Kevin, et al. "Diamond-Miner: Comprehensive Discovery of the Internet's Topology Diamonds." 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). 2020.

diamond-miner's People

Contributors

maxmouchet avatar matthieugouel avatar dependabot[bot] avatar kvermeul avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.