-
Notifications
You must be signed in to change notification settings - Fork 7
Graphs Directory Structure
When you look at the graphs that are output, this is the directory structure:
.
├── data.csv
├── data.pickle
└── graphs
└── SubprefixHijack_noop
└── all_wout_ixps
├── adopting_is_Any
│ └── DATA
│ ├── ATTACKER_SUCCESS_normal.png
│ ├── DISCONNECTED.png
│ └── VICTIM_SUCCESS.png
├── adopting_is_False
│ └── DATA
│ ├── ATTACKER_SUCCESS.png
│ ├── DISCONNECTED.png
│ └── VICTIM_SUCCESS.png
└── adopting_is_True
└── DATA
├── ATTACKER_SUCCESS.png
├── DISCONNECTED.png
└── VICTIM_SUCCESS.png
At the top level is what you've named the directory. Then you have your two data files. The data.csv contains the data from your runs, which is output for convenience. The data.pickle is what is ingested to create the graphs by default, but you can easily write your own custom grapher if you'd like, using whatever inputs you'd like.
Then there's the graphs directory. Inside this directory there is a folder that is named after the hijack you are simulating. After that, there is another folder inside of that containing the AS category that you are viewing. By default it is all ASes. Previously we used to track more categories, but these significantly slowed down runs and were pretty much never used. If you'd like to track a specific group of ASes please let me know at jfuruness@gmail.com and I can add it to this tutorial
Then there are the directories denoting adoption. When adopting_is_Any, that means we track all ASes within the category (in this example and by default this is all ASes excluding IXPs/route servers) regardless of adoption. When adopting_is_True, these graphs are only of ASes that have adopted the security policy. This can help answer the question - what benefit do the adopting ASes get? And lastly, there are the ASes that do not adopt (typically performing only BGP unless you've configured your simulations to do something different). These are the adopting_is_False graphs, and they answer the question: What collateral benefit do ASes get?
Additionally there are the folders for the type of plane that is being measured. Previously we used to measure both the control plane and the data plane, but after we discovered that the control plane isn't worth looking at for correct metrics (see figure 5 in our ROV++ paper for more info), we only track the data plane. We also made this decision because tracking the control plane takes more time during simulations. However, if you'd also like to see the control plane and would like to see this added to the tutorial (since the functionality is still there) please just reach out at jfuruness@gmail.com.
For attacker success - this is how many ASes routed back to the attacker on the data plane
For victim success - this is how many ASes routed back to the victim (sometimes referred to as the legitimate origin) on the data plane
For disconnected - this is how many ASes did not route back to either the attacker or victim on the data plane