Under Construction
Welcome to the Packet-Optical ONOS tutorial!!!
In this tutorial, you’ll complete a set of exercises designed to explain the main concepts of packet-Optical use case of ONOS. We hope that with this tutorial, you’ll be able to create, configure and start multi-layer networks on your environment, which can potentially represent a wide area network environment for your application performance studies.
To get you started quickly, the converged packet-optical VM is preconfigured with the needed software environments including ONOS, linc-OE, Mininet, Jave-8, Erlang, linc-oe config generator, etc.
You should be able to Just run this VM in VirtualBox using the instructions in the next section.
Introduction
Service Provider Networks are complex and multi-layer in nature. Without converged packet Optical SDN capability, Provisioning and adding bandwidth requires order of days if not months. Today, Provisioning and adding bandwidth requires order of days if not months. Since packet and optical networks are managed independently, each one of them has to be over provisioned to deal with traffic anomalies and failures. This leads to lack of service agility and is a significant source of CAPEX and OPEX overhead for the network operator.
This Tutorial is about how ONOS can help address the challenges of managing multilayer service provider networks. We will show an emulated environment for converged control of packet and optical networks for wide area network, and how it will truly enable service providers to make much more efficient traffic management practices. Therefore, this tutorial represents a sample demo on how converged packet-optical networks, can be controlled by ONOS.
In this Tutorial, We are going to show and ONOS’s capabilities as an enabler for cross layer optimization and applications on the northbound to control the forwarding planes at both packet and optical layer. This environment can be used by the architects and developers to demonstrate feasibility of applications such as a multilayer PCE which it’s basics for demonstrating benefits of converged networks.
With Converged Control Plane we hope to reduce cycle time to Add capacity perhaps in minutes instead of days or month. ONOS ability to add capacity based on traffic demand in real or near real time. In addition when failure happens, instead of using the packet layer resources for recovery controller could reconfigure the optical transport layer for best alternative re-route. With this approach we are reducing over-provisioning of resources, since transport layer is cheapest infrastructure to move bits.In addition with enhanced converged control plane we could potentially enable new services. Such as Network graph Observability and real time injection of network policies
Prerequisite
You will need a computer with at least 8GB of RAM such that you can dedicate 4 Gig to your packet-optical VM and at least 5GB of free hard disk space. A faster processor or solid-state drive will speed up the virtual machine boot time, and a larger screen will help to manage multiple terminal windows.
The computer can run Windows, Mac OS X, or Linux – all work fine with VirtualBox, the only software requirement.
To install VirtualBox, you will need administrative access to the machine.
The tutorial instructions requires some prior knowledge of SDN in general, and OpenFlow and Mininet in particular. So please first complete the OpenFlow tutorial and the Mininet walkthrough.
Since Packet-Optical use case of ONOS we highly recommend to complete ONOS tutorial too.
OOPs? Found a bug? Questions?
Email us (onos-discuss@onosproject.org) if you’re stuck, think you’ve found a bug, or just want to send some feedback.
Please have a look at the guidelines to learn how to efficiently submit a bug report.
Setup Your Environment
Install required software
You will need to acquire two files: a VirtualBox installer and the Tutorial VM (Link TBD by Marc) .
After you have downloaded VirtualBox, install it, then go to the next section to verify that the VM is working on your system.
Import pre-configured Virtual Machine
Start up VirtualBox, then select Machine>New, give it a name, and select Linux as type and Ubuntu (64 bit) as version. Press Continue.
Next, configure the VM with 2 GB (2048 MB) of memory. ( If you are going to run the bigger topology, Configure the VM with 4 GM ( 4096) of memory, Press Continue.
Select ‘Use an existing virtual hard drive file’, and point it to the vmdk file you downloaded Select Create. Note you can also import .OVA instead.
Now you can start the VM by double clicking it; once it starts you can login with user "sdn" and password "rocks".
After some time you should see the desktop view for Ubuntu. You can open a terminal by double clicking Terminal.
Important Command Prompt
Terminal
$
Symbol "$" means linux terminal.
Mininet
mininet>
"mininet>" means mininet CLI command prompt
Linc-OE
(linc@mininet-vm)1>
"(linc@mininet-vm)1>" means Linc-OE CLI command prompt.
This VM Contains the following subsystems / files :
1- ONOS; Alternatively "ONOS from Scratch"
2-Mininet; Alternatively "Mininet"
3-Linc-OE, "Linc-OE GitHub"
4- Linc-OE config Generator ; "Config" which generates Sys.config representing Optical Layer Topology
5- Mininet Python Scripts ; which starts mininet, and linc-oe" OpticalTest.py", "opticalTestBig.py"
6-Erlang ; wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
rm erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install erlang rebar"How to download Erlang"
7-Java-8; Which could also be downloaded directly from "ONOS from Scratch"
Packet-Optical Topology Spin-Off (via Python-Script)
$ cd ~/mininet/examples
You should have a file that contain the packet-optical topology sample " opticalTest.py ". This file is a python script which automatically creates the following topology:
As shown the topology contains 6 packet nodes in upper plane, and 10 optical nodes in the lower plane.
Each packet node is attached to a host representing a data center. The traffic is typically initiated from Hosts attached to the packet networks.
Note that there is no physical links between the packet nodes. All traffic sourced at the data centers are routed through the optical plane.
The optical plane represents the physical network infrastructure interconnected via ROADMs, and packet network are interconnected via logical links only when a circuit is established through
physical layer.
The tap interfaces are used to interconnect the optical switches and packet nodes. We are utilizing linux tap interfaces for interconnecting the optical switches and packet switches.
Start Mininet and Linc-oe
To start Linc-oe and Mininet go to:
This will create the topology shown above in the figure and ask you to 'Press any key to push Topology.json to onos...'
Before you press any key you need to run ONOS. To run ONOS
or
This will start ONOS. Now you can Press any key to push Topology.json to onos
Demo 1: Establishing connection between hosts/DataCenters using ONOS-GUI.
To get the ONOS-GUI type following terminal:
or
This will open ONOS-GUI in you default browser. You can press 'z' to get the split view of packet and optical plane and press 'h' to see hosts (for more options pess "/").
As you can see that there are no host discovered by ONOS. This is due to the fact that ONOS only discover host when there is traffic from the host. So lets generate taffic from all host
Possible demo scenarios
Learning to Fly (Examples)
Network Topology Manipulation & Updates (How you can modify the Python and Explain the Topology, Interfaces, Hosts)
Hosts / Data Centers attached to Packet Networks
Packet nodes interconnected with Optical nodes
Traffic between the data centers
Setting up Connection between data centers
GUI , CLI Options
Causing Failure at Optical Layer
Causing Failures at Packet Layer
Changing to a much bigger Topology
Temporary text:
This Demo has three basic core operations:
1- ONOS ability to discover multilayer topologies and directly control the devices (at both Packet and Optical)
2- Compiling the service requests ( BW-on-Demand) into a set of data path forwarding actions at both packet and optical layer
3- Restoration models at each layer ( Packet & optical) failures
This GUI represents the same topology that we just showed you!
We have attached the Topology to the ONOS in such a way that it can be discovered by ONOS as changes happens in the data plane.
ONOS now should be full aware of the both packet and optical topology.
Notice that we have now established 2 service requests the Optical layer represents the physical circuits or transports, and the packet layer represents the logical paths between them
Next we should try to explain the automatic restoration: