Example-ospf lab-n3vlr
OSPF Networking Laboratory
Authors: Fermín Galán (galan at dit.upm.es) David Fernández (david at dit.upm.es) version n3vlr, November 8th, 2007
Contents
Scenario
This example shows the VNUML implementation of a networking laboratory for OSPF dymanic routing protocol tests. It is a virtual implementation of the real-based network laboratory testbed of the Telematic Networks and Services Laboratory (in Spanish) last exercise at DIT-UPM grade course. This environment was used at ITHET'04 in order to illustrate VNUML application for high educational purposes.The laboratory tries to resemble to the network of a distributed organization. The core of the network is a backbone (routers RB1, RB2, RB3 and RB4) that interconnects several regional headquarters (from A to F) to the central organization headquarters. Each regional headquarters provides connectivity for two sites (from 1 to 12).
The network layout is shown in the picture. Click here to see a high resolution copy of the map.
- Each site is composed of a computer (PCx) and an outbound router. The computer is configured with a default route to the outbound router.
- Each regional headquarters is composed of a server (SRx), an inbound router (RRx2) and an outbound router (RRx1). The server is configured with a default route to the outbound router.
- The central headquarters of several internals routers (RC1, RC2, RC3 and RC4) and a server (SC). All them are configured with default routes to the backbone. All the routers in the simulation (except for the ones in the central headquarters) run ospfd, a daemon process from the Zebra Suite that implements OSPF protocol. This protocol allows each router to configure dynamic routes so, after a convergence time, global connectivity is achive once the simulation has been started. You'll need to download the [ospf_lab_conf.tar.gz configuration for ospfd daemons] and unpacked it in the examples directory:
cd /usr/share/vnuml/examples tar xfvz ospf_lab_conf.tar.gz
Note that this is a very big VNUML simulation, involving 51 virtual machines and 45 virtual networks. So, be aware that the hosting machine could get stressed (or even worse!). You can use the -w switch to increase the boot timeout (see User Manual for details). For example:
vnumlparser.pl -t ospf_lab.xml -v -w 120
(However, if your simulation is too big for your host, try to use a tiner version of the VNUML specification. For example, try to remove some of the regional headquarters and/or sites. There is a [ospf_lab_tiny.xml tiny version of ospf_lab.xml] with regional headquarters C, D and E; sites 2, 3 and 11; and servers SRA, RFB and SRF commented out in the XML)
Some examples of test performed with this virtual scenario:
- Connectivity from PC01 to PC12:
PC01:~# traceroute -n 195.1.95.66 traceroute to 195.1.95.66 (195.1.95.66), 30 hops max, 38 byte packets 1 195.1.85.1 0.647 ms 0.614 ms 0.526 ms 2 195.1.95.193 0.976 ms 140.597 ms 0.814 ms 3 195.1.84.1 15.086 ms 1.097 ms 1.182 ms 4 195.1.95.161 1.404 ms 1.299 ms 1.322 ms 5 195.1.95.129 5.458 ms 2.132 ms 2.156 ms 6 195.1.95.138 11.272 ms 2.355 ms 2.301 ms 7 195.1.95.182 2.874 ms 2.798 ms 68.750 ms 8 195.1.94.2 3.377 ms 2.919 ms 3.116 ms 9 195.1.95.238 3.328 ms 3.189 ms 4.028 ms 10 195.1.95.66 4.896 ms 3.875 ms 4.395 ms
- Connectivity from PC01 to PC04:
PC01:~# traceroute -n 195.1.87.66 traceroute to 195.1.87.66 (195.1.87.66), 30 hops max, 38 byte packets 1 195.1.85.1 1.127 ms 0.461 ms 0.494 ms 2 195.1.95.193 0.906 ms 0.701 ms 0.983 ms 3 195.1.84.1 1.230 ms 1.569 ms 1.249 ms 4 195.1.95.161 1.347 ms 1.309 ms 1.287 ms 5 195.1.95.166 2.131 ms 1.970 ms 1.753 ms 6 195.1.86.2 2.286 ms 2.622 ms 2.124 ms 7 195.1.95.206 2.449 ms 2.200 ms 2.647 ms 8 195.1.87.66 3.022 ms 2.741 ms 3.103 ms
- Connectivity from PC01 to SC:
PC01:~# traceroute -n 10.0.11.22 traceroute to 10.0.11.22 (10.0.11.22), 30 hops max, 38 byte packets 1 195.1.85.1 0.599 ms 0.613 ms 0.503 ms 2 195.1.95.193 0.842 ms 0.790 ms 0.978 ms 3 195.1.84.1 1.291 ms 1.443 ms 1.084 ms 4 195.1.95.161 1.447 ms 1.318 ms 29.843 ms 5 195.1.95.129 2.391 ms 2.183 ms 1.761 ms 6 10.0.11.22 2.067 ms 2.153 ms 2.124 ms
- OSPF information from ospfd at RB1:
RB1> show ip ospf route ============ OSPF network routing table ============ N 10.0.11.0/24 [10] area: (0.0.0.0) directly attached to eth3 N 195.1.84.0/26 [30] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.85.0/26 [50] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.85.64/26 [50] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.86.0/26 [30] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.87.0/26 [50] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.87.64/26 [50] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.88.0/26 [40] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.89.0/26 [60] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.89.64/26 [60] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.90.0/26 [40] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.91.0/26 [60] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.91.64/26 [60] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.92.0/26 [30] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.93.0/26 [50] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.93.64/26 [50] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.94.0/26 [30] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.0/26 [50] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.64/26 [50] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.128/30 [10] area: (0.0.0.0) directly attached to eth1 N 195.1.95.132/30 [20] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.95.136/30 [20] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.140/30 [10] area: (0.0.0.0) directly attached to eth2 N 195.1.95.160/30 [20] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.130, eth1 N 195.1.95.164/30 [20] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.95.168/30 [30] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.95.172/30 [30] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.95.176/30 [20] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.180/30 [20] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.192/30 [40] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.95.196/30 [40] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.95.200/30 [40] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.95.204/30 [40] area: (0.0.0.0) via 195.1.95.130, eth1 N 195.1.95.208/30 [50] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.95.212/30 [50] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.95.216/30 [50] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.95.220/30 [50] area: (0.0.0.0) via 195.1.95.130, eth1 via 195.1.95.142, eth2 N 195.1.95.224/30 [40] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.228/30 [40] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.232/30 [40] area: (0.0.0.0) via 195.1.95.142, eth2 N 195.1.95.236/30 [40] area: (0.0.0.0) via 195.1.95.142, eth2 ============ OSPF external routing table =========== RB1> show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL 195.1.95.165 1 Full/DR 00:00:37 195.1.95.130 eth1:195.1.95.129 0 0 0 195.1.95.181 1 Full/DR 00:00:33 195.1.95.142 eth2:195.1.95.141 0 0 0 RB1> show ip ospf interface ... eth1 is up, line protocol is up Internet Address 195.1.95.129/30, Area (0.0.0.0) Router ID 195.1.95.141, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State Backup, Priority 1 Designated Router (ID) 195.1.95.165, Interface Address 195.1.95.130 Backup Designated Router (ID) 195.1.95.141, Interface Address 195.1.95.129 Timer intarvals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:09 Neighbor Count is 1, Adjacent neighbor count is 1 eth2 is up, line protocol is up Internet Address 195.1.95.141/30, Area (0.0.0.0) Router ID 195.1.95.141, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State Backup, Priority 1 Designated Router (ID) 195.1.95.181, Interface Address 195.1.95.142 Backup Designated Router (ID) 195.1.95.141, Interface Address 195.1.95.141 Timer intarvals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:09 Neighbor Count is 1, Adjacent neighbor count is 1 eth3 is up, line protocol is up Internet Address 10.0.11.50/24, Area (0.0.0.0) Router ID 195.1.95.141, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 195.1.95.141, Interface Address 10.0.11.50 No backup designated router on this network Timer intarvals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:06 Neighbor Count is 0, Adjacent neighbor count is 0 ...
You can download the simulation file from [ospf_lab.xml here].
The example could be improved in several ways. For example:
- The simulation is too big and this has a significative impact when building topology. A solution could be to split the simulation in several pieces, and building only desired parts for each testing case. Read more about this in the [../../user/index.html#concurrent_simulations VNUML User Manual].
- The provided configuration for ospfd daemons is quite simple: all the routers uses OSPF in all their directly connected networks and a single area is use. A multiarea configuration could be more desirable. In addition, some networks (specially PPP-like links between some routers) shouldn't be globally advertised.
VNUML Description
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd" [ <!ENTITY VNUMLDIR "/usr/share/vnuml/"> <!ENTITY BASEDIR "/usr/share/vnuml/examples/ospf_lab"> <!ENTITY REDIR "</dev/null >/dev/null 2>&1 &"> ]> <!-- usual mask values: /24 -> 255.255.255.0 /26 -> 255.255.255.192 /28 -> 255.255.255.240 /30 -> 255.255.255.252 --> <vnuml> <global> <version>1.8</version> <simulation_name>ospf_lab</simulation_name> <ssh_version>1</ssh_version> <ssh_key>~/.ssh/identity.pub</ssh_key> <automac offset="0"/> <vm_mgmt type="private" network="10.250.0.0" mask="24" offset="0"> <!--vm_mgmt type="net" network="10.250.0.0" mask="24" offset="0"--> <!--mgmt_net sock="/var/local/run/vnuml/Mgmt_net.ctl" hostip="10.250.0.1"/--> <host_mapping/> </vm_mgmt> <vm_defaults> <filesystem type="cow">/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem> <mem>20M</mem> <kernel>/usr/share/vnuml/kernels/linux</kernel> <shell>/bin/bash</shell> <basedir>/usr/share/vnuml/examples/</basedir> <console id="1">pts</console> </vm_defaults> </global> <net name="Core1" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="Core2" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="Core3" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="Core4" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneA" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneB" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneC" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneD" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneE" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneF" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeA" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkA01" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkA02" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc01" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc02" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeB" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkB03" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkB04" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc03" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc04" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeC" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkC05" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkC06" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc05" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc06" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeD" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkD07" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkD08" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc07" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc08" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeE" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkE09" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkE10" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc09" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc10" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeF" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkF11" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkF12" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc11" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc12" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centraC" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra1" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra2" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra3" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra4" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <vm name="RB1" order=""> <if id="1" net="Core1"> <ipv4 mask="255.255.255.252">195.1.95.129</ipv4> </if> <if id="2" net="Core4"> <ipv4 mask="255.255.255.252">195.1.95.141</ipv4> </if> <if id="3" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.50</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RB2" order=""> <if id="1" net="Core1"> <ipv4 mask="255.255.255.252">195.1.95.130</ipv4> </if> <if id="2" net="Core2"> <ipv4 mask="255.255.255.252">195.1.95.133</ipv4> </if> <if id="3" net="boneA"> <ipv4 mask="255.255.255.252">195.1.95.161</ipv4> </if> <if id="4" net="boneB"> <ipv4 mask="255.255.255.252">195.1.95.165</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RB3" order=""> <if id="1" net="Core2"> <ipv4 mask="255.255.255.252">195.1.95.134</ipv4> </if> <if id="2" net="Core3"> <ipv4 mask="255.255.255.252">195.1.95.137</ipv4> </if> <if id="3" net="boneC"> <ipv4 mask="255.255.255.252">195.1.95.169</ipv4> </if> <if id="4" net="boneD"> <ipv4 mask="255.255.255.252">195.1.95.173</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB3</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RB4" order=""> <if id="1" net="Core3"> <ipv4 mask="255.255.255.252">195.1.95.138</ipv4> </if> <if id="2" net="Core4"> <ipv4 mask="255.255.255.252">195.1.95.142</ipv4> </if> <if id="3" net="boneE"> <ipv4 mask="255.255.255.252">195.1.95.177</ipv4> </if> <if id="4" net="boneF"> <ipv4 mask="255.255.255.252">195.1.95.181</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB4</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRA1" order=""> <if id="1" net="boneA"> <ipv4 mask="255.255.255.252">195.1.95.162</ipv4> </if> <if id="2" net="sedeA"> <ipv4 mask="255.255.255.192">195.1.84.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRA1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRA2" order=""> <if id="1" net="sedeA"> <ipv4 mask="255.255.255.192">195.1.84.2</ipv4> </if> <if id="2" net="linkA01"> <ipv4 mask="255.255.255.252">195.1.95.193</ipv4> </if> <if id="3" net="linkA02"> <ipv4 mask="255.255.255.252">195.1.95.197</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRA2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="SRA" order=""> <if id="1" net="sedeA"> <ipv4 mask="255.255.255.192">195.1.84.3</ipv4> </if> <route type="ipv4" gw="195.1.84.1">default</route> </vm> <vm name="rout01" order=""> <if id="1" net="linkA01"> <ipv4 mask="255.255.255.252">195.1.95.194</ipv4> </if> <if id="2" net="suc01"> <ipv4 mask="255.255.255.192">195.1.85.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout01</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC01" order=""> <if id="1" net="suc01"> <ipv4 mask="255.255.255.192">195.1.85.2</ipv4> </if> <route type="ipv4" gw="195.1.85.1">default</route> </vm> <vm name="rout02" order=""> <if id="1" net="linkA02"> <ipv4 mask="255.255.255.252">195.1.95.198</ipv4> </if> <if id="2" net="suc02"> <ipv4 mask="255.255.255.192">195.1.85.65</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout02</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC02" order=""> <if id="1" net="suc02"> <ipv4 mask="255.255.255.192">195.1.85.66</ipv4> </if> <route type="ipv4" gw="195.1.85.65">default</route> </vm> <vm name="RRB1" order=""> <if id="1" net="boneB"> <ipv4 mask="255.255.255.252">195.1.95.166</ipv4> </if> <if id="2" net="sedeB"> <ipv4 mask="255.255.255.192">195.1.86.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRB1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRB2" order=""> <if id="1" net="sedeB"> <ipv4 mask="255.255.255.192">195.1.86.2</ipv4> </if> <if id="2" net="linkB03"> <ipv4 mask="255.255.255.252">195.1.95.201</ipv4> </if> <if id="3" net="linkB04"> <ipv4 mask="255.255.255.252">195.1.95.205</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRB2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="SRB" order=""> <if id="1" net="sedeB"> <ipv4 mask="255.255.255.192">195.1.86.3</ipv4> </if> <route type="ipv4" gw="195.1.86.1">default</route> </vm> <vm name="rout03" order=""> <if id="1" net="linkB03"> <ipv4 mask="255.255.255.252">195.1.95.202</ipv4> </if> <if id="2" net="suc03"> <ipv4 mask="255.255.255.192">195.1.87.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout03</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC03" order=""> <if id="1" net="suc03"> <ipv4 mask="255.255.255.192">195.1.87.2</ipv4> </if> <route type="ipv4" gw="195.1.87.1">default</route> </vm> <vm name="rout04" order=""> <if id="1" net="linkB04"> <ipv4 mask="255.255.255.252">195.1.95.206</ipv4> </if> <if id="2" net="suc04"> <ipv4 mask="255.255.255.192">195.1.87.65</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout04</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC04" order=""> <if id="1" net="suc04"> <ipv4 mask="255.255.255.192">195.1.87.66</ipv4> </if> <route type="ipv4" gw="195.1.87.65">default</route> </vm> <vm name="RRC1" order=""> <if id="1" net="boneC"> <ipv4 mask="255.255.255.252">195.1.95.170</ipv4> </if> <if id="2" net="sedeC"> <ipv4 mask="255.255.255.192">195.1.88.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRC1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRC2" order=""> <if id="1" net="sedeC"> <ipv4 mask="255.255.255.192">195.1.88.2</ipv4> </if> <if id="2" net="linkC05"> <ipv4 mask="255.255.255.252">195.1.95.209</ipv4> </if> <if id="3" net="linkC06"> <ipv4 mask="255.255.255.252">195.1.95.213</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRC2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="SRC" order=""> <if id="1" net="sedeC"> <ipv4 mask="255.255.255.192">195.1.88.3</ipv4> </if> <route type="ipv4" gw="195.1.88.1">default</route> </vm> <vm name="rout05" order=""> <if id="1" net="linkC05"> <ipv4 mask="255.255.255.252">195.1.95.210</ipv4> </if> <if id="2" net="suc05"> <ipv4 mask="255.255.255.192">195.1.89.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout05</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC05" order=""> <if id="1" net="suc05"> <ipv4 mask="255.255.255.192">195.1.89.2</ipv4> </if> <route type="ipv4" gw="195.1.89.1">default</route> </vm> <vm name="rout06" order=""> <if id="1" net="linkC06"> <ipv4 mask="255.255.255.252">195.1.95.214</ipv4> </if> <if id="2" net="suc06"> <ipv4 mask="255.255.255.192">195.1.89.65</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout06</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC06" order=""> <if id="1" net="suc06"> <ipv4 mask="255.255.255.192">195.1.89.66</ipv4> </if> <route type="ipv4" gw="195.1.89.65">default</route> </vm> <vm name="RRD1" order=""> <if id="1" net="boneD"> <ipv4 mask="255.255.255.252">195.1.95.174</ipv4> </if> <if id="2" net="sedeD"> <ipv4 mask="255.255.255.192">195.1.90.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRD1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRD2" order=""> <if id="1" net="sedeD"> <ipv4 mask="255.255.255.192">195.1.90.2</ipv4> </if> <if id="2" net="linkD07"> <ipv4 mask="255.255.255.252">195.1.95.217</ipv4> </if> <if id="3" net="linkD08"> <ipv4 mask="255.255.255.252">195.1.95.221</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRD2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="SRD" order=""> <if id="1" net="sedeD"> <ipv4 mask="255.255.255.192">195.1.90.3</ipv4> </if> <route type="ipv4" gw="195.1.90.1">default</route> </vm> <vm name="rout07" order=""> <if id="1" net="linkD07"> <ipv4 mask="255.255.255.252">195.1.95.218</ipv4> </if> <if id="2" net="suc07"> <ipv4 mask="255.255.255.192">195.1.91.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout07</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC07" order=""> <if id="1" net="suc07"> <ipv4 mask="255.255.255.192">195.1.91.2</ipv4> </if> <route type="ipv4" gw="195.1.91.1">default</route> </vm> <vm name="rout08" order=""> <if id="1" net="linkD08"> <ipv4 mask="255.255.255.252">195.1.95.222</ipv4> </if> <if id="2" net="suc08"> <ipv4 mask="255.255.255.192">195.1.91.65</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout08</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC08" order=""> <if id="1" net="suc08"> <ipv4 mask="255.255.255.192">195.1.91.66</ipv4> </if> <route type="ipv4" gw="195.1.91.65">default</route> </vm> <vm name="RRE1" order=""> <if id="1" net="boneE"> <ipv4 mask="255.255.255.252">195.1.95.178</ipv4> </if> <if id="2" net="sedeE"> <ipv4 mask="255.255.255.192">195.1.92.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRE1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRE2" order=""> <if id="1" net="sedeE"> <ipv4 mask="255.255.255.192">195.1.92.2</ipv4> </if> <if id="2" net="linkE09"> <ipv4 mask="255.255.255.252">195.1.95.225</ipv4> </if> <if id="3" net="linkE10"> <ipv4 mask="255.255.255.252">195.1.95.229</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRE2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="SRE" order=""> <if id="1" net="sedeE"> <ipv4 mask="255.255.255.192">195.1.92.3</ipv4> </if> <route type="ipv4" gw="195.1.92.1">default</route> </vm> <vm name="rout09" order=""> <if id="1" net="linkE09"> <ipv4 mask="255.255.255.252">195.1.95.226</ipv4> </if> <if id="2" net="suc09"> <ipv4 mask="255.255.255.192">195.1.93.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout09</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC09" order=""> <if id="1" net="suc09"> <ipv4 mask="255.255.255.192">195.1.93.2</ipv4> </if> <route type="ipv4" gw="195.1.93.1">default</route> </vm> <vm name="rout10" order=""> <if id="1" net="linkE10"> <ipv4 mask="255.255.255.252">195.1.95.230</ipv4> </if> <if id="2" net="suc10"> <ipv4 mask="255.255.255.192">195.1.93.65</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout10</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC10" order=""> <if id="1" net="suc10"> <ipv4 mask="255.255.255.192">195.1.93.66</ipv4> </if> <route type="ipv4" gw="195.1.93.65">default</route> </vm> <vm name="RRF1" order=""> <if id="1" net="boneF"> <ipv4 mask="255.255.255.252">195.1.95.182</ipv4> </if> <if id="2" net="sedeF"> <ipv4 mask="255.255.255.192">195.1.94.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRF1</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="RRF2" order=""> <if id="1" net="sedeF"> <ipv4 mask="255.255.255.192">195.1.94.2</ipv4> </if> <if id="2" net="linkF11"> <ipv4 mask="255.255.255.252">195.1.95.233</ipv4> </if> <if id="3" net="linkF12"> <ipv4 mask="255.255.255.252">195.1.95.237</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRF2</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="SRF" order=""> <if id="1" net="sedeF"> <ipv4 mask="255.255.255.192">195.1.94.3</ipv4> </if> <route type="ipv4" gw="195.1.94.1">default</route> </vm> <vm name="rout11" order=""> <if id="1" net="linkF11"> <ipv4 mask="255.255.255.252">195.1.95.234</ipv4> </if> <if id="2" net="suc11"> <ipv4 mask="255.255.255.192">195.1.95.1</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout11</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC11" order=""> <if id="1" net="suc11"> <ipv4 mask="255.255.255.192">195.1.95.2</ipv4> </if> <route type="ipv4" gw="195.1.95.1">default</route> </vm> <vm name="rout12" order=""> <if id="1" net="linkF12"> <ipv4 mask="255.255.255.252">195.1.95.238</ipv4> </if> <if id="2" net="suc12"> <ipv4 mask="255.255.255.192">195.1.95.65</ipv4> </if> <forwarding type="ip"/> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout12</filetree> <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done</exec> <exec seq="start" type="verbatim">/usr/sbin/zebra -d</exec> <exec seq="start" type="verbatim">/usr/sbin/ospfd -d</exec> <exec seq="stop" type="verbatim">killall zebra</exec> <exec seq="stop" type="verbatim">killall ospfd</exec> </vm> <vm name="PC12" order=""> <if id="1" net="suc12"> <ipv4 mask="255.255.255.192">195.1.95.66</ipv4> </if> <route type="ipv4" gw="195.1.95.65">default</route> </vm> <vm name="RC1" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.1</ipv4> </if> <if id="2" net="centra1"> <ipv4 mask="255.255.255.240">10.0.12.1</ipv4> </if> <route type="ipv4" gw="10.0.11.50">default</route> </vm> <vm name="RC2" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.2</ipv4> </if> <if id="2" net="centra2"> <ipv4 mask="255.255.255.240">10.0.12.17</ipv4> </if> <route type="ipv4" gw="10.0.11.50">default</route> </vm> <vm name="RC3" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.3</ipv4> </if> <if id="2" net="centra3"> <ipv4 mask="255.255.255.240">10.0.32.1</ipv4> </if> <route type="ipv4" gw="10.0.11.50">default</route> </vm> <vm name="RC4" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.4</ipv4> </if> <if id="2" net="centra3"> <ipv4 mask="255.255.255.240">10.0.12.49</ipv4> </if> <route type="ipv4" gw="10.0.11.50">default</route> </vm> <vm name="SC" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.22</ipv4> </if> <route type="ipv4" gw="10.0.11.50">default</route> </vm> </vnuml>
Download
- VNUML specification files: ospf_lab.xml, ospf_lab_tiny.xml
- Configuration files: ospf_lab_conf.tar