Skip to content
jfuruness edited this page Jan 24, 2024 · 47 revisions

Python 3.10 Python 3.11 Python 3.12 Tests Ruff Code style: black Checked with mypy

bgpy

This documentation is meant to serve as an implementation guide for using and extending BGPy. From a high level, BGPy is an extendable BGP simulator that can be used for security simulations for attack and defense. You can see our previous publication of the tool here for a high level overview (albeit a bit outdated at this point). Additionally, unlike the paper, which takes a top down approach, this documentation takes a bottom up approach, from the as graph, to the simulation engine, to the framework, to the test suite.

The Simulation Engine at a high level can simulate BGP on the AS topology. It is flexible enough that a user can define their own routing policies for any given AS, and has built in functionality to be able to use real world ROV data in the simulations.

The Simulation Framework is a wrapper around the Simulation Engine. The Simulation Framework contains the ability to run various attack defense scenarios. It also contains default metrics that are used for analysis, enabling the user to easily compare different defensive and attacker strategies.

BGPy also contains a System Test Suite. This test suite allows users to run various attack defense scenarios on small topologies, ensure that they are functioning properly, and generates diagrams for easy viewing of these results.

For an in depth understanding, it is highly recommended that users go through the tutorial, which walks through the repository step by step.

If you like the repo, it would be awesome if you could add a star to it! It really helps out the visibility. Also for any questions at all we'd love to hear from you at jfuruness@gmail.com

Clone this wiki locally