Published: May 1, 2015


Based on extensive research and study of Software Defined networks (SDN), this project determines the construction and feasibility of a SDN based smart home router. The router comprises of OpenWRT operating system embedded with Openflow in order to allow separate control of data plane and control plane. The project developers starts from the ground up in order to utilize Software defined network for commercial purposes. We integrate Openflow with OpenWRT and determine the performance on various off the shelf devices.

Software Defined Network (SDN) is a way of networking computers by separating and taking control of the lower level functionality of networks such as data plane and control plane. The control function of such type of networking infrastructure is performed by a centralized controller. This tends to simplify the troubleshooting and establishment of fast and reliable networking by reporting the malfunctions of individual switches to the controller.

Commercial Deployments of SDNThere are many SDN based networks currently operating worldwide. These networks are mostly to minimize the troubleshooting of the huge networking infrastructures. Most renowned internet companies use SDN based networking to optimize the user experience, such as the closest path is decided in order to make smoother user experience. However underneath the network of ISP’s and big internet companies, most of the networking infrastructure is still old fashioned, upgrading and maintaining that infrastructure costs millions. The biggest hurdle to convert the following infrastructure to SDN based networks is that the user hardware unlike hardware’s of various internet companies varies tremendously. The normal consumer hardware comprises of different manufacturers which make use of different chipsets and technology, such as wimax or free space optics. They not only vary in maximum bandwidth but also work on different mechanisms.

Image
Image

Programmable Routers - OpenFlow OpenFlow is a protocol developed by Open Network Foundation (ONF) used in communication which gives access to the forwarding plane of a network switch or router to a controller over the network. Openflow on switches enables remote controllers to determine the path of network packets through the network of switches this allows for a more sophisticated traffic management than its achievable by normal routing protocols. The openflow protocol is layered on top of the (TCP) protocol, while use of Transport layer security protocol (TLS) is recommended.

Programmable Routers - OpenWrt Home OpenWRT is an operating system and distribution of Linux kernel designed for embedded systems [3]. It is primarily used in networking devices such as routers to route the traffic. Now a day’s most of the routers that are on the market use custom OS designed by the manufacturer. While most of them can support OpenWRT OS some cheap routers are unable to meet the hardware requirements of OpenWRT. OpenWRT brings vast majority of control and monitoring functions to the router. Just as an android cell phone is known as smart phone an OpenWRT based router is known as smart router. OpenWRT allows its root file system to be modified without reflashing the whole firmware. While package manager OPKG allows installing over 3500 software which is also a huge benefit as one doesn’t need to rebuild the firmware. The software can be just as easily uninstalled as it was installed. OpenWRT supports a wide range of networking hardware drivers.

Programmable Routers - Platforms As of 2014-2015 various cheap wifi routers are on the market to enable wifi access to public. We've tested a few of them to determine the performance and feasibility of software defined networking on these devices. Here are a list of platforms we've prototyped:

  • Asus RT-N16 WiFi router:
    This router comes with its custom OS provided by the manufacturer and has medium spec hardware. As of 2014 the router does not officially fully support OpenWRT, hence we selected to port OpenWRT with openflow enabled on it to test the performance of the hardware.
  • Raspberry Pi:
    Raspberry Pie is the most popular hand-held computer with the Low-Mid Specs [4]. It is not a networking device and lacks WiFi chip which can be included in it by usb interface. It is reletively cheap and hence one of the ideal devices to test SDN infrastructure.
  • Intel Galileo Gen 2:
    Galileo is a development board based on the on the Intel® Quark™SoC X1000 application processor with a 32-bit architecture [5].
  • NetGear 3700v4:
    The Netgear router is one of the most popular routers on the Market. It has fairly moderate specs and officially supports OpenWRT which makes it ideal to test performance against other low to mid spec hardware.

The version of OpenWRT ported is r36088 (Altitude Adjustment) or later, which requires atleast 20 MB of Memory. Some devices on market lack the requirement. We used ARM and Intel chipsets, while the WiFi chipset and drivers varied.

This artitle is a summary of SDN-based routing for Smart Homes introduced by a team at the Internet Technology and Enginering Research and Development Center (ITEC) of Huazhong University of Science and Technology in Wuhan China. Newer concepts blooming from this project have be published in other articles. More details are available at the end of the article.