Download open/download tutorial

Transcript
OFELIA tutorial
Abstract:
The EU OFELIA project (http://www.fp7-ofelia.eu/) has set-up an OpenFlow-based experimental testbed
that is distributed over several European countries and also offers connectivity with other testbeds
worldwide. The OFELIA facility is open as a best-effort service, free-of-charge for external users that
agree with the OFELIA Usage Policy. This Tutorial is a concise description how to register and experiment
on the OFELIA facility. Our goal is to make it easy for all to understand how to become a user and how
the facility can be used.
Contents
1
2
3
4
Introduction .......................................................................................................................................... 2
1.1
What is OFELIA .............................................................................................................................. 2
1.2
What does OFELIA Offer ............................................................................................................... 3
1.3
Running Experiments in OFELIA: High Level View ........................................................................ 5
Getting Access to OFELIA ...................................................................................................................... 6
2.1
Register ......................................................................................................................................... 6
2.2
Configure the VPN to Access the OFELIA Testbed ........................................................................ 7
2.3
Login to the OFELIA Control Framework....................................................................................... 9
Setting up an Experiment...................................................................................................................... 9
3.1
Managing Projects ...................................................................................................................... 10
3.2
Slices for Experiments ................................................................................................................. 12
3.3
OpenFlow Resource Allocation ................................................................................................... 14
3.4
Virtual Machine Allocation ......................................................................................................... 14
Running an experiment....................................................................................................................... 18
4.1
Start Experiment ......................................................................................................................... 18
4.2
Run Experiment........................................................................................................................... 19
4.3
Clean Up After Experiment ......................................................................................................... 19
5
Conclusion ........................................................................................................................................... 20
6
Acknowledgements............................................................................................................................. 20
OFELIA Tutorial
Table 1: The OFELIA islands – brief description and links to detailed information ...................................... 4
Figure 1: Map of OFELIA island locations in Europe ..................................................................................... 3
Figure 2 OFELIA Page for Registration of New Users .................................................................................... 7
Figure 3: OFELIA Page for Login to OFELIA.................................................................................................... 8
Figure 4: OFELIA Experimenter Welcome Page ............................................................................................ 8
Figure 5: OFELIA Expedient Dashboard at First Login ................................................................................. 10
Figure 6: OFELIA Project Management Page .............................................................................................. 11
Figure 7: OFELIA Slice Management Page .................................................................................................. 13
Figure 8: OFELIA Slice Management Page – Area Network Resources, OpenFlow Aggregate ................... 15
Figure 9: OFELIA Slice Management Page – Area Computational Resources, VT Aggregate ..................... 15
Figure 10: OFELIA OpenFlow Resource Allocation page ............................................................................. 16
Figure 11: Fields to define OFELIA FlowSpace ............................................................................................ 17
Figure 12: OFELIA Page for Setting the Controller IP Address .................................................................... 17
Figure 13: Example FlowSpace.................................................................................................................... 18
1 Introduction
The EU OFELIA project (http://www.fp7-ofelia.eu/) has set-up an OpenFlow-based experimental testbed
that is distributed over several European countries and also offers connectivity with other testbeds
worldwide. This Tutorial is a concise description of how to register and experiment on the OFELIA
facility. More detailed information about OFELIA and its resources can be found on the OFELIA website
and user manual.
The OFELIA facility is open as a best-effort service, free-of-charge for external users that agree with the
OFELIA Usage Policy.
1.1 What is OFELIA
OFELIA is a collaborative project within the European Commission’s FP7 ICT Work Programme. Its name
stands for OpenFlow in Europe: Linking Infrastructure and Applications.
The OFELIA project offers a Pan-European testbed to the research community for conducting
experiments in an OpenFlow-enabled wide-area network. The flow-based virtualized OFELIA
environment enables researchers to change the network behavior as a part of their experiments on
innovative network protocols and applications.
The aim of OFELIA is to provide an experimentation space which allows for flexible integration of test
and production traffic by isolating the traffic domains inside the OpenFlow enabled network equipment.
Page 2 of 20
OFELIA Tutorial
This allows for providing realistic test scenarios and for seamless deployment of successfully tested
technology.
The OFELIA experimental facility is based on OpenFlow technology that allows researchers to not only
experiment “on” a test network but to control the network itself precisely and dynamically.
1.2 What does OFELIA Offer
Eight interconnected islands (Figure 1) based on OpenFlow infrastructure are available to allow
experimentation on multi-layer and multi-technology networks. A brief description of each island is
provided in Table 1.
As a federated facility, all OFELIA islands are connected together (Intra-Federation) providing diverse
and scalable resources. A single login will grant access to all islands. Work is ongoing to allow
experiments to span across different islands.
In the future, the OFELIA testbed will also support “Inter-Federation” procedures that enable resource
export and import across with other large scale test-bed facilities. In particular, OFELIA is working to
inter-federate with GENI, PlanetLab, OMF1.
Figure 1: Map of OFELIA island locations in Europe
1
OMF – Orbit Management Framework; a control and management framework for networking testbeds
Page 3 of 20
OFELIA Tutorial
All OFELIA Islands will support running layer2/3 experiments on real OpenFlow-enabled hardware
switches. Many diverse experiments can be done on the various islands like e.g. run wireless
experiments on TUB Island, information-centric networking experiments on CNIT Island (becoming
available soon), optical experiments on UEssex Island, or experiments on virtual topologies (VeRTIGO) on
Create-Net Island.
Various kinds of experiments can be run on the OFELIA islands (see Table 1 for brief descriptions of the
islands). An exemplary and not exhaustive list of experiments that can be run over OFELIA is:
•
•
•
•
•
•
•
•
•
Ability to run OpenFlow applications on user controller/NOS (networking operating system)
e.g. routing, monitoring, PCE apps to make best use of OpenFlow abstractions.
Testing of new forwarding and routing protocols using OpenFlow as the basic enabling
protocol and API
Experiments leveraging virtualization capabilities (VMs, sliced resources) to create virtual
networks and use them for testing layer-2 and above virtualization schemes
Experiments where real end-users can contribute (opt-in) real traffic in order to test realistic
experimental scenarios
Experiments over wireless networks (WiFi-based)
Emulations of large wired and wirless networks
Experiments on an optical OpenFlow based network
Information Centric Networking related experiments
….
Note the above list is incomplete and unordered.
Table 1: The OFELIA islands – brief description and links to detailed information
Island
Berlin (TUB)
Brief description
Partial replacement of existing campus network with OpenFlow enabled
switches
Link to island detailed status and resources information:
https://alpha.fp7-ofelia.eu/doc/index.php/Testbed_Berlin_Campus
Link to island Expedient GUI:
https://exp.tubit.fp7-ofelia.eu/
Ghent (IBBT)
Central hub, large-scale emulation
Link to island detailed status and resources information:
WiLab: https://alpha.fp7-ofelia.eu/doc/index.php/Testbed_Belgium_Wilab
Virtual Wall: https://alpha.fp7ofelia.eu/doc/index.php/Testbed_Belgium_Virtual_Wall
Link to island Expedient GUI:
https://exp.ibbt.fp7-ofelia.eu/
Page 4 of 20
OFELIA Tutorial
Island
Zürich (ETH)
Brief description
Connection to OneLab and GENI
Link to island detailed status and resources information:
https://alpha.fp7-ofelia.eu/doc/index.php/Testbed_Zurich
Link to island Expedient GUI:
https://exp.ethz.fp7-ofelia.eu/
Barcelona (i2CAT)
L2 switches and Optical equipment (ROADM ring)
Link to island detailed status and resources information:
https://alpha.fp7-ofelia.eu/doc/index.php/Testbed_Barcelona
Link to island Expedient GUI:
https://exp.i2cat.fp7-ofelia.eu/
Essex (UEssex)
National hub for UK optical community; L2 switches and L1/L0 ROADMs
(optical mesh network), FPGA testbed
Link to island detailed status and resources information:
https://alpha.fp7-ofelia.eu/doc/index.php/Testbed_Essex
Link to island Expedient GUI:
https://exp.uessex.fp7-ofelia.eu/
Rome and Catania (CNIT)
Two islands with focus on Information Centric Networking
Under deployment as of July 2012.
Trento (CREATE-NET)
A city-wide distributed island based on L2 switches and NetFPGA; opt-in
users via heterogeneous access technologies
Link to island detailed status and resources information:
https://alpha.fp7-ofelia.eu/doc/index.php/Testbed_Trento
Link to island Expedient GUI:
https://exp.create-net.fp7-ofelia.eu/
1.3 Running Experiments in OFELIA: High Level View
In order to run experiment in OFELIA, you first need to setup your own OFELIA account. OpenVPN is
used to connect into the OFELIA federated test-beds. For security reasons the OFELIA islands are not
directly connected with the Internet.
Using a web browser, you can create and manage your experiments through the OFELIA Expedient GUI,
a graphical web-based interface to the “OFELIA Control Framework”. In particular you can:


Create and configure your own slice of network resources. Such a slice is a subset of the physical
links and OpenFlow switches which make up an island.
Create and manage a set of Linux Virtual Machines (VMs) that will be hosted in the island
servers. VMs can serve as traffic sources and sinks, and can be used to run the experiment’s
application(s). One of your VMs usually hosts the OpenFlow controller. Some “default”
OpenFlow controllers are provided by OFELIA and can be easily configured and run, but you are
free to install and use any controller on your VMs. For the access to your VMs SSH will be used.
For the monitoring of experiments and for the collection of measurements and statistics, OFELIA is
working to provide monitoring tools that will be integrated into the OFELIA Framework.
Page 5 of 20
OFELIA Tutorial
2 Getting Access to OFELIA
The OFELIA facility is open as a best-effort service, free-of-charge for external users that agree with the
OFELIA Usage Policy.
The links to the OFELIA login and the user manual, as well as general information about how to
experiment can be found on the OFELIA website at page http://www.fp7-ofelia.eu/ofelia-facility-andislands/how-to-experiment/.
2.1 Register
Before connecting to an OFELIA island for the first time, you have to register and acquire an OFELIA user
account. To register, open the URL https://fuzzy.eict.fp7-ofelia.eu/registration/register (Figure 2 for the
screenshot).
You need to


Provide your name, e-mail address, password, and the organization you belong to
Select your home island
Selecting a home island does not restrict your experiments to that island, but helps to run
specific experiments supported by that particular island, e.g. Optical, wireless.
Since the facilities are federated users can reserve any resource available from any of the
OFELIA test-beds.

Accept the OFELIA usage policy
A link to the usage policy document is provided on the registration page.

And enter your public key
OFELIA uses SSH/DSA keys for authentication.
A key pair can be generated with the command ssh-keygen -t dsa in a (Linux) shell.
Please note that the exact command may be slightly different, depending on the operating
system and SSH software you run on.
Then open the generated public key and paste it into the field.
Upon submission of the registration information, you will receive an automatically generated e-mail for
confirmation. After the confirmation you will receive another email that your registration was
successful. The e-mail contains a link to the OFELIA login page and your login.
Page 6 of 20
OFELIA Tutorial
Figure 2 OFELIA Page for Registration of New Users
2.2 Configure the VPN to Access the OFELIA Testbed
For security reasons, OFELIA's experimental environment is accessible only via gateways. Connecting to
the facility happens through OpenVPN connections through the hub in Ghent.
After successful registration you login to OFELIA via https://fuzzy.eict.fp7-ofelia.eu/ (please see Figure 3
for the screenshot). Use your login and password credentials.
If you forgot your current password, you can reset it by clicking on reset your password.
Page 7 of 20
OFELIA Tutorial
Figure 3: OFELIA Page for Login to OFELIA
Upon successful login, you will be directed to the OFELIA welcome page (see Figure 4) which contains
the OFELIA OpenVPN configuration tarball, and the links to the manual (documentation wiki) and the
OFELIA public website.
Figure 4: OFELIA Experimenter Welcome Page
Page 8 of 20
OFELIA Tutorial
You download the OpenVPN configuration (click on the hyperlink behind this text) which is needed to
access the OFELIA control framework. Use the ofelia.conf file to configure your OpenVPN and install the
security certificate ca-ofeliarouted.crt. Both are contained in the configuration tarball.
OpenVPN must be installed on your machine. For a detailed description on how to set-up the VPN,
please refer to the OFELIA user manual at https://alpha.fp7-ofelia.eu/doc/index.php/VPN_setup. Make
sure that your DNS is set-up appropriately to automatically resolve the internal OFELIA DNS names. The
OFELIA DNS IP address is 10.216.24.2. The address is also provided at this page: https://alpha.fp7ofelia.eu/doc/index.php/Working_with_the_OFELIA_Control_Framework#Registration_and_logging.
You may have to ask your system/network administrator to enable these configurations.
All the OFELIA users should accept and follow the Facility Usage Policy.
2.3 Login to the OFELIA Control Framework
After successful registration and OpenVPN setup, you can login to the OFELIA Control Framework User
Interface. You will be forwarded to the Expedient Dashboard.
OFELIA's Control Framework Web interface is called Expedient and is one of the components of the
OFELIA Control Framework. It enables experimenters to create and run experiments within the OFELIA
autonomous and federated facilities. Through this user interface, you can instantiate and deploy
experiments, which may include virtual machines, switch configurations and other resources. The
control framework handles the separation of the experiments, the starting and stopping of virtual
machines and experimental slices, and displays resource states.
You first have to decide on which testbed island you want to login; usually this is your home island. Point
your browser to the island-URL of your choice. OFELIA island-URLs have the form
https://exp.ISLANDID.fp7-ofelia.eu. For the exact URLs, please refer to Table 1 on page 4.
Make sure your OpenVPN connection into OFELIA is up and running before trying to reach your selected
island’s Expedient via the web browsers. After providing your login credentials, you will be directed to
the OFELIA Expedient Dashboard (see Figure 5). Your credentials are valid across all islands.
3 Setting up an Experiment
To set-up and manage your experiment(s), login to the OFELIA Control Framework as described in the
previous section. Upon successful login you are forwarded to the Expedient Dashboard.
On the Expedient Dashboard you can manage your experiment projects, manage your account (reset
password and, if you have the respective rights, manage project memberships) and get help. Help can
be obtained in three ways: from documentation, the help desk and a discussion mailing list.
Page 9 of 20
OFELIA Tutorial
Figure 5: OFELIA Expedient Dashboard at First Login
3.1 Managing Projects
New projects in OFELIA are initiated by clicking on the “Create”-Button under the projects table on the
Expedient Dashboard (Figure 5). If you do not have the permission to create projects, you are offered
the possibility to send a message to the island manager, or another trusted user, to grant you the
permission to create your project. With this request, you should provide the project’s descriptive name
and a short description of the project. Make sure you have set your affiliation in your user profile, or
specify it in the message.
You can see and participate in projects for which you have been granted permission. These permissions
are usually granted by the project owners. For new projects this permission is usually granted by the
island manager.
Once the island manager approves your request, he/she will create your project and adds you as the
owner-researcher with full permissions on your project.
On the Expedient Dashboard (Figure 5) you see the projects listed that you own and/or are a member
of. For each project its name, the owner and the project members are shown; as well as the slices
defined under the project and possible actions. Select “details” in the “Actions” column of a project to
see its details and manage the project.
On the Project Management page (Figure 6) you find general information about the project, project
members and their roles, as well as slices in the project and the aggregates whose resources are used in
the project.
Page 10 of 20
OFELIA Tutorial
Figure 6: OFELIA Project Management Page
Resources in OFELIA are managed by so-called Aggregate Managers (AMs). “Aggregates” are types of
resources that may be reserved for and used in experiments (OpenFlow resources, Virtual Machines).
They are created by the island managers and are local to their respective island. Therefore, if you create
cross-island experiments, you will have to add to your project the respective aggregates from all islands
Page 11 of 20
OFELIA Tutorial
involved in your experiment. The project management page of the Expedient GUI shows the name, type,
location, description and operational status of each AM.
Note that after slice expiry the island manager can preempt your reserved resources. Usually the island
manager waits for a threshold (physical memory etc.) and then sends a notification (email) to the user
before deleting the resources.
3.2 Slices for Experiments
Slices compose the base of runnable experiments. When creating a new slice, slice information such as
name, description and expiration date (the slice life-time) must be provided.
The expiration date of a slice cannot be later than 30 days from the time of its creation. The island
manager(s) may notify you about the expiry some days before it occurs. Update the slice’s expiration
date if needed. If the slice’s life-time expires, the slice’s OpenFlow resources will be de-allocated and the
VMs stopped. After slice expiry, the island manager will remove the resources after some time. Usually
the island manager waits for a threshold (physical memory etc.) and then sends a notification to the
user before deleting the resources.
Slices in a project can only use those resources that are listed under “Aggregates”.
To create a slice, click on the “Create”-Button on the Project Management page (Figure 6), and enter the
slice name and its description. After clicking the “Save”-Button, the Slice Management page is shown.
On the Slice Management page (Figure 7) the Topology panel shows the physical topology of the
resources in the aggregates added to your slice. These resources may comprise the available OpenFlow
switches, virtualization servers, and the connections between switches and servers.
In case of a federated experiment (multiple island aggregates), the panel would also describe the inter island links.
To use OpenFlow resources you are required to add OpenFlow resources to your slice (see Section 3.3)
and to specify an OpenFlow Controller for your experiment. For the location of the controller you can
either use an OFELIA virtual machine, or any machine outside the OFELIA provided testbed that is
connected to the OFELIA VPN. To set the controller, click on the button “Set controller” in the OpenFlow
Aggregate area on the Slice Management page (Figure 8) and then enter the OpenFlow controller URL
and a password into the provided form. The format of the controller URL should be tcp:hostname:port
or ssl:hostname:port.
Page 12 of 20
OFELIA Tutorial
Figure 7: OFELIA Slice Management Page
Page 13 of 20
OFELIA Tutorial
3.3 OpenFlow Resource Allocation
On the Slice Management page (Figure 8Error! Reference source not found.) in the OpenFlow
Aggregate area, click on the button “Book OpenFlow resources”. You will see the list of data paths
(consisting of id and port number) that are available in your slice (Figure 10). Select the data paths that
you want for your experiment and click next to define your FlowSpace2.
You define FlowSpaces with the help of tables. Each table (Figure 11) describes a class of traffic you
would like your controller to receive. Each field is specified as a range. Empty cells mean any value. The
tables are OR'ed together to produce a rule. Empty tables are unused. If you need more FlowSpaces
than shown, click the button "Save" and additional empty tables will be displayed.
Example: If you want to receive all incoming and outgoing port 80 traffic, then you will need two
tables. In the first, you would set the "TCP/UDP Destination" field to 80. In the second, you would
set the "TCP/UDP Source" field to 80.
3.4 Virtual Machine Allocation
In the Computational Resources area (Figure 9Error! Reference source not found.) on the Slice
Management page (Figure 8Error! Reference source not found.) click on the button “Create VM” and fill
in the information requested in the form presented:





Name. This is your name for the virtual machine.
Memory. Specify the required RAM memory in MB.
Disc Image. At the moment, only the Default image is available.
HD Setup Type. At the moment, only File Image is available.
Virtualization Setup Type. At the moment, only paravirtualization is available.
During the creation process, the VM will be granted an IP, which will be displayed in the Topology Panel
and the Computational Resources area. This IP is reachable from any PC inside the OFELIA's VPN. VMs
are started, stopped, rebooted or deleted by clicking on the respective action link in the Computational
Resources area.
Create as many VMs as needed for your experiment. You can SSH to the VMs using your OFELIA
username and password.
Note: Once the FlowSpace is selected and the VMs created, set the controller IP address to match to
your VM that will host the OpenFlow controller. Figure 12 shows the page for setting the controller IP
address. It can be reached from the OFELIA slice management page (Figure 8).
2
Flows are identifiable by a combination of packet (header) information. FlowSpace is the subset of such
combinations that defines a Flow or a set of Flows.
Page 14 of 20
OFELIA Tutorial
Figure 8: OFELIA Slice Management Page – Area Network Resources, OpenFlow Aggregate
Figure 9: OFELIA Slice Management Page – Area Computational Resources, VT Aggregate
Page 15 of 20
OFELIA Tutorial
Figure 10: OFELIA OpenFlow Resource Allocation page
Page 16 of 20
OFELIA Tutorial
Figure 11: Fields to define OFELIA FlowSpace
Figure 12: OFELIA Page for Setting the Controller IP Address
Page 17 of 20
OFELIA Tutorial
4 Running an experiment
4.1 Start Experiment
When you have configured your experimental OFELIA slice as described in the previous sections, you are
ready to start.
Start the slice for your experiment by clicking on the “Start Slice” button on the Slice Management page
(Error! Reference source not found.). This will trigger a FlowSpace request to the island manager and
start all the VMs in your slice that are not yet active.
Until you receive the FlowSpace approval by the island manager, your FlowSpace has not yet been
granted and cannot be used. Only granted FlowSpace is installed/know in the FlowVisor that handles the
slicing of the overall OFELIA OpenFlow resources. See Figure 13 for an example.
Log in to your active VM by using your OFELIA user name and password.
Figure 13: Example FlowSpace
Page 18 of 20
OFELIA Tutorial
4.2 Run Experiment
Within your slice, you can use the VMs as end-hosts and the FlowSpace (allocated on the OpenFlow
switch fabric) as the network data-plane. You can login to all your VMs using your OFELIA credentials.
Install on the VMs all Software that is needed for your experiment. The OpenFlow controller can also be
installed on one of your VMs.
Make sure your controller’s IP address and port are set correctly. You may use one of the controllers
pre-installed on the VM images; eg. NOX, Snac. You can also install your own controller.
If your FlowSpace contains VLANs assigned by the island manager then you have to install VLAN package
on your VMs and then use the VLAN based interfaces as the experimental interface.
Example: If the experimental interface is ETH1 and VLAN assigned by Island manger is 5, then do:



Add VLAN:
#vconfig add eth1 5
Use ifconfig to assign an IP address to the VLAN interface:
# ifconfig eth1.5 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
up
Get detailed information about the VLAN interface:
# cat /proc/net/vlan/eth1.5
Run your experiment. Collect and store the results.
You may stop your active slice to make a “pause” in your experiment or to re-configure your slice. While
you are “pausing” all or parts of your FlowSpace may be allocated to another experiment/slice. So, when
re-starting your slice the island managers FlowSpace approval is required again.
4.3 Clean Up After Experiment
After you finished your experiment, stop your slice by clicking on the “Stop Slice” button on the Slice
Management page (Figure 7, pg. 13). This will stop all the VMs belonging to your slice and de-allocate
the OpenFlow FlowSpace resources. Please also clean up by deleting the VMs you allocated (make sure
to save your data before) and the experiment’s slice.
Page 19 of 20
OFELIA Tutorial
5 Conclusion
In this tutorial we provide a concise description on how to register and experiment on the OFELIA
OpenFlow-based experimental facility. The facility is open as a best-effort service, free-of-charge for
external users that agree with the OFELIA Usage Policy.
The tutorial covered general information about the project, how to get access to the facility and its
islands, how to set-up and run experiments. Experiments in OFELIA are managed via a graphical webbased user interface, the OFELIA Expedient GUI. For each step a user takes, the screenshot pictures
show the respective pages in the GUI with example content.
After you have gain hands-on experience with our facility, we would appreciate if you would fill out the
questionnaire that we use to collect feedback. No personal information will be collected. All experimentrelated information will be anonymized and only made public in an aggregated manner. Through your
answers and suggestions, we will improve the facility and make it suitable for hosting your research
ideas. You find the questionnaire at the following link: https://www.surveymonkey.com/s/3KRW8FM.
6 Acknowledgements
The EU OFELIA project, a collaborative project within the European Commission’s FP7 ICT Work
Programme, set-up and maintains the OFELIA OpenFlow testbed facility. The material in this document
is based upon work done in OFELIA.
Editors using OFELIA sources & information: Sibylle Schaller (NEC), Mayur P. Channegowda (University of
Essex), Vasileios Kotronis (ETH Zurich), Stefano Salsano (CNIT).
Page 20 of 20