1 PG Student, Wireless Communication System and Networks Department, .... Circuit Network Convergence with Open Flow,â
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
International Journal of Research in Information Technology (IJRIT) www.ijrit.com
ISSN 2001-5569
Modeling of an Open Flow Architecture Bhavikkumar V. Fudnawala1, Tejas S. Patel2 1
PG Student, Wireless Communication System and Networks Department, Gujarat Technological University, Dr S. & S. S. Ghandhy Government Engg. College, Surat, Gujarat, India
[email protected] 2 Asst. Prof ,Wireless Communication System and Networks Department, Gujarat Technological University, Dr S. & S. S. Ghandhy Government Engg. College, Surat, Gujarat, India
[email protected] _____________________________________________________________________________________________________
Abstract The Open Flow concept of flow-based forwarding and separation of the control plane from the data plane provides a new flexibility in network innovation. While initially used solely in the research domain, Open Flow is now finding its way into commercial applications. The Open Flow architecture is a proposal from the Clean Slate initiative to define a new Internet architecture where the network devices are simple, and the control and management plane is performed by a centralized controller. The simplicity and centralization architecture makes it reliable and inexpensive, but the centralization causes problems concerning controller scalability.
Keywords: Openflow Switch, Mininet, Wireshark
1. Introduction Open Flow was first proposed in as a way to enable researchers to conduct experiments in production networks. However, its advantages may lead to its use beyond research, e.g. in the context of network virtualization. At its core, Open Flow offers a higher flexibility in the routing of network flows and the freedom to change the behavior of a part of the network without influencing other traffic. It achieves this by separating the control plane in network switches from the data plane, and allowing for a separate controller entity that may change the forwarding rules in modern switches. This enables the implementation of, e.g., virtual networks, user mobility, or new network and transport layer protocols. [1] The Open Flow architecture provides several benefits: (A) Open Flow centralized controllers can manage all flow decisions reducing the switch complexity; (B) a central controller can see all networks and flows, giving global and optimal management of network provisioning; and (C) Open Flow switches are relatively simple and reliable, since forward decisions are defined by a controller, rather than by a switch firmware. However, Open Flow couples two characteristics: a central controller and simple devices that result in scalability problems. [1] Generally, only software changes should be necessary to enable Open Flow on state-of-the-art Ethernet switches. It is also not necessary for hardware vendors to open up their systems to support Open Flow, since only a quite well defined interface has to be provided to the control plane. Consequently, an Open Flow extension can be introduced as firmware for existing hardware, significantly lowering the entry barriers for new technologies. Therefore, it is believed that Open Flow may circumvent the technological inflexibility, also known as the ’Internet ossification’. New technologies or protocols that are tested using Open Flow-enabled hardware in large scale networks can have a significantly reduced development time as performance data can be gathered under realistic circumstances instead of an isolated test environment. [2] Bhavikkumar V, IJRIT
154
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
As the number of Open Flow switches increases, relying on a single controller for the entire network might not be feasible for several reasons: (A) the amount of control messages destined to the centralized controller grows with the number of switches; (B) with the increase of network diameter, some switches will have longer setup delay, independently where the controller is placed; and (C) since the system is bounded by the controller processor power, setup times can grow significantly when the number of switches and the size of the network grow. [2]
2. Related Work Open Flow was designed as a new network paradigm, which enables researchers to test new ideas under realistic conditions on an existing network infrastructure. To be able to take action in the switching, Open Flow separates the control plane from the data plane and connects them by an open interface, the Open Flow protocol. The control plane is implemented in software in form of a controller on an external PC. For the communication between the switch and the controller, a secure channel is used. This allows researchers to be flexible with their work, while at the same time using high-performance hardware. [1] The Open Flow switch itself holds a flow table which stores flow entries consisting of three components. First, a set of 12 fields with information found in a packet header that is used to match incoming packets. Second, a list of actions that dictates how to handle matched packets. Third, a collection of statistics for the particular flow, like number of bytes, number of packets, and the time passed since the last match. [1] When a packet arrives at the Open Flow switch, its header information is extracted and then matched against the header portion of the flow table entries. If checking against entries in each of the switches’ tables does not result in a match, the packet is forwarded to the controller, which determines how the packet should be handled. In the case of a match, the switch applies the appropriate actions to the packet and updates statistics for the flow table entry. This process is visualized in Figure 1. [2]
Fig. 1 Handling of Incoming Packets in an Openflow Switch
3. Openflow Architecture The Open Flow architecture has several components: the Open Flow controller, the Open Flow device (switch), and the Open Flow protocol. Figure 2 shows the components of Open Flow architecture. The Open Flow approach considers a centralized controller that configures all devices. Devices should be kept simple in order to reach better forward performance and the network control is done by the controller. [3] The Open Flow Controller is the centralized controller of an Open Flow network. It sets up all Open Flow devices, maintains topology information, and monitors the overall status of entire network. The Open Flow Device is any Open Flow capable device in a network such as a switch, router or access point. Each device maintains a Flow Table that indicates the processing applied to any packet of a certain flow. The Open Flow Protocol works as an interface among the controller and the switches setting up the Flow Table. The protocol should use a secure channel based on Transport Layer Security (TLS). [3] Bhavikkumar V, IJRIT
155
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
The controller updates the Flow Table by adding and removing Flow Entries using the Open Flow Protocol. The Flow Table is a database that contains Flow Entries associated with actions to command the switch to apply some actions on a certain flow.
Fig. 2 Openflow Architecture Each Open Flow device has a Flow Table with flow entries as shown in Figure 3. A Flow Entry has three parts: Rule, Action and Statistics. The Rule field is used to define the match condition to a specific flow; Action field defines the action to be applied to this flow, and Stat field is used to count the rule occurrence for management purposes. When a packet arrives to the Open Flow Switch, it is matched against Flow Entries in the Flow Table. The Action will be triggered if the flow Rule is matched and then, the Stat field is updated. If the packet does not match any entry in the Flow Table, it will be sent to the Controller over a secure channel to ask for an action. Packets are matched against all flow entries based on some prioritization scheme. An entry with an exact match has the highest priority. Optionally, the Flow Table could have a priority field associated with each entry. [3]
Fig.3 Openflow Entry It is important to note that when the Open Flow switch receives a packet to a nonexistent destination in the Flow Table, it requires an interaction with the controller to define the treatment of this new Bhavikkumar V, IJRIT
156
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
flow. At least, the switch will need to send a message to the controller with regards to the new packet received. If the path is already predefined, this procedure is not necessary, reducing the amount of messages exchanged through the network and reducing the processing at the controller.
4. Simulation For this work we use Mininet Simulator and Wireshark. Mininet provides an easy way to get correct system behavior and experiment with topologies. To develop code and test on Mininet, for an OpenFlow controller, modified switch, or host, can move to a real system with no changes, for real-world testing, performance evaluation, and deployment. Instead of setting up the network physically, we are going to use a Mininet simulator which will setup a virtual topology for us, complete with links, virtual hosts, and virtual Openflow switches. [13] Some Mininet Topologies are shown here:
Fig.4 Mininet Topology, Single Switch
Fig.5 Mininet Topology, Multiple Switches
Bhavikkumar V, IJRIT
157
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
Fig.6 Mininet Topology, Multiple Switches and Hosts Wireshark is a network packet analyzer. A network packet analyzer will try to capture network packets and tries to display that packet data as detailed as possible. Wireshark provides a wide range of network statistics which can be accessed via the Statistics menu. These statistics range from general information about the loaded capture file to statistics about specific protocols. [10] With the help of Mininet for Modeling of Architecture for different topologies and Wireshark for generating simulations related to different topologies used are shown below: These results are taken in noise free environment & Bandwidth=10 with Delay=10 (millisecond)
Fig.7 Simulation Resultant Data
Bhavikkumar V, IJRIT
158
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
Fig.8 Topology Comparison
5. Conclusion The presented model helps to see the importance of the controller performance for installing new flows. When using Open Flow in high speed networks with 10 GBPS links, today’s controller implementations are not able to handle the huge number of new flows. Possible directions for future research might consider the performance of an Open Flow system, where more than one switch is connected to the Open Flow controller.
Acknowledgement Whenever you commit one task there is always one motivation one encouragement behind you and this motivation is the key feature of your achievement. Sometimes it becomes hard to decide that who is behind the achievement or the success of your deed. I would like to offer my gratitude towards faculty members of Electronics & Communication (Wireless Communication System and Networks) department, who helped me by giving valuable suggestions and encouragement which not only helped me in preparing this presentation but also in having a better insight in this field. Lastly, I express deep sense of gratitude towards my colleagues and also those who directly or indirectly helped me while preparing this presentation.
References [1] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, (2008) “Open Flow: Enabling Innovation in Campus Networks,” ACM SIGCOMM Computer Communication Review , vol. 38, no. 2, p. 69. [2] B. Heller, S. Seetharaman, P. Mahadevan, Y. Yiakoumis, P. Sharma, S. Banerjee, and N. McKeown, (April 2010) “Elastic Tree: Saving Energy in Data Center Networks,” in 7th USENIX Symposium on Networked System Design and Implementation (NSDI) , San Jose, CA, USA, pp. 249–264. [3] M. Casado, D. Erickson, I. A. Ganichev, R. Griffith, B. Heller, N. McKeown, D. Moon, T. Koponen, S. Shenker, and K. Zarifis, (June 2010) “Ripcord: A Modular Platform for Data Center Networking,” EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2010-93. [4] S. Das, G. Parulkar, P. Singh, D. Getachew, L. Ong, and N. McKeown, (March 2010) “Packet and Circuit Network Convergence with Open Flow,” in Optical Fiber Conference (OFC/NFOEC’10) , San Diego, CA, USA. [5] R. Braga, E. S. Mota, and A. Passito, (October 2010) “Lightweight DDoS Flooding Attack Detection Using NOX/Open Flow,” in 35th Annual IEEE Conference on Local Computer Networks, Denver, CO, USA, pp. 416–423. [6] V. Tanyingyong, M. Hidell, and P. Sj¨odin, (2010) “Improving PC Based Open Flow Switching Performance,” in Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, New York, NY, USA, pp. 13:1–13:2. Bhavikkumar V, IJRIT
159
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 3, March 2014, Pg: 154-160
[7] Y. Luo, P. Cascon, E. Murray, and J. Ortega, (2009) “Accelerating Open Flow Switching With Network Processors,” in Proceedings of the 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, New York, NY, USA, pp. 70–71. [8] A. Bianco, R. Birke, L. Giraudo, and M. Palacin, (May 2010) “Open Flow Switching: Data Plane Performance,” in IEEEICC, Cape Town, South Africa. [9] F. Wamser, R. Pries, D. Staehle, K. Heck, and P. TranGia, (May 2010) “Traffic Characterization of a Residential Wireless Internet Access,” Special Issue of the Telecommunication Systems (TS) Journal, vol.48:1-2. [10] Ansari, S.Rajeev, S.G. Chandrashekar, H.S. , Packet sniffing: a brief introduction,2008 [11] Xiaochen Xu (Dept. of Computer Sci., Xiamen Univ., Xiamen, China), High-Speed Packet Capture Mechanism Based on Zero-Copy in Linux,2010 [12] R. Sherwood and K.-K. Yap, “Cbench Controller Bench marker,” http://www.openflowswitch.org/wk/index.php/Oflops,2010. [13] http://www.mininet.org/download [14] http://www.github.com/mininet/mininet/blob/master/INSTALL
Bhavikkumar V, IJRIT
160