Introduction
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
Implementations
There are two implementations of Diamond-Miner:
diamond-miner-cpp
the original implementation in C++ that have been used for the NSDI 2020 paper2. This implementation is not maintained anymore.- This implementation,
diamond-miner
, a rewrite of the core algorithm in Python and ClickHouse SQL. This implementation is maintained and used in production. It supports IPv4 and IPv6.
Installation
Diamond-Miner requires Python 3.10+.
Publication
Diamond-Miner has been presented and published at NSDI 2020. 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,
}
-
As of v0.1.0, diamond-miner can discover the multipath topology in less than a day when probing at 100k pps. ↩
-
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. ↩↩