-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
recipe: How to identify root causes in customer cone changes #509
Comments
num_paths : number_asn
|
paths:
|
|
Overview
We would like to develop a recipe, likely multiple scripts. That will allow a users to identify the what caused a customer cone change between two dates for a target AS.
We will likely need to increase the set of files that are provided publicly. You will be workin on beamer.caida.org so yo have access to the full set of files. Keep a list of the files you need and we will make sure they are public when the recipe is released.
What we want to identify is root causes of the changes single in a single AS's customer cone. Find the set of ASes that where removed or added. Find the set of paths that contained the target AS and the added or removed ASes.
Identify common factors between the change:
the relationship changed.
These should be presented in a table sorted by the number of ASes effected. This is just the starting point. We will likely discover more root causes as we work.
Process
Here is a highlevel overview of the process we will follow.
1 script that identifies the set of paths from .paths.bz2 and .paths.bz that contain the target AS and ASes which where lost or gained between .ppdc-ases.txt.bz2 and .ppdc-ases.txt.bz2. and creates <AS_target>-paths.txt
Background
AS Rank combines multiple datasets, but this script will be examing the BGP paths that are used to infer the AS Relationships and Customer Cones. Reading material:
(paper, you will need to read)
(paper's presentation, review after the paper for a different view on the same material)
Reference code:
AS Rank data sources follows the follow:
Download the BGP RIB
/data/external/as-rank-ribs/20220901/{ripe,routeviews}
combine all the paths
/data/external/as-rank-ribs/20220901/20220901.all-paths.bz2
ripe/rrc00|4 13830|3356|1299|9583|45769 1.186.170.0/24 i 161.129.152.2
rrc00 - 161.129.152.2 - 13830|3356|1299|9583|45769 - 1.186.170.0/24
find the stable paths
47787|174|12389|42742
/data/external/as-rank-ribs/20220901/20220901stable.paths.bz2
created the set of "clean" paths"
47787|174|12389|42742
/data/external/as-rank-ribs/20220901/20220901.paths.bz2
infer the set of AS Relationships
/data/external/as-rank-ribs/20220901/20220901.as-rel.txt.bz2
3356|2|-1
3356 is a provider of 2 : 3356 < 22|3356|1
2 is a customer of 3356 : 2 > 33562|3356|0
2 is peer of 3356 2 - 3356/data/external/as-rank-ribs/20220901.ppdc-ases.txt.bz2
3356 1 2 3 4 6 7 9 11 3356
this means 3356's customer cone includes1 2 3 4 6 7 9 11 3356
You can find a set of annotated paths here:
{"original":"34288|4637|1221|17819|138592","path":"34288|4637|1221|138592","tags":[{"link":"1221|138592","index":3,"type":"IX"}]}
/data/external/topology-asdata/as-rank/20220901/
To make sure you have access to the full set of files. We will
Inferring customer cone
Rules for cleaning paths
cleaning
A IX B -> A B
A A C D -> A C D
rejecting, the whole path is throw out
loops: An AS is repeated with a different AS inbetween the first and second occurance
A B C D C -> rejected
poisoned paths: If there is a non clique member between two clique members
The text was updated successfully, but these errors were encountered: