layer3_configuration - nsg-ethz/mini_internet_project GitHub Wiki

Layer-3 configuration

The files l3_routers.txt and l3_links.txt describe the layer-3 topology. Besides the topology, additional parameters are set to different routers. We describe these two configuration files and their parameters in the following sections.

The default configuration files shown below build the following L3 network:

l3_routers.txt

This file contains all the routers in the layer-3 topology. The following table shows an example of this configuration file.

 C1     C2                         C3                          C4
-------------------------------------------------------------------
OLTE   N/A           routinator:miniinterneteth/routinator:26 vtysh
LUZE   MATRIX        host:miniinterneteth/host:26             vtysh
ZURI   N/A           host:miniinterneteth/host:26             vtysh
BASE   N/A           host:miniinterneteth/host:26             vtysh
BERN   N/A           host:miniinterneteth/host:26             vtysh
BELL   DNS           L2-TCS:miniinterneteth/host:26           linux
CHUR   MATRIX_TARGET host:miniinterneteth/host:26             vtysh
LAUS   MEASUREMENT   L2-TCW:miniinterneteth/host:26           linux

Below is the description of each column:

  • C1: Name of the router.
  • C2: Service associated to the router. Multiple services can be associated to a given router, see here. The different options are listed below.
  • C3: Information about the host or layer-2 network connected to the corresponding router. The different options are listed below.
  • C4: Indicate wether the students can access the router container with bash or can only access the CLI, see below.

Possible services in C2:

  • MATRIX: where the pings used for the connectivity matrix are sent to.
  • MATRIX_TARGET: the destination of the pings used for the connectivity matrix.
  • DNS: to which router the DNS container is connected to.
  • MEASUREMENT: to which router the MEASUREMENT container is connected to.
  • N/A: no special service.

Possible options in C3:
The C3 consists of two values separated by a colon. Before the colon you can specify the following options:

  • host: a single host is connected to the router.
  • L2-X: the router is connected to the L2-network X. Besides the L2-network, there will also be a single host directly connected to the router.
  • routinator: a host running routinator (for RPKI) is connected to the router.
  • krill: a host running Krill (for RPKI) is connected to the router.

After the colon, you must indicate the docker image to use for the host that is connected to the router. You can thus plug-in any docker images you want for hosts in the mini-Internet (e.g., an image with a webserver or a VLC client).

vtysh or linux in C4:
vtysh means the students can only access the CLI of the router, whereas linux means the students can access the router container using bash (via the goto.sh script, using the keyword container instead of router). This is used to answer questions that require linux commands (such as configuring 6in4 tunnels).

l3_links.txt

This file lists all the links in the layer-3 topology. The following table shows an example of this configuration file.

 C1      C2       C3      C4     C5
------------------------------------
OLTE    ZURI     1mbit   5ms    50ms
OLTE    LUZE     1mbit   5ms    50ms
OLTE    BERN     1mbit   5ms    50ms
OLTE    BASE     1mbit   5ms    50ms
LUZE    ZURI     1mbit   5ms    50ms
LUZE    BELL     1mbit   5ms    50ms    
ZURI    CHUR     1mbit   5ms    50ms
ZURI    BELL     1mbit   5ms    50ms
ZURI    BASE     1mbit   5ms    50ms
BASE    LAUS     1mbit   5ms    50ms
BERN    LAUS     1mbit   5ms    50ms

Below is the description of each column:

  • C1: Name of the router at one end of the link.
  • C2: Name of the router at the other end of the link.
  • C3: The throughput of the link.
  • C4: The delay of the link.
  • C5: The maximum time a packet will be buffered before it is dropped.