Example-Twohost

From VNUML-WIKI
Revision as of 04:13, 18 February 2007 by Admin (talk | contribs) (New page: ==Two Hosts Example<br /> version 1.7.0=====Author:<br /> Jasmy Azry B. Johari ([mailto:jasmy at rndtm.net.my jasmy at rndtm.net.my])<br /> Fermín Galán ([mailto:galan at dit.upm.es gala...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

==Two Hosts Example
version 1.7.0=====Author:
Jasmy Azry B. Johari (at rndtm.net.my jasmy at rndtm.net.my)
Fermín Galán (at dit.upm.es galan at dit.upm.es)=======November 23rd, 2006====

| style="text-align: right; vertical-align: top" width="208" | Virtual Network User Mode Linux |- | class="title" colspan="2" | Scenario |- | colspan="2" |


This example (provided originally by Jasmy Azry B. Johari from Telekom Malaysia) shows a two-hosts simulation. There are two host (A and B), connected throught a network segment (eth1 interface in both host). One VNUML specification (umlA.xml) is built in host A and a second VNUML specification (umlB.xml) is built in host B. Each piece of simulation is based on the [../basic/basic.html VNUML basic example].Note the use of offset="1" in the <automac> tags in umlB.xml, to avoid umlA3 and umlB3 have the same MAC address in Net3.The example assumes that both hosts are connected using the eth0 in both cases.
Bi-tutorial
Each piece of simulation must be started in each host:
hostA# vnumlparser.pl -t umlA.xml -v
...
hostB# vnumlparser.pl -t umlB.xml -v

Traceroute traces (umlB5 -> umlA5 and umlA1 -> umlB5):

umlB5:~# traceroute 10.0.2.2 -n
traceroute to 10.0.2.2 (10.0.2.2), 30 hops max, 38 byte packets
 1  10.1.2.1 (10.1.2.1)  0.875 ms  0.816 ms  0.655 ms
 2  10.1.1.1 (10.1.1.1)  1.058 ms  1.697 ms  1.032 ms
 3  10.10.3.1 (10.10.3.1)  1.659 ms  1.874 ms  1.729 ms
 4  10.0.1.2 (10.0.1.2)  1.890 ms  2.454 ms  1.690 ms
 5  10.0.2.2 (10.0.2.2)  1.988 ms  2.295 ms  1.906 ms

umlA1:~# traceroute 10.1.2.2 -n
traceroute to 10.1.2.2 (10.1.2.2), 30 hops max, 38 byte packets
 1  10.0.0.3 (10.0.0.3)  1.198 ms  1.429 ms  1.173 ms
 2  10.10.3.4 (10.10.3.4)  1.869 ms  3.275 ms  1.586 ms
 3  10.1.1.2 (10.1.1.2)  2.021 ms  2.182 ms  1.774 ms
 4  10.1.2.2 (10.1.2.2)  2.297 ms  2.456 ms  2.040 ms

You can download the simulation files from here: umlA.xml and umlB.xml.
|- | class="title" colspan="2" | VNUML Description |- | colspan="2" |
Host A (umlA.xml):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd">
<vnuml>
   <global>
      <version>1.7</version>
      <simulation_name>umlA</simulation_name>

      <ssh_key>/root/.ssh/identity.pub</ssh_key>
      <automac offset="0"/>
      <vm_mgmt type="private" network="192.168.0.0" mask="24" offset="100">

         <host_mapping/>
      </vm_mgmt>
      <vm_defaults>
         <filesystem type="cow">/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem>
      </vm_defaults>

   </global>
   
   <net name="Net0" mode="uml_switch" />
   <net name="Net1" mode="uml_switch" />

   <net name="Net2" mode="uml_switch" />
   <net name="Net3" mode="virtual_bridge" external="eth0" />

   
   <vm name="umlA1">
      <mem>50M</mem>
      <if id="1" net="Net0">
         <ipv4>10.0.0.1</ipv4>

      </if>
      <route type="ipv4" gw="10.0.0.3">default</route>
   </vm>
   <vm name="umlA2">

      <if id="1" net="Net0">
         <ipv4>10.0.0.2</ipv4>
      </if>
      <route type="ipv4" gw="10.0.0.3">default</route>

   </vm>
   <vm name="umlA3">
      <if id="1" net="Net0">
         <ipv4>10.0.0.3</ipv4>

      </if>
      <if id="2" net="Net1">
         <ipv4>10.0.1.1</ipv4>
      </if>

      <if id="3" net="Net3">
         <ipv4>10.10.3.1</ipv4>
      </if>
      <route type="ipv4" gw="10.0.1.2">10.0.2.0/24</route>

      <route type="ipv4" gw="10.10.3.4">default</route>
      <forwarding type="ip"/>
   </vm>

   <vm name="umlA4">
      <if id="1" net="Net1">
         <ipv4>10.0.1.2</ipv4>
      </if>

      <if id="2" net="Net2">
        <ipv4>10.0.2.1</ipv4>
      </if>
      <route type="ipv4" gw="10.0.1.1">default</route>

      <forwarding type="ip"/>
   </vm>
   <vm name="umlA5">
      <if id="1" net="Net2">

         <ipv4>10.0.2.2</ipv4>
      </if>
      <route type="ipv4" gw="10.0.2.1">default</route>

   </vm>
   <host>
      <hostif net="Net3">
         <ipv4 mask="255.255.255.0">10.10.3.2</ipv4>
      </hostif>

      <physicalif name="eth0" type="ipv4" ip="10.10.3.2" mask="255.255.255.0" gw="10.10.3.3"/>

      <route type="ipv4" gw="10.10.3.1">10.0.0.0/16</route>
      <route type="ipv4" gw="10.10.3.4">default</route>

      <forwarding type="ip"/>
   </host>
</vnuml>

Host B (umlB.xml):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd">
<vnuml>
   <global>
      <version>1.7</version>
      <simulation_name>umlB</simulation_name>

      <ssh_key>/root/.ssh/identity.pub</ssh_key>
      <automac offset="1"/>
      <vm_mgmt type="private" network="192.168.0.0" mask="24" offset="100">

         <host_mapping/>
      </vm_mgmt>
      <vm_defaults>
         <filesystem type="cow">/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem>
      </vm_defaults>

   </global>
   
   <net name="Net4" mode="uml_switch" />
   <net name="Net5" mode="uml_switch" />

   <net name="Net6" mode="uml_switch" />
   <net name="Net3" mode="virtual_bridge" external="eth0" />

   
   <vm name="umlB1">
      <mem>50M</mem>
      <if id="1" net="Net4">
         <ipv4>10.1.0.1</ipv4>

      </if>
      <route type="ipv4" gw="10.1.0.3">default</route>
   </vm>
   <vm name="umlB2">

      <if id="1" net="Net4">
         <ipv4>10.1.0.2</ipv4>
      </if>
      <route type="ipv4" gw="10.1.0.3">default</route>

   </vm>
   <vm name="umlB3">
      <if id="1" net="Net4">
         <ipv4>10.1.0.3</ipv4>

      </if>
      <if id="2" net="Net5">
         <ipv4>10.1.1.1</ipv4>
      </if>

      <if id="3" net="Net3">
         <ipv4>10.10.3.4</ipv4>
      </if>
      <route type="ipv4" gw="10.1.1.2">10.1.2.0/24</route>

      <route type="ipv4" gw="10.10.3.1">default</route>
      <forwarding type="ip"/>
   </vm>

   <vm name="umlB4">
      <if id="1" net="Net5">
         <ipv4>10.1.1.2</ipv4>
      </if>

      <if id="2" net="Net6">
         <ipv4>10.1.2.1</ipv4>
      </if>
      <route type="ipv4" gw="10.1.1.1">default</route>

      <forwarding type="ip"/>
   </vm>
   <vm name="umlB5">
      <if id="1" net="Net6">

         <ipv4>10.1.2.2</ipv4>
      </if>
      <route type="ipv4" gw="10.1.2.1">default</route>

   </vm>
   
   <host>
      <hostif net="Net3">
         <ipv4 mask="255.255.255.0">10.10.3.3</ipv4>
      </hostif>

      <physicalif name="eth0" type="ipv4" ip="10.10.3.3" mask="255.255.255.0" gw="10.10.3.2"/>

      <route type="ipv4" gw="10.10.3.4">10.1.0.0/16</route>
      <route type="ipv4" gw="10.10.3.1">default</route>

      <forwarding type="ip"/>
   </host>
</vnuml>


|- | class="title" colspan="2" | Old Releases |- | colspan="2" |

  • [1.3/bi-tutorial.html 1.3]
  • [1.6/bi-tutorial.html 1.6]

|- | colspan="2" |


Last update:

<center>Valid HTML 4.01!
</center>

|}

</div>