MCA
This tool implements the Multipath Classification Algorithm (MCA), an extension to Paris traceroute and the Multipath Detection Algorithm (MDA). MCA can detect routers that perform load balancing and identify what fields in the IP and transport headers are used for load balancing.
A more detailed explanation of MCA, together with a characterization of load balancing appeared in our INFOCOM 2020 paper:
R. Almeida, Í. Cunha, R. Teixeira, D. Veitch, and C. Diot. "Classification of Load Balancing in the Internet". In Proc. IEEE INFOCOM, 2020. PDF BibTeX
Installation
MCA has been tested on Linux. It requires Python 3.6+ and Scapy 2.4+. The latest version is available on PyPI, the Python Package Index:
pip3 install mca-traceroute
mca-traceroute --help
You can also run MCA as a Python module directly from the Git repository. You may need to install Scapy as root as MCA requires root privileges to execute.
sudo pip3 install scapy
git clone https://github.com/rlcalmeida/mca.git
cd mca
sudo python3 -m mca --help
Additional Resources
Route Explorer is a visualization framework for MCA results. It renders MCA measurements in a Web browser using Javascript libraries and supports IP-to-AS, AS-to-name, and rDNS metadata. Our paper's dataset and some example load balancers configuration are publicly available.
Metadata
Release files for mca-traceroute 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mca-traceroute-1.0.0.tar.gz | 14.7 kB | Without provenance | Details for mca-traceroute-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mca_traceroute-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for mca_traceroute-1.0.0-py3-none-any.whl |
Total release size: 42.9 kB
Release files / mca-traceroute-1.0.0.tar.gz
| Download URL | mca-traceroute-1.0.0.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c7469f3b2572f75c26d6ad996db14936b9b8891fe53a43840d294fb4d58687a
|
|
BLAKE2b-256 checksum How to use checksums |
fb0163e3a0bb3905bc620c42f644dc1a20163443e9b19615901849fe493c243f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3
|
Release files / mca_traceroute-1.0.0-py3-none-any.whl
| Download URL | mca_traceroute-1.0.0-py3-none-any.whl |
|---|---|
| Size | 28.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c771b7c7616430043eb1a221790211207bb496b8c3e6f78edc4e56456d0d7ed
|
|
BLAKE2b-256 checksum How to use checksums |
7471df5c13fab038ca21fb64dda3418e4613ca8357fbdcf0b62598b2372a0647
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3
|
Security for mca-traceroute 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.