OpenFlow-based Network Management with ...

48 downloads 1263 Views 508KB Size Report
Visualization of Managed Elements. Anatoliy ... logical devices as managed resources in a SDN. ... have utilized a netconf server in the OpenFlow switch and a.
OpenFlow-based Network Management with Visualization of Managed Elements Anatoliy Malishevskiy, Deniz Gurkan, Levent Dane, RajaRevanth Narisetty College of Technology, University of Houston, Houston, Texas, USA [email protected] Abstract—The new software defined networking (SDN) paradigm advocates separating the data plane and the control plane, making network switches simple packet forwarding devices and leaving a logically-centralized software to control the behavior of the network. SDN introduces new possibilities for a centralized network management and configuration. The main benefit is having the programmability of the forwarding tables according to the needs of the applications. Therefore, efficient and effective management of network resources becomes even more crucial in providing effective control plane functionality to the applications. OpenFlow standardization efforts at the Open Networking Foundation resulted in an OpenFlow Configuration (OFConfig) specification to address the management of resources in networks with OpenFlowenabled switches. We report the implementation of an intuitively easy to use interface for the OpenFlow-capable logical devices as managed resources in a SDN. Keywords–LINC, OpenvSwitch, OFCONFIG, NETCONF, OpenFlow, RPC, XML, YANG.

I.

OVSDB,

INTRODUCTION

In an OpenFlow (OF)-enabled environment, separation of the management plane from a virtual switch enables better tools for network management from a resource utilization perspective. In this paper, we introduce new mechanisms to visualize and manage various OpenFlow parameters [6] [7] of programmable switches (SDN-capable switches). We also present the design, implementation, and evaluation of a new network manager (NETMAN) for securely and efficiently managing network resources. We used Open Networking Foundations OpenFlow Configuration Specification (OFConfig) [1] to create this interface. Since the OFConfig dictates the usage of netconf as the transport protocol, we have utilized a netconf server in the OpenFlow switch and a netconf client in our visualization software. II.

IMPLEMENTATION

NETMAN is a tool that allows a user to gain and manipulate the complete set of parameters of OpenFlow switches. The core of NETMAN is HTML/JavaScript code that runs in the client side through a web browser. It connects to the switches and displays OpenFlow parameters. We used a software switch implementation of OpenFlow, namely, LINC (Link is Not Closed – flowforwarding.org) [9]. The implementation of NETMAN consists of three main

Sandhya Narayan and Stuart Bailey Infoblox Inc. Santa Clara, California, USA [email protected] tasks: a) Manipulations of LINC’s OpenFlow parameters using the NETCONF protocol [3] for transport, b) formatting and parsing of XML OpenFlow parameters by JavaScript and shell script calling yangcli commands, and c) display of parameters done by HTML/JavaScript/XML code.

Figure 1. Time diagram.

Time diagram shows the components of our NETMAN system. Browser is our user interface. Webserver hosts a netconf client from YUMA, yangcli. Also, we created a XML parser built into the webserver. And the OpenFlow switch, LINC, with its built-in OFConfig interface and netconf server. The interaction is summarized here: User requests the web page from the WebServer providing corresponding URL, WebServer sends HTML page to the browser with default OpenFlow parameters, User may navigate through possible OpenFlow parameters of a software switch, Client connects to the LINC switch’s netconf server IP address, username, password, UI passes all 3 parameters to the bash script that uses them to start yangcli and establish a new session with netconf server, Then bash script sends RPC request to netconf server on the LINC to get XML config file, Webserver gets config file from the netconf server, Then, XML is parsed and sent to the UI.

Data Diagram, on figure 2, schematically describes and navigates data flow of NETMAN. It demonstrates all the relationships between WEB Server and OpenFlow switch. Advantages are that all the manipulations with OpenFlow enabled switch can be done remotely, intuitively

easy, and with low risk of misconfiguration. In order to use NETMAN remotely, user simply needs to know the IP address of NETCONF server that should be investigated in the OpenFlow enabled switch and then solely click one button and provide IP.

extension, we plan to include SNMP to the management plane considerations. TABLE I. OFCONFIG YANG ANALOGY TO OVSDB COMMANDS OVSDB Command

OFConfig Analogy

Comments

OpenFlow Controller Connectivity

ovs-vsctl setcontroller ovs-vsctl delcontroller ovs-vsctl getcontroller

Grouping openflowcontrollergrouping

OVSDB commands set, delete, print the configured controller target. OFCONFIG grouping specifies all properties of an OpenFlow Logical Switch Controller

Grouping openflowport-resourcegrouping

OVSDB commands create, delete, and list all of the ports within bridge. OFCONFIG grouping specifies all properties of a port resource

Grouping openflowport-basetunnelgrouping

Add a tunnel to remote IP address 1.2.3.4 to the Bridge0. A grouping with information included in every supported tunnel type

typedef datapath-idtype

Creates datapath dp, with a local port also named dp. The second command deletes datapath dp. If dp is associated with any network devices, they are automatically removed. The datapath-id type represents an OpenFlow datapath identifier

Port Commands

ovs-vsctl add-port ovs-vsctl del-port ovs-vsctl list-port Tunnel Commands

Figure 2. Data Exchange Diagram

III.

GENI EXPERIMENT

We deployed a 4-node scenario on GENI using one node as NETMAN which hosts the user interface that displays two different nodes as LINC switches, figure 3. In addition, we deployed a NETCONF server on LINC as the OpenFlow configuration manager using YUMA. Also, the NETMAN runs netconf SSH Client to establish sessions with netconf server on LINCs and retrieve XML configuration schemas.

ovs-vsctl add -port Bridge0 gre0(or VLAN, or NVGRE) --set Interface gre0 type=gre options:remote_ip =1.2.3.4 DataPath

ovs-dpctl add-dp dp ovs-dpctl del-dp dp

ACKNOWLEDGMENT We thank Andy Bierman of YUMAPro for his assistance in helping us with NETCONF server implementation in this demonstration and paper. REFERENCES Figure 3. GENI Topology

In order to establish SSH connection to netconf server on the LINC and pull OpenFlow parameters we used bash script that is executed all the time when user clicks “Establish Connection” button. Bash script connects to netconf server in the LINC using password, login, and IP address of LINC switch that user provides. When connection is established script has commands to pull XML configuration schema. The XML schema is stored into an xml file and parsed, and the resulting parameters are displayed by the UI. IV.

CONCLUSION AND FUTURE WORK

Almost all the possible functions of OVSDB [2] can be implemented in the OFConfig, such as set, delete, print the configured controller target or targets; create, delete, list a port(s); add a tunnel, set the QoS, create datapath, etc. This work presents a partial analysis and mapping of OpenFlow parameters from OFConfig to OVSDB [7] [8]. As a future

[1] [2]

[3] [4] [5] [6] [7]

[8] [9]

OFConfig 1.1 [Online] https://www.opennetworking.org/standards/ofconfig, retrieved Jan. 14, 2013. B. Pfaff and B. Davie, The Open vSwitch Database Management Protocol, draft-pfaff-ovsdb-proto-01, Feb. 20, 2013 (exp. Aug. 24, 2014) NETCONF: Enns, et al., RFC 6241. IETF. [Online] Jun. 2011. http://tools.ietf.org/rfc/rfc6241.txt YANG: Bjorklund et al., RFC 6020. IETF. [Online] Oct. 2010. http://tools.ietf.org/html/rfc6020 http://doc.yumaworks.com/manuals/v2/html/dev/yuma-devmanual.xhtml OpenFlow 1.2: https://www.opennetworking.org/standards/openflowswitch R. Narisetty, L. Dane, A. Malishevskiy, D. Gurkan, OpenFlow Configuration (OFConfig) Protocol: Implementation for the OF Management Plane, Apr. 2013 OVSDB Management Protocol, Internet Draft, IETF [Online] March 2013, http://tools.ietf.org/html/draft-pfaff-ovsdb-proto-02 Open Flow software Switch LINC https://github.com/FlowForwarding/LINC-Switch