|OFELIA Control Monitoring Framework|
The OFELIA testbed is an initiative of the European Union 7th Framework Programme (FP7) that provides a unique large scale experimental facility devoted to the experimentation of OpenFlow related projects. This project has two major contributions to the international community, the public infrastructure itself (based on server virtualization and commercial OpenFlow switches –NEC and other vendors and switches) and, in addition, it provides an open-source version of the OFELIA Control Framework (OCF) synchronized with other initiatives in USA, following the evolution of Expedient and Opt-in manager [Naous, 2011], and the introduction of the VT-Manager, all publically available (Codebasin) and intended to be of easy setup.
From the point of view of experimenters (or network researchers) the underlying network substrate available in OFELIA is fully controllable using explicit and dynamic configurations based on OpenFlow abstractions like FlowSpace. Once the FlowSpace is set up, the researcher can proceed with the allocation of a controller, either remote or in a local virtual machine to test his new idea. The resources are booked according to the experiment needs and accountability is done through a GENI-like slice abstraction.
As of this writing, the OFELIA facility has 8 islands with varied resources, from optical equipments to wireless devices, and these islands are to be interconnected using dedicated virtual tunnels among the islands. In each island there is a varied set of resources that will allow multi-layer and multi-technology experimentation of future networks. Another important point, is that OFELIA allows deep programmability of network resources granting researchers the use of the infrastructure as a Network-as-a-Service (NaaS) type of cloud service.
From the point of view of the OFELIA architecture, it was based on the control software, Expedient and Opt-In [Naous, 2011]. Moreover, it diverged in many ways from the original version. Expedient consists of several subsystems: an object relational mapping (ORM) database, a base platform subsystem, and at least two types of plug-ins, the so-called connectors and user clients. These plugins cooperate to provide the user interface for creating and managing slices across multiple island providers. The architecture depicted originally in Naous work can be represented by Figure 1. In OFELIA, regarding the Expedient sub modules, they were substantially improved, in particular the WebUI, that is the most used and important part for the experimenters and the database.
In order to slice the OpenFlow resources to support multiple experiments and users, the Expedient system, from which OFELIA inherits some of the most important features, make use of 4 layers: at the bottom (identified in Figure 1 as IaaS Provider resources) are OpenFlow switches, then on top of them, the Flowvisor, the Opt-In Manager, and finally the OpenFlow Expedient connector. The Flowvisor is the most necessary part to isolate and support multiple experiments. At an abstract level, Flowvisor is a transparent proxy between many islands with OpenFlow switches and OpenFlow controllers used in a certain slice. Basically, the Flowvisor(s) present in each island (or provider) monitors OpenFlow protocol messages from and to the controllers, ensuring that each slice defined by the FlowSpace (a set of header values defined to isolate experiments) operates on traffic within that space.
The OFELIA CF, in addition to the expedient and opt-in pair, make use of an additional resource of a virtualization service, in order to provide, virtual machines to the users as end-hosts or in order to, allocate local OpenFlow controllers to test the experiments. Figure 2 (extracted from Public Deliverable 5.1 of OFELIA FP7 Project) presents the main components of the OFELIA framework and the internal configuration of each OFELIA island.
As it can be verified, the OFELIA CF system uses LDAP as the main software authenticator, and provides the Virtualization Aggregate Manager based on Xen machines (called OXA – OFELIA Xen Agent) which can allocate on-demand virtual machines.
[Naous, 2011] JadNaous.Path-Policy Compliant Networking and Platform for Heterogeneous IaaS Management.PhD Thesis. Stanford. March 2011. [White, 2010] White, J. (2010). A Tutorial Introduction to OML. GEC9. Available at http://omf.mytestbed.net/projects/oml.