Difference between revisions of "Example-NSF-14 1.9"

From VNUML-WIKI
Jump to: navigation, search
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Title|NSF Network with 14 nodes}}
 
 
 
<big>
 
<big>
 
  Authors:
 
  Authors:
Line 201: Line 199:
 
   OSPF not enabled on this interface
 
   OSPF not enabled on this interface
 
</pre>
 
</pre>
 +
 +
'''Thing to do'''. If you want to help us to improve this example (please, [mailto:vnuml-at-dit.upm.es tell us about] :), the following enhancements could be done:
 +
 +
* A IPv6 version of the scenario (using the [[Reference#<ipv6>|<ipv6>]] tags)
  
 
== VNUML Description ==
 
== VNUML Description ==
Line 221: Line 223:
 
       <console id='0'>pts</console>
 
       <console id='0'>pts</console>
 
     </vm_defaults>
 
     </vm_defaults>
     <extension plugin="ospfd" conf="nsf-14_ospf_conf.xml" />
+
     <extension plugin="ospfd" conf="nsf-14_conf.xml" />
 
   </global>
 
   </global>
 
   <net name='il-ne' mode='uml_switch'/>
 
   <net name='il-ne' mode='uml_switch'/>
Line 257: Line 259:
 
       <ipv4 mask='255.255.255.252'>10.0.5.9</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.9</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='CA1'>
 
   <vm name='CA1'>
Line 271: Line 274:
 
       <ipv4 mask='255.255.255.252'>10.0.5.2</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.2</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='CA2'>
 
   <vm name='CA2'>
Line 285: Line 289:
 
       <ipv4 mask='255.255.255.252'>10.0.5.21</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.21</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='UT'>
 
   <vm name='UT'>
Line 299: Line 304:
 
       <ipv4 mask='255.255.255.252'>10.0.5.29</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.29</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='CO'>
 
   <vm name='CO'>
Line 313: Line 319:
 
       <ipv4 mask='255.255.255.252'>10.0.5.37</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.37</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='NE'>
 
   <vm name='NE'>
Line 324: Line 331:
 
       <ipv4 mask='255.255.255.252'>10.0.5.41</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.41</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='IL'>
 
   <vm name='IL'>
Line 338: Line 346:
 
       <ipv4 mask='255.255.255.252'>10.0.5.45</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.45</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='MI'>
 
   <vm name='MI'>
Line 352: Line 361:
 
       <ipv4 mask='255.255.255.252'>10.0.5.53</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.53</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='PA'>
 
   <vm name='PA'>
Line 369: Line 379:
 
       <ipv4 mask='255.255.255.252'>10.0.5.65</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.65</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='NY'>
 
   <vm name='NY'>
Line 383: Line 394:
 
       <ipv4 mask='255.255.255.252'>10.0.5.69</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.69</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='NJ'>
 
   <vm name='NJ'>
Line 397: Line 409:
 
       <ipv4 mask='255.255.255.252'>10.0.5.73</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.73</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='DC'>
 
   <vm name='DC'>
Line 411: Line 424:
 
       <ipv4 mask='255.255.255.252'>10.0.5.74</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.74</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='GA'>
 
   <vm name='GA'>
Line 422: Line 436:
 
       <ipv4 mask='255.255.255.252'>10.0.5.81</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.81</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
   <vm name='TX'>
 
   <vm name='TX'>
Line 439: Line 454:
 
       <ipv4 mask='255.255.255.252'>10.0.5.82</ipv4>
 
       <ipv4 mask='255.255.255.252'>10.0.5.82</ipv4>
 
     </if>
 
     </if>
 +
    <forwarding type="ip"/>
 
   </vm>
 
   </vm>
 
</vnuml>
 
</vnuml>
Line 446: Line 462:
  
 
<pre>
 
<pre>
 +
<?xml version='1.0' encoding='UTF-8'?>
 +
<!DOCTYPE ospf_conf SYSTEM '/usr/share/xml/vnuml/ospfd.dtd'>
 
<ospf_conf>
 
<ospf_conf>
 
   <vm name="WA" type="quagga" subtype="lib-install">
 
   <vm name="WA" type="quagga" subtype="lib-install">
       <zebra hostname="WA" password="xxxx"> </zebra>
+
       <zebra hostname="WA" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.1</ip>
 
         <ip mask="32">10.0.50.1</ip>
Line 467: Line 485:
 
   </vm>
 
   </vm>
 
   <vm name="CA1" type="quagga" subtype="lib-install">
 
   <vm name="CA1" type="quagga" subtype="lib-install">
       <zebra hostname="CA1" password="xxxx"> </zebra>
+
       <zebra hostname="CA1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.2</ip>
 
         <ip mask="32">10.0.50.2</ip>
Line 486: Line 504:
 
   </vm>
 
   </vm>
 
   <vm name="CA2" type="quagga" subtype="lib-install">
 
   <vm name="CA2" type="quagga" subtype="lib-install">
       <zebra hostname="CA2" password="xxxx"> </zebra>
+
       <zebra hostname="CA2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.3</ip>
 
         <ip mask="32">10.0.50.3</ip>
Line 505: Line 523:
 
   </vm>
 
   </vm>
 
   <vm name="UT" type="quagga" subtype="lib-install">
 
   <vm name="UT" type="quagga" subtype="lib-install">
       <zebra hostname="UT" password="xxxx"> </zebra>
+
       <zebra hostname="UT" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.4</ip>
 
         <ip mask="32">10.0.50.4</ip>
Line 524: Line 542:
 
   </vm>
 
   </vm>
 
   <vm name="CO" type="quagga" subtype="lib-install">
 
   <vm name="CO" type="quagga" subtype="lib-install">
       <zebra hostname="CO" password="xxxx"> </zebra>
+
       <zebra hostname="CO" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.5</ip>
 
         <ip mask="32">10.0.50.5</ip>
Line 543: Line 561:
 
   </vm>
 
   </vm>
 
   <vm name="NE" type="quagga" subtype="lib-install">
 
   <vm name="NE" type="quagga" subtype="lib-install">
       <zebra hostname="NE" password="xxxx"> </zebra>
+
       <zebra hostname="NE" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.6</ip>
 
         <ip mask="32">10.0.50.6</ip>
Line 558: Line 576:
 
   </vm>
 
   </vm>
 
   <vm name="IL" type="quagga" subtype="lib-install">
 
   <vm name="IL" type="quagga" subtype="lib-install">
       <zebra hostname="IL" password="xxxx"> </zebra>
+
       <zebra hostname="IL" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.7</ip>
 
         <ip mask="32">10.0.50.7</ip>
Line 577: Line 595:
 
   </vm>
 
   </vm>
 
   <vm name="MI" type="quagga" subtype="lib-install">
 
   <vm name="MI" type="quagga" subtype="lib-install">
       <zebra hostname="MI" password="xxxx"> </zebra>
+
       <zebra hostname="MI" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.8</ip>
 
         <ip mask="32">10.0.50.8</ip>
Line 596: Line 614:
 
   </vm>
 
   </vm>
 
   <vm name="PA" type="quagga" subtype="lib-install">
 
   <vm name="PA" type="quagga" subtype="lib-install">
       <zebra hostname="PA" password="xxxx"> </zebra>
+
       <zebra hostname="PA" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.9</ip>
 
         <ip mask="32">10.0.50.9</ip>
Line 619: Line 637:
 
   </vm>
 
   </vm>
 
   <vm name="NY" type="quagga" subtype="lib-install">
 
   <vm name="NY" type="quagga" subtype="lib-install">
       <zebra hostname="NY" password="xxxx"> </zebra>
+
       <zebra hostname="NY" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.10</ip>
 
         <ip mask="32">10.0.50.10</ip>
Line 638: Line 656:
 
   </vm>
 
   </vm>
 
   <vm name="NJ" type="quagga" subtype="lib-install">
 
   <vm name="NJ" type="quagga" subtype="lib-install">
       <zebra hostname="NJ" password="xxxx"> </zebra>
+
       <zebra hostname="NJ" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.11</ip>
 
         <ip mask="32">10.0.50.11</ip>
Line 657: Line 675:
 
   </vm>
 
   </vm>
 
   <vm name="DC" type="quagga" subtype="lib-install">
 
   <vm name="DC" type="quagga" subtype="lib-install">
       <zebra hostname="DC" password="xxxx"> </zebra>
+
       <zebra hostname="DC" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.12</ip>
 
         <ip mask="32">10.0.50.12</ip>
Line 676: Line 694:
 
   </vm>
 
   </vm>
 
   <vm name="GA" type="quagga" subtype="lib-install">
 
   <vm name="GA" type="quagga" subtype="lib-install">
       <zebra hostname="GA" password="xxxx"> </zebra>
+
       <zebra hostname="GA" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.13</ip>
 
         <ip mask="32">10.0.50.13</ip>
Line 691: Line 709:
 
   </vm>
 
   </vm>
 
   <vm name="TX" type="quagga" subtype="lib-install">
 
   <vm name="TX" type="quagga" subtype="lib-install">
       <zebra hostname="TX" password="xxxx"> </zebra>
+
       <zebra hostname="TX" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="32">10.0.50.14</ip>
 
         <ip mask="32">10.0.50.14</ip>
Line 718: Line 736:
 
== Download ==
 
== Download ==
  
* VNUML specification file: [http://jungla.dit.upm.es/~vnuml/doc/examples/nsf-14/nsf-14.xml Nsf-14.xml]
+
* VNUML specification file: [http://jungla.dit.upm.es/~vnuml/doc/examples/nsf-14/1.9/nsf-14.xml Nsf-14.xml]
* VNUML configuration file: [http://jungla.dit.upm.es/~vnuml/doc/examples/nsf-14/nsf-14.xml Nsf-14_ospf_conf.xml]
+
* VNUML configuration file: [http://jungla.dit.upm.es/~vnuml/doc/examples/nsf-14/1.9/nsf-14_conf.xml Nsf-14_conf.xml]
  
 
== Old Releases ==
 
== Old Releases ==
 
* [[Example-NSF-14_1.8|1.8]]
 
* [[Example-NSF-14_1.8|1.8]]

Latest revision as of 11:59, 10 February 2009

Authors:
Fermín Galán (galan at dit.upm.es)
Francisco José Martín Moreno (fjmartin at dit.upm.es)
Miguel Ferrer Cámara (mferrer at dit.upm.es)
version 1.9, January 29st, 2009


Scenario

NFS (National Science Foundation) is the US Research and Education Network (NREN). Although there are several incarnations of the NFS net, here we consider the one described in the following document (also shown in the figure below) is composed of 14 network nodes connected through 21 point-to-point links (each one a /30 network).

NSFNet topology (with 14 nodes)
Figure 1: NSFNet topology (with 14 nodes)

A VNUML scenario implementing the NSF topology is shown in this example. All the routers in the simulation 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. Since version 1.9 of VNUML, OSPF-based routing have been implemented using OSPFD plugin with this configuration file.

Once the scenario is up, start the routing daemons (which configuration files are automatically generated by the OSPF plugin) using the following command:

vnumlparser.pl -x start@nsf-14.xml -v

Some examples of test performed with this virtual scenario:

  • Connectivity from WA to GA:
root@WA:~# traceroute 10.0.50.13
traceroute to 10.0.50.13 (10.0.50.13), 30 hops max, 38 byte packets
 1  10.0.5.6 (10.0.5.6)  0.371 ms  0.579 ms  0.262 ms
 2  10.0.5.22 (10.0.5.22)  0.472 ms  0.420 ms  0.426 ms
 3  10.0.50.13 (10.0.50.13)  0.594 ms  0.586 ms  0.507 ms
  • Connectivity from WA to NJ:
traceroute to 10.0.50.11 (10.0.50.11), 30 hops max, 38 byte packets
 1  10.0.5.10 (10.0.5.10)  2.862 ms  0.279 ms  0.226 ms
 2  10.0.5.46 (10.0.5.46)  0.421 ms  2.355 ms  0.414 ms
 3  10.0.50.11 (10.0.50.11)  0.561 ms  0.476 ms  1.424 ms
  • OSPF information from ospfd at WA:
WA# sh ip ospf route
============ OSPF network routing table ============
N    10.0.5.0/30           [10] area: 0.0.0.0
                           directly attached to eth1
N    10.0.5.4/30           [10] area: 0.0.0.0
                           directly attached to eth2
N    10.0.5.8/30           [10] area: 0.0.0.0
                           directly attached to eth3
N    10.0.5.12/30          [20] area: 0.0.0.0
                           via 10.0.5.2, eth1
                           via 10.0.5.6, eth2
N    10.0.5.16/30          [20] area: 0.0.0.0
                           via 10.0.5.2, eth1
N    10.0.5.20/30          [20] area: 0.0.0.0
                           via 10.0.5.6, eth2
N    10.0.5.24/30          [30] area: 0.0.0.0
                           via 10.0.5.2, eth1
N    10.0.5.28/30          [30] area: 0.0.0.0
                           via 10.0.5.2, eth1
N    10.0.5.32/30          [30] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.5.36/30          [30] area: 0.0.0.0
                           via 10.0.5.6, eth2
N    10.0.5.40/30          [20] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.5.44/30          [20] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.5.48/30          [40] area: 0.0.0.0
                           via 10.0.5.2, eth1
                           via 10.0.5.10, eth3
N    10.0.5.52/30          [40] area: 0.0.0.0
                           via 10.0.5.2, eth1
                           via 10.0.5.10, eth3
N    10.0.5.56/30          [30] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.5.60/30          [30] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.5.64/30          [30] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.5.68/30          [40] area: 0.0.0.0
                           via 10.0.5.6, eth2
                           via 10.0.5.10, eth3
N    10.0.5.72/30          [40] area: 0.0.0.0
                           via 10.0.5.6, eth2
                           via 10.0.5.10, eth3
N    10.0.5.76/30          [30] area: 0.0.0.0
                           via 10.0.5.6, eth2
N    10.0.5.80/30          [30] area: 0.0.0.0
                           via 10.0.5.6, eth2
N    10.0.50.1/32          [10] area: 0.0.0.0
                           directly attached to lo
N    10.0.50.2/32          [20] area: 0.0.0.0
                           via 10.0.5.2, eth1
N    10.0.50.3/32          [20] area: 0.0.0.0
                           via 10.0.5.6, eth2
N    10.0.50.4/32          [30] area: 0.0.0.0
                           via 10.0.5.2, eth1
N    10.0.50.5/32          [40] area: 0.0.0.0
                           via 10.0.5.2, eth1
                           via 10.0.5.10, eth3
                           via 10.0.5.6, eth2
N    10.0.50.6/32          [30] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.50.7/32          [20] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.50.8/32          [40] area: 0.0.0.0
                           via 10.0.5.2, eth1
N    10.0.50.9/32          [30] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.50.10/32         [40] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.50.11/32         [40] area: 0.0.0.0
                           via 10.0.5.10, eth3
N    10.0.50.12/32         [40] area: 0.0.0.0
                           via 10.0.5.6, eth2
N    10.0.50.13/32         [40] area: 0.0.0.0
                           via 10.0.5.6, eth2
                           via 10.0.5.10, eth3
N    10.0.50.14/32         [30] area: 0.0.0.0
                           via 10.0.5.6, eth2

============ OSPF router routing table =============

============ OSPF external routing table ===========

WA# sh ip ospf neighbor 

    Neighbor ID Pri State           Dead Time Address         Interface            RXmtL RqstL DBsmL
10.0.50.2         1 Full/DR           32.439s 10.0.5.2        eth1:10.0.5.1            0     0     0
10.0.50.3         1 Full/DR           32.542s 10.0.5.6        eth2:10.0.5.5            0     0     0
10.0.50.7         1 Full/DR           33.041s 10.0.5.10       eth3:10.0.5.9            0     0     0
WA# sh ip ospf interface 
dummy0 is down
  ifindex 7, MTU 1500 bytes, BW 0 Kbit   <BROADCAST,NOARP>
  OSPF not enabled on this interface
eth0 is up
  ifindex 5, MTU 1500 bytes, BW 0 Kbit   <UP,BROADCAST,RUNNING,MULTICAST>
  OSPF not enabled on this interface
eth1 is up
  ifindex 1, MTU 1500 bytes, BW 0 Kbit   <UP,BROADCAST,RUNNING,PROMISC,MULTICAST>
  Internet Address 10.0.5.1/30, Broadcast 10.0.5.3, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 10.0.50.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Backup, Priority 1
  Designated Router (ID) 10.0.50.2, Interface Address 10.0.5.2
  Backup Designated Router (ID) 10.0.50.1, Interface Address 10.0.5.1
  Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 5.703s
  Neighbor Count is 1, Adjacent neighbor count is 1
eth2 is up
  ifindex 2, MTU 1500 bytes, BW 0 Kbit   <UP,BROADCAST,RUNNING,PROMISC,MULTICAST>
  Internet Address 10.0.5.5/30, Broadcast 10.0.5.7, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 10.0.50.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Backup, Priority 1
  Designated Router (ID) 10.0.50.3, Interface Address 10.0.5.6
  Backup Designated Router (ID) 10.0.50.1, Interface Address 10.0.5.5
  Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 5.807s
  Neighbor Count is 1, Adjacent neighbor count is 1
eth3 is up
  ifindex 3, MTU 1500 bytes, BW 0 Kbit   <UP,BROADCAST,RUNNING,PROMISC,MULTICAST>
  Internet Address 10.0.5.9/30, Broadcast 10.0.5.11, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 10.0.50.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State Backup, Priority 1
  Designated Router (ID) 10.0.50.7, Interface Address 10.0.5.10
  Backup Designated Router (ID) 10.0.50.1, Interface Address 10.0.5.9
  Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 6.311s
  Neighbor Count is 1, Adjacent neighbor count is 1
ip6tnl0 is down
  ifindex 9, MTU 1460 bytes, BW 0 Kbit   <NOARP>
  OSPF not enabled on this interface
lo is up
  ifindex 6, MTU 16436 bytes, BW 0 Kbit   <UP,LOOPBACK,RUNNING>
  Internet Address 10.0.50.1/32, Area 0.0.0.0
  MTU mismatch detection:enabled
  Router ID 10.0.50.1, Network Type LOOPBACK, Cost: 10
  Transmit Delay is 1 sec, State Loopback, Priority 1
  No designated router on this network
  No backup designated router on this network
  Multicast group memberships: <None>
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in inactive
  Neighbor Count is 0, Adjacent neighbor count is 0
sit0 is down
  ifindex 8, MTU 1480 bytes, BW 0 Kbit   <NOARP>
  OSPF not enabled on this interface

Thing to do. If you want to help us to improve this example (please, tell us about :), the following enhancements could be done:

  • A IPv6 version of the scenario (using the <ipv6> tags)

VNUML Description


<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE vnuml SYSTEM '/usr/share/xml/vnuml/vnuml.dtd'>
<vnuml>
<global>
    <version>1.9</version>
    <simulation_name>nsfnet</simulation_name>
    <automac/>
    <vm_mgmt type="private" network="10.250.0.0" mask="16" offset="0">
       <host_mapping/>
    </vm_mgmt>
    <vm_defaults exec_mode='mconsole'>
       <filesystem type='cow'>/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem>
       <kernel>/usr/share/vnuml/kernels/linux</kernel>
       <console id='0'>pts</console>
    </vm_defaults>
    <extension plugin="ospfd" conf="nsf-14_conf.xml" />
  </global>
  <net name='il-ne' mode='uml_switch'/>
  <net name='mi-ut' mode='uml_switch'/>
  <net name='dc-ny' mode='uml_switch'/>
  <net name='il-wa' mode='uml_switch'/>
  <net name='ca2-tx' mode='uml_switch'/>
  <net name='dc-tx' mode='uml_switch'/>
  <net name='co-tx' mode='uml_switch'/>
  <net name='ca1-ut' mode='uml_switch'/>
  <net name='dc-nj' mode='uml_switch'/>
  <net name='ca1-wa' mode='uml_switch'/>
  <net name='ca1-ca2' mode='uml_switch'/>
  <net name='nj-pa' mode='uml_switch'/>
  <net name='mi-ny' mode='uml_switch'/>
  <net name='ca2-wa' mode='uml_switch'/>
  <net name='co-ne' mode='uml_switch'/>
  <net name='ga-tx' mode='uml_switch'/>
  <net name='il-pa' mode='uml_switch'/>
  <net name='ny-pa' mode='uml_switch'/>
  <net name='co-ut' mode='uml_switch'/>
  <net name='ga-pa' mode='uml_switch'/>
  <net name='mi-nj' mode='uml_switch'/>
  <vm name='WA'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.1</ipv4>
    </if>
    <if id='1' net='ca1-wa'>
      <ipv4 mask='255.255.255.252'>10.0.5.1</ipv4>
    </if>
    <if id='2' net='ca2-wa'>
      <ipv4 mask='255.255.255.252'>10.0.5.5</ipv4>
    </if>
    <if id='3' net='il-wa'>
      <ipv4 mask='255.255.255.252'>10.0.5.9</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='CA1'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.2</ipv4>
    </if>
    <if id='1' net='ca1-ca2'>
      <ipv4 mask='255.255.255.252'>10.0.5.13</ipv4>
    </if>
    <if id='2' net='ca1-ut'>
      <ipv4 mask='255.255.255.252'>10.0.5.17</ipv4>
    </if>
    <if id='3' net='ca1-wa'>
      <ipv4 mask='255.255.255.252'>10.0.5.2</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='CA2'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.3</ipv4>
    </if>
    <if id='1' net='ca1-ca2'>
      <ipv4 mask='255.255.255.252'>10.0.5.14</ipv4>
    </if>
    <if id='2' net='ca2-wa'>
      <ipv4 mask='255.255.255.252'>10.0.5.6</ipv4>
    </if>
    <if id='3' net='ca2-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.21</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='UT'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.4</ipv4>
    </if>
    <if id='1' net='ca1-ut'>
      <ipv4 mask='255.255.255.252'>10.0.5.18</ipv4>
    </if>
    <if id='2' net='mi-ut'>
      <ipv4 mask='255.255.255.252'>10.0.5.25</ipv4>
    </if>
    <if id='3' net='co-ut'>
      <ipv4 mask='255.255.255.252'>10.0.5.29</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='CO'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.5</ipv4>
    </if>
    <if id='1' net='co-ut'>
      <ipv4 mask='255.255.255.252'>10.0.5.30</ipv4>
    </if>
    <if id='2' net='co-ne'>
      <ipv4 mask='255.255.255.252'>10.0.5.33</ipv4>
    </if>
    <if id='3' net='co-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.37</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='NE'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.6</ipv4>
    </if>
    <if id='1' net='co-ne'>
      <ipv4 mask='255.255.255.252'>10.0.5.34</ipv4>
    </if>
    <if id='2' net='il-ne'>
      <ipv4 mask='255.255.255.252'>10.0.5.41</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='IL'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.7</ipv4>
    </if>
    <if id='1' net='il-ne'>
      <ipv4 mask='255.255.255.252'>10.0.5.42</ipv4>
    </if>
    <if id='2' net='il-wa'>
      <ipv4 mask='255.255.255.252'>10.0.5.10</ipv4>
    </if>
    <if id='3' net='il-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.45</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='MI'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.8</ipv4>
    </if>
    <if id='1' net='mi-ut'>
      <ipv4 mask='255.255.255.252'>10.0.5.26</ipv4>
    </if>
    <if id='2' net='mi-nj'>
      <ipv4 mask='255.255.255.252'>10.0.5.49</ipv4>
    </if>
    <if id='3' net='mi-ny'>
      <ipv4 mask='255.255.255.252'>10.0.5.53</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='PA'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.9</ipv4>
    </if>
    <if id='1' net='il-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.46</ipv4>
    </if>
    <if id='2' net='ga-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.57</ipv4>
    </if>
    <if id='3' net='ny-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.61</ipv4>
    </if>
    <if id='4' net='nj-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.65</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='NY'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.10</ipv4>
    </if>
    <if id='1' net='mi-ny'>
      <ipv4 mask='255.255.255.252'>10.0.5.54</ipv4>
    </if>
    <if id='2' net='ny-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.62</ipv4>
    </if>
    <if id='3' net='dc-ny'>
      <ipv4 mask='255.255.255.252'>10.0.5.69</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='NJ'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.11</ipv4>
    </if>
    <if id='1' net='mi-nj'>
      <ipv4 mask='255.255.255.252'>10.0.5.50</ipv4>
    </if>
    <if id='2' net='nj-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.66</ipv4>
    </if>
    <if id='3' net='dc-nj'>
      <ipv4 mask='255.255.255.252'>10.0.5.73</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='DC'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.12</ipv4>
    </if>
    <if id='1' net='dc-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.77</ipv4>
    </if>
    <if id='2' net='dc-ny'>
      <ipv4 mask='255.255.255.252'>10.0.5.70</ipv4>
    </if>
    <if id='3' net='dc-nj'>
      <ipv4 mask='255.255.255.252'>10.0.5.74</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='GA'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.13</ipv4>
    </if>
    <if id='1' net='ga-pa'>
      <ipv4 mask='255.255.255.252'>10.0.5.58</ipv4>
    </if>
    <if id='2' net='ga-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.81</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
  <vm name='TX'>
    <if id='1' net='lo'>
      <ipv4 mask='255.255.255.255'>10.0.50.14</ipv4>
    </if>
    <if id='1' net='ca2-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.22</ipv4>
    </if>
    <if id='2' net='co-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.38</ipv4>
    </if>
    <if id='3' net='dc-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.78</ipv4>
    </if>
    <if id='4' net='ga-tx'>
      <ipv4 mask='255.255.255.252'>10.0.5.82</ipv4>
    </if>
    <forwarding type="ip"/>
  </vm>
</vnuml>

OSPF plugin configuration file

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ospf_conf SYSTEM '/usr/share/xml/vnuml/ospfd.dtd'>
<ospf_conf>
   <vm name="WA" type="quagga" subtype="lib-install">
      <zebra hostname="WA" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.1</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.4</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.8</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="CA1" type="quagga" subtype="lib-install">
      <zebra hostname="CA1" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.2</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.12</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.16</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="CA2" type="quagga" subtype="lib-install">
      <zebra hostname="CA2" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.3</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.12</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.4</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.20</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="UT" type="quagga" subtype="lib-install">
      <zebra hostname="UT" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.4</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.16</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.24</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.28</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="CO" type="quagga" subtype="lib-install">
      <zebra hostname="CO" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.5</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.28</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.32</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.36</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="NE" type="quagga" subtype="lib-install">
      <zebra hostname="NE" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.6</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.32</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.40</ip>
         <area>0.0.0.0</area>
      </network>		
   </vm>
   <vm name="IL" type="quagga" subtype="lib-install">
      <zebra hostname="IL" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.7</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.40</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.8</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.44</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="MI" type="quagga" subtype="lib-install">
      <zebra hostname="MI" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.8</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.24</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.48</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.52</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="PA" type="quagga" subtype="lib-install">
      <zebra hostname="PA" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.9</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.44</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.56</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.60</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.64</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="NY" type="quagga" subtype="lib-install">
      <zebra hostname="NY" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.10</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.52</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.60</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.68</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>		
   <vm name="NJ" type="quagga" subtype="lib-install">
      <zebra hostname="NJ" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.11</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.48</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.72</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="DC" type="quagga" subtype="lib-install">
      <zebra hostname="DC" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.12</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.76</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.68</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.72</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="GA" type="quagga" subtype="lib-install">
      <zebra hostname="GA" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.13</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.56</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.80</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="TX" type="quagga" subtype="lib-install">
      <zebra hostname="TX" password="xxxx"></zebra>
      <network>
         <ip mask="32">10.0.50.14</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.20</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.36</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.76</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">10.0.5.80</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
</ospf_conf>

Download

Old Releases