Skip to content

layer3_configuration

roellinl edited this page Feb 17, 2025 · 8 revisions

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:

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
-------------------------------------------------------------------
ZURI	DNS           L2-DCN:miniinterneteth/d_host           linux
BASE	N/A           L2-DCN:miniinterneteth/d_host           vtysh
GENE	N/A           L2-DCS:miniinterneteth/d_host           linux
LUGA	N/A           routinator:miniinterneteth/d_routinator vtysh
MUNI	N/A           host:miniinterneteth/d_host             vtysh
LYON	MATRIX        host:miniinterneteth/d_host             vtysh
VIEN	MATRIX_TARGET host:miniinterneteth/d_host             vtysh
MILA	MEASUREMENT   host:miniinterneteth/d_host             vtysh

Below is the description of each column:

  • C1: Name of the router.
  • C2: Service associated to the router. Only one service can be associated to a given router. 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 anything else 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).

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
------------------------------------
ZURI	BASE	10mbit   5ms    50ms
ZURI	GENE	1mbit    5ms    50ms
ZURI    LUGA    10mbit   5ms    50ms
ZURI	MUNI    1mbit    5ms    30ms
ZURI    VIEN    20mbit   5ms    50ms
BASE    GENE    1mbit    10ms   100ms
BASE    MUNI    1mbit    5ms    50ms
BASE    LYON    1mbit    5ms    50ms
GENE    LUGA    1mbit    5ms    50ms
GENE    LYON    1mbit    5ms    50ms
LUGA    MILA    5mbit    5ms    50ms
LUGA    VIEN    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.