LCMSC: A lightweight collaborative mechanism for SDN controllers

LCMSC: A lightweight collaborative mechanism for SDN controllers

Accepted Manuscript LCMSC: A Lightweight Collaborative Mechanism for SDN Controllers Ming CHEN , Ke DING , Jie HAO , Chao HU , Gaogang XIE , Changyou...

2MB Sizes 0 Downloads 92 Views

Accepted Manuscript

LCMSC: A Lightweight Collaborative Mechanism for SDN Controllers Ming CHEN , Ke DING , Jie HAO , Chao HU , Gaogang XIE , Changyou XING , Bing CHEN PII: DOI: Reference:

S1389-1286(17)30165-2 10.1016/j.comnet.2017.04.029 COMPNW 6168

To appear in:

Computer Networks

Received date: Revised date: Accepted date:

27 July 2016 19 December 2016 7 April 2017

Please cite this article as: Ming CHEN , Ke DING , Jie HAO , Chao HU , Gaogang XIE , Changyou XING , Bing CHEN , LCMSC: A Lightweight Collaborative Mechanism for SDN Controllers, Computer Networks (2017), doi: 10.1016/j.comnet.2017.04.029

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

ACCEPTED MANUSCRIPT

LCMSC: A Lightweight Collaborative Mechanism for SDN Controllers

Ming CHEN1, Ke DING1, Jie HAO3, Chao HU1, Gaogang XIE2, Changyou XING1, Bing CHEN3 (1 PLA University of Science & Technology, Nanjing, 210007, China 2 Institute of Computing Technology, CAS, Beijing, 100190, China

CR IP T

3 Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China)

Abstract: SDN-based applications can be deployed on large-scale networks only with east/westbound interfaces. However, there is still a long way to standardize SDN east/westbound due to the high complexity and comprehensive optimization goals. To make it possible to deploy SDN in the Internet to support both traditional and emerging network applications, we propose a

AN US

lightweight collaborative controller mechanism which has advantageous characteristics such as application independent, controller independent, minimum functions, reliability and etc. We, also design its software program named LCMSCware running on each controller and its application layer protocol enabling corporation among the controllers. The prototype system is implemented and the experimental results demonstrate that LCMSC enables efficient cooperation among

existing and emerging services.

M

heterogeneous controllers in multiple SDN domains connected by Internet and support both

ED

Keywords: SDN, controller, east/westbound interfaces, cooperation mechanism, lightweight protocol

PT

1. Introduction

CE

To deal with the ossification of TCP/IP architecture, Software-Defined Networking (SDN) is

born. The area dominated by a SDN controller is called SDN administrative domain (the domain

AC

for short), each is limited by the capacity of the single controller and thus only includes tens of switches [1]. In this way, a large enterprise or carrier network can be divided into a number of non-overlapping SDN domains. However, the centralized mechanisms of SDN cannot be directly used to manage the different domains in the Internet. What‟s worse, the network applications generally involve two or more domains. If the controllers in these domains cannot collaborate efficiently, the domains are just some isolated information islands that definitely stunts the high efficiency of SDN. It is obvious that the cooperative mechanisms of controllers are indispensable for various SDN applications across the Internet. In order to cope with the increasing demands for the controller collaboration mechanism,

1

ACCEPTED MANUSCRIPT

scientists from academia and industry have been devoting to design distributed mechanisms for controller management in large scale networks [3, 4]. For example, Google‟s B4 [2] collaborates tens of controllers in its datacenters around the world, which greatly improves the utilization of high speed links in the wide area networks. East/westbound interfaces are a special case of interfaces required by distributed controllers. The functions of these interfaces include import/export data between controllers and monitoring/notification capabilities [24]. Specifically, the east/westbound interfaces are APIs used for interaction among the distributed controllers. The

CR IP T

functions of these interfaces include data transmission, supervision, notification and etc.

For distributed controllers, east-westbound APIs are basic components. East/westbound is very valuable for the following reasons: 1) Scalability. A reasonably large network may need to deploy multiple SDN controllers for the network expansion. 2) Reliability. The use of multiple controllers avoids the risk of network paralysis caused by a single controller failure. 3) Privacy

AN US

flexibility. A carrier may choose to implement different privacy policies in different SDN domains. 4) Incremental deployment. Dividing the network into multiple individually manageable SDN domains allows for flexible incremental deployment. However, the design of the east/westbound is an extremely complex engineering issue, involving SDN development direction, several kinds of advanced technologies, dedicated protocol design, heterogeneity and etc [5]. The community has

M

not yet reached an agreement on its standard, thus there are a variety of controller set and their own specific APIs. At present there exist several problems about existing east/westbound research:

ED

1) Various dedicated controller coordination mechanisms have been developed, which will lead to great waste of manpower and material resources. 2) There is too much attention on long-term requirements while ignoring the current urgent needs of the applications. 3) Inheriting the Internet

PT

resources has not been paid enough attention. 4) The advantages of SDN have not been fully exploited. All these inspire us to think about such a question: can we develop a general,

CE

lightweight SDN controller coordination mechanism, build a running system which can be used to connect private SDNs conveniently through the Internet and then make it evolve depending on the

AC

requirements?

In order to answer this question, this paper proposes a lightweight SDN controller

coordination mechanism, which can be rapidly deployed on the Internet to satisfy the requirements of both inheriting the Internet software and hardware resources and accommodating the emerging applications. The contributions of this paper include: i) A lightweight collaborative mechanism for SDN controllers (LCMSC) and its model are proposed; ii) The software program of LCMSC named LCMSCware running on the controllers and the LCMSC protocol for controller communication are designed;

2

ACCEPTED MANUSCRIPT

iii) The LCMSC prototype is implemented, and the effectiveness of the mechanism is verified. The organization of this paper is as follows. Section 2 overviews the related works. Section 3 describes the principles of LCMSC and presents a model. Section 4 discusses the key technologies of LCMSCware implementation in detail. The performance of LCMSC is analyzed in Section 5. Section 6 implements and tests a prototype system. Finally, Section 7 concludes the paper.

CR IP T

2. Related Work

To construct multiple SDN domains, east/westbound APIs are the interfaces between controllers, which are usually regarded as extended functions of the network operating system. There are specific communication protocols among controllers in SDN domains [6] whose basic

AN US

functions include the coordination of flow setup, information exchange of the reachability of different SDN domains, maintenance of the network states consistency and etc. As an example, SDNi [3] defined the common requirements of the intra-domain flows to coordinate flow setup and exchange reachability information.

Programming the network management application through a uniform centralized API to hide

M

the details of different kinds of devices is the goal of distributed operating system. This relates to the issues such as the distributed architecture of the controllers, which are significantly complex.

ED

The distributed architecture can be hierarchically arranged, e.g. Onix [7], which supports multi-controller around the wide-area network and provides flexible primitives to distribute network status. Onix is rather complex which has multiple management levels and quite a few

PT

components to support sorts of synchronization and other goals. It‟s not easy to deploy Onix to the already-existing SDNs located at the edge of the Internet which owned by different properties.

CE

HyperFlow [23] is an Openflow oriented, event-based platform where the controller uses the “push” method to distribute the local state changes as network events to the other controllers.

AC

Although event sensitive, this mechanism performs inferior in the highly dynamic network environment. HyperFlow is heavily depending on WheelFS - a distributed file system which should be properly configured via a set of performance parameters. This is not convenient for deploy and use. Kandoo [22] used a layered-distribution, which deploys a higher-layer controller beyond multiple distributed lower-layer controllers. This hybrid mechanism takes advantage of both centralized and distributed systems: only the requests for the centralized view will be sent to the higher-layer controller. Kandoo use 2-layered structure and is a standalone controller implementation, which is not fitful for existing SDNs which have their own controllers. In addition, a lot of advanced complex techniques are related, e.g. the input/output function of Onix

3

ACCEPTED MANUSCRIPT

[7], CE-CE interfaces of ForCES [8, 9], highly available cold backup mechanism of ForCES Intra-NE [10] and distributed storage [11]. The east/westbound APIs require advanced data distribution technologies, such as Advanced Message Queuing Protocol (AMQP) [12], distributed dispatching and consistent policy composition [13], DHT [14], strong consistency or fault-tolerant algorithms [11, 15], etc. Although much progress has been made, some problems still need to be addressed: 1) There is a huge obstacle to design a global network operating system. It‟s a long way for OS level distributed communication or subscribing/dispatching

CR IP T

function implementation. 2) The coordination mechanisms of normal applications are often not globally issues but only involve a few controllers. For example, the C/S mode applications only need 2 controllers to collaborate. 3) The Internet is a game among ISPs, ICPs, governments and users [21]. We should achieve the good tradeoff between the current requirements and long-term requirements when developing east/westbound interfaces.

AN US

Heterogeneity is another issue that east/westbound interfaces should address. Besides peer-to-peer communications in the same layer, one controller also needs to communicate with the controllers in the lower-layer or the non-SDN controllers [16, 17]. East/westbound interfaces may need to traverse the borders of multiple management domains and support all sorts of controller interfaces. These controller interfaces have their specific service set and the characteristics of the

M

low level infrastructure including the technology diversity, network span or network scale and differences between WAN and LAN. In the heterogeneous cases, the controllers must exchange

ED

different kind of information, including adjacency relation, capability discovery, account information, etc [16]. SDN compass [18] discriminates eastbound interfaces and westbound interfaces, and the eastbound interfaces define the SDN-to-SDN protocols while the westbound

PT

interfaces define the protocols of the traditional network control plane (e.g. PCEP [19], GMPLS [20]). If we limit the function of east/westbound interfaces to the information interactions of

CE

network applications neglecting the semantics and the states of the applications processing and assume the controllers communicate with each other only through IP network, it would be much

AC

easier for communication expansion in the heterogeneous controller environment. Fibbing [27] introduces fake nodes and links into an underlying linkstate routing protocol,

then routers compute their own forwarding tables based on the augmented topology. SDN Partitioning [28] uses SDN switches as border nodes to partition the original distributed routing domain into sub-domains and then either SDN control messages or legacy routing messages can flow between domains. InitSDN [29] bootstrapping the distributed SDN architecture and deploying the distributed controllers from legacy network to the new architecture. However, all these efforts are not aiming to address the issue of collaboration problem between existing SDN domains which owned and being fully controlled by different organizations.

4

ACCEPTED MANUSCRIPT

In summary, existing research focus on developing a comprehensive collaborating controller system from bottom to up or based on some corporation‟s own WAN infrastructure to develop new mechanisms to cope their own specific requirements. Quite a few of them are much successful. However, best to our knowledge, none of the existing work was aiming to build a lightweight mechanism to connect existing SDNs‟ heterogeneous controllers. On the developing of SDN technology, many corporations or research organizations have built up their own SDNs at the edge of the Internet. LCMSC is lightweight, easy to use and ready to be deployed to existing controllers.

CR IP T

With this lightweight running system, we can connect all kinds of private SDNs via the Internet to inherit the legacy, and what makes it more important is we can always get an improved running system when we find something is important enough to add to the core of the LCMSC. This causes incremental and rolling development.

AN US

3. Principles of LCMSC 3.1 Prerequisite

SDN domains normally locate at the edge of the Internet, which are connected by the core

M

network that is composed of the IP routers. In each domain, the end systems running applications connect to OpenFlow switches, and thus the enterprise network is formed in which the controller

ED

dominates packet transmission by installing flow entries in the switches. Fig. 1 shows a simple scenario. Suppose an application of Server 1 in domain 1 wants to communicate with that of Server2 in domain 2, the packets would pass through the end-to-end path, which usually consists

PT

of three sub-paths. Sub-path 1 is from Server 1 to the port of the egress switch connecting to R1, which is established by the controller C1. Sub-path 2 is from router R1 to router R2, which is

CE

determined by the IP routing algorithms. Sub-path3 is from the port of the ingress switch

AC

connecting to R2 to Server2, which is established by the controller C2.

Controller C1 Servers1

R1

Path1 Domain 1

Controller C2

East/westbound

Egress switch

IP network Path2

Servers2 IP router

R2

Ingress Domain 2 switch

The core network Domain 4

Domain 3 End system

Path3

The edge network

Fig 1. An Abstract Working Environment for LCMSC The design of east/westbound interface should solve the following properties: P1: The inter-domain path from the source host (the ingress switch) to the egress switch (the 5

ACCEPTED MANUSCRIPT

destination host) is built by installing flow entries to related switches by local controller such as C1 or C2. Whether the path can be built depends on not only their routing but also the policies of the security, QoS, resource management, etc. P2: The end-to-end connection requested by the application can be properly set up only if all the controllers have reached an agreement after negotiation. In Fig. 1, Path1 and Path3 are built by controller 1 and controller 2 respectively, while Path2 is established by the distributed algorithm of the IP network. Here, we suppose there always exists Path2 satisfying application requirement.

CR IP T

Since a controller is aware of all the resource information of its domain, it can properly set up the path within the local domain satisfying application requirement, such as Path1 or Path3. The key to address P2 is: controllers can negotiate each other based on the application requirement and their domain status. Only if they reach an agreement an end-to-end path can be established.

P3: To support each kind of applications, controllers should maintain their corresponding

AN US

state space and computational resources. Due to the complexity and diversity of the applications, what the state space should contain, how to keep consistency of the state space and etc. are all challenges to be addressed. On one hand, when the state space is global, the domain information updating will consume a large amount of network bandwidth, especially in large scale networks. On the other hand, various applications require different state spaces with slim sharing opportunity.

M

For these reasons, if we separate the collaborative mechanism and the state space that the coordination mechanism only involves the rules of interaction and the semantic processing of the

ED

applications is left to the applications themselves, it will greatly simplify the controller collaboration mechanisms and benefit the development of emerging network applications. P4: The controllers may be heterogeneous. If we extract the common part of the controller

PT

communication requirements as a functional minimum set, it will be much convenient to realize the interaction of the controllers.

CE

The design of LCMSC primarily aims to provide interactions among controllers. The concise and efficient addressing mechanism in IP network can efficiently support the controller

AC

cooperation. This facilitates large scale deployment of LCMSC, establish rapidly distributed service capacity as well as inherits the hardware resources of the Internet infrastructure. Different from magnificent goal of network operation system (NOS) design, LCMSC expects

to develop a lightweight and generally appropriate cooperation mechanism to sustain various network applications, including both traditional Internet applications and emerging network applications. This means LCMSC should be application-independent, so that it can support both existing traditional and new-style network applications. Its simplicity makes it‟s easy to add new functions.

6

ACCEPTED MANUSCRIPT

3.2 Design Consideration If we design the controller cooperation mechanism as a canonical NOS, the high technical complexity blocks us to develop a usable system in the near future. Furthermore, current network applications only involve finite controllers and resources, and their requirements have major discrepancies. Due to the diversity and complexity of network applications, there are no perfect NOS for all applications. In fact, since network applications are aware of their own demands, we

CR IP T

only need to design a lightweight controller cooperation mechanism, which takes charge of the basic tasks and leaves the application-related work to the applications themselves. Specifically, this lightweight mechanism should possess the following properties: 

Application Independence. This mechanism should be independent of specific network

applications, so as it can sustain broad network innovation. This mechanism should provide basic

AN US

cooperation support among finite involving controllers for different application patterns and leave the application dependent tasks and states to the applications. That is „An application understands its relative SDN controllers' coordination and application level needs best‟. 

Function Minimization. This mechanism should provide fundamental functions, e.g.

establishing connections among coordinating entities. Concise function set is convenient for



M

accelerating application response and expanding network coverage.

Controller Independence. Different types of SDN or non-SDN controllers should

ED

conveniently integrate into the cooperation mechanism, and achieve cooperation via brief interfaces regardless of the specific functions of a certain controller. 

Reliable Communication. This mechanism should offer reliable communication

PT

connection for the controllers.

CE

3.3 LCMSC

In this subsection, we illustrate how LCMSC works.

AC

Within SDN management domains Dj (j=1, 2, …, n), the entities in Dj are connected with the

OpenFlow switches which are controlled by the controller Cj of the domain. The communication between Dj must pass through Dcore which is composed of routers and links. If Cj has an IP address IPCj in Dcore, Cj can join the collaboration controller set CoCtlerSet after authentication and then it can obtain the other controller‟s IP addresses. Assume entities in Dj are connected with Cj by default and we can use the entity name to locate Cj and the IP address of the controller. Before an application appi in Di interacts with an application appj in Dj, Dk, …

(i  j ,k ,...) , it will trigger LCMSC which contains the collaboration controller set

7

ACCEPTED MANUSCRIPT

CoCtlerSet and support the related interactive communication mode. There are 2 methods to trigger LCMSC, one is using the first packet of the application flow, and the other is actively collaboration of unicast, multicast or anycast please refer to the following discussion about „Controller collaboration modes‟). All the controllers in CoCtlerSet check security permission constrains Securityis and Securityid of the flow in their home domain s and d, arrange related resource constrains Resourceis and Resourceid, and then build up the path Pathi as, Pathi = {Securityis^Resourceis^Securityid^Resourceid}

CR IP T

(1)

In the flow duration of appi, the collaborated controllers can monitor and control the Pathi based on the 4-tuple of the flow.

According to this model, Fig 2 shows the collaborating process of C1 in D1 and C2 in D2. This process supports the C/S mode network application APPweb running on the end system Hs and Hd1

LCMSCWare deployed here D1:Hs

D1:DP1

D1:C1

first packet to controller

AN US

(such as Web service). The detailed procedure is as follows.

LCMSCWare deployed here

Dcore:R1

Dcore:R2

D2:C2

D2:DP2

D2:Hd1

collaboration msg

IP forwarding

M

...

first packet IP forwarding

data

...

ED

data IP forwarding

...

. . .

data

PT

data

setup rules

collaboration msg

collaboration msg

setup rules

collaboration msg

data

data IP forwarding

...

data

data

Fig 2. Collaboration between C1 in D1 and C2 in D2

AC

CE

. . .

(1) Launce: when a packet of app1 on end system Hs reaches DP1 without any matched rules,

the packet would be delivered to C1. (2) Invoke LCMSC: the collaboration program LCMSCware on C1 parsed the packet

information. To achieve this, the program should identify the collaboration controller subset {C1, C2} and the unicast mode. (3) Deliver collaboration information: according to collaborating control mode, set up a controller set by invoking the LCMSCware service, i.e.C1 uses reliable unicast mode (e.g. TCP) to deliver the related information (such as characteristics of the flow) to C2.

8

ACCEPTED MANUSCRIPT

(4) Perform control by collaborating the controllers: after C1 and C2 in CoCtlerSet analyze app1‟s security requirements Security1 and Security2 and resource requirements Resource1 and Resource2, if both controllers agree and notify each other, forwarding rules are placed in D1 or D2 and a path from Hs to Hd is built up. Then the client (browser) and the server (web server) are both operational. In the meantime, both C1 and C2 can manage this flow. The lightweight collaboration between the controllers is dependent on the network application mode. Presently, there are only two network application modes: C/S and P2P.

CR IP T

Therefore, collaboration only has limited patterns, e.g. C/S mode only involves two controllers in two related domains to collaborate, while P2P mode may involve i relative domains and i controllers need to be collaborated where i is the controller number.

In Fig 3 we use Directed Acyclic Graph (DAG) to describe collaboration methods among the controllers. Fig. 3(a) shows the unicast method used by C/S applications. This is the simplest and

AN US

most widely used method. Fig. 3(b) shows the multicast method used by P2P applications: a source controller should collaborate with all the controllers in the related domains. Fig. 3(c) shows the anycast method: a source controller only collaborates with anyone of the controllers in the related domains.

Cj

Ci …



Cg

Cg

(b) Multicast mode

(c) Anycast mode

PT

(a) Unicast mode

Cj

Ck

Ck

Ci

ED

Ci

M

Cj

CE

Fig 3. Controller collaboration modes

4. Implementation of LCMSC

AC

As described in section 3.3, LCMSC consists of two implementation modules, LCMSCware

and LCMSC protocol parser. As shown in Fig.4, LCMSCware runs on each controller and using LCMSC protocol to sets up logical communication channels for controller collaboration. In this section, we‟ll present the detailed implementation respectively.

9

ACCEPTED MANUSCRIPT

4.1 LCMSCware

Ci

Cj

Ck

LCMSC Protocol LCMSCware

IPi

Socket()

...

IPj

IP Infrastructure

Fig 4. LCMSC framework

LCMSCware

E space

IPk

C space

CR IP T

LCMSCware

LCMSCware is the core part of the controller collaboration mechanism that consists of 3 key function modules.

AN US

1 ) Collaboration initialization module: This module provides functions to identify collaboration mode. The collaboration mode includes coordinating the collaboration controller set and providing communication methods. The former includes at least two controllers‟ IP addresses of the core network, and the latter specifies the method of unicast, multicast or anycast. The collaboration mode can be expressed as: (coop-ID, {IPaddress set}), where coop-ID is the collaboration code representing unicast, multicast or anycast, IPaddress set is the set of all the

M

controller‟s IP addresses involved in the collaboration. Despite the huge number of networks, the number of coop-ID is small. The traditional applications of IP network correspond to C/S and P2P

ED

modes: C/S to (unicast, {IPC1, IPC2}) and P2P to (multicast, {IPC1, IPC2, IPCi, …}). The future emerging network applications should have similar collaboration modes. LCMSCware provides

PT

two interfaces to the applications. One is to identify the collaboration mode directly from the first packet of the flow of the application. This can be applied without any modification of current C/S

CE

or P2P applications. The other interface is to provide dedicated APIs whose parameters are specified by the controllers to satisfy some novel special needs. 2)Collaboration information delivery module: Taking advantage of the IP infrastructure,

AC

this module uses standard sockets to implement unicast, multicast and anycast functions and reliably deliver the necessary collaboration information to the other controllers in the collaboration controller set. The collaboration information includes flow attributes and the actions that should be applied to the flow. By default, it unicasts the collaboration information based on TCP, or multicast it via reliable UDP communication. 3)Local cooperative operation module: When all the controllers in the collaboration controller set have received the collaboration information, they immediately dispatch the flow entries and enforce corresponding actions. The collaboration information delivery module and the local cooperative operation module can be considered as two functions for the two phases 10

ACCEPTED MANUSCRIPT

respectively in the two-phase commit (2PC) protocol. Without loss of generality, we consider the communication between two hosts in different domains. The path between the two endpoint hosts should be setup by the controllers to which the hosts belong. We call the controller „initiator‟ if the communication was initiated by the host managed by the controller. We call the controller „responder‟ if the communication‟s destination was the host inside the controller‟s management area.

of the responder is similar. Algorithm 1. LCMSC for the initiator Input:

The first packet p in a flow or coop-ID, {IPaddress set}, management policies C

Output: H - handler of reliable connections to all controllers, NIL on failure 1.

H=NIL;

2.

if LCMSCAPI is invoked

// an application process invokes LCMSC API

extract coop-ID and{IPaddress set} from input parameters;

4.

if coop-ID and {IPaddress set} are in accord with C

AN US

3.

5.

make reliable connections to all other controllers;

6.

if all related controllers response

7.

append connections to H; //success

8.

end if end if

M

9. 10.

else

// p is from a traditional internet application

11.

extract port number and destination IP from p;

// obtaining port number

if port number belongs to well-known port &&destination IP in accord with C

ED

12. 13.

make reliable connections to the other controller;

14.

if the related controller response append connection to H; //success

PT

15. 16.

end if

19.

end if

CE

17. 18.

CR IP T

Algorithm 1 shows the pseudo algorithm of the initiator in LCMSCware, and the algorithm

end if

return H

AC

We implement LCMSCware modules in Python. Thanks to the cross platform characteristics

of Python, LCMSCware is easily planted to various kinds of platforms. In the POX, NOX and Ryu controllers, we extend related interfaces to support LCMSC by

adding less than 100 lines source code. We realize the collaboration among these 3 kinds of controllers by using LCMSC. The basic idea behind LCMSCware is simple: it accepts commands and data from the controller and then rearranges and properly dispatches related information to peer LCMSCware modules by TCP connections or reliable UDP channels. LCMSCware is convenient to use. The initiator can create reliable connection with the 11

ACCEPTED MANUSCRIPT

module by invoking CoOp_Create_Conn()and getting the connection descriptor h (in this step, the controller will register to a specific collaboration group). Then the controller can invoke function CoOp(h, msg)to send message msg. All registered controller will receive the message msg through an event. The response methods to asynchronous events are different among different kinds of controllers. There exists a little difference when receiving messages from LCMSCware among different controllers. Specifically, for NOX controller, CoOp_handler()is used to process the messages from LCMSCware:

CR IP T

register_handler(CoOp_event.static_get_name(), CoOp_handler).

For POX controller, to enable the response function handle_CoOp_event(), the collaboration initiator should add the following code in the proper location: _eventMixin_events = set([CoOp_event]) core.CoOp_event.addListeners(self)

AN US

For Ryu controller, to enable _coop_handler(), the following code should be added: @set_ev_cls(ofp_event.EventCoOp, MAIN_DISPATCHER) _coop_handler(self, ev):

M

4.2 LCMSC Protocol

LCMSC protocol is an application layer protocol for reliable transmission, which is used for

ED

information exchange between LCMSCware. First, when the initiator wants to coordinate with the other controllers, it establishes a TCP connection or reliable IP multicast group from the source

PT

controller to the destination controllers, and then the LCMSC message with cooperation information will be sent to the receivers. Second, once all members in the collaboration controller

CE

set respond to this packet, the initiator will notify all members to perform local cooperation. Subsequently, all members return the execution results to the initiator. Finally, the initiator examines whether this cooperation is successful or not, and recycles the resources if it is

AC

successful. Otherwise, it restarts a new cooperation request or abandons the preceding cooperation according to the situation. Fig 5 shows the fields of LCMSC protocol packet. 1 byte

Version

1 byte

Type

2 bytes

Identification

1 byte

Seqno

2 bytes

Body Length

42~1498 bytes

Data Body

Fig 5. The fields of LCMSC protocol packet The length, definition and description of each field are as follows.

12

ACCEPTED MANUSCRIPT

Version: 1-byte length, the version of protocol, and current version is 1. Type: 1-byte length, the type of packet, including request packet, responding packet and their sending direction. Identification: 2-byte length, used for distinguishing different cooperation process, and the identification value of request packet should be same as that of responding packet in the same cooperation process. Seqno: 2-byte length, the sequence number of the next packet in the same cooperation

CR IP T

process is increasing by 1. This field is only used in implementation of the reliable UDP delivery. Body Length: 2-byte length, the length of data body in cooperation messages.

Data Body: 42~1498 bytes length, the payload of LCMSC packet. This field can be defined by proprietary data structures in json coding according to Type, Identification and Seqno fields.

AN US

5. Discussions

In this section, we‟ll discuss several design considerations of LCMSC regarding cooperation delay tcoll, cooperation state number scoll, and cooperation fault probability fcoll. Cooperation delay tcoll measures how quickly the cooperation is accomplished, cooperation state number measures the

M

complexity of state measurement and cooperation fault probability

Assuming the controller processing delay is tproc, and the transmission delay between the two

ED

controllers is ttrans, then tcoll = 2tproc+ ttrans can be obtained. No matter how large the network is, the fluctuation of the value of tcoll is relative small for it would usually being related only to a few nodes, which does not have much negative influence on LCMSC mechanism having flat structure.

PT

Considering the impact of its security mechanism, we assume the authentication delay of the controller participating in the coordinated controller set is tasymmetry and the authentication delay

CE

when exchanging LCMSC messages is tsymmetry, tasymmetry≫tsymmetry. Because tasymmetry only exists in the cooperation initialization phase while tsymmetry affects the cooperation process frequently,

AC

LCMSC has acceptable delay property. For fcoll, the fault includes the fault of two local controllers and LCMSC fault. Assuming the

probabilities of these two types of fault are p1 and p2, respectively, then fcoll = 1-(1-p1)(1-p2 ). Kandoo [22] also proposed a multiple-controller mechanism that the communication between

the controllers in different domains must resort to higher-layer controllers. With the extending network scale, the controllers logically form a multiple-layer controller model. For tcoll, we assume the average processing delay in each layer is tproc, and the transmission delay between two layers is ttrans. For n+1 layers controller model, if a controller has all information for decision in the best case and the cooperation is unnecessary, tcoll is thus 0. In the worst case, two controllers in the

13

ACCEPTED MANUSCRIPT

lowest layer have to implement cooperation via the root controller, and then tcoll = 2n(tproc + ttrans). So the average value of tcoll = n(tproc + ttrans). Obviously, the increase of the network scale and the layer number will lead to the augment of cooperation delay, and have negative influence on network scalability. Contrasted with LCMSC, tcoll is a small constant. For scoll, the controller states are kept in each controller, and LCMSC only maintains the basic information of controller connections, so scoll is independent of the number of the controllers involved. Now, let‟s consider a single layer with m controllers, each has u states. The upper

CR IP T

controller of these m controllers must maintain (m!u!) states, so it is very difficult to synchronize such a large number of states.

For fcoll, once the ith layer controller has fault (assuming its fault probability is pi), all controllers below ith layer will be impacted. Suppose that faults are independent, the fault probability in nth layer is 1 − ∏𝑛−1 𝑖=0 (1 − 𝑝𝑖 ). Therefore, multiple-layer controller model has much

AN US

higher fault probability.

Based on the above analysis, we design the controller architecture to a plain one. This is reasonable since the collaboration processes each is related to only a very small number of all the controllers and is independent of one another.

M

6. Experiments and Analysis

ED

In order to validate the feasibility of LCMSC mechanism, a LCMSC prototype was implemented and tested in practical network environment.

PT

6.1 Experimental Scenario

CE

An experiment environment is constructed as shown in Fig 6, which is composed of 3 SDN subnets and an IP network, to test the LCMSC prototype. The IP routers are Huawei S3700, OpenFlow switches are Pica8, and APs are Cisco AIR-AP1151A. The end systems are DELL

AC

Vostro 270-D698-JN, and OS is CentOS v6.3. Three types of controllers are pox-carp, NOX and RYU respectively, on which LCMSCware is running, that reflects LCMSC mechanism has the controller-independence property.

14

ACCEPTED MANUSCRIPT

Hs IP: 192.168.1.1/24

D1

Hd1 IP:192.168.2.1/24

D2 C2

OFS-A1

C1

DCore

OFS-B1

Core network

OFS-B3

OFS-A3

R2

R1 OFS-A2

Key:

OFS-B2

AP2

C3

Controller

R3 OFS-C3

IP router OpenFlow switch

OFS-C1

Mobile

OFS-C2

D3

Hd2 P:192.168.3.1/24

CR IP T

End system

AP3

Fig 6. The experimental environment of LCMSC prototype

We evaluate the performance of LCMSC in terms of transparency for traditional applications

AN US

and compatibility to emerging applications.

6.2 The Transparency for Traditional Internet Applications This experiment evaluates that, in the duel space environment, LCMSC can support traditional applications transparently when the security requirements are satisfied and the

M

resources are sufficient.

A web server is operated on Hs in D1, and a browser is used on Hd1 in D2. The browser can

ED

access the web server normally without modifying any programs and network facilities. The measurement result demonstrates that LCMSC extracts the information from the first packet of HTTP flow, and automatically fills in the cooperation mode with (unicast, {IPC1, IPC2}) based on

PT

socket and well-known port number. After C1 cooperating with C2, the end-to-end path from Hs to Hd1 is established with LCMSC, so that HTTP flow could pass through the dual space network.

CE

For e-mail and the other applications, the experiments have similar results. UDP ping server and client programs are run on Hs and Hd1 respectively to measure the delay

generated by LCMSC. Fig 7 illustrates the RTT CDFs of the first packet of the UDP flows using

AC

LCMSC and using hard-coded method. First packet delay in Openflow networks can denote the controller‟s path-building overhead. We can see that there exists no distinct difference between these two methods, this means LCMSC would bring little delay while providing convenience.

15

ACCEPTED MANUSCRIPT

Fig 7. CDF comparison of the first packets‟ RTT with and without LCMSC

CR IP T

Once the first packet of the flows triggers the controller cooperation mechanism to establish an end-to-end path, the subsequent packets have much lower RTT. Fig 8 shows the CDF of the RTT values of the non-first packets. The length of the measured packets are set to 64, 128, …, 1360 bytes. We also tested the way by using LCMSC and the hard-coded method. As expected, we get little difference. (Hard-coded result not shown in fig) And we found there‟s only slight

M

AN US

differences in RTT when packet length is above 128 bytes.

Fig 8. CDF of the following packets‟ RTT

ED

We measure the throughput of the end-to-end system in the Gigabit wired linkage environment by using Iperf [25] which is a commonly used tool to measure TCP/UDP bandwidth.

PT

Fig 9 shows the throughput of TCP flow and UDP flow. UDP has better performance than TCP

AC

CE

and both can achieve high throughput more than 670Mbps.

Fig 9. The throughput of UDP/TCP Summary: (1) LCMSC can support traditional C/S application transparently in duel space networks, properly inheriting the applications and the infrastructure of the Internet. (2) LCMSC has only little influence on the first packet of a flow (delayed about 200ms) and the following packets (delayed about 1.5ms). (3) LCMSC can properly support C/S and P2P applications.

16

ACCEPTED MANUSCRIPT

6.3 Security and Performance Advantages of LCMSC SDN has intrinsic security that every controller can fully control the establishment of each flow. In this test, we verify that this important character is maintained. To evaluate the security and performance of LCMSC, we enforce different policies in controller C1 in domain D1 and controller C2 in domain D2, add 200Mbps background traffic and then deliver an UDP flow AppUDP from Hs in domain D1 to Hd1 in domain D2.

CR IP T

When LCMSC is used between C1 and C2 in CoCtlerSet, and the 4-tuple in (1) can be satisfied, the path PathUDP can be properly set up. Otherwise, PathUDP can‟t be built and no network resource is wasted or incur security risk.

When LCMSC is not used between C1 and C2, and C1 granted the security or resource of D1 but C2 denied the security or resource of D2 for the security or resource reasons, PathUDP only

AN US

includes D1 part and Dcore part. In this case, AppUDP would cause serious waste in network

ED

M

resources and may bring security risks to D1 and Dcore (as shown in Fig 10).

AC

CE

PT

(a) The network traffic in D1

(b) The network traffic in Dcore

17

CR IP T

ACCEPTED MANUSCRIPT

(c) The network traffic in D2

Fig 10. The effect on the networks with LCMSC

Summary: (1) LCMSC retains the flexibility and security of SDN. (2) By using LCMSC to collaborate between controllers in advance can greatly reduce unnecessary traffic being injected

AN US

into the core transportation network.

6.4 The Support for Emerging Applications

This subsection examines how LCMSC mechanism supports emerging applications such as

M

mobile communication.

To illustrate that LCMSC can be used by the controllers to conveniently support moving

ED

terminal to communicate with a server in a different SDN domain and monitor the changing of the communication bandwidth, firstly we use Iperf [25] at a mobile device to measure the bandwidth it can reach during its moving from an area to another. And then using a media-play client at the

PT

mobile device to connect a remote streaming service, the bandwidth usage is monitored as well as user experience (UE) is evaluated.

CE

Assume an Iperf server is run in Hs, and its monitor port is 10086. At the same time, a mobile

host Hd2 run Iperf client and accesses Hs via TCP connection. During the connection, Hd2 is

AC

continuously moved between AP2 and AP3. Combining the software process with our measurement analysis, the following processes were validated. When C3 senses the client from Hd2 and parses cooperation parameters, coordinates with C1 by invoking LCMSC APIs, a TCP connection is established via AP3. When Hd2 switches off between AP2 and AP3, C2 coordinates with C1 and C3 by invoking LCMSC APIs respectively, and correlative routing tables need to be modified. Whether the TCP connection is kept or not is checked, and also the connection bandwidth is recorded.

18

ACCEPTED MANUSCRIPT

Bandwidth(Mbits/Sec)

25 20 15 10 AP2-AP3

5

AP3-AP2 0 0

5

10 15 Time(Sec)

20

25

Fig 11. The change of bandwidth

CR IP T

Fig 11 shows the bandwidth changes between Hs and Hd2 as Hd2 switches off between AP2 and AP3. The curve with circular sign indicates the change of bandwidth when Hd2 moves from AP2 to AP3, and the curve with rhombic sign shows the change of bandwidth when Hd2 moves from AP3 to AP2. It can be found that although the handoff time between AP3 and AP3 is about 1.5 seconds, the TCP connection is kept. Furthermore, the bandwidth is about 22Mbps when Hd2 is

AN US

associated with AP3 and 12Mbps when Hd2 is associated with AP2, respectively.

We use VLC [26] not only as a media-play client at the mobile host but also a streaming server in another SDN area. The mobile host access the server‟s streaming service. As the mobile host moves, the AP it was connected to must be switched. Fig 12 shows the bit rate notified by the

CE

PT

ED

M

VLC client.

Fig 12. Access VLC streaming service

AC

The stream is a VBR (variable bit rate) video. AP switch occurred at around the 12th second.

After connecting the server, VLC client lagged for a while and buffered some data. When the AP switch occur, no obvious delay can be observed. This may be improved by the former buffered data. Summary: (1) LCMSCware can take advantage of SDN and LCMSC APIs to support emerging applications with dedicated functions or complex collaboration. This makes software development much easier. (2) There‟s no interruption to TCP sessions when using LCMSC. What‟s more, LCMSC is efficient and scalable. These experiment results show us LCMSC can support emerging applications by invoking 19

ACCEPTED MANUSCRIPT

LCMSC APIs and adding some software defined logic.

7. Conclusions The theoretical analysis and experimental results demonstrate that LCMSC mechanism have advantages such as application-independence, controller-independence, function minimization, and reliable communication. Under the environment of multiple SDN controllers connected by IP

CR IP T

network, LCMSC can easily support traditional and emerging network services. Our future works focus on extending LCMSC mechanism in other mainstream controllers and developing a universal way to support more network applications.

Using SDN to improve the Internet control and management capabilities, it‟s of high priority to solve the basic problem of how to use the east/west bound to coordinate the SDN controllers.

AN US

Rather than pursuing perfect and comprehensive goal, LCMSC proposed in this paper a lightweight controller cooperation mechanism, which is simple, efficient, with limited functions. It aimed for inheriting the Internet software and hardware resources, providing support for emerging applications and incremental deployment. Theoretical and experimental results show that LCMSC has the characteristics of application independent, controller independent, minimum functions and

M

reliable communication. LCMSC can support traditional IP services and novel services by coordinating multiple SDN domains connected by an IP network. This has important theoretical

ED

and practical value. The next step is to improve LCMSC to provide stable and reliable support for a variety of mainstream controllers, and to study the new APIs to support a wider variety of new

PT

network applications.

Acknowledgements:This paper is supported by the State Key Development Program for Basic Research of China

CE

under Grant No. 2012CB315806, the National Natural Science Foundation of China under Grant No.61379149, and Jiangsu Province Science & Technology Plan under Grant No.BY2013095-1-06.

AC

References

[1] G. Natasha, et al., NOX: Towards an Operating System for Networks, CCR 2008 [2] S. Jain, et al., B4: Experience with a globally-deployed software defined WAN. In SIGCOMM, 2013. [3] H. Yin, et al., SDNi: A Message Exchange Protocol for Software Defined Networks across Multiple Domains,Internet Draft, Internet Engineering Task Force, June 2012. [4] Gupta, D., and Jahan, R. Inter-SDN Controller Communication: Using Border Gateway

20

ACCEPTED MANUSCRIPT

Protocol. Tata Consultancy Services White Paper, 2014. http://www.tcs.com [5] Kreutz, D., et al, Software-Defined Networking: A Comprehensive Survey. Proceedings of the IEEE, January 2015 [6] W. Stallings, Software-defined networks and OpenFlow, The Internet Protocol Journal, vol. 16, no. 1, 2013. [7] T. Koponen, et al., Onix: a distributed control platform for large-scale production networks, Proceedings of the 9th USENIX conference on Operating systems design and implementation,

CR IP T

ser. OSDI‟10. Berkeley, CA, USA: USENIX Association, 2010, pp. 1–6

[8] A. Doria, et al., Forwarding and Control Element Separation (ForCES) Protocol Specification, Internet Engineering Task Force, Mar. 2010.

[9] Z. Wang, T. Tsou, J. Huang, X. Shi, and X. Yin, “Analysis of Comparisons between OpenFlow and ForCES,” Internet Draft, Internet Engineering Task Force, December 2011.

AN US

[10] K. Ogawa, W. M. Wang, E. Haleplidis, and J. H. Salim, ForCES Intra-NE High Availability, Internet Draft, Internet Engineering Task Force, October 2013.

[11] F. A. Botelho, F. M. V. Ramos, D. Kreutz, and A. N. Bessani, On the feasibility of a consistent and fault-tolerant data store for SDNs, Proceedings of the 2013 Second European Workshop on Software Defined Networks, ser. EWSDN ‟13. Washington, DC, USA: IEEE

M

Computer Society, 2013, pp. 38–43.

[12] S. Vinoski, Advanced message queuing protocol, IEEE Internet Computing, vol. 10, no. 6, pp.

ED

87–89, Nov. 2006.

[13] M. Canini, P. Kuznetsov, D. Levin, and S. Schmid, Software transactional networking: concurrent and consistent policy composition, Proceedings of the second ACM SIGCOMM

PT

workshop on Hot topics in software defined networking, ser. HotSDN ‟13. New York, NY, USA: ACM, 2013, pp. 1–6.

CE

[14] A. Ghodsi, Distributed k-ary system: Algorithms for distributed hash tables, Ph.D. dissertation, KTH-Royal Institute of Technology, 2006.

AC

[15] F. Botelho, A. Bessani, F. M. V. Ramos, and P. Ferreira, On the design of practical fault-tolerant SDN controllers, Third European Workshop on Software Defined Networks, 2014.

[16] ONF,

SDN

architecture,

June

2014.

https://www.opennetworking.org/images/stories/downloads/sdnresources/technical-reports/T R SDN ARCH 1.0 06062014.pdf [17] R. Hand and E. Keller, ClosedFlow: OpenFlow-like control over proprietary devices, Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, ser. HotSDN ‟14. New York, NY, USA: ACM, 2014, pp. 7–12.

21

ACCEPTED MANUSCRIPT

[18] M. Jarschel, T. Zinner, T. Hoßfeld, P. Tran-Gia, and W. Kellerer, Interfaces, attributes, and use cases: A compass for SDN, IEEE Communications Magazine, vol. 52, no. 6, pp. 210–217, 2014. [19] J. Vasseur and J. L. Roux, “Path Computation Element (PCE) Communication Protocol (PCEP),” RFC 5440 (Proposed Standard), Internet Engineering Task Force, Mar. 2009. [20] E. Mannie, Generalized Multi-Protocol Label Switching (GMPLS) Architecture,” RFC 3945 (Proposed Standard), Internet Engineering Task Force, Oct. 2004, updated by RFC 6002.

CR IP T

[21] Marjory S. Blumenthal, David D. Clark, Rethinking the design of the Internet: The end to end arguments vs. the brave new world, ACM Transactions on Internet Technology, Vol 1, No 1, August 2001.

[22] S. Hassas Yeganeh and Y. Ganjali, “Kandoo: A framework for efficient and scalable offloading of control applications,” Proceedings of the First Workshop on Hot Topics in

AN US

Software Defined Networks, ser. HotSDN ‟12. New York, NY, USA: ACM, 2012, pp. 19–24. [23] A. Tootoonchian and Y. Ganjali, HyperFlow: a distributed control plane for OpenFlow, Proceedings of the 2010 internet network management conference on Research on enterprise networking, ser. INM/WREN‟10. Berkeley, CA, USA: USENIX Association, 2010, pp. 3–3. [24] Shin M K, Nam K H, Kim H J. Software-defined networking (SDN): A reference architecture

M

and open APIs[C]//2012 International Conference on ICT Convergence (ICTC). IEEE, 2012: 360-361.

ED

[25] Tirumala A, Qin F, Dugan J, et al. Iperf: The TCP/UDP bandwidth measurement tool[J]. htt p://dast. nlanr. net/Projects, 2005. [26] http://www.videolan.org/vlc/

PT

[27] Vissicchio S, Tilmans O, Vanbever L, et al. Central control over distributed routing[J]. ACM SIGCOMM Computer Communication Review, 2015, 45(4): 43-56.

CE

[28] Caria M, Jukan A, Hoffmann M. SDN Partitioning: A Centralized Control Plane for Distributed Routing Protocols[J]. arXiv preprint arXiv:1604.04634, 2016.

AC

[29] Patil P, Gokhale A, Hakiri A. Bootstrapping Software Defined Network for flexible and dynamic control plane management[C]//Network Softwarization (NetSoft), 2015 1st IEEE Conference on. IEEE, 2015: 1-5.

22

ED

M

AN US

CR IP T

ACCEPTED MANUSCRIPT

PT

Ming Chen

was born in 1956. Professor and PhD supervisor of PLA University of Science and Technology,

CE

Nanjing, China. His research interests include network architecture, network performance analysis and modeling, network management and measurement, future Internet and softwore-defined

AC

networking.

Ke Ding

23

ACCEPTED MANUSCRIPT

was born in 1978. He is a PhD student of PLA University of Science and Technology, Nanjing, China. His research interests include network architecture, cloud computing and softwore-defined

CR IP T

networking.

Jie Hao

received her BS degree from Beijing University of Posts and Telecommunications, China, in 2007,

AN US

and the PhD degree from Uni- versity of Chinese Academy of Sciences, China, in 2014. From 2014 to 2015, she has worked as post-doctoral research fellow in the School of Computer Engineering, Nanyang Technological University, Singapore. She is currently a lecture at College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, China.

AC

CE

PT

ED

M

Her research interests are wireless sensing, wireless sensor networks, VLC and etc.

24

AC

CE

PT

ED

M

AN US

CR IP T

ACCEPTED MANUSCRIPT

Chao Hu

received the Ph.D. degree from PLA University of Science and Technology, Nanjing, China, in 2013. He is currently an assistant-professor in the college of command information systems at PLA University of Science and Technology, Nanjing, China. His research interests include software-defined networking and distributed computing.

25

CR IP T

ACCEPTED MANUSCRIPT

AN US

Gaogang Xie

received the PhD degree in computer science from Hunan University, in 2002. He is the professor at ICT/CAS. His research interests include Software-Defined Networking, Internet architecture,

AC

CE

PT

ED

M

and Internet measurement.

Changyou Xing was born in 1982. Received his PhD degree from PLA University of Science and Technology, Nanjing, China in 2009. His research interests include network modeling, p2p multimedia communications and software-defined networking.

26