Skip to content

sbunrg/bgp_sim

Repository files navigation

Build & Run:
The make file included uses xbuild on mac to compile the Release version of the project

-- Call make in the root dir to compile everything

-- Navigate to TestingApplication/bin/Release

-- using mono on mac run TestingApplication.exe

-- Type help for list of available commands

-- To get started input a topology (input Cyclops_caida.txt) (topology file included in same folder)

-- Build a destination tree e.g for AS7018 (destination 7018)

-- Query path from src(AS1) to dst(AS7018) (getpath 1 7018)

Sample run sequence:

Haseebs-MacBook-Air:Release haseebniaz$ mono TestingApplication.exe
Welcome to the testing interface: (type help for help) 66000
input Cyclops_caida.txt
>>read in the graph it has 41266 nodes and 293736 edges
P2P: 132262 C2P: 161474
>>destination 7018
>>initializing variables and running RTA
done initializing. Current active destination is: 7018
initialized and added 7018
Tree generation took (ms): 260
>>getpath 1 7018
>>Path from 1 to 7018 is 1 -> 10753 -> 3549 -- 7018

Getting Started:
Ideally to get to know the code, one should start  with the following files:
bgp_sim/TestingApplication/TestingClass.cs
  Contains all the functions that can be called through the interface.
  Before anything can be done, a topology has to be loaded. 
  The initGraph() function does that.
  This network graph will be used to create a routing tree for a given destination.
  The initDestination function shows how a tree is generated for a given destination. A Destination object is created.
  All data structures mentioned in the quicksand paper (Bucket Table etc.) are stored in this class.
  Functions to query these data structures are also available.
  
bgp_sim/SecureSimulator/Destination.cs
  Contains functions and variables to store data for a given destinations routing tree.
  All path related functions are here.
  
bgp_sim/SecureSimulator/BFS.cs
  Contains code that generates the routing tree and fills other data structures. Ideally this code should be left as is. 
  Fiddling with this usually causes cascaded errors and breaks the simulator. Any changes to this code should be well thought out.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages