Skip to content
This repository has been archived by the owner on Jul 28, 2020. It is now read-only.

Latest commit

 

History

History
64 lines (43 loc) · 4.34 KB

README.md

File metadata and controls

64 lines (43 loc) · 4.34 KB

ONOS Network Slicing Application

Link to Paper

This is the prototype implementation for the paper: "Multi-tenant Network Slicing Technique over OpenFlow-based MPLS Networks".

APAN Research Workshop 2018
Released on 18 October 2018.

Note

This repository is no longer supported, due to the deprecation of the Virtual Network Subsystem in ONOS version 2.0+.

The application works well with ONOS versions 1.3+.

Project Description

The application is developed as an ONOS application through the installable through the ONOS Application Subsystem. At the time of development, ONOS 1.14.1 was mainly used for testing. However, the application should play well with ONOS versions 1.13+ up until other pre-ONOS 2.0 versions.

Reusing the limited APIs exposed by the ONOS Virtual Network Subsystem, this application provides ONOS with the capability of provisioning and managing virtual networks on top of physical infrastructure through repurposing the MPLS headers (OpenFlow version 1.3+ support needed).

Each tenant has the ability to define multiple virtual networks. Each virtual network consists of multiple switches, links which are shared across multiple tenant networks, as well as dedicated ports for each tenant network.

Apart from L2 forwarding, L3 routing within a tenant network is made possible through the implementation of virtual gateways. Limited access control functionality is also present. If redundant paths are available, fast failover will take place to ensure undisrupted communication.

Experiments/ tests were carried out on a Mininet emulated virtual network environemnt, with Open vSwitch running OpenFlow version 1.3.

For more detailed information, please refer to the documents under /res.

Usage

Step 1: Compile & install the application

Refer to the general guide here, clone this repository, compile it with mvn clean install then install the .oar to ONOS. Activate the app on ONOS with the command app activate org.xzk.network_slicing.

Step 2: Bring up Mininet and connect to ONOS

You may define your own topology according to your own needs. Connect the switches to your ONOS controller.

Step 3: Creating tenants and virtual networks

All the commands that come with the application has the prefix ns-*. You may refer to the documents in /res for usage samples.

If you are having a L3 network, make sure you configure the a virtual gateway, as well as setting a static MAC on your hosts pointing to the virtual gateway.

Step 4: Ping!

Ping between hosts within a tenant's virtual network. Have fun!

Citation

If you find this work useful to your research, please cite:

@article{khooi46multi,
  title={Multi-tenant Network Slicing Technique over OpenFlow-based MPLS Networks},
  author={Khooi, Xin Zhe and Chong, Chun Yong and Risdianto, Aris Cahyadi and Ling, Teck Chaw},
  journal={Proceedings of the Asia-Pacific Advanced Network},
  volume={46},
  pages={8--13}
}

Feedback & Support

Suggestions and opinions on this work are welcomed.

Please feel free to contact the authors via email for support & feedback.

License & Copyright

This project is open source under the Apache-2 License.