1- ### Network Graph Overview
1+ # Network Graph Overview
22
33Processes running in Shadow do not have access to the internet; instead,
44processes running on Shadow virtual hosts utilize an internal routing module to
@@ -14,7 +14,7 @@ routers (we do not run routing protocols like
1414
1515This page describes the routing module and how it can be configured.
1616
17- #### Graph
17+ ## Graph
1818
1919Shadow represents a network topology over which processes can communicate using
2020a [ weighted graph] ( https://en.wikipedia.org/wiki/Graph_(discrete_mathematics) ) .
@@ -32,7 +32,7 @@ Shadow requires that the network graph is
3232there exists at least one _ path_ (a series of one or more edges) between every
3333pair of nodes.
3434
35- #### Behavior
35+ ## Behavior
3636
3737The graph encodes network positioning and path characteristics as attributes on
3838the nodes and edges. Shadow uses the connectivity graph along with the
@@ -50,7 +50,7 @@ The bandwidth of the virtual hosts and the end-to-end latency and packet loss
5050for a shortest path between two virtual hosts are then enforced for all network
5151communication.
5252
53- #### Important Notes
53+ ## Important Notes
5454
5555 - The network graph may be directed or undirected, as long as the graph is
5656 structured such that every node can reach every other node through a
@@ -62,14 +62,14 @@ communication.
6262 [ use_shortest_path
6363 option] ( shadow_config_spec.md#networkuse_shortest_path ) to ` False ` .
6464
65- ### Network Graph Attributes
65+ ## Network Graph Attributes
6666
6767We encode attributes on the nodes and edges that allow for configuring the
6868simulated network characteristics. The attributes and their effect on the
6969simulated network are described in more detail (alongside a simple example
7070graph) on [ the network graph specification page] ( network_graph_spec.md ) .
7171
72- ### Using an Existing Graph
72+ ## Using an Existing Graph
7373
7474We created a large network graph representing worldwide latencies and bandwidths
7575as of 2018 using the [ RIPE Atlas measurement platform] ( https://atlas.ripe.net ) .
@@ -86,7 +86,7 @@ advanced knowledge of RIPE Atlas and also require that you possess RIPE Atlas
8686credits to conduct the measurements needed to create a new graph. We recommend
8787using our existing graph linked above instead, which we may periodically update.
8888
89- ### Creating Your Own Graph
89+ ## Creating Your Own Graph
9090
9191The python module [ networkx] ( http://networkx.github.io/ ) can be used to create
9292and manipulate more complicated graphs.
0 commit comments