Maps
This page explains in map style the layout of Massar's Network using the venerable MermaidJS.
Layer 1
The Layer 1 map displays how our sites are physically connected. We use Ethernet Virtual Leased Lines (VLL) from both IPng Networks and IP-Max to reach sites not directly connected to us. This map excludes any L2 switches.
graph LR
subgraph World
internet([Internet])
init7([Init7])
orange([Orange France])
sunrise([Sunrise])
end
subgraph Lugano [Lugano, Switzerland]
r1lug([r1.lug.ch.massars.net])
r2lug([r2.lug.ch.massars.net])
r1lab([r1.lab.lug.ch.massars.net])
r2lab([r2.lab.lug.ch.massars.net])
m1lug([m1.lug.ch.massars.net])
m2lug([m2.lug.ch.massars.net])
%% Modem connections
r1lug <--> m1lug
r1lug <--> m2lug
r2lug <--> m1lug
r2lug <--> m2lug
%% Links
r1lug <--> r2lug
r1lab <--> r2lab
r1lug <--> r1lab
r1lug <--> r2lab
r2lug <--> r1lab
r2lug <--> r2lab
end
subgraph Zurich [Zurich, Switzerland]
subgraph MassarZRH [Massar's Network]
r1zrh([r1.zrh.ch.massars.net])
end
subgraph IPngZRH [IPng Networks]
ddln([ddln.ipng.ch])
ddln0([ddln0.ipng.ch])
ddln1([ddln1.ipng.ch])
ddln <--> ddln0
ddln <--> ddln1
ddln0 <--> internet
ddln1 <--> internet
end
end
subgraph Rumlang [Rumlang, Switzerland]
subgraph MassarRMA [Massar's Network]
r1rma([r1.rma.ch.massars.net])
r2rma([r2.rma.ch.massars.net])
r1fra([r1.fra.de.massars.net])
r1rma <--> r2rma
r1rma <--> r1fra
r2rma <--> r1fra
end
subgraph IPngRMA [IPng Networks]
chrma0([chrma0.ipng.ch])
end
subgraph IPMaxRMA [IP-Max]
ntt-swissix([IP-Max at NTT ZRH1, Rümlang])
ntt-decix([IP-Max at NTT ZRH1, Rümlang])
ntt-freeix([IP-Max at NTT ZRH1, Rümlang])
end
swissix([SwissIX, NTT ZRH1, Rümlang])
freeix([Free-IX, NTT ZRH1, Rümlang])
end
subgraph BriveLaGaillarde [Brive-La-Gaillarde, France]
r1bve([r1.bve.fr.massars.net])
end
subgraph Frankfurt [Frankfurt, Germany]
decix([DE-CIX Frankfurt, Equinix FR5, Frankfurt])
end
subgraph Amsterdam ["Amsterdam, The Netherlands"]
x1ams([x1.ams.nl.massars.net])
obsda([OpenBSD.Amsterdam])
end
%% Links
m1lug <-- 500/150 G.Fast VDSL --> init7
m2lug <-- 2G/300 5G --> sunrise
r1zrh <-- 1G Ethernet --> ddln
r1zrh <-- 1G VLL --> ntt-swissix
r1rma <--> rtr
r1rma <-- 10G Ethernet --> chrma0
r2rma <---> rtr
r2rma <-- 1G Ethernet --> ntt-freeix
r1fra <-- 1G Ethernet --> ntt-decix
r1bve <-- 1G Fiber --> orange
x1ams <-- 1G --> obsda
rtr([10G VLAN])
rtr <--> r1zrh
%% Internet
chrma0 <--> internet
sunrise <--> internet
init7 <--> internet
orange <--> internet
obsda <--> internet
%% IX
swissix <--> internet
decix <--> internet
freeix <--> internet
%% Backhaul
ntt-decix <-- 100mbit IP-Max VLL --> decix
ntt-swissix <-- 1G IP-Max Ethernet --> swissix
ntt-freeix <-- 1G IP-Max Ethernet --> freeix
- ¹ = G.Fast VDSL physical Swisscom but terminated by Init7
- ² = 5G link physical link by Sunrise but through Digital Republic
- ³ = x1.ams.nl.massars.net is a OpenBSD VM for external/fallback hosted at OpenBSD.Amsterdam
Layer 3
The Layer 3 diagram shows how on an IP level we run connectivity on top of the Layer 1 physical connections. We use L2TP to backhaul traffic and connect L1 disconnected sites.
While physically located on the same host, r1.rma handles transit, r2.rma handles local exchanges and r1.fra handles DE-CIX. Thus allowing a rolling upgrade of those routers thus minimizing connectivity loss during lifecycles.
graph LR
subgraph AS57777
massar([Massar's Network
AS57777]) subgraph Lugano [Lugano, Switzerland] r1lug([r1.lug.ch.massars.net
AS4205777711]) r2lug([r2.lug.ch.massars.net
AS4205777712]) r1lab([r1.lab.lug.ch.massars.net
AS4205777713]) r2lab([r2.lab.lug.ch.massars.net
AS4205777714]) maillug([http.lug.ch.massars.net
AS4205777753]) httplug([http.lug.ch.massars.net
AS4205777744]) mirrorlug([mirror.lug.ch.massars.net
AS4205777745]) dns1lug([dns1.lug.ch.massars.net
AS4205777753]) dns2lug([dns2.lug.ch.massars.net
AS4205777754]) mm01lug([mm01.lug.ch.massars.net
AS4205777740]) amber([amber.massars.net
AS4205777721]) acme([acme.massars.net
AS4205777722]) r1lug <--> r2lug r1lab <--> r2lab r1lug <--> r1lab r1lug <--> r2lab r2lug <--> r1lab r2lug <--> r2lab r1lug <--> maillug r2lug <--> maillug r1lug <--> httplug r2lug <--> httplug r1lug <--> mirrorlug r2lug <--> mirrorlug r1lug <--> dns1lug r2lug <--> dns1lug r1lug <--> dns2lug r2lug <--> dns2lug r1lug <--> mm01lug r2lug <--> mm01lug mm01lug <--> amber mm01lug <--> acme end subgraph Zurich [Zurich, Switzerland] r1zrh([r1.zrh.ch.massars.net
AS57777]) mailzrh([mail.zrh.ch.massars.net
AS4205777773]) httpzrh([http.zrh.ch.massars.net
AS4205777774]) mirrorzrh([mirror.zrh.ch.massars.net
AS4205777775]) dns1zrh([dns1.zrh.ch.massars.net
AS4205777776]) dns2zrh([dns2.zrh.ch.massars.net
AS4205777777]) r1zrh <--> mailzrh r1zrh <--> httpzrh r1zrh <--> mirrorzrh r1zrh <--> dns1zrh r1zrh <--> dns2zrh end subgraph Rumlang [Rumlang, Switzerland] r1rma([r1.rma.ch.massars.net
AS57777]) r2rma([r2.rma.ch.massars.net
AS57777]) r1fra([r1.fra.de.massars.net
AS57777]) mailrma([http.rma.ch.massars.net
AS4205777927]) httprma([http.rma.ch.massars.net
AS4205777928]) mirrorrma([mirror.rma.ch.massars.net
AS4205777929]) dns1rma([dns1.rma.ch.massars.net
AS4205777953]) dns2rma([dns2.rma.ch.massars.net
AS4205777954]) r1rma <--> mailrma r1rma <--> httprma r1rma <--> mirrorrma r1rma <--> dns1rma r1rma <--> dns2rma r2rma <--> mailrma r2rma <--> httprma r2rma <--> mirrorrma r2rma <--> dns1rma r2rma <--> dns2rma end subgraph BrivelaGaillarde [Brive-La-Gaillarde, France] r1bve([r1.bve.fr.massars.net
AS4205777206]) end r1lug <-- L2TP --> r1zrh r2lug <-- L2TP --> r1zrh r1zrh <-- Wireguard --> r1bve r1rma <-- Wireguard --> r1bve r1lug <-- L2TP --> r1rma r2lug <-- L2TP --> r1rma r1zrh <-- Ethernet --> r1rma end subgraph TheInternet [The Internet] internet([Internet]) decix([DE-CIX Frankfurt]) freeix([Free-IX, NTT ZRH1, Rumlang]) nlix([NL-ix Amsterdam]) swissix([SwissIX, NTT ZRH1, Rumlang]) init7([Init7
AS13030]) orange([Orange France
AS3215]) sunrise([Sunrise]) %% x1.ams.nl x1ams([x1.ams.nl.massars.net]) obsda([OpenBSD.Amsterdam]) high5([High5
AS60131]) a2b([A2B
AS51088]) x1ams <--> obsda obsda <--> high5 high5 <--> a2b a2b <--> internet end subgraph AS8298 ipng([IPng Networks
AS8298]) chbtl0([chbtl0.ipng.ch]) chbtl1([chbtl1.ipng.ch]) chgtg0([chgtg0.ipng.ch]) chplo0([chplo0.ipng.ch]) chrma0([chrma0.ipng.ch]) ddln0([ddln0.ipng.ch]) ddln1([ddln1.ipng.ch]) defra0([defra0.ipng.ch]) frpar0([frpar0.ipng.ch]) frggh0([frpar0.ipng.ch]) nlams0([nlams0.ipng.ch]) ddln0 <--> ddln1 ddln0 <--> chrma0 ddln1 <--> chgtg0 chbtl0 <--> chbtl1 chgtg0 <--> chrma0 chrma0 <--> chbtl0 chgtg0 <--> chbtl1 chgtg0 <--> chplo0 chrma0 <--> defra0 defra0 <--> nlams0 nlams0 <--> frggh0 frggh0 <--> frpar0 frpar0 <--> chplo0 defra0 <--> decix nlams0 <--> nlix chrma0 <--> swissix chrma0 <--> freeix end r1zrh <-- Transit --> ddln0 r1zrh <-- Transit --> ddln1 r1zrh <-- Peering --> swissix r1rma <-- Transit --> chrma0 r1fra <-- Peering --> decix r2rma <-- Peering --> freeix r1rma <--> r1fra r1rma <--> r2rma init7 <--> internet orange <--> internet sunrise <--> internet decix <--> internet freeix <--> internet nlix <--> internet swissix <--> internet
AS57777]) subgraph Lugano [Lugano, Switzerland] r1lug([r1.lug.ch.massars.net
AS4205777711]) r2lug([r2.lug.ch.massars.net
AS4205777712]) r1lab([r1.lab.lug.ch.massars.net
AS4205777713]) r2lab([r2.lab.lug.ch.massars.net
AS4205777714]) maillug([http.lug.ch.massars.net
AS4205777753]) httplug([http.lug.ch.massars.net
AS4205777744]) mirrorlug([mirror.lug.ch.massars.net
AS4205777745]) dns1lug([dns1.lug.ch.massars.net
AS4205777753]) dns2lug([dns2.lug.ch.massars.net
AS4205777754]) mm01lug([mm01.lug.ch.massars.net
AS4205777740]) amber([amber.massars.net
AS4205777721]) acme([acme.massars.net
AS4205777722]) r1lug <--> r2lug r1lab <--> r2lab r1lug <--> r1lab r1lug <--> r2lab r2lug <--> r1lab r2lug <--> r2lab r1lug <--> maillug r2lug <--> maillug r1lug <--> httplug r2lug <--> httplug r1lug <--> mirrorlug r2lug <--> mirrorlug r1lug <--> dns1lug r2lug <--> dns1lug r1lug <--> dns2lug r2lug <--> dns2lug r1lug <--> mm01lug r2lug <--> mm01lug mm01lug <--> amber mm01lug <--> acme end subgraph Zurich [Zurich, Switzerland] r1zrh([r1.zrh.ch.massars.net
AS57777]) mailzrh([mail.zrh.ch.massars.net
AS4205777773]) httpzrh([http.zrh.ch.massars.net
AS4205777774]) mirrorzrh([mirror.zrh.ch.massars.net
AS4205777775]) dns1zrh([dns1.zrh.ch.massars.net
AS4205777776]) dns2zrh([dns2.zrh.ch.massars.net
AS4205777777]) r1zrh <--> mailzrh r1zrh <--> httpzrh r1zrh <--> mirrorzrh r1zrh <--> dns1zrh r1zrh <--> dns2zrh end subgraph Rumlang [Rumlang, Switzerland] r1rma([r1.rma.ch.massars.net
AS57777]) r2rma([r2.rma.ch.massars.net
AS57777]) r1fra([r1.fra.de.massars.net
AS57777]) mailrma([http.rma.ch.massars.net
AS4205777927]) httprma([http.rma.ch.massars.net
AS4205777928]) mirrorrma([mirror.rma.ch.massars.net
AS4205777929]) dns1rma([dns1.rma.ch.massars.net
AS4205777953]) dns2rma([dns2.rma.ch.massars.net
AS4205777954]) r1rma <--> mailrma r1rma <--> httprma r1rma <--> mirrorrma r1rma <--> dns1rma r1rma <--> dns2rma r2rma <--> mailrma r2rma <--> httprma r2rma <--> mirrorrma r2rma <--> dns1rma r2rma <--> dns2rma end subgraph BrivelaGaillarde [Brive-La-Gaillarde, France] r1bve([r1.bve.fr.massars.net
AS4205777206]) end r1lug <-- L2TP --> r1zrh r2lug <-- L2TP --> r1zrh r1zrh <-- Wireguard --> r1bve r1rma <-- Wireguard --> r1bve r1lug <-- L2TP --> r1rma r2lug <-- L2TP --> r1rma r1zrh <-- Ethernet --> r1rma end subgraph TheInternet [The Internet] internet([Internet]) decix([DE-CIX Frankfurt]) freeix([Free-IX, NTT ZRH1, Rumlang]) nlix([NL-ix Amsterdam]) swissix([SwissIX, NTT ZRH1, Rumlang]) init7([Init7
AS13030]) orange([Orange France
AS3215]) sunrise([Sunrise]) %% x1.ams.nl x1ams([x1.ams.nl.massars.net]) obsda([OpenBSD.Amsterdam]) high5([High5
AS60131]) a2b([A2B
AS51088]) x1ams <--> obsda obsda <--> high5 high5 <--> a2b a2b <--> internet end subgraph AS8298 ipng([IPng Networks
AS8298]) chbtl0([chbtl0.ipng.ch]) chbtl1([chbtl1.ipng.ch]) chgtg0([chgtg0.ipng.ch]) chplo0([chplo0.ipng.ch]) chrma0([chrma0.ipng.ch]) ddln0([ddln0.ipng.ch]) ddln1([ddln1.ipng.ch]) defra0([defra0.ipng.ch]) frpar0([frpar0.ipng.ch]) frggh0([frpar0.ipng.ch]) nlams0([nlams0.ipng.ch]) ddln0 <--> ddln1 ddln0 <--> chrma0 ddln1 <--> chgtg0 chbtl0 <--> chbtl1 chgtg0 <--> chrma0 chrma0 <--> chbtl0 chgtg0 <--> chbtl1 chgtg0 <--> chplo0 chrma0 <--> defra0 defra0 <--> nlams0 nlams0 <--> frggh0 frggh0 <--> frpar0 frpar0 <--> chplo0 defra0 <--> decix nlams0 <--> nlix chrma0 <--> swissix chrma0 <--> freeix end r1zrh <-- Transit --> ddln0 r1zrh <-- Transit --> ddln1 r1zrh <-- Peering --> swissix r1rma <-- Transit --> chrma0 r1fra <-- Peering --> decix r2rma <-- Peering --> freeix r1rma <--> r1fra r1rma <--> r2rma init7 <--> internet orange <--> internet sunrise <--> internet decix <--> internet freeix <--> internet nlix <--> internet swissix <--> internet