matrix - nsg-ethz/mini_internet_project GitHub Wiki
Connectivity Matrix
The matrix page on the website shows the connectivity matrix. The connectivity matrix indicates the networks that each group:
- can reach with a valid AS-level path (green);
- can reach with an invalid AS-level path (orange);
- cannot reach (red).
We determine reachability by sending periodic pings between all networks. If the ping succeeds, we consider the AS reachable. In addition to the ping, we compare the BGP looking glass outputs with the project topology to determine whether the path between two ASes is valid, i.e. if it does not violate any policies.
The source and destination hosts used for the ping can be configured in the l3_routers.txt configuration file (with the MATRIX and MATRIX_TARGET parameters).
We determine the validity of a path by looking at all the possible paths and not only the best ones. Thus, as soon as one path from i to j is invalid, the (i,j) cell will be orange (assuming data-plane connectivity).
Turn on the connectivity matrix
The matrix is enabled by default.
The pings used by the matrix are sent from a MATRIX container that is connected to every AS. the l3_routers.txt configuration file indicates
to which router in every group this container is connected to.
Only the instructor can access the MATRIX container directly from the server with:
docker exec -it MATRIX bash
To pause the pings, run:
docker container pause MATRIX
and similarly to enable the ping again run
docker container unpause MATRIX
[!TIP] Do not stop or remove the Matrix container, as this can complicate restarting it. We recommend only using
pause.