WINTECH demo 2016
WINTECH (MOBICOM) 2016
We kindly ask that should you mention our demo, or use our code, in your publication, that you would reference the following paper:
Jason J. Quinlan, Aleksandr Reviakin, Ahmed Khalid, K.K. Ramakrishnan, Cormac J. Sreenan, "D-LiTE-ful: An evaluation platform for DASH QoE for SDN-enabled ISP offloading in LTE". In Proceedings of the 10th ACM International Workshop on Wireless Network Testbeds, Experimental evaluation & CHaracterization (WINTECH) at the ACM MobiCom Conference, October 2016. Further details on our demo is available in the workshop paper.
In this demonstration we extend our recent work - "D-LiTE : A platform for evaluating DASH performance over a simulated LTE network". With 'D-LiTE' we stream actual DASH content between real physical clients and an Apache2 server, over a simulated NS3-LTE air interface in real-time. We enhance our platform to encompass both an Software Defined Network (SDN)-enabled backhaul and an SDN-enabled WIFI router attached to the backhaul. Similar to data offloading in most ISP networks, with 'D-LiTE-ful' we demonstrate how distributing video flows to local WIFI networks improves achievable Quality of Experience ('QoE') not only for the clients moving to the WIFI hotspot but also for the remaining clients on the LTE network. Based on feedback from both a "Panoramic UI" which provides a mechanism for LTE and Client parametrisation, and a means of viewing the output of their interactions, and an "SDN UI" which offers packet level information and illustrates routing behaviours in the backhaul, we observe real-time variation in both network conditions and improvement in client QoE.
The demonstration showcases how an SDN-enabled multi-faceted ISP network can provide dynamic offloading between LTE and WIFI networks by offering a means of local caching, temporary re-routing of TCP flows and centralised control.
The configuration files contained 'here' detail the steps required for, and examples use of, the OpenWRT SDN-enabled WIFI router. Begin by reading "openwrt_openvswitch.pdf".
There are 3 main files in this zip file:
- miniNAM_restart_and_build.sh – main script, ths script will run the other two
- hwintf.py – mininet topology
- simple_offloading_13.py – file for Ryu controller (version 4.5 was used for tests)
1. miniNAM_restart_and_build.sh is well-commented. Generally this script:
- - stops testcontroller (which is part of open vswitch)
- - resets mininet
- - closes python and ryu-manager processes. This is done “just in case”, usually there is no need for this
- - starts hwintf.py script via MiniNAM tool
- - sets protocol to OpenFlow13 for all switches
- - runs simple_offloading_13.py Ryu controller
2. hwintf.py script creates topology as in the Figure 3 of the paper.
3. simple_offloading_13.py is the file for the Ryu controller. It implements simple layer 3 switch (only for IPv4) with offloading modifications. Also this script prints information about flows which were set in each switch. In short, the logic of this controller is the following:
- _packet_in_handler function process EventOFPPacketIn events.
- If the ip address is new it will be remembered in ip_to_port per each switch.
- If the packet is supposed to be broadcasted it will be broadcasted.
- If there is an ICMP packet from 220.127.116.11 to 18.104.22.168 (from video server to client52) then the offload function will be
- called, which will delete the old flows (22.214.171.124->126.96.36.199 and 188.8.131.52->184.108.40.206) and then it will create the new flow
- for packets which are moving from 220.127.116.11 to 18.104.22.168 to forward to the output port 3.
Router configuration (TP-Link TL-WR1043ND v2 with OpenWRT Designated Driver Trunk was used for tests described in paper). This configuration can be placed to /etc/rc.local file to apply it when router is turning on. The SDN-WiFi should have the next route configuration:
ovs-vsctl --if-exists del-br br-ovs14
ovs-vsctl add-br br-ovs14
ifconfig br-ovs14 up
ifconfig br-ovs14 22.214.171.124 netmask 255.255.255.0
route add -net 126.96.36.199 netmask 255.255.255.0 gw 188.8.131.52 br-ovs14
route add -host 184.108.40.206 gw 220.127.116.11 br-ovs14
route add -host 18.104.22.168 gw 22.214.171.124 br-ovs14
ovs-vsctl add-port br-ovs14 wlan0
ovs-vsctl --if-exists del-br br-ovs11
ovs-vsctl add-br br-ovs11
ifconfig br-ovs11 up
ifconfig br-ovs11 126.96.36.199 netmask 255.255.255.0
route add -net 188.8.131.52 netmask 255.255.255.0 gw 184.108.40.206 br-ovs11
ovs-vsctl add-port br-ovs11 eth1.5
The steps required to install and use LTE on NS3, as well as build and stream with GPAC are provided 'here'.
The code for the master controller, both UIs and the additional streaming algorithms in GPAC are not yet being released.
This work has emanated from research conducted with the financial support of Science Foundation Ireland (SFI) under Grant Number 13/IA/1892.