2015 6th International Conference on Intelligent Systems, Modelling and Simulation

Emulation of Software Defined Networks Using Mininet in Different Simulation
Environments
Faris Keti Shavan Askar
Electrical and Computer Engineering Department Electrical and Computer Engineering Department
Faculty of Engineering Faculty of Engineering
Duhok-Kurdistan Region,Iraq Duhok - Kurdistan Region, Iraq
faris.alyas@uod.ac Shavan.askar@uod.ac

Abstract- In this paper an evaluation of an SDN emulation Section 2 of this paper discusses the SDN paradigm
tool called Mininet is conducted. Tests were conducted to describing its motivation, network elements that are part of
study Mininnet limitations related to the simulation
environment, resource capabilities. To evaluate the later, the this new structure, in addition, the operation of these
scalability of Mininet in term of creating many topologies is components. Section 3 describes the utilized simulation
tested with varying number of nodes and two different tool which is called Mininet, in addition, it presents
environment scenarios. Results show that the simulation
MININET characteristics. In section 4, the role of
environment has a remarkable effect on the required time
for building a topology, for instance, the powerful resources controller in SDN networks was proposed utilizing SDN
scenario needed only 0.19 sec, whereas, 5.611 sec were tools and also one of MININET performance related to the
needed when the resources were less. However, the required simulation's environment was tested.Section 5conclude the
time were increased in both scenarios when the number of
nodes was increased into 242.842 and 3718.117 sec for the paper and give suggestions for future work.
powerful and less capabilities resources respectively.
II. SOFTWARE-DEFINED NETWORKS
Keywords-Software Defined Networking, Emulation,
OpenFlow, Pox controller, Minint. Experienced IT personnel are inevitable when it comes
to configuring and installing network’s elements. Accurate
I. INTRODUCTION and complicated simulators are needed when the
simulating networks in which interactions among its
Because of the astronomic number of users each with elements are needed such as switches, routers, etc.
different applications or services which also increase Supporting this is highly difficult to achieve. Therefore; a
continuously, the Internet has already become a kind of new network model is required to support these agility
global communication infrastructure. requirements.
But, the Internet with its current capabilities is still There are four factors that SDN focuses on which are
suffering from variety of great challenges in network namely;
control, configuration, and management issues. Research A. Control plane and data plane Separation
on Internet application, service, network control and B. A centralized controller and view of the network
management is one of thehot and interesting topics in C. Open interfaces between the devices in the
recent years. Many of research projects have been initiated control plane and the data plane
in this subject’s area [1]. D. Use of external application to support the
The research community of computer networks has been programmability feature of the network
searching for solutions that enable the use of networks
with more programming resources and less need for A. Control plane and data plane separation:
replacement of hardware elements, so that new
technologies designed to solve new problems can be One of the tenets expressed early in the introduction of
inserted gradually into the network and without significant SDN is the potential advantage of the separation of a
costs [2, 3]. Software-Defined Networking (SDN) is a new network device’s control and data planes. This separation
network paradigm that virtualizes network infrastructure affords a network operator certain advantages in terms of
by decoupling the control and data plane logic of centralized or semi-centralized programmatic control. It
traditional network devices, creating a dynamic, flexible, also has a potential economic advantage based on the
automated and manageable architecture. ability to consolidate in one or a few places what is often a
SDN is implemented through a protocol known as considerably complex piece of software to configure and
OpenFlow that lets administrators select the path through
which data will flow through a network [4].

2166-0670/15 $31.00 © 2015 IEEE 205
DOI 10.1109/ISMS.2015.46

However. better prototype in a simple manner. using programming languages Forwarding flow entries consists of the following and common operating systems. In addition. Creating a Network III. and access control. and provides a smooth improved network resource utilization. layer-3 controllers [4]. correctly implementations conducted in matching the incoming packets. Therefore. Flow tables contain forwarding flow entries. . applications that haveprecise traffic monitoring and processing capabilities. the prototype behavior should represent real time behavior with a high degree of confidence. routers. customize and share it.  Scalability. It works on a single Linux kernel and it elements and characteristics will be attained. Some characteristics guided the creation of Mininet layer which communicates with a controller in a secure are: manner via OpenFlow protocol. and enhanced path to running it on hardware. it network programmers to create software defined network allows for more options for dynamic provisioning. which can then run forwarding [7]. and metadata. can be set in software. flow such as the number of received packets. utilizes virtualization for the purpose of emulating a complete network utilizing only a single system. it supports a faster Mininet has the capabilities that enable researchers or response to changing traffic conditions. This will consequently support. Use of external application to support the thousands of switches on only a computer.control onto less expensive. load balancing. which transfer the decision. With SDN. programmability feature of the network:  Realistic. centralized control plane. implementing network hardware [5. the created prototypes should be easily the purpose of controlling the policies of packet shared with other collaborators. host.3 emulator called Mininet. interact. SDN has many advantages [10]. With the capability to load balancing. more preferred traffic engineering. first. A centralized controller and view of the network mode strategy has been conducted for the purpose of prototyping and emulating there kind of network The most important characteristic of SDN is the use of a technologies and the most important one is MININET [1]. MININET Workflow dynamic QoS provisioning. so In SDN environment. virtual B. Mininet has the capability to emulate different kinds of making logic from the network devices into external network elements such as. an awareness of network routers. and links are real-world plane and the data plane (OpenFlow): elements although they are created by means of software [11]. management and running the simulated duration of a particular flow. the prototyping environment must be scaling to large networks with the hundreds or D.8]. bytes and  Interactivity. In the OpenFlow architecture. there are only few network devices available for the purpose of implementing SDN standard as it is yet not widespread technology from the 206 . to overcome these problems.7. network must occur in real time as if it happens in real which applies when there is a match. new topologies and new features correspondent flow. that is. ingress port. an OpenFlow switch consists of many flow tables in addition to an abstraction A. Because of this. it is possible to deploy network and modify the experiments [12]. with large number of network devices is very difficult and costly. so-called commodity industrial perspective. based on hardware without any changes in source counters. There are many reasons that trigger the use of a new $ sudo mn --topolinear. and a set of instructions. parameters. they dictate how to networks. and links. then processed and forwarded. there is a capability of utilizing without any code modification. it is possible to control and applications and protocols stacks should be usable program network devices. handle matched packets[9]. a B. each one match packets to its  Flexibility. MININET A network can be created in MININET with a single command. In addition. C. match fields which are used for the purpose of  Applicability. layer-2 switches. opportunities to implement many new types of services.6. software applications that are developed from hardware for  Share-able. Open interfaces between the devices in the control the created host. which are used to build up statistic data for each codes. switched. match fields use prototypes should also be usable in real networks information of packet header.

6). In the Mininet console: Mininet> xterm h1 h2 h3 h4 207 . First Experiment.0432bits Mininet >h1 ping –c3h2 with 1 GB of RAM and POX 0. . eachhost configured to the Inspiron1525 PC with the following specifications was corresponding switch. Simulation topology python. In this section many tests are presented which explain The proposed topology created with the following some features and capabilities of MININET emulator command line: along with POX controller software in order to test the $ sudo mn –topo single. one remote controller was created. one Mininetsupports the capability of sharing the created switch. it can. For example.Create a virtual network of three switches connected In all the tests or experiments a computer DELL Inc.POX began early as a controller for an OpenFlow protocol./pox. So.00 GHZ. processor Intel ® Core ™ 2 Duo CPU 2. viewable. the traffic in each host was A. controlled.py log.7 (it can also work fine with Python 2. For The guest operating system: MININET Emulator example. the CLI command version 2. linearly and three virtual hosts. forwarding rules in the flow tables is explained. and can be used for developing networking software. the role of the controller in setting Iperf: TCP speed test.level –DEBUG misc. from MININET console: created by Mininet’s API.py Now the controller will be programmed as a hub: This few lines of python create a virtual network of two $. act as an OpenFlow switch. under the management of Mininet > nodes VirtualBox. that all hosts see environment.2. Customizing a Network happens in the absence of controller and what should we Custom networks with a few lines of Python can be do alternatively. The VM image to other researchers for the purpose of running. Interacting with a Network Windows 7 32bits and VirtualBox Oracle VM version In Mininet’s the entire virtual network can be 4. Running on Hardware The created prototype could be implemented into hardware for testing and validation [13]. nowadays. and can run under Linux OS. and Windows. To see a list of available commands Dpctl: control and edit flow tables.1 on Linux operating system Ubuntu14. used. Sharing a Network In a new SSH terminal.of_tutorial hosts connected via virtual links to two switches. SDN SIMULATION USING MININET AND POX CONTROLLER POX is a software platform developed in Python [14][15].0(carp) Controller are Is used to pingh2 from h1 installed on this computer. the exact same traffic when hosts ping each other. and managed from a single console.4 – controller remote MININET tool in different networks topologies and Now to verify the behavior of a hub. $ cd pox ~/mininet/custom/topo-2sw-2host. xterms for each host was created.3072 MB of RAM running the operating system . In this test.18. a topology with four hosts. It also shows how it can control the behavior of forwarding hardware in the way of dealing with packets and also what . Figure 1 below. To see the list of nodes available Mininet > help B.3. or modifying it. POX work with Python 2. This tells POX to enable verbose logging and to start the of_tutorial component (which runs as a hub). The core and main modules are developed in Figure 1. connections between nodes were wired links as shown in evaluating. IV. Mac OS. However. . MININET environment specifications.

it still has some limitations.0. Each test environment differs from the other by the resource characteristics.idle_timeout=120.0. In this experiment the effect of one of its limitations on its scalability was studied. Because switches are only forwarding hardware # tcpdump –xx –n –I h4-eth0 and there are no flow entries in its flow tables.actions=ou packets corresponding to the ping in all the xterms running tput:2 tcpdump. two different environments were tested.0. Those resources need to be normalized and shared among virtual hosts and switches. tcp:127./pox. forwarding rules were entered manually as The ping packets are now going up to the controller. this command line is used: $ dpctl dump-flows tcp:127.0. we sent a ping: packets were lost because of the absence of the controller. follow: which floods them out into all interfaces except the $ dpctl add-flow sending one.1:6634in_port=1.0. There should be identical ARP and ICMP tcp:127.2 corresponding to the ping request.1:6634 The content of manually entered flow table is shown in Figure 4. The behavior of controller as a learning switch.0.l2_learning command could be executed and the destination host Again in the xterm for host1a ping request is executed expected to receive the ARP and ICMP packets # ping –c1 10. the content of manually installed flow table using the following component: $ cd pox After installing a flow table with few last steps. the manual case. Figure 2.0. and h4. it imposes resource limitation.0. # ping -c1 10. Now the previous scenario will be repeated but this time with programming the controller as a learning switch by Figure 4. h3.1:6634in_port=2. a ping $ python . was receive the ARP and ICMP packets corresponding to the performed by the controller automatically in SDN ping. Hosts that are not the destination for a ping should paradigm.py forwarding. Figure 2. microcomputer HP Compaq8200 Elite SFF PC with the 208 . Because MININET runs on a single system. This is the behavior of a hub. The controller hub behavior. Second Experiment. where.2 therefore.In the xterms for h2. display no tcpdump traffic after the initial broadcast ARP request. it sends all packets $ dpctl add-flow to every port on the network.0. Although MININET is considered as a great and convenient tool. all the ping In the xterm for h1. a utility that print the packets seen by a host: To further have an insight into the role of controller in # tcpdump –xx –n –I h2-eth0 inserting fields into the forwarding rules.0.actions=ou tput:1 This will forward packets coming at port 1 to port 2 and vice-verca.idle_timeout=120. To display the flow table installed. It is important to Then as shown in Figure 3 only the destination host will remember that the above task. we run tcpdump . the controller # tcpdump –xx –n –I h3-eth0 was disconnected and another ping command was And respectively executed. A comparison between two sets of scalability tests were conducted. The first set of scalability test was conducted by using the following environment: a Figure 3. C.

the following guest operating systems were installed: Mininet Emulator version 2.190 Tree 7 4 3 0. as a result it is noted this section. changing the Tree 511 256 255 242.31 times the time required in the first environment. CONCLUSIONS Tree 15 8 7 1. increase of virtual nodes number in both scenarios. creation (start/stop) increases from 0.842 topologies. TABLE I.088 the SDN paradigm evaluation was covered.following specifications: Processor Intel ® Core ™ i5.480 It was concluded that the characteristics and Tree 31 16 15 77. controlling the behavior of forwarding hardware (switches). 2400 3.117sec in second environment which is 15.714 Tree 511 256 255 3718.795 During this study many capabilities of Mininet emulator in Tree 63 32 31 7. Comparing results of the two different scenarios “Autonomicity Design in OpenFlow Based Software Defined mentioned above gives an indication that the amount of Networking”. Yannan HU. Tree 3 2 1 0.611 sec in the TABLE II. 4GB of RAM running the Operating however. In addition. this paper took into Tree 255 128 127 64. Comparison between scalability tests results in different (sec) environment.525 V. Floodlight Controller version 0. Tree 15 8 7 35.611 the time increases from 242.10 64bits with 256MB of RAM.2. that the resource limitation has a huge impact on the In this microcomputer.818 consideration the following scenarios. which was was studied and a comparison between results for two conducted with the characteristics specified in part (A) of different environments was described.535 above characteristics were carefully selected then Mininet Tree 127 64 63 410. the time required for Topology Node Host Switch Start/ creation (start/stop) in both environment increases with the numbers number numbers stop time increase in the nodes number but with different rates so s (sec) that for the largest topology in our test which is 511 nodes Tree 3 2 1 5. VirtualBox. GC'12 Workshop: The 4th IEEE International time required to create a virtual network increases with the 209 . The effect of simulation environment limited resources From the second set of scalability test. SECOND SCALABILITY TEST RESULTS environment of worse resources. if the Tree 63 32 31 172.162 3718. Tree 31 16 15 2. FIRST SCALABILITY TEST RESULTS Topology Node Host Switch Start/ Numbers Numbers numbers stop Time Figure 7. Tree 255 128 127 1054.190 sec in the environment of better resources to 5.90 on Linux operating system Ubuntu 12.12.153 can be utilized as one of the powerful tools in emulating the SDN and virtual networks.304 qualifications of simulation environment must be taken into consideration before starting to use mininet. The obtained scalability results are shown in Table I.12 64bits with 1Gb of RAM.210 ability of connection with remote controllers (in this case POX controller).0 on Linux operating system Ubuntu 10. the scalability results displayed in Table 6 that for small number of nodes the time required for were obtained. from the creation of basic topologies with reference controller to the Tree 127 64 63 20.10GHz.175 In this paper the performance of Mininet tool for emulating SDN networks was evaluated. Xirong QUE. under the management of results as depicted in Figure 7. GONG Xiangyang.842 sec in first environment to Tree 7 4 3 16.117 REFERENCES [1] WANG Wendong. increasing the number of nodes. there is a remarkable difference in the required System Windows 7 64bits and VirtualBox Oracle VM time between the first and second scenario which means version 4.

and N. IEEE. 51. April 2012.Juliano Araujo Wickboldt.” in Proceedings of the 9thACM SIGCOMM Workshop on Hot Topics in Networks. Published by O’Reilly Media. P. D. McKeown.2014. Nadeau. First Edition.Available: http://www.Available: http://www. “Python language reference.org/pox/about-pox. Finnegan. hal-00825087.version 5. Heller.” Open Networking Foundation. Ailton Akira Shinoda. Ken Gray. and N. Proceedings of the 2014 26th International Teletraffic Congress (ITC).N. Sezer. version 2.org. [9] Bruno Astuto A. Ligia Rodrigues Prete. S. Fei Yeh. pp. August 2013. Rao. Christiane Marie Schweitzer. 36–43. Tech. Workshop on Management of Emerging Networks and Services©2012 IEEE. 210 . Accessed: Sept. [7] O. 2010.. An Instant Virtual Network on your Laptop. 7. [5] Cristian Cleder Machado. ©2014 IEEE. “Software-Defined Networking: The New Norm for Networks. [10] Joe Mambretti. “A network in a laptop: rapidprototyping for software-defined networks. Accessed: Sept. Malaysia. “Software-Defined Network Exchanges (SDXs): Architecture. Marc Mendonca. and Future of Programmable Networks”. 2014 IEEE 28th International Conference on Advanced Information Networking and Applications. Kong Chee Meng. openflowswitch. Lisandro Zambenedetti Granville. S. M. Viljoen. 1005 Gravenstein Highway North. Chouhan. Finland. Lake. “A Survey of Software- Defined Networking: Past. Sebastopol.Present. CA 95472.HotSDN’12. [4] Kannan Govindarajan. “Pox openflow controller. “Programming your network at run-time for big dataapplications”. Capabilities. W. ACM. “Towards SLA Policy Refinement for QoSManagement in Software-Defined Networking”. Accessed: Sept. [15] Python Software Foundation. “Using Mininet for Emulation and Prototyping Software-Defined Networks”. [Online]. Services. [2] Guohui Wang.. Low Swee Leong. 2014[Online]Available: http://mininet. no. [11] Mininet. Eugene Ng. 2014. 2013. Anees Shaikh. [Online]. “Realizing the Quality of Service (QoS) inSoftware-Defined Networking (SDN) Based Cloud Infrastructure. Kualalumpur. Helsinki. Xuan-Nam Nguyen. Miller. [14] POX. and Thierry Turletti. Jim Chen.7. Scott-Hayward.python.Sridhar Sivanand. ©2014 ITC. 2012.” 2014. Katia Obraczka. Rep.2014. Wong Ming Tat. vol.19 Jan 2014. “SDN: Software Defined Networks”.©2014IEEE. 2014 second international conference on information and communication technology(ICoICT). [13] The Openflow Switch.” CommunicationsMagazine. August 13. Brazil. Paper. [3] Rogério Leão Santos de Oliveira. [6] S. Nunes. Hong Ong .org. B. Inc. T. Lantz.org.” 2014. and Foundation Technologies”. [8] Thomas D. B. “Are we ready for sdn? Implementationchallenges for software-defined networks.noxrepo. J. Alberto Schaeffer-Filho. Fraser. [12] B.