Skip to content

general_configuration

Thomas Holterbach edited this page Apr 20, 2022 · 27 revisions

General configuration

We use several configuration files to configure the mini-Internet and define its topology at the different layers. The configuration files must be in the config. They are organized as follow:

config/
├── aslevel_links.txt            [inter-AS links and policies] 
├── aslevel_links_students.txt   [inter-AS links for students] 
└── AS_config.txt                [per-AS topology & config]
    ├── l3_router.txt            [L3 internal topology]
    ├── l3_links.txt             [L3 internal topology]
    ├── l2_switches.txt           ^
    ├── l2_hosts.txt              |   [L2 topology]
    └── l2_links.txt              v   

The AS_config.txt is the main configuration file. It lists all the ASes and IXPs in the mini-Internet as well as the configuration files to use for every AS. The following table shows an example of this configuration file.

C1   C2    C3             C4                                 C5                C6              C7          C8
----------------------------------------------------------------------------------------------------------------------
1    AS	 Config	l3_routers_krill.txt	        l3_links_krill.txt          empty.txt       empty.txt    empty.txt
2    AS	 Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
11   AS	 Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
12   AS	 Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
5    AS	 Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
6    AS	 Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
15   AS	 Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
16   AS  Config	l3_routers_tier1_and_stub.txt	l3_links_tier1_and_stub.txt empty.txt       empty.txt    empty.txt
3    AS  Config	l3_routers.txt	                l3_links.txt                l2_switches.txt l2_hosts.txt l2_links.txt
4    AS	 Config	l3_routers.txt	                l3_links.txt                l2_switches.txt l2_hosts.txt l2_links.txt
13   AS	 Config	l3_routers.txt	                l3_links.txt                l2_switches.txt l2_hosts.txt l2_links.txt
14   AS	 Config	l3_routers.txt	                l3_links.txt                l2_switches.txt l2_hosts.txt l2_links.txt
81   IXP Config	           N/A	                              N/A	               N/A	        N/A	         N/A
82   IXP Config	           N/A	                              N/A	               N/A	        N/A	         N/A
80   IXP Config	           N/A	                              N/A	               N/A	        N/A	         N/A

Below is the description of each column.

C1: As number.
C2: Type of the network (either AS or IXP).
C3: "Config" means the network will be automatically configured (VLANs, OSPF, BGP, ...) whereas "NoConfig" means the network comes not configured. Note: an IXP must be configured by default.
C4: Name of the configuration file that lists the layer 3 routers within the AS and their parameters.
C5: Name of the configuration file that describes the layer 3 internal topology.
C6: Name of the configuration file that lists the layer 2 switches and their parameters.
C7: Name of the configuration file that lists the hosts within the layer 2 network with their parameters.
C8: Name of the configuration file that describes the layer 2 topology

In this example, the platform will build a mini-Internet comprising 12 ASes and 3 IXPs. Every AS comes preconfigured but AS 13 and 14.

ℹ️ At ETH Zurich, we use different topologies for the Tier1/Stub ASes (that are operated by the TA team) and the transit ASes (that are operated by the students) to limit the amount of resources used on our server. This is why we use different configuration files for these two types of ASes. By default, we also also set krill (the Certificate Authority used for RPKI) in AS1.

⚠️ You can only configure the layer-2 networks in the configuration files l2_switches.txt, l2_hosts.txt and l2_links.txt (and only in those files). On the contrary, for the layer 3 network you can use different configuration files to define different layer-3 networks (like we do above).