Skip to content

ASGraphAnalyzer

jfuruness edited this page Sep 16, 2024 · 2 revisions

Home

Tutorial

ASGraphAnalyzer

We now have covered the ASGraph, the SimulationEngine, the Scenario (and ScenarioConfig), as well as all of their various supporting classes. We can seed announcements into the SimulationEngine using the Scenario, and propagate them throughout the ASGraph. But then what? How do we collect the data from our simulations? That's where the ASGraphAnalyzer class comes in.

The default implementation of this class can be seen here. In this class, we look at the data plane and perform what we refer to as traceback.

From a high level, when we traceback from an AS, we start at a specific AS. For the most specific prefix at that AS, we then look at the next hop along the AS path. We then look up that AS in ASGraph, and recursively repeat this process.

We do this from each AS. When we traceback, there are three final possible outcomes, defined in the enum Outcomes

  • ATTACKER_SUCCESS: The traffic on the data plane reached the attacker
  • VICTIM_SUCCESS: The traffic on the data plane reaches the victim aka the legitimate origin of the announcement
  • DISCONNECTED: The traffic does not reach either the attacker or the victim

Next: GraphDataAggregator

Clone this wiki locally