Usability of SDN routing within IoT robotics
113
0
0
Texto completo
(2) UNIVERSIDAD POLITÉCNICA DE MADRID. Escuela Técnica Superior de Ingenierı́a y Sistemas de Telecomunicación. Usability of SDN Routing Within IoT Robotics Master Thesis. Author Saloum Jimbara Supervisor Prof. Ph.D. José-Fernán Martı́nez Ortega June 5, 2018.
(3) Usability of SDN Routing Within IoT Robotics. Máster en Ingenierı́a de Sistemas y Servicios para la Sociedad de la Información. Trabajo Fin Máster Tı́tulo. Usability of SDN Routing Within IoT Robotics. Autor. Saloum Jimbara. Tutor. Dr. José-Fernán Martı́nez Ortega, V°B°:. Ponente. Tribunal President. Prof. Juana Gutiérrez Arriola. Secretario. Prof. Vicente Hernández Dı́az. Vocal. Prof. Gregorio Rubio Cifuentes. Fecha de lectura Calificación El Secretario:. I.
(4) Usability of SDN Routing Within IoT Robotics. Acknowledgement All thanks and praise first goes to almighty God without whose will nothing happens. I may not have reached this far without the support and encouragement of many people. First and foremost, I would like to express my sincere gratitude to my supervisor, Prof. José-Fernán Martı́nez-Ortega for his supervision, support, and encouragements during the process of this master thesis project. My special thanks also go to all the members of Next-Generation Networks and Services (GRyS) research group of UPM. I am very grateful for all their support in making this master theses success. Members of GRyS research group are all knowledgeable and great researchers. I may not do just without thanking all those who financially supported me during the course of my whole master program. Thank you all who one way or the other supported me financially for the completion of my master program. May God reward you for all your supports. No one deserves my deepest thanks more than my beloved family. Thank you mother for all your prayers and words of encouragements. I quote, “do you want to know who you are? Don’t ask. Act! Action will delineate and define you”, Thomas Jefferson. Special thanks to you my lovely wife, Sohna Kebbeh. Your actions already defined you after unconditionally taken ownership of all our family affairs in my absence. May God be the one to make you happy in this world and hereafter. My son, Muhammed S. Jimbara I would like you to know that, “life is a succession of lessons which must be lived to be understood”, Helen Keller. I knew how much you suffered while I was absent. I thank God for making you this strong and for ending your sufferings. As young as you are, you already experienced how selfish and narrow-minded some humans can be. I am proud of your this experience Son. For my lovely daughter, Fatima S. Jimbara I thank you for your understanding during the time I was leaving you. I can remember breaking the bond with you when I was set to leave for studies. This was before you turn to one year when we were getting to be good friends. Thank you sweet daughter for your patience.. II.
(5) Usability of SDN Routing Within IoT Robotics Abstract Increase in urbanization has greatly decrease manpower in agricultural sectors. With the growing world population, the demand for agricultural products is increasing. Thus a more cost-effective and modern agriculture needs to be addressed. To achieve a cost-effective modern agriculture, a simple, reliable, and manageable routing between the nodes of IoT Robotics networks for precision farming are needed. The focus of this paper is to enhance routing within IoT Robotics networks for precision farming using Software Defined Networking (SDN) technologies. Current routing protocols for IoT robotics solve specific issues each. Some of the issues with the nodes are high energy needs and resource constraints. This is as a result of both the controller and data planes of the routing function housed within the same node. SDN routing within IoT Robotics network is proposed in this paper to reduce energy needs and resource constraints of the nodes as well as to provide simple, reliable and more manageable routing within IoT Robotics networks. Environment setup for the demo of SDN routing within IoT Robotics networks was made using Ubuntu local machine, virtualization system, Mininet Virtual Machine (VM), MiniEdit, POX controller, one Ubuntu VM, and Wireshark. In the demo four scenarios were simulated. The first scenario shows the building of flow in directly-connected nodes by SDN controller to enable routing of packets between them. The second scenario shows building flows by SDN controller in different switches to enable routing of packets between none directly-connected nodes. The third scenario shows routing between two nodes in different subnets. The fourth scenario shows routing between nodes with a completely isolated SDN controller. With SDN routing within IoT Robotics networks for precision farming, a global routing algorithm will be achieved as well as more manageable routing. This will result in farmers opting for more IoT devices as a result of lower equipment cost.. III.
(6) Usability of SDN Routing Within IoT Robotics. Contents 1 Introduction 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Lack of global view of the network . . . . . . . 1.1.2 Global routing solution . . . . . . . . . . . . . 1.1.3 Energy need of nodes . . . . . . . . . . . . . . 1.1.4 Resource need of nodes . . . . . . . . . . . . . 1.1.5 Development cycle of protocols . . . . . . . . . 1.2 State of the art . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Challenges of routing in IoT Robotics Networks 1.2.2 Solutions of routing issues in IoT Robotics networks . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 State of the art conclusions . . . . . . . . . . . 1.3 Organization of the thesis . . . . . . . . . . . . . . . . 2 SDN routing within IoT Robotics for precision farming 2.1 SDN architecture . . . . . . . . . . . . . . . . . . . . . 2.1.1 Components of SDN architecture . . . . . . . . 2.1.2 SDN data plane components . . . . . . . . . . 2.1.3 SDN controller plane components . . . . . . . . 2.1.4 SDN application plane components . . . . . . . 2.2 Client and server relationship in SDN . . . . . . . . . 2.3 OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 OpenFlow Switch . . . . . . . . . . . . . . . . . 2.3.2 OpenFlow Switch (OF-switch)protocol . . . . . 2.3.3 OpenFlow Management and Configuration protocol (OF-Config) . . . . . . . . . . . . . . . . 2.4 Benefits of SDN routing within IoT Robotics . . . . . 3 Environment setup for simulation 3.1 Local machine . . . . . . . . . . . . . . . . . . . . . . . 3.2 Virtualization system . . . . . . . . . . . . . . . . . . . 3.2.1 Setting up VirtualBox for network connections 3.3 Mininet/Ubuntu Virtual Machine (VM) . . . . . . . . 3.3.1 Setting up Mininet/ubuntu VM for network connection . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Setting up Mininet/ubuntu VM for SSH . . . . 3.3.3 Setting up XTerm (X11) forwarding . . . . . . 3.3.4 MiniEdit . . . . . . . . . . . . . . . . . . . . .. IV. 2 7 7 7 8 8 8 8 8 10 12 13. 15 18 18 19 19 22 22 23 23 24 24 24 28 28 28 30 33 35 39 40 43.
(7) Usability of SDN Routing Within IoT Robotics 3.4. Ubuntu 16.04 Virtual Machine (VM) . . . . . . . . . 3.4.1 Creating Ubuntu 16.04 VM . . . . . . . . . . 3.4.2 Installation of Ubuntu 16.04 ISO file in VM 3.4.3 Setup Shared Folder on Ubuntu 16.04 VM . . 3.4.4 Setting up Ubuntu 16.04 VM for Network . . 3.4.5 Accessing POX controller in Ubuntu 16.4 VM. . . . . . .. 44 44 50 51 55 58. 4 Demo of SDN routing within IoT Robotics Network 4.1 Simulation setup . . . . . . . . . . . . . . . . . . . . . 4.2 Scenario 1: Routing between directly-connected nodes within the same subnet . . . . . . . . . . . . . . . . . 4.3 Scenario 2: Routing between none directly-connected nodes within the same subnet . . . . . . . . . . . . . . 4.4 Scenario 3: Routing between none directly-connected nodes in different subnets . . . . . . . . . . . . . . . . 4.5 Scenario 4: Routing between nodes with a completely isolated SDN controller . . . . . . . . . . . . . . . . .. 66 66. 5 Conclusions and future works. 92. 6 References. 95. V. 70 77 86 89.
(8) Usability of SDN Routing Within IoT Robotics. List of Figures 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28. Top 25 funding Agencies for Precision Farming from 2007 to 2017, Source: [4]. . . . . . . . . . . . . . . . . Publication Years in precision farming 2007 to 2017, Source: [4]. . . . . . . . . . . . . . . . . . . . . . . . . Publication by Country/Region 2007 to 2017, Source: [4]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Number of patents publish per year from 2007 to 2017 in precision farming, Source: [5]. . . . . . . . . . . . . Number of patent per Country/Region from 2007 to 2017 in precision farming, Source: [5]. . . . . . . . . . Controller and data planes in IoT nodes . . . . . . . . Separation of controller and data planes in SDN . . . Publications in SDN related technologies from 2008 to 2017, Source: [4]. . . . . . . . . . . . . . . . . . . . . . Top 25 by number of publication of SDN technologies by institutions from 2008 to 2017, Source: [4]. . . . . . Number of SDN related patents granted from 2008 to 2017, Source: [5]. . . . . . . . . . . . . . . . . . . . . . Basc SDN Architecture . . . . . . . . . . . . . . . . . SDN Data Plane detail view . . . . . . . . . . . . . . . SDN Controller Plane detail view . . . . . . . . . . . . Client-Server function in SDN architecture . . . . . . . SDN enabled nodes in IoT Robotics . . . . . . . . . . VirtualBox downloads for Linux host . . . . . . . . . VirtualBox window after a successful instillation . . . VirtualBox network setup window1 . . . . . . . . . . VirtualBox IPv4 address adapter setup window . . . VirtuelBox host-only network DHCP setup window . Confirmation of host-only network setup on the host computer . . . . . . . . . . . . . . . . . . . . . . . . . Mininet/ubuntu pre-package virtual machine downloads 33 Mininet/ubuntu VM creation window . . . . . . . . . Hard disk file and mininet downloaded file selection . Default adapter setting of Mininet/ubuntu VM . . . . Mininet VM network setting window . . . . . . . . . . Setting up Adapter 2 for host-only network . . . . . . Setting up and confirmation of DHCP on eth1 . . . .. VI. 3 4 4 5 5 9 15 16 17 17 18 19 20 22 25 29 30 30 31 32 32. 34 35 36 36 37 38.
(9) Usability of SDN Routing Within IoT Robotics 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63. Ping results of host machine and Mininet VM . . . . . SSH session between host machine and Mininet VM . Default SSH config file . . . . . . . . . . . . . . . . . . Modified SSH config file . . . . . . . . . . . . . . . . . Xterm sesion . . . . . . . . . . . . . . . . . . . . . . . MiniEdit window . . . . . . . . . . . . . . . . . . . . . Virtual Machine creation . . . . . . . . . . . . . . . . VM creation Memory size window . . . . . . . . . . . VM creation Hard disk specification window . . . . . . VM creation Hards disk file type window . . . . . . . VM creation, storage on physical hard disk window . . VM setup, File location and size window . . . . . . . . Ubuntu VM in VirtualBox manager . . . . . . . . . . Ubuntu 16.04 ISO file instillation, Select start-up disk window . . . . . . . . . . . . . . . . . . . . . . . . . . Ubuntu 16.04 VM login window . . . . . . . . . . . . . Guest Addition window . . . . . . . . . . . . . . . . . Sheared folder setting window of Ubuntu VM . . . . . Ubuntu VM edit share window . . . . . . . . . . . . . Sheared folder window of Ubuntu VM . . . . . . . . . Appearance of the sheared folder in ubuntu VM . . . ubuntu VM default network setting . . . . . . . . . . . Default address assignment on Ubuntu VM . . . . . . Setting Adapter 1 as host-only network . . . . . . . . New IPv4 address of Adapter 1 after setup of host-only network . . . . . . . . . . . . . . . . . . . . . . . . . . Starting POX controller in Ubuntu VM . . . . . . . . Topology of 4 switches, 8 hosts, and 1 controller in MiniEdit . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling CLI in MiniEdit . . . . . . . . . . . . . . . . MiniEdit Controller setup . . . . . . . . . . . . . . . . Output of connected switches to controller in POX . . Topology of demo of SDN routing within IoT Robotics Network . . . . . . . . . . . . . . . . . . . . . . . . . . POX Controller started in Ubuntu VM . . . . . . . . . POX Controller connecting to Switches . . . . . . . . Connecting ports of the nodes . . . . . . . . . . . . . . Connectivity test before flows are created by the POXcontroller . . . . . . . . . . . . . . . . . . . . . . . . . Flow table build for routing between Node1h and Node4h. VII. 39 40 41 42 43 44 45 45 46 47 48 49 49 50 51 52 53 53 54 55 55 56 57 58 59 61 62 63 64 67 68 68 69 70 71.
(10) Usability of SDN Routing Within IoT Robotics 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82. Flow build in Node4s for routing packets from Node1h to Node4h . . . . . . . . . . . . . . . . . . . . . . . . . 72 Flow build in Node4s for routing packets from Node4h to Node1h . . . . . . . . . . . . . . . . . . . . . . . . . 73 Flow build in Node1s for routing packets from Node1h to Node4h . . . . . . . . . . . . . . . . . . . . . . . . . 74 Flow build in Node1s for routing packets from Node4h to Node1h . . . . . . . . . . . . . . . . . . . . . . . . . 75 Connectivity test between Node1h and Node4h . . . . 76 Comparing connectivity tests between Node1h and Node4h 77 flow entries build by POXcontroller for exchange of packets between Node2h and Node4h . . . . . . . . . . 78 Flow build in Node4s for routing packets from Node2h to Node4h . . . . . . . . . . . . . . . . . . . . . . . . . 79 Flow build in Node4s for routing packets from Node4h to Node2h . . . . . . . . . . . . . . . . . . . . . . . . . 80 Flow build in Node1s switch for routing packets from Node2h to Node4h . . . . . . . . . . . . . . . . . . . . 81 Flow build in Node1s switch for routing packets from Node4h to Node2h . . . . . . . . . . . . . . . . . . . . 82 Flow build in Node2s switch for routing packets from Node2h to Node4h . . . . . . . . . . . . . . . . . . . . 83 Flow build in Node2s switch for routing packets from Node4h to Node2h . . . . . . . . . . . . . . . . . . . . 84 Connectivity test between Node2h and Node4h . . . . 85 Comparison of connectivity tests between Node2h and Node4h . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Connectivity tests between Node1h and Server . . . . 87 ARP request from Node1h . . . . . . . . . . . . . . . . 88 ARP reply from POXcontroller . . . . . . . . . . . . . 89 Repeated test on Scenario 1, 2 and 3 with isolated POXcontroller . . . . . . . . . . . . . . . . . . . . . . . . . 90. VIII.
(11) Usability of SDN Routing Within IoT Robotics. List of Tables 1 2. Some components bundled with POX . . . . . . . . . Interfaces, IP addresses, and MAC addresses used on the hosts . . . . . . . . . . . . . . . . . . . . . . . . . .. IX. 60 69.
(12) Usability of SDN Routing Within IoT Robotics. List of Abbreviations 6LoWPAN : IPv6 over Low-Power Wireless Personal Area Networks A-CPI : Application-Controller Plane Interface AfarCloud : Aggregate Farming in the Cloud AODV : Ad hoc On Demand Distance Vector ARP : Address Resolution Protocol AUV : Autonomous Underwater Vehicle CC : Client Context CLI : Command Line Interface CS : Client Support D-CPI : Data-controller plane interface DHCP : Dynamic Host Configuration Protocol DSR : Dynamic Source Routing GPS : Global Positioning System GUI : Graphical User Interface IETF: Internet Engineering Task Force IoT : Internet of Things IPv4 : Internet Protocol version 4 IS-IS : Intermediate system to Intermediate System ISO : International Organization for Standards LLN : Low power and Lossy Networks NBI : Northbound Interface OLSR : Optimized Link State Routing ONF : Open Networking Foundation OSPF : Open Shortest Path First OVSDB : Open vSwitch Database PCT : Patent Cooperation Treaty PTC : Probabilistic Topology Control RDB : Resource Data Base RG : Resource Groups ROLL : Routing Over Low-power and Lossy networks RPL : Routing Protocol for Low Power and Lossy Networks RTT : Round Trip Time SBI : Southbound Interface SC : Server Context SDN: Software Defined Networking SSH : Secure Shell Header UASN: Underwater Acoustic Sensor Networks VM : Virtual Machine. X.
(13) Usability of SDN Routing Within IoT Robotics WSN: Wireless Sensor Network X11 : X window system. XI.
(14) Usability of SDN Routing Within IoT Robotics. 1 Introduction. 1.
(15) Usability of SDN Routing Within IoT Robotics. 1. Introduction. With the increasing world population and the increase in rural-urban migration of the youthful population, a great decrease in manpower is experienced in the agricultural sectors. D. Guo et al. indicated that there are several possibilities of the change of the world population in the future and they predict the world population to rise, peak in 2020 and then decline [1]. According to one of the Multiple Sigmoid Functions (MSF) models of Y. Zhang et al. the potential saturation value of the world population is approximately 9.6 billion [2]. United Nations’s (UN’s) world population prospects 2017 review indicated the world population is expected to reach 8.6 billion in 2030 and the upward trend in population size is expected to continue with roughly 83 million people being added to the world’s population every year [3]. With these decrease in manpower in agricultural sectors and the increase in world population, the demand for agricultural products is raising. This alarming situation needs a more cost-effective and modern agriculture to address the situation. This alarming situation in agriculture has been partly addressed with the use of precision farming. Precision farming is everything that makes the growing of crops and raising of livestock more manageable and producing more food using fewer resources and at reduce production cost. Research and development in precision farming is a great concern to both governments and regional institutions. Technology watch conducted in this thesis in the area of precision farming from the year 2007 to 2017 indicates that regional institutions, countries, ministries, universities and associations are taking part in funding precision farmingrelated projects. According to the standard UNE 166006:2011, technology watch is define as, “Organized, selective and systematic process to capture information from outside and from the organization itself on science and technology, to select, analyze, diffuse and communicate it, in order to convert information in useful knowledge to make decisions with less risk and to be able to anticipate relevant changes”. Figure 1 shows the number of funding made by different institutions between 2007 and 2017 in the area of precision farming.. 2.
(16) Usability of SDN Routing Within IoT Robotics. Figure 1: Top 25 funding Agencies for Precision Farming from 2007 to 2017, Source: [4]. A lot of publications has been made in the area of precision farming. The result of technology watch made in this thesis shows that there is a steady increase in the number of publications made in precision farming between 2007 and 2017. Figure 2 shows that the number of publications in the area of precision farming increases every year (2017 record 299, 2016 record 247, 2015 record 208). In 2014 there was a drop in the number of publications 166 compare to 195 records in 2013.. 3.
(17) Usability of SDN Routing Within IoT Robotics. Figure 2: Publication Years in precision farming 2007 to 2017, Source: [4]. Figure 3 shows the top 25 publications by country and region. The USA made the highest publication 381 followed by China 265 and then Germany 188. The interesting thing to note here is that, if the number of publications made by the different European countries is sum up, they will score the higher record of publications for example Germany record 188, Italy record 134, Spain record 92 plus the others as shown in Figure 3.. Figure 3: Publication by Country/Region 2007 to 2017, Source: [4].. 4.
(18) Usability of SDN Routing Within IoT Robotics The technology watch of patents in the area of precision farming conducted in this thesis indicates that there is an increase in the number of patent applications per year as shown in Figure 4.. Figure 4: Number of patents publish per year from 2007 to 2017 in precision farming, Source: [5]. The technology watch also indicates that, United States publish more patients 236 followed by Patent Cooperation Treaty (PCT) 109 then Australia 47 and European Patent Office 33 as shown in Figure 5.. Figure 5: Number of patent per Country/Region from 2007 to 2017 in precision farming, Source: [5]. The technology watch on precision farming conducted in this thesis reveals to what extent different institutions, countries and regions are contributing towards the development of precision farming to increase agricultural products at limited cost and with less manpower. The technology watch also identifies possible technology partners and funding options for research and development in precision farming. Different technologies have been used to enhance precision farming such as the Internet of Things (IoT) technologies and the use of. 5.
(19) Usability of SDN Routing Within IoT Robotics farming robots. Different precision farming projects such as the AfarCloud (Aggregate Farming in the Cloud) project have been sponsored to come up with a distributed platform for autonomous farming that aims to integrate agricultural Cyber-Physical Systems (CPS) in realtime and provide lower equipment cost for farmers. To achieve this, the resources used must connect to each other and route information between each other. The resources used in precision farming can be farming robots. The robots exchange information using routing protocols. Routing protocols define the rules how information is transfer. For the robots in precision farming to communicate to each other reliably and more effectively, there must be a reliable, simple, and a manageable routing protocol in place. Different routing protocols have been developed for IoT Robotic networks. According to the review made in this thesis on the current routing protocols for IoT Robotics networks, routing protocols are chosen according to the network scenarios. There is no one routing protocol that addresses a global problem [6],[7],[8],[9]. The routing algorithms are run in the nodes (robots) themselves making them function as routers. The running of routing algorithms in the nodes increases the energy and resource needs of the nodes. With the abovementioned issues of the current routing protocols for IoT robotics networks, there is a need for developing a routing protocol for IoT Robotics networks that will solve global issues and will greatly reduce the energy and resource need of the nodes. The nodes are expected to function in isolation therefore they will need enough energy and resources to sustain themselves in isolation. Thus, a routing protocol that will require less energy and resource from the nodes is needed. The focus of this thesis is to enhance routing in IoT Robotics networks for precision farming using Software Defined Networking (SDN) technologies. Software Defined Networking is a growing area of research. All the big players in networking are closely monitoring its evolution and setting up plans for the big change. The use of SDN routing within IoT Robotics networks can solve global routing problems in IoT Robotics networks. Because SDN technology separates the controller plane and the data plane, thus the nodes will be left with only the data plane reducing their energy and resource needs which use to be caused by the running of routing algorithms in them in computing best routs. SDN routing within IoT Robotics can enable the nodes to function for a longer period while in isolation because of reduction in their functional load.. 6.
(20) Usability of SDN Routing Within IoT Robotics Review of current routing protocols for IoT Robotics networks has been made in this thesis. The architecture of SDN has been discussed as well as protocols for SDN. Environment setup for the demo has been made using a local machine, a virtualization system, Mininet, MiniEdit, POX controller, Wireshark. Demonstration of four scenarios has been successfully conducted. The results of the scenarios proof the concept of SDN routing within IoT Robotics networks discussed in this thesis.. 1.1. Motivation. The objective of the AfarCloud project is to develop vehicle-mounted sensors and actuators that are able to monitor samples and actuate over different plants and animals without a static deployment of sensors and the provision of increased efficiency and reduced farm labor costs. This objective cannot be achieved without a simple, reliable, and manageable routing between the nodes of the IoT Robotics network. To achieve simple, reliable, and manageable routing between nodes of IoT Robotics networks routing protocols use need to: (1) have the global view of the network, (2) solve global problems, (3) have less energy demand, (4) demand fewer resources, and (5) have short development cycle.. 1.1.1. Lack of global view of the network. Having the global view of a network at a point is necessary for any routing protocol to effectively and quickly make any routing decision. This will enable a routing protocol to quickly learn all possible routes to a destination and choose the best route. In case of a broken link the next best route can easily and quickly be learned.. 1.1.2. Global routing solution. Almost all the current routing protocols address specific problems, and the majority of them are proprietary protocols. There is a need for a global routing protocol to address all routing issues at once. This will enable fast and simple management of routing within IoT Robotic network since there will be no requirement for specific configuration for different proprietary protocols.. 7.
(21) Usability of SDN Routing Within IoT Robotics 1.1.3. Energy need of nodes. As IoT nodes are expected to route packets between each other in isolation, they need enough energy to function while in an isolated environment. Thus, the nods need routing protocol that will not require extra energy for the computation of routes. This is one of the drawbacks of the current routing protocols for IoT Robotic networks.. 1.1.4. Resource need of nodes. IoT nodes need resources to store the codes and algorithms that control its functionality. It as well needs resources to store data collected from the environment. It is therefore necessary for the IoT nodes to run routing protocols that will not cause resource contention.. 1.1.5. Development cycle of protocols. As technology continues to develop faster than expected, companies and enterprises continuously come up with new business ideas to satisfy the needs of their customers. Due to the long development cycle of most protocols especially the proprietary protocols, adjustments needed to meet business demands are not immediately available. There is a need for routing protocol that will allow immediate solutions to business needs.. 1.2. State of the art. One of the key factors for achieving the goals of the AfarCloud project is to have a simple, manageable and reliable routing algorithm in place that will speed up the process of reliable information transfer within the network. SDN routing within IoT Robotics is proposed in this paper for the AfarCloud project. With SDN routing, nodes can reliably and efficiently route packets between each other in an isolated environment with fewer energy needs and no resource constraints.. 1.2.1. Challenges of routing in IoT Robotics Networks. Due to high mobility of nodes in IoT Robotics networks topology changes frequently and as a result, routing is difficult. The findings in the survey of routing protocols use in IoT Robotics networks shows that a unified standard for IoT routing protocol is yet to be available, thus every routing protocol addresses a specific issue.. 8.
(22) Usability of SDN Routing Within IoT Robotics Challenges of routing in IoT Robotics networks includes energy needs and resources constraints. The nodes function as both host and routers for making routing decisions on their own. This makes them need additional energy and resources for the routing function. The focus of this paper is the enhancement of routing in IoT Robotics networks by reducing the energy and resource need of the nodes. When designing routing protocols for IoT Robotics, challenges such as energy needs and resources constraints need to be considered. One of the main factors for the energy need and resources constraints of the nodes in IoT Robotics is due to the fact that, both the controller plane and data plane of the routing function are housed within the same node as shown in Figure 6.. Figure 6: Controller and data planes in IoT nodes Figure 6 shows how the routing function is built in the nodes of IoT robotics network. The controller plane is where the routing algorithms are run and the routing decisions made. The data plane does the forwarding of information based on the algorithm in the controller plane. The combination of these two planes housed within the same. 9.
(23) Usability of SDN Routing Within IoT Robotics node posed a high energy and resource need on the nodes.. 1.2.2 Solutions of routing issues in IoT Robotics networks Different routing protocols exist for solving different routing issues in IoT Robotics networks. Current routing protocols are used according to the network scenario. Results in [6] shows that, when comparing Ad hoc On Demand Distance Vector (AODV) and AODVDR, AODV gives better performance that AODVDR when a possible number of the network connection from each node is less than 25 % of the total node in the network. If the total number of network connection is greater than 40 % of the total nodes in the network, AODVDR gives better performance. Optimized Link State Routing (OLSR) have been suggested in [7] for compacting the size of packets and reducing the number of retransmissions that causes flooding in the entire networks. OLSR is best suited for large and dense ad hoc networks. In the evaluation of reactive routing protocols (Dynamic Source Routing (DSR) and AODV) and proactive routing protocol (OLSR) in 802.11 ad-hoc network environment, C.S.R Putta et al. made the following conclusions in [8]: Proactive routing protocol, OLSR provides better performance for voice service. Reactive routing protocols (DSR and AODV) are considered more adaptive for data service. In their work in [9], H. Xin and K. Yang studied the mechanisms of AODV, DSR, and OLSR routing protocols which are used in Ad Hoc network, and analyzed their usage in IoT network.The result of their findings shows that the protocol overhead of the three protocols increases with the number of nodes with AODV having the highest overhead followed by OLSR. This concludes that, if energy saving is to be used as the key point, DSR should be adapted. Also according to their findings, in terms of delay OLSR has the lowest delay followed by DSR. This indicates that if rapid communication is to be established OLSR mechanism should be used. In terms of network throughput, their results show that AODV performs better followed by OLSR. This indicates that AODV should be adapted if communication quality is a priority. According to [10], ROLL (Routing Over Low-power and Lossy networks (LLN)) working group have performed analyses on routing protocols such as Intermediate System to Intermediate System (IS-IS),. 10.
(24) Usability of SDN Routing Within IoT Robotics Open Shortest Path First (OSPF), AODV, and OLSR, and conclude that they failed in satisfying the requirements of LLNs. Each protocol have their own limitations In their survey, L. Ning et al. in [11] divide the routing protocols of Underwater Acoustic Sensor Networks (UASNs) into two different kinds cross-layer design routing and non cross-layer design routing and analyze their performance. They concluded that crosslayer design routing has become more important and common in recent years. Two kinds of cross-layer design methods introduced are location information-free routing protocols and location informationbased routing protocols. The conclusion in [11] shows that location information-free routing protocols are blind in routing discovery because of the absence of location information. For location informationbased routing protocols, their conclusion was that it can be energy intensive when using underwater GPS or location algorithm, and can waste a large number of node resources. The Smart and Networking Underwater Robots in Cooperation Meshes (SWARMs) project uses underwater wireless sensor network (WSN) solutions to enable routing of information between nodes.A Probabilistic Topology Control (PTC) algorithm is proposed in [12] for autonomous underwater vehicle (AUV) network for SWARMs project. In PTC when the transmission power of a node is not equal to the optimal transmission power, the node’s parameters will determine if the transmission power needs to be adjusted or not. The results [12] concludes that PTC reduces the transmission power adjustment ratio. Due to the difference between terrestrial environment and underwater environment, WSN solutions for terrestrial environments will need some adjustments before their use in underwater environments [11]. Two IETF standards which IP connectivity in sensor networks depends on are IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) and Routing Protocol for Low Power and Lossy Networks (RPL). 6LoWPAN does not satisfy Low power Lossy networks. RPL is IETF’s IPv6 routing protocol for low power lossy networks. RPL addresses single path routing with minimum computational complexity and resource utilization. But in a high congested network situation, it reduces the achievable output of the network [10]. These findings show that a unified standard for IoT routing protocol is yet to be available, thus every routing protocol addresses a specific issue.. 11.
(25) Usability of SDN Routing Within IoT Robotics The goal of this paper is to come up with proposals for enhancing routing in the AfarCloud (Aggregate Farming in the Cloud) project. AfarCloud is a precision farming project that aims to provide a distributed platform for autonomous farming that aims to integrate agricultural Cyber-Physical Systems (CPS) in real-time. The goal of the AfarCloaud project includes making farming robots accessible to more farmers by enabling them to work in cooperative mesh and ensuring reusability. The objective is to develop vehicle-mounted sensors and actuators that are able to monitor samples and acuate over different plants and animals without a static deployment of sensors. The goal also includes the provision of increased efficiency and reduced farm labor costs. One of the key factors for achieving these goals for the AfarCloud project is to have a simple, manageable and reliable routing algorithm in place that will speed up the process of reliable information transfer within the network.. 1.2.3. State of the art conclusions. The review above concludes that every routing protocol is used for a particular purpose. Thus, currently there is no routing protocol that addresses all problems. This call for the need of developing a routing protocol that will address multiple issues. In IoT Robotics, nodes serve as both host and router. This makes the nodes to need more energy and resources to carry out tasks. These are some of the biggest concerns in IoT Robotics networks since nodes are expected to function in an isolated environment where they will need to function under the energy and resources available in them. This paper has proposed the use of SDN routing within IoT robotics to eliminate the high energy need and resource constraints due to the housing of both the controller and data planes within the same node. According to their analyses of routing in aeronautical ad hoc networks, M. Kardoust et al. in [13] mentioned in their future work that, the integration of SDN technologies will enable high efficient routing. With SDN routing, all the controller planes of the nodes are moved to a central controller which serve as the gateway to the cloud or the Internet. The nodes are left with only the data plane. This architecture will greatly improve both the energy and resource need of the nodes.. 12.
(26) Usability of SDN Routing Within IoT Robotics. 1.3. Organization of the thesis. The rest of this thesis is organized as follows. Chapter 2: This chapter discusses SDN routing within IoT Robotics for precision farming. SDN architecture and the functions of components of SDN architecture have been discussed. The benefits of DSN routing within IoT Robotics is also discussed. Chapter 3: Description and the process of environment setup for the demonstration of SDN routing within IoT Robotics networks for precision farming have been described in this chapter. The process of setting up virtualization systems, Mininet, and Ubuntu Virtual Machine (VM) is described in this chapter as well. Chapter 4: Demonstration of SDN routing within IoT Robotic networks have been performed in this chapter. Four scenarios have been demonstrated using one Ubuntu local machine, VirtualBox, Mininet VM, one Ubuntu VM, and Wireshark. Chapter 5: Chapter 5 is the conclusions of this thesis. Areas for possible future research are as well discuss in this chapter which includes the future works derived as a result of the findings in this thesis. The next chapter discusses SDN architecture and SDN routing within IoT Robotics. It as well discusses some benefits of using SDN routing within IoT Robotics.. 13.
(27) Usability of SDN Routing Within IoT Robotics. 2 SDN routing within IoT Robotics for precision farming. 14.
(28) Usability of SDN Routing Within IoT Robotics. 2 SDN routing within IoT Robotics for precision farming Work on SDN started in 2008 when the OpenFlow protocol was published. This enables the separation of control plane and data plane and allows flexible programming how the hardware handles data traffic.Figure 7 shows the traditional network architecture and how the controller plane and data plane are separated in SDN.. (a) Traditional Networking. (b) Software Defined Networking. Figure 7: Separation of controller and data planes in SDN Open networking foundation (ONF) architecture working group developed the SDN architecture to support standardizations related to SDN. ONF was found in 2011 and published the first detailed SDN architecture in June 2014 and the updated SDN architecture in February 2016 [14], [15]. As the opportunities for added values of SDN becomes clear, the focus shifted from flexible packet forwarding to dynamic resource virtualization and service orchestration [16],[17],[18],[19]. Issues addressed by SDN technologies include problems of traffic engineering (TE), quality of service (QoS) provisioning and failure recovery in internet service provider (ISP) networks [20]. Security threats faced by SDN and conventional networks are comparable under the same threat model if they are to provide the same network properties. Important for SDN controller plane security is the support of fault tolerance and consistency checks. Filtering in the edge is effective in conventional networks [21]. In their work that. 15.
(29) Usability of SDN Routing Within IoT Robotics aims to enhance the entire security of developed SDN environment, I. Abdulqadder et al. Proposed a multi-level security mechanism. First routers verify users, secondly, policies are verified, thirdly controllers are authenticated before assigning flow packets [22]. The focus of this paper is flexible packet forwarding provided by SDN technologies. Technology watch conducted in this thesis for scientific and technological publications in SDN related technologies from 2008 to 2017 shows a great increase in the number of publications done starting from 2015 as shown in Figure 8.. Figure 8: Publications in SDN related technologies from 2008 to 2017, Source: [4]. The participation of big tech companies such as Huawei, Ericsson, Nokia, NEC in the publication of SDN related technologies as shown in Figure 9 is a strong indication to the rising of SDN technologies.. 16.
(30) Usability of SDN Routing Within IoT Robotics. Figure 9: Top 25 by number of publication of SDN technologies by institutions from 2008 to 2017, Source: [4]. In a similar vein, the number of patents granted to high tech companies in the area of SDN technologies is another signal of the road to the big revolution. Figure 10 shows the number of patents granted to high tech companies such as Huawei, Ericsson, Hp, H3C, ZTE from 2008 to 2017.. Figure 10: Number of SDN related patents granted from 2008 to 2017, Source: [5]. The result of the technology watch of SDN related technologies conducted in this thesis shows that SDN is the future technology and all the big players in high tech industries are preparing for the big change.. 17.
(31) Usability of SDN Routing Within IoT Robotics. 2.1. SDN architecture. A basic SDN architecture is shown in Figure 11 . The architecture consists of three plains, data plane, controller plane, and application plane. These planes are also referred to as infrastructure layer, control layer, and application layer respectively [14] [23].. Figure 11: Basc SDN Architecture Applications and clients in the application plane communicate their network requirements to the controller plane via ApplicationController Plane Interface (A-CPI). Controller plane invokes the services of the data plane via Data-controller plane interface (D-CPI). The data controller plane interface is also referred to as southbound interface (SBI), and the application-controller plane interface is also referred to as northbound interface (NBI).. 2.1.1. Components of SDN architecture. In this subsection, we will talk about some functions and activities that are carried out in each of the planes of SDN architecture mentioned in Figure 11. The functions and activities in each of the planes will be. 18.
(32) Usability of SDN Routing Within IoT Robotics explained by defining the function of components that can be present in the planes.. 2.1.2. SDN data plane components. Forwarding decisions made in the controller plane are implemented in the data plane. The data plane house one or more resource groups (RG). Each resource group is managed as a single entity. The resource groups in the data plane deal directly with the traffic of customers and provide connectivity to end devices. Figure 12 . Shows a detailed view of the data plane. The components found in each resource group includes resource data base (RDB), and resources (R).The RDB in the resource group is responsible for storing resources specific to the resource group.. Figure 12: SDN Data Plane detail view. 2.1.3. SDN controller plane components. Control in SDN is logically centralized with no resource contention between entities. SDN controller typically has more than one RGs in its subnetwork scope and regard itself the owner of the virtual resources allocated to it. SDN controller administers resources that are shared by more than one client or application making sure that the commitments made to the clients or applications are fulfilled while isolating each client or application from the others. It continuously updates. 19.
(33) Usability of SDN Routing Within IoT Robotics network and service state towards a policy-based optimum configuration. Components within SDN controller plane includes client context (CC), server context (SC), and resource data base (RDB) as shown in the detailed architectural view of SDN controller plane in Figure 13.. Figure 13: SDN Controller Plane detail view Orchestration and virtualization are important processes that are carried out in the SDN controller plane. The orchestration is the process of ongoing selection of resources by a server to satisfy the demand of a client.Virtualization is the process used to allocate virtual resources to the clients through the process of the mapping function.. Client Context (CC) Client context is the conceptual component of a server that represents all the information of a client. It participates in the server-client management-control operation. The relationship between client and server reciprocally is that client is configured with server context and servers are configured with client context. Each client or application has all it needs to be supported in its own client context in the SDN controller server role. The client context of a client or application is deleted from the SDN controller if it has no more relationship with. 20.
(34) Usability of SDN Routing Within IoT Robotics it. Client context of new clients or applications is created by the administrator with at least mandatory parameters to enable clientserver session. The administrator can populate the client resources with virtual resources. Components in the client context include one resource group (RG), and a client support (CS). Resource group (RG): A-CPI exposed to the client or application is defined by the resource group. As shown in Figure 13, the resource group consist of two sub-groups, virtual resource group, and support resource group. Virtual resource group represents infrastructure resources that are created through virtualization from SDN controllers’ underlying resources and are exposed to the client by way of the mapping function. Support resource group represents functions hosted in the SDN controller itself, example login profile, logs, and notification subscriptions. The resource group of each client context can have multiple user logins. These login details are controlled by the client. The administrator login is the first created during the creation of the client context. This administrator login has unlimited privilege within the resource group of the client. The administrator then creates sub-contexts for other user logins. Client support (CS): Client support block may contain additional resources like code, ephemeral data, and persistent data that are not exposed to the client at all.. Server Context (SC) Server context is the conceptual component of a client that represents all information about a given server and is responsible for participating in the active server-client operation. Server context is in the SDN controller client role. SDN controller must contain a server context for each resource group to which it may connect to the data plane. This server context includes the association attributes, login, and security information that will be acceptable to the underlying resource group environment. The view provided by the underlying resource group is available to the SDN controller’s server context.. Resource data base (RDB) RDB of the controller plane is the repository of all information that needs to be retained in the SDN controller. Data in the resource data base can still be access after controller reinitialization or replacement.. 21.
(35) Usability of SDN Routing Within IoT Robotics 2.1.4. SDN application plane components. Application plane consists of service consumers. Service consumer can be a client, user, or customer who exchanges both data and management-control operation with some SDN server or provider. The scope of this paper is limited to controller and data planes. Management and control are viewed as a continuum. Administrator role differs from that of ordinary applications only by having greater scope and privilege. The administrator configures the SDN controller itself along with client and server contexts and updates them from time to time as needed. The administrator configures a client context for each of its clients which includes allocation of underlying resources to the client in the process call virtualization. The administrator configures each client with a policy that defines the action and bounds permitted to the client and may modify the client context during its lifetime and may destroy a client context if the client relationship terminates.. 2.2. Client and server relationship in SDN. SDN functions as a set of client-server relationships between SDN controller and other entities. The key and central component of SDN is the SDN controller. Figure 14 shows client-server operation in SDN architecture. As a server, SDN controller offer services to service consumers at the application plane. SDN controller satisfies client request by virtualizing and orchestrating underlying resources.. Figure 14: Client-Server function in SDN architecture. 22.
(36) Usability of SDN Routing Within IoT Robotics As a client, SDN controller invokes services from servers in the data plane. SDN controller exposes services and resources to clients via A-CPIs and receives services and resources from the data plane via D-CPIs. There are two perspectives on the nature of client-server interfaces. One, service-perspective, which is viewed from the top-down or customer-provider viewpoint. Two, resource-perspective, which is viewed from the bottom-up viewed point of the resource owner. The perspectives emphasize different things but are complementary.. 2.3. OpenFlow. OpenFlow is a key enabler for SDN and the first standard defined between controller plane and data plane. OpenFlow allows access to the data plane devices from the controller plane for manipulation and reshaping of forwarding decision [24],[25]. OpenFlow allows the network to be program on per-flow base providing a granular control that enables networks to respond to real-time changes. Current routing protocols do not provide this level of control.. 2.3.1. OpenFlow Switch. OpenFlow switches communicate with SDN Controller via OpenFlow Switch protocol. OpenFlow switch consists of one or more flow tables, group table, one or more OpenFlow channel, OpenFlow ports. Each flow table consists of flow entries. Flow entries consist of match fields, counters, and instructions to apply to matching packets. Instructions associated with each flow entry either contain actions or modify pipeline processing. The two types of OpenFlow compliant switches are OpenFlow-only and OpenFlow-hybrid. OpenFlow-only switch support only OpenFlow operations. OpenFlow-hybrid switch support both OpenFlow operations and normal switch operations [24]. When the controller is isolated, OpenFlow switches immediately enters into a fail secure mode or fail standby mode. In the fail secure mode, packets and messages destined to the controller are dropped. Flow entries continue to exist according to their timeouts. Fail standalone mode is only available on the Hybrid switch. In the fail standalone mode, the OpenFlow switch behaves like a normal legacy Ethernet switch or router. The switch uses the flow table anyhow it. 23.
(37) Usability of SDN Routing Within IoT Robotics wishes. It can modify, add, or delete flow entries. If the controller reinitializes it synchronizes with the flow table by maintain the flow entries or delete them and building new ones. When an OpenFlow switch starts up for the first time, it operates in either fail secure mode or in fail standalone mode.. 2.3.2. OpenFlow Switch (OF-switch)protocol. Controller-to-switch messages are initiated by the controller to directly manage and inspect the state of the switch using OpenFlow protocol. These messages may or may not require response from the switch. With the OpenFlow switch protocol, the controller can add, update, and delete flow entries in flow tables, both reactively (in response to packets) and proactively.. 2.3.3 OpenFlow Management and Configuration protocol (OF-Config) OpenFlow Management and Configuration Protocol (OF-Config) is a companion protocol to OpenFlow. OF-Config enables remote configuration of OpenFlow Switches [26]. OF-Config defines OpenFlow switch as an OpenFlow Logical Switch. The controller communicates and controls the OpenFlow Logical switch via the OpenFlow protocol.. 2.4. Benefits of SDN routing within IoT Robotics. To enhance the routing process of the AfArCloud project by reducing energy need and resource constrains of the nodes, we proposed the use of SDN routing in this paper. To implement SDN routing within IoT robotics, the SDN architecture discussed earlier will be implememted as showh in Figure 15.. 24.
(38) Usability of SDN Routing Within IoT Robotics. Figure 15: SDN enabled nodes in IoT Robotics Figure 15 is a modification of Figure 6 using SDN architecture. Figure 6 shows the traditional routing architecture of IoT nodes. In Figure 15, all the controller planes of the nodes are moved to the central controller which serve as the gateway to the cloud or the Internet. The nodes are left with only the data plane. This architecture will greatly improve both the energy and resource need of the nodes. Some of the benefits of SDN networks are as shown below. The requirements of today’s users, enterprises, or carriers were not catered for in the current existing network architectures. Today’s networks are relatively static due to complexity and the fact that administrators seeks to minimize service disruption as a result of the complexity of the network. Another limitations of today’s networks is due to the fact that most protocols are proprietory without any. 25.
(39) Usability of SDN Routing Within IoT Robotics fundamental abstraction, and each protocol solving a specific problem. Vendor’s equipment product cycle can range to three years or more [23]. This can delay enterprises intending to deploy new capabilities and services leading to slow innovation. By allowing network operators and even users to program and reprogram the network in real time to meet specific business needs as they arise, SDN adoption accelerates innovation. Enterprises today operates converged networks for voice, data, and video traffic. Configuring converged networks today is highly manual, each vendor’s equipment must be configured separately. SDN controller can control any OpenFlow enabled network device from any vendor. Administrators can use SDN orchestration and management tools to deploy, configure, and update devices across networks. This reduces operational overheads and increases agility. This eliminates the need to individually configure network devices each time a new device is added or remove, or a change in policy is made. With the addition of hundreds or thousands of network devices that must be configured, the network becomes more complex. Carriers must deliver higher values and better differentiated services to stay competitive. Due to the fact that SDN controllers provide a complete visibility and control over the network, configurations and policies are enforced consistently across the network [27]. The flow based control model of SDN allows the application of policies at a very granular level. Due to the separation of controller plane and data plane in the networking devices leaving the devices with only the data plane, and due to the openness of the devices, SDN technology will encourage more SDN equipment vendors. Thus, resulting to drop in price of SDN equipments. This will encourage farmers to go for more SDN enabled IoT devices for enhancing their precision farming activities. This chapter discussed SDN architecture and the function of the components in each plane of the architecture. Client-server relationship and functions are discussed as well as OpenFlow protocols and OpenFlow switches. The benefits of SDN routing within IoT Robotics networks are discussed too. The next chapter discusses how the environment setup was done for the simulation of SDN routing within IoT Robotics networks.. 26.
(40) Usability of SDN Routing Within IoT Robotics. 3 Environment setup for simulation. 27.
(41) Usability of SDN Routing Within IoT Robotics. 3. Environment setup for simulation. The proof of concept was demonstrated in a lab environment using a local machine, a Virtualization system, Mininet/ubuntu Virtual Machine (VM), and Ubuntu 16.04 64bits Virtual Machine.. 3.1. Local machine. The local machine used is Ubuntu 16.04 64bits computer. The Ubuntu 16.04 local machine act as the host machine for the Mininet/Ubuntu VM and Ubuntu 16.04 VM. The local machine is used to SSH into the Mininet/ubuntu VM for configuration and management of the Mininet. Thus, Mininet is a command line Interface (CLI) and is not friendly to work with especially when trying to capture or print outputs. The local machine is used to open the nodes in Xterm in the local machine for their management. The local machine is also used to open Wireshark on the local machine. Wireshark is a tool used to monitor traffic in the SDN network.. 3.2. Virtualization system. The virtualization used is operating system virtualization. The virtualization allows the running of multiple instances of different operating systems on the local machine. VirtualBox is used as the virtualization system. VirtualBox is free and can run on Windows, Linux, and OS X. The latest VirtualBox version at the time of downloading (Version 5.2.8) was downloaded at VirtualBox official site [38] as shown in Figure 16.. 28.
(42) Usability of SDN Routing Within IoT Robotics. Figure 16: VirtualBox downloads for Linux host Each instance of an operating system running on the virtualization system is called a virtual machine. Each of the VMs is termed as a guest machine. In our case, the guest machines are the Mininet/ubuntu VM and the ubuntu 16.04 64bits VM. During the downloading and installation of the VirtualBox, note has been taken to make sure that the package architecture of the VirtualBox downloaded matched the Linux kernel architecture of the local machine. In our case we are running 64bits kernel Ubuntu, therefore, AMD64 is the appropriate package to install. After a successful installation of the VirtualBox, it was opened and the windows in Figure 17 shows. This indicates the successful completion of VirtualBox installation.. 29.
(43) Usability of SDN Routing Within IoT Robotics. Figure 17: VirtualBox window after a successful instillation. 3.2.1. Setting up VirtualBox for network connections. To connect a VM to the host computer or to other VMs, a host-only interface needs to be created in the VirtualBox. This will enable the host computer to run SSH sessions with the VMs. From the “Global Tools” drop-down arrow key select “Host Network Manager”. A window in Figure 18 will appear. In the windows that appear in Figure 18, “vboxnet0” is the name of the host-only interface, 192.168.56.1/24 is the default IPv4 address assigned to the adapter, and DHCP server is enabled by default.. Figure 18: VirtualBox network setup window1 Right-click on “vbnet0” in the windows that appears in Figure 18 and chose “Properties” from the list that appears. Another window will appear under as shown in Figure 19.. 30.
(44) Usability of SDN Routing Within IoT Robotics. Figure 19: VirtualBox IPv4 address adapter setup window The “Adapter” tab shown in Figure 19 indicates the adapter setting which can be changed. The default adapter settings are maintained for this lab. The “DHCP Server” tab shows the DHCP settings as shown in Figure 20.. 31.
(45) Usability of SDN Routing Within IoT Robotics. Figure 20: VirtuelBox host-only network DHCP setup window DHCP settings can be changed in this window. The default DHCP settings are used in this thesis. The host-only network settings of the VirtualBox can be confirmed by running “ifconfig” command on the CLI terminal window of the host computer as shown in Figure 21.. Figure 21: Confirmation of host-only network setup on the host computer. 32.
(46) Usability of SDN Routing Within IoT Robotics This concludes the setup of the host-only adapter on the VirtualBox.. 3.3. Mininet/Ubuntu Virtual Machine (VM). Mininet is a network emulator that supports tasks that benefit from having a complete experimental network on a local machine. Mininet creates a network of virtual controllers, switches, hosts, and links. Mininet switches support OpenFlow for customized routing and SDN. Mininet hosts run Linux network software. Some of the main advantages of Mininet are: it provides a simple and inexpensive testbed for developing OpenFlow applications, allows independent concurrent works on the same topology, supports complex topology testing without the need to wire up a physical network. In this experiment, a pre-packaged Mininet/ubuntu Virtual Machine containing Mininet, OpenFlow binaries and Controllers is used. During the time of Mininet installation, the latest version of Mininet (version 2.2.2) on Ubuntu 14.04 LTS 64bits that came with two controllers (POX and Pyretic) was downloaded from Mininet official site [39] as shown in Figure 22 and imported into VirtualBox.. Figure 22: Mininet/ubuntu pre-package virtual machine downloads. 33.
(47) Usability of SDN Routing Within IoT Robotics To import the virtual machine into the VirtualBox, the VirtualBox management application was started. The “New” button on the menu clicked and then the “Create Virtual Machine” window appears. Information on “Create Virtual Machine” window in Figure 23 was entered and selected. Then the “next” button was clicked.. Figure 23: Mininet/ubuntu VM creation window After clicking the “Next” button again to select the default memory size, the window in Figure 24 appears. “Use an existing virtual hard disk file” radio box selected. The folder icon clicked to browse to the downloaded unzipped Mininet file in the Downloads folder on the local machine and select it.. 34.
(48) Usability of SDN Routing Within IoT Robotics. Figure 24: Hard disk file and mininet downloaded file selection The “Create” button was then clicked to proceed with the completion of the importation of the Mininet into the VirtualBox manager. After few moments the Mininet appears in the VirtualBox manager windows.. 3.3.1 Setting up Mininet/ubuntu VM for network connection Before proceeding with the adapter setting of the Mininet/ubuntu VM, the default adapter set up was checked using “ifconfig” command on the CLI of the Mininet and the result in Figure 25 was outputted.. 35.
(49) Usability of SDN Routing Within IoT Robotics. Figure 25: Default adapter setting of Mininet/ubuntu VM Open the Mininet settings window by selecting Mininet on the VirtualBox Manager windows and then clicking “Settings” tab. The Mininet-settings window will open. Selecting “Network” will show the network adapters of the Mininet VM as shown in Figure 26.. Figure 26: Mininet VM network setting window. 36.
(50) Usability of SDN Routing Within IoT Robotics Adapter 1 in Figure 26 corresponds to eth0 interface in Figure 25 and adapter 2 in Figure 26 corresponds to eth1 interface which doesn’t appear in Figure 25 because adapter 2 is not yet enabled for the network. In Figure 25, eth0 interface has a NAT address of 10.0.2.15/25. This NAT address enables the Mininet VM to connect to the Internet. To connect the Mininet to the “host-only network” in order to enable communication between it and the host machine and other VMs, adapter 2 was enabled and attached to “vboxnet0” as shown in Figure 27.. Figure 27: Setting up Adapter 2 for host-only network After clicking “Ok” button to enable the settings in Figure 27, the command “ sudo dhclient eth1” was entered in the CLI of the Mininet to start the DHCP client in eth1 of the Mininet VM. Then “ifconfig” command was run to confirm the IPv4 address on the eth1 interface. The output of these commands is shown in Figure 28.. 37.
(51) Usability of SDN Routing Within IoT Robotics. Figure 28: Setting up and confirmation of DHCP on eth1 Comparing Figure 28 with Figure 25, eth1 appears in Figure 28 with an IPv4 address 192.168.56.102 from the DHCP pool configured earlier in the VirtualBox. The IP address on eth1 will enable the Mininet to have a connection with the local host and other VMs connected to “host-only Network”. This setup was confirmed and tested with a ping from the local host to the Mininet VM IPv4 address (192.168.56.102) and with another ping from the Mininet VM to the local host IPv4 address (192.168.56.1) as shown in Figure 29.. 38.
(52) Usability of SDN Routing Within IoT Robotics. Figure 29: Ping results of host machine and Mininet VM The two pings in Figure 29 both shows 100 percent success. This is a confirmation of the successful setup of the Mininet VM network. The Mininet is now ready to be accessed by the local computer and other VMs.. 3.3.2. Setting up Mininet/ubuntu VM for SSH. The version of Mininet (version 2.2.2) at the time of downloading is a performance improvement and bug fix release. It is recommended to destroy any default SSH keys in the existing Mininet VMs [40]. The following commands were run on the Mininet CLI to enable SSH service: sudo rm -f /etc/ssh/*key* sudo /usr/sbin/dpkn-reconfigure openssh-server sudo service ssh restart SSH connection was then established between the local computer and the Mininet VM as shown in Figure 30.. 39.
(53) Usability of SDN Routing Within IoT Robotics. Figure 30: SSH session between host machine and Mininet VM Figure 30 shows a successful establishment of ssh session between the local computer and the Mininet VM.. 3.3.3. Setting up XTerm (X11) forwarding. XTerm is a terminal emulator for X11. X11 is referred to as X window system or shortened as X. Xterm provides compatible terminals for programs that cannot use the window system directly. Different invocation of Xterm can run at the same time each running an independent input/output for a particular node. XTerm forwarding has been set up in the host computer for opening configuration windows of the Mininet nodes in the local/host computer. The following commands were run in the local computer terminal: cd /ets/ssh sudo gedit ssh config After running the above command, the document in Figure 31 appears.. 40.
(54) Usability of SDN Routing Within IoT Robotics. Figure 31: Default SSH config file In the document shown in Figure 31, “ ForwardX11 no” and “ForwardX11Trusted yes” are commented. This document is edited by uncommenting both “ ForwardX11 no” and “ForwardX11Trusted yes” and making sure that they are both prefixed “yes” as shown in Figure 32.. 41.
(55) Usability of SDN Routing Within IoT Robotics. Figure 32: Modified SSH config file Clicking the “save” button, will save the changes and then close the document. This setup will turn on Xterm /X11 forwarding at startup. This setup was tested by running “Xterm” command in the SSH session running on the local computer. Xterm window appears after running the “xterm” command in the ssh session of the local computer as shown in Figure 33.. 42.
(56) Usability of SDN Routing Within IoT Robotics. Figure 33: Xterm sesion This proofed successful implementation of the Xterm forwarding in the local computer.. 3.3.4. MiniEdit. Mininet topology commands are used to create a network topology in Mininet. In this paper, MiniEdit is as well use to create a network topology in Mininet. MiniEdit graphical user interface is used to setup network made up of OpenFlow switches and Linux hosts and provides a visual representation of the topology. The command below was run in the SSH session of the local machine and after few moments MiniEdit window appears as shown in Figure 34. This concludes the successful running of MiniEdit. sudo /mininet/examples/miniedit.py. 43.
(57) Usability of SDN Routing Within IoT Robotics. Figure 34: MiniEdit window. 3.4. Ubuntu 16.04 Virtual Machine (VM). Ubuntu 16.04 VM was added to the VirtualBox Manager. Ubuntu 16.04 VM is used to set up ssh session with the Mininet VM to run the POX controller.. 3.4.1. Creating Ubuntu 16.04 VM. The Virtual Machine is created in the VirtualBox by clicking “New” button and filling and selecting the parameters as shown in Figure 35.. 44.
(58) Usability of SDN Routing Within IoT Robotics. Figure 35: Virtual Machine creation The “Next” button on the windows in Figure 35 was pressed. A memory size allocation windows appear as shown in Figure 36.. Figure 36: VM creation Memory size window. 45.
(59) Usability of SDN Routing Within IoT Robotics In Figure 36, the default memory size was chosen by clicking on the “Next” button. This leads to the hard disk specification windows. “Create a virtual hard disk now” option is chosen as shown in Figure 37.. Figure 37: VM creation Hard disk specification window Clicking “Create” button in the windows of Figure 37 opens the hard disk file type windows as shown in Figure 38 below.. 46.
(60) Usability of SDN Routing Within IoT Robotics. Figure 38: VM creation Hards disk file type window The default settings of the Hard disk file type window was taken. The “Next” button clicked and Storage on physical hard disk window opened. The default selection is taken as shown in Figure 39 and the “Next” button clicked.. 47.
(61) Usability of SDN Routing Within IoT Robotics. Figure 39: VM creation, storage on physical hard disk window This leads us to the final window of the VM setup (File location and size window) as shown in Figure 40.. 48.
(62) Usability of SDN Routing Within IoT Robotics. Figure 40: VM setup, File location and size window Clicking “Create” will create the Virtual Machine. The new VM will appear on the VirtualBox Manager as sown in Figure 41.. Figure 41: Ubuntu VM in VirtualBox manager. 49.
(63) Usability of SDN Routing Within IoT Robotics This concludes the creation of Ubuntu 16.04 virtual machine setup. More details on the setup can be found at [41].. 3.4.2. Installation of Ubuntu 16.04 ISO file in VM. This process starts by first downloading Ubuntu 16.04 ISO file from the official site of Ubuntu [42]. The VM (Ubuntu) is then selected on the VirtualBox Manager and then the “Start” button clicked. After few moments, “select start-up disk” window appears. The arrow on the folder icon clicked to browse to the Downloads folder and select the downloaded Ubuntu 16.04 ISO file as shown in Figure 42.. Figure 42: Ubuntu 16.04 ISO file instillation, Select start-up disk window The “Start” button on the windows that appears in Figure 42 was then clicked and the installation of Ubuntu 16.04 ISO file starts. The normal installation procedures for Ubuntu was followed until the end. After rebooting the VM, the screen in Figure 43 appears. This completes the installation of Ubuntu 16.04 in the VM.. 50.
(64) Usability of SDN Routing Within IoT Robotics. Figure 43: Ubuntu 16.04 VM login window. 3.4.3. Setup Shared Folder on Ubuntu 16.04 VM. Before enabling shared folder on Ubuntu 16.04 VM, VirtualBox Guest Additions software was first installed on the VM. Guest Additions software enables the Ubuntu 16.04 VM screen size to be extendable and also allows folder sharing between the VM and the host computer. Guest Addition was installed by clicking “Devices”→ “Insert Guest Addition CD images” on the VM window and the warning on the window in Figure 44 appears.. 51.
(65) Usability of SDN Routing Within IoT Robotics. Figure 44: Guest Addition window The “Run” button on the windows that appears in Figure 44 was clicked and the installation starts. The installation process was followed until the end. The VM was then restarted to enable the setup to take effect. This completes the installation of Guest Additions. The shared folder was created by clicking “Devices” → “Shared Folder” → “Sheared Folder Settings” on the Ubuntu VM window. A window in Figure 45 then appears. In the window, “Machine Folders” was selected and the add button icon on the right was clicked.. 52.
(66) Usability of SDN Routing Within IoT Robotics. Figure 45: Sheared folder setting window of Ubuntu VM After clicking the add button on the right, a small window appears on top of the previous window in Figure 45 as shown in Figure 46.. Figure 46: Ubuntu VM edit share window The drop-down arrow key of the “Folder Path” is used to browse and select the “VMFiles” folder in the local Machine. VMFiles folder was created earlier on the Desktop of the Local computer. This is. 53.
(67) Usability of SDN Routing Within IoT Robotics where shared files will be saved and retrieved in both the Ubuntu 16.04 VM and the Local computer. “Auto-mount” and “Make Permanent” checkboxes are both checked as shown in Figure 46. The “OK” button was then clicked. This completes the parameter settings of Sheared folders as shown in the window that appears in Figure 47.. Figure 47: Sheared folder window of Ubuntu VM “OK” button on the window in Figure 47 was then clicked to complete the setup of the shared folder on the Ubuntu VM. To be able to use the VirtualBox Sheared Folder feature, the command below was run in the terminal of the Ubuntu 16.04 VM. Sudo adduser pox vboxsf After running the above command, the VM was restarted. The shared folder appears in the list of files of the Ubuntu VM starting with sf (sf VMFiles) as shown in Figure 48. This concludes the setting up of shared folder between the Ubuntu 16.04 VM and the Local computer.. 54.
(68) Usability of SDN Routing Within IoT Robotics. Figure 48: Appearance of the sheared folder in ubuntu VM. 3.4.4. Setting up Ubuntu 16.04 VM for Network. By default, only adapter one is enabled and with NAT as shown in Figure 49. This allows the VM to have an Internet connection. Figure 49: ubuntu VM default network setting. 55.
(69) Usability of SDN Routing Within IoT Robotics Figure 50 shows the output of the address assigned to the Ubuntu 16.04 VM with NAT default configuration. In Figure 50 “ensp0s3 corresponds to Adapter 1 in Figure 49.. Figure 50: Default address assignment on Ubuntu VM Ubuntu 16.4 VM was then set up to connect to the “host-only Network” by attaching Adapter 1 to “Host-only Adapter” as shown in Figure 51.. 56.
(70) Usability of SDN Routing Within IoT Robotics. Figure 51: Setting Adapter 1 as host-only network After the above step,“ifconfig” command was run again and a new IP address configuration setup was effected as shown in Figure 52. This IPv4 configuration will enable the Ubuntu 16.04 VM to have SSH session with the Mininet VM to enable it to run the POX controller.. 57.
Documento similar