Changes between Version 9 and Version 10 of Workshops/Sig Comm2022/Mininet Optical


Ignore:
Timestamp:
Aug 19, 2022, 12:54:57 PM (2 years ago)
Author:
rajag
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Workshops/Sig Comm2022/Mininet Optical

    v9 v10  
    117117
    118118----
    119 = Installing Mininet-Optical disk image on COSMOS' node =
    120 
    121 Before starting this tutorial, you will need to install Mininet-Optical in the console. We have already created a disk image with a pre-installed version of Mininet-Optical with necessary codes. If you don't have access to the COSMOS' console already, you can follow the sign-up and installation instructions at [wiki:Workshops/SigComm2022/SignupInstructions]
    122 
    123 To install the Mininet-Optical disk image, follow the below steps:
    124 
    125 1. Remove any installed disk images on the node
    126 {{{#!shell-session
    127 user@console:~$ omf tell -a reset -t <node>
    128 }}}
    129     Here, <node> is the name of the appropriate node (for example, node1-2.sb2.orbit-lab.org)
    130 2. Install the Mininet-Optical OS image file.
    131 {{{#!shell-session
    132 user@console:~$ omf load -i sigcomm22-mnoptical-tutorial.ndz -t <node>
    133 }}}
    134 3. Turn the node on
    135 {{{#!shell-session
    136 user@console:~$ omf tell -a on -t <node>
    137 }}}
    138 3. Ping the node to check if disk image has been installed correctly. You should see the output similar to below which confirms that your console is able to ping the node you just installed in previous step.
    139 {{{#!shell-session
    140 user@console:~$ ping <node>
    141 PING node1-2.sb4.orbit-lab.org (10.14.1.2) 56(84) bytes of data.
    142 ...
    143 64 bytes from <node> (10.14.1.2): icmp_seq=16 ttl=255 time=0.552 ms
    144 64 bytes from <node> (10.14.1.2): icmp_seq=37 ttl=64 time=0.750 ms
    145 64 bytes from <node> (10.14.1.2): icmp_seq=38 ttl=64 time=0.530 ms
    146 64 bytes from <node> (10.14.1.2): icmp_seq=39 ttl=64 time=0.347 ms
    147 ^C
    148 }}}
    149 Press CTRL+C to stop the ping
    150 4. Log in to the node, and fetch the latest version of Mininet-Optical
     119= Starting Mininet-Optical on COSMOS' node =
     120
     121Before starting this tutorial, you will have already logged in to Ubuntu image on Cosmos node. If you don't have access to the COSMOS' console already, you can follow the sign-up and installation instructions at [wiki:Workshops/SigComm2022/SignupInstructions]
     122To save the hassle of installing, we have already installed Mininet-Optical on the node you are using.
     123
     124To start our tutorial on Mininet-Optical, follow the below steps:
     125
     1261. Log in to the node, and fetch the latest version of Mininet-Optical
    151127{{{#!shell-session
    152128$ ssh root@<node>
     
    157133root@node:~/mininet-optical# make install certs
    158134}}}
    159 5. Run a sample script to check Mininet-Optical has been installed correctly.
     1352. Run a sample script to check Mininet-Optical has been installed correctly.
    160136{{{#!shell-session
    161137root@node:~/mininet-optical# sudo PYTHONPATH=. python3 ./examples/simplelink.py test
     
    199175
    200176    }}}
    201     If your output looks like above, mininet-optical is successfully installed and working on your
    202     computer. Please exit the current Mininet-Optical script, by typing exit or pressing control-D at the `mininet-optical>` prompt:
     177If your output looks like above, mininet-optical is successfully working on your computer. Please exit the current Mininet-Optical script, by typing exit or pressing control-D at the `mininet-optical>` prompt:
    203178
    204179If you are facing an error, please make sure you have followed the steps above, or consult one of our organizers for resolution.
     
    412387If you don't have one open already, open up another terminal window with the below instructions. For ease of use, we will call this terminal-2 hereafter:
    413388
    414 == Opening another terminal window in Orbit ==
    415 
     389== Opening another terminal window in Orbit == 
     390[=#point1]
    4163911. Open another terminal window in your computer/laptop (Linux:CTRL+ALT+T, Mac: CMD+T, Windows: CTRL+Shift+T)
    4173922. SSH to Orbit console with your username. This is the same step used to login to Orbit console in hardware tutorial [wiki:/Workshops/SigComm2022/SignupInstructions] according to your assigned group.
     
    518493As expected, none of the servers are able to ping each other because lightpath connections have not been established as of yet.
    519494
     495=== Ping Servers Manually (''For extra credits!!) ===
     496[=#point2]
     497You can also ping all the servers manually in the mininet-optical CLI to check the connections with below steps:
     498
     4991. Open another terminal window and login to the node; using the same steps you used to open a new terminal window previously. Jump to the section on opening another terminal window [#point1 here]
     5002. Now, `~/mininet/util/m` can be used to 'log in' to any one of the servers much as you would with `ssh`. So you can ping any two servers. Let's try to ping srv1-lg1 from srv1-co1 like below. Note that we have assigned the address 192.168.1.2 to srv1-lg1 in the `config-sigcommtutorial.sh` file.
     501{{{#!shell-session
     502root@<node>:~/mininet-optical# ~/mininet/util/m srv1-co1 ping 192.168.1.2
     503PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
     504From 192.168.1.1 icmp_seq=1 Destination Host Unreachable
     505From 192.168.1.1 icmp_seq=2 Destination Host Unreachable
     506From 192.168.1.1 icmp_seq=3 Destination Host Unreachable
     507^C
     508--- 192.168.1.2 ping statistics ---
     5095 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4146ms
     510}}}
     5113. Press CTRL+C to stop the ping. Similarly you can ping srv2-lg1 from srv1-co1 as below:
     512{{{#!shell-session
     513root@<node>:~/mininet-optical# ~/mininet/util/m srv1-co1 ping 192.168.1.3
     514PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
     515From 192.168.1.1 icmp_seq=1 Destination Host Unreachable
     516From 192.168.1.1 icmp_seq=2 Destination Host Unreachable
     517From 192.168.1.1 icmp_seq=3 Destination Host Unreachable
     518^C
     519--- 192.168.1.3 ping statistics ---
     5204 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3156ms
     521}}}
     522    Here, 192.168.1.3 is the address assigned to srv2-lg1. Press CTRL+C to exit the ping.
     523
     524As expected, you cannot ping srv1-lg1 and srv2-lg1 from srv1-co1 right now, because no  connections have been established.
    520525
    521526== Configuring ROADMs
     
    632637''Note that the Mininet-Optical ROADM dataplane is currently modeled using OvS switching in the Linux kernel, so each hop will add some delay that would not be seen on hardware. Process scheduling, OS and VM overhead, etc. can create additional delays in a software emulator.''
    633638
    634 As before
     639As before, you can ping the servers manually to verify the connections. You can jump back to that section [#point2 here].
     640
    635641
    636642== Network Interfaces Configuration for Experiment-2 (long-hop)
     
    735741}}}
    736742
     743As before, you can ping the servers manually to verify the connections. You can jump back to that section [#point2 here].
     744
    737745As expected, srv1-co1 and srv2-lg1 are able to ping each other because we established the ROADM rules for long-hop configuration. Consequently, as opposed to Experiment 1, srv1-co1 and srv1-lg1 are not able to ping each other because no such connection is established yet.
    738746