Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.28 KB

README.md

File metadata and controls

68 lines (46 loc) · 2.28 KB

ProbLink

What is ProbLink?

ProbLink is a probabilistic AS relationship inference algorithm, which does inference based on key AS-interconnection features derived from stochastically informative signals. Learn more about ProbLink in our NSDI paper.

Quickstart

To get started using ProbLink, clone or download this GitHub repo.

Install Python dependencies

$ pip install --user -r requirements.txt

Prepare BGP paths

You can prepare BGP paths of your interest and save them to a file 'rib.txt'. The ASes on each BGP path should be delimited by '|' on each line, for example, AS1|AS2|AS3.

We provide a script (bgp_path_downloader.py) for downloading BGP paths collected from all route collectors in RouteViews and RIPE NCC towards IPv4 prefixes by using BGPStream. Follow the instructions to install BGPStream V2 first and then install pybgpstream.

$ python bgp_path_downloader.py -s <start date> -d <duration (in seconds)>

# for example, to download BGP paths on 06/01/2019 from all available route collectors
$ python bgp_path_downloader.py -s 06/01/2019 -d 86400
# BGP paths are written to 'rib.txt'.

Download AS to Organization Mapping Dataset from CAIDA

https://www.caida.org/data/as-organizations/

Download PeeringDB Dataset from CAIDA

Before March 2016: http://data.caida.org/datasets/peeringdb-v1/

After March 2016: http://data.caida.org/datasets/peeringdb/

Parse downloaded BGP paths

$ python bgp_path_parser.py <peeringdb file> 
# Output is written to 'sanitized_rib.txt'.

Run AS-Rank algorithm to bootstrap ProbLink

$ ./asrank.pl sanitized_rib.txt > asrank_result.txt

Run ProbLink

$ python problink.py -p <peeringdb file> -a <AS to organization mapping file>

Output data format

<provider-as>|<customer-as>|-1

<peer-as>|<peer-as>|0

<sibling-as>|<sibling-as>|1

Contact

You can contact us at [email protected].

Monthly inferred results

You may want to download the monthly inferred AS relationships here.