Next Article in Journal
Novel Approach and Methods for Optimizing Highly Sensitive Low Noise Amplifier CMOS IC Design for Congested RF Environments
Next Article in Special Issue
Crowdsourcing Based Performance Analysis of Mobile User Heterogeneous Services
Previous Article in Journal
Detection of Impurity Rate of Machine-Picked Cotton Based on Improved Canny Operator
Previous Article in Special Issue
Securing Workflows Using Microservices and Metagraphs
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Adaptive East–West Interface for a Heterogeneous and Distributed SDN Network

1
School of Information and Communication Technology (SOICT), Hanoi University of Science and Technology (HUST), Hanoi 10000, Vietnam
2
Texpect Laboratory, Texpect Company, 75020 Paris, France
3
LISSI-TincNET, University of Paris Est Creteil (UPEC), 94400 Vitry-sur-Seine, France
*
Author to whom correspondence should be addressed.
Electronics 2022, 11(7), 975; https://doi.org/10.3390/electronics11070975
Submission received: 10 February 2022 / Revised: 15 March 2022 / Accepted: 16 March 2022 / Published: 22 March 2022
(This article belongs to the Special Issue Advances in Communications Software and Services)

Abstract

:
In the years since its initiation, the software-defined network paradigm has evolved into a distinguished networking technology by causing a revolution in separating the control logic from physical devices and centralizing software-based controllers. Despite its indisputable benefits compared with the traditional network, the SDN raises the challenge of scalability with its physically centralized control. The only potential solution is to transform it into physically distributed SDN control. However, this solution requires the interoperability between SDN controllers, and the consistency of network state being distributed across these controllers. Although some east–west interfaces that help SDN controllers exchange network information have been released, they reveal several drawbacks. First, they cannot support a heterogeneous SDN system where SDN controllers are developed by different providers. Secondly, their consistency solution is simple in disregarding the tradeoff between the consistency level and the performance of SDN networks. This paper proposes an east–west interface, called SINA, to provide the interoperability of a heterogeneous and distributed SDN network. In addition, a novel reinforcement-learning-based consistency algorithm is introduced for an adaptive, quorum-based replication mechanism. The experimental results showed that SINA successfully connects heterogeneous and distributed SDN domains and balances the consistency and network performance.

1. Introduction

The inception of software-defined network (SDN) is considered an auspicious revolution in network technology by dividing the control plane from the data plane of the classical network [1]. It leverages the logically centralized controller provided by a worldwide network view to manage the system. SDN allows technological breakthroughs by relocating the burden of network management to software-based networks. Besides its numerous advantages, such as centralized network management, operating costs savings, complete enterprise administration, hardware savings, coarse security, and lower capital expenditures, the SDN architecture is facing a challenge of scalability and reliability because of its physically centralized controller [2,3]. A single physical SDN controller encounters the bottleneck problem due to many physical devices in the data plane. Additionally, the physically centralized SDN control cannot support different demands of enormous network implementation (e.g., service provider networks or data centers). In other words, the SDN architecture is recommended to be implemented with the physically distributed and logically centralized control [4,5,6,7,8,9]. When required, a physically distributed SDN control can scale physical controllers up by adding more controllers. In addition, the system reliability is also enhanced because the network is now fault-tolerant with backup controllers whenever controller failures occur. Consequently, the physically distributed SDN control is indispensable to address the scalability and reliability problem. Such control plane needs the interoperability between distributed controllers and the consistency of network state.
The interoperability of a distributed SDN network is the ability of participant domains controllers to exchange information and coordinate seamless operation. In a general SDN architecture, besides the northbound interface and southbound interface for exchanging information with the application plane and the data plane, respectively, the east–westbound interface is needed for interoperability between distributed controllers. However, contrary to the widespread popularity of the standardization of southbound interface OpenFlow, the east–westbound interface has not received the necessary attention from the research community to offer interoperability between SDN controllers. This is explained by the fact that, today, when the upgrade from the legacy network to SDN is still relatively small, the need for interoperability of SDN networks is not yet necessary. However, this interoperability is the survival of the internet for the foreseeable future as SDN increasingly proves its advantages [10]. It is undeniable that the efforts of some research groups have yielded some results, see [11,12,13]. However, they have just resolved the interoperability problem for a homogeneous SDN network with the same controller type provided by a vendor. Recently, two east–west interfaces [14,15] were proposed for heterogeneous SDN networks with different types of controllers. Nevertheless, they applied the active replication mechanism in broadcasting every new update information to all other controllers. As a consequence, the broadcasting method degrades network performance.
Consistency for the network state of a distributed SDN network is to ensure that each domain’s information about the global system is consistent. The centralized consistency mechanism is deployed in many studies [16,17], with a centralized server to collect all the updated information from the whole system. However, this method has a few disadvantages, including the following: (1) scalability—it is difficult to scale the number of SDN clusters due to the limitation of the centralized server’s performance; (2) single point of failure—if that centralized server crashed, it would lead to the collapse of the entire system. In our paper, we choose a completely different approach in using a distributed SDN system without using any centralized server. The distributed SDN controllers apply two replication methods to ensure the consistency of network topology information of the whole system. Our approach can address both mentioned problems. With the physically distributed SDN design, some significant consistency challenges have been raised in recent years [18,19]. As proven in [20] with the CAP theorem, an SDN network cannot satisfy all the three factors: partition tolerance (P), high availability (A), and consistency (C). Concretely, a network consisting of many partitions with high availability (A and P) causes a weak level of consistency. Consequently, this state of staleness affects the correctness of applications. On the contrary, a system with a strong consistency (C and P) results in a lack of network availability. Unfortunately, the majority of research on the network state consistency for the distributed SDN network has only focused on the guarantee of the strong consistency model [21,22,23]. The latter ensures that all SDN controller surrogates always have the most updated network state. Unfortunately, that leads to significant degradation of network performance. The problems mentioned above motivated us to address the two issues: (1) interoperability of a distributed and heterogeneous SDN network, and (2) network state consistency in considering the tradeoff between the consistency level and the network performance. This paper proposed an east–west interface called SINA, which helps heterogeneous SDN controllers update network states. Moreover, we also introduced in SINA an adaptive, quorum-based replication mechanism for an eventual consistency model that ensures an acceptable consistency level, while keeping some network metrics below some predefined thresholds. The choice of replication method depends on the nature and needs of the system. For example, the active replication method is appropriate if the system needs to ensure strong consistency without worrying about performance waste with the broadcasting mechanism. On the contrary, if strong consistency is not essential and the system needs to save performance for message broadcasting, then it has to choose the quorum-based replication method. The experiments are divided into two phases: SINA east–west interface validation and SINA with adaptive consistency model. The former demonstrates the correctness of the SINA framework in applying the most straightforward consistency policy, the active replication, based on the broadcasting mechanism. The latter is performed to evaluate SINA in applying the quorum-based replication mechanism using the Q-Learning algorithm. The experimental results obtained in both phases showed that SINA could guarantee an acceptable consistency level while maintaining good network performance metrics, such as read delay, write delay, and overhead. The organization of this paper is described as follows. Section 2 presents a brief overview of distributed SDN networks and a short survey on existing east–west interfaces and consistency mechanisms for a distributed SDN network. Section 3 describes in detail the proposed east–west interface SINA. The proposed adaptive consistency algorithm is illustrated in Section 4. The experiments are analyzed in Section 5. Section 6 gives the conclusion and perspectives.

2. Overview of Distributed SDN Network and Related Work

The distributed SDN architecture is illustrated in Figure 1. The SDN network is divided into several domains in the data layer, and a controller manages each one. All controllers constitute a joint heterogeneous controllers’ cluster in the control layer. These controllers, provided by different vendors (e.g., ONOS, OpenDaylight, Faucet, etc.), communicate through an east–west interface. Besides the need to help controllers in this SDN cluster easily understand each other, the control layer also requires a consistency mechanism so that all controllers share the same knowledge about the network state. In other words, they must possess the identical local replication of the whole network topology and the device/link state. Any state change in any controller (e.g., the appearance of a new device/link, the failure of a device/link, etc.) must be disseminated to other controllers according to a consistency algorithm. This section provides a brief survey of existing east–west interfaces and their consistency mechanisms.
Almadani et al. [14] proposed a distributed SDN control framework, called DSF, also for an east–west interface. They have already tested DSF with two control platforms: ONOS and Floodlight. The problem of DSF is that its current version works only on Java-based control platforms, although the authors explain that it can run on multiple platforms. For other problems, DSF is not a distributed network, and they always need a centralized controller to collect information from other ones or centralized shared data space.
Benamrane et al. [24] proposed an east–west interface, called communication interface for distributed control plane (CIDC), that allows synchronization. CIDC’s performance is evaluated in emulated topologies with two services: firewall and load balancing. It uses three communication modes: notification, service, and full. However, CIDC is implemented only for the communication between Floodlight-based and ODL-based controllers. In [12], Adekokun et al. presented a modified version of CIDC, called mCIDC, that is deployed using Floodlight controller to ensure the communication between controllers of a WAN network. mCIDC consists of four main modules: data updater, data collector, consumer, and producer. The consistency model of mCIDC is based on publish/subscribe model, where every update in each controller is propagated to others. Netty framework is used to decrease the resource consumption and applied two communication modes: notification and full. Both CIDC and mCIDC have the same disadvantage of applicability across different controller types. In addition, these two interfaces applied the strong consistency model to update every change of each controller, leading to performance degradation.
In [15], Yu et al. proposed an east–west interface, called WECAN, consisting of three modules: the controller selection management (CSM) module, the cross-domain management (CDM) module, and the network information collection (NIC) module. The role of the NIC module is to provide a domain-wide network state by gathering network data from a different set of controllers. The CDM module provides a global network state by accumulating domain information from other domains. Finally, the CSM module chooses the most efficient controller for each network flow based on the domain-wide and entire network state. The experimental results showed that WECAN had improved some network parameters (e.g., latency, throughput) compared with a single controller–controlled network. However, WECAN can be integrated into only two controllers: Floodlight and Maestro.
The widely known controller platforms (e.g., NOX, ONOS, ONIX, OpenDaylight, Faucet) have also implemented east–west communication techniques between SDN controllers. Hyperflow [25], an application of the NOX platform [26], is a scattered-event-driven control layer for OpenFlow. Each controller has a HyperFlow controller application instance that publishes the update state events of the system using a publish/subscribe system. Afterwards, other controllers apply all the published events to regenerate the state. In other words, it aims to synchronize the view of all controllers based on an event dissemination system applying publish/subscribe mechanism. However, Hyperflow uses the broker-based distributed file system WheelFS [27] that caused the problem of network performance degradation. The open-source platform ONOS uses a distributed system framework, called Atomix [28], to manage SDN clusters. Atomix, considered an event-driven reactive Java framework, also encounters the problem of scalability, leading to system performance degeneration with the growth of the network scale. In [13], a tool named ICONA (inter-cluster ONOS network application) is proposed to help ONOS to operate in an individual supervisory WAN network plan. It allows an individual ONOS cluster to be coordinated with numerous other clusters of different administrative domains. However, ICONA works only with the ONOS controller, and it applied the active replication method to guarantee strong consistency. In the ONIX platform [29], a data structure—network information base (NIB)—is used to store network state information. Using ONIX APIS, the state information can be replicated to all other controllers for every state update. The performance limitation makes ONIX appropriate only for network states with slow changes. Besides, ONIX has as strict a requirement the necessity of a global view in all SDN controllers. The essential replication in real time of all persistent transactional databases across all controllers makes ONIX not applicable to an unstable large-scale network. The OpenDaylight platform [30] applied Akka framework [31] for network state synchronization between clusters of SDN controllers. The Akka framework has performance limitations because of large-scale clusters’ huge flow or control packets. In the Faucet framework, the management of communication between SDN controllers is handled by Prometheus [32]. This latter allows each controller to share information from the local network or monitor other Faucet controllers’ network information. InfluxDB is used to propagate network information between different controllers through a shared database. For Kandoo [33], the controllers are distributed in a two-level hierarchy architecture that consists of a root and multiple local controllers. The disadvantage of Kandoo is that communication between controllers in a tier is not allowed. Additionally, the implementation of second-tier services that demands a global view of the system is limited. ElastiCon [34] creates a scalable controller pool that becomes larger or smaller according to the traffic conditions. A load of tasks is dynamically allocated to controllers.
The main characteristics of mentioned SDN controller platforms are summarized in Table 1.

3. Proposed East–West Interface for a Heterogeneous and Distributed SDN Network

The proposed SINA (SDN Inter-Domains Network Application) is an east–west interface to enable network state sharing between heterogeneous SDN domains. Concretely, every change/update of the network state of a domain is captured and then disseminated to all other SDN domains through our SINA RESTful APIs. The source code of SINA is open and available on GitLab upon access request [35].
SINA consists of two main components (Figure 2):
  • SINA Listener component: Every network state update in the data plane is transmitted to the Core Service management module as an event. SINA Listener component, similar to a daemon process, aims to listen and capture these events in the core services of each controller. Then, they are disseminated to other SDN controllers.
  • SINA API component: It is a set of definitions and protocols used to manage the network state database. SINA API allows controllers to make their resources accessible. For example, as shown in Figure 2, after capturing an event from the core service, controller one notifies it to controller two by calling the SINA API component. The latter is responsible for maintaining and updating the local network state database.
The SINA framework is fully customizable. Concretely, the notification policy can be adapted according to the nature of the information, the criticality level, or the network conditions. In addition, to secure the information transmission, data transfer authorization based on OAuth2 protocol (open authorization) (https://oauth.net/2/ accessed on 20 July 2021) can be activated. It can support different tokens to provide multiple authorization levels and dynamically adapt them according to the requirements. In order to prove the openness of SINA, we deploy it in three different widely used SDN controllers: ONOS [36], OpenDaylight [30], and Faucet [37]. Figure 3 illustrates the implementation of SINA in these three controllers as well as different interactions. The component SINA Listener is continuously listening to any event generated by the core service component. After an event is captured, SINA Listener calls SINA API component of other SDN controllers to update the information. The IP addresses of the other controllers are configured in the JSON file IPList.json.
In the inception phase, the proposed SINA is temporarily deployed with the active replication mechanism to guarantee strong consistency based on the broadcasting method. Explicitly, after an update occurs in a controller, it will be incontinently broadcasted to all other controllers. The objective of this first temporary deployment is to validate the correctness of the application’s operations. After, in the second phase (Section 4), we develop an adaptive, quorum-based replication algorithm to balance the consistency level and the network system performance.
The different implementations of the SINA application in three controllers are described as follows (Figure 3).

3.1. Development of SINA’s Components in ONOS

An application on ONOS usually consists of two main components @active and @Deactive that are used to perform actions in the running state and the stopped/deleted state, respectively, (Figure 3). An ONOS application can execute functions and activate services. Therefore, to build a Listener component, we create it as a service activated by the @active component. ONOS offers several predefined functions for listening events, and new custom listener complements as an implementation of ListenerService class. The latter is an abstraction of the service that offers asynchronous notification capabilities. It contains two declared methods: addListener() and removeListener(). The SINA Listener is deployed by implementing this interface and these two functions to capture events from the ONOS core service.
For the SINA API component, the idea is also to create a service with additional APIs. Using the Swagger framework simplifies the creation of APIs in ONOS. Concretely, an interface called ApiService is created. Then, we create the SinaApiManager class that implements the ApiService interface by defining all its methods. The SinaApiManager class extends the BaseResource class so that the Swagger framework can implement the defined APIs.

3.2. Development of SINA on OpenDaylight

As shown in Figure 3, every application of ODL consists of two main functions: init() and close() (similar to @active and @Deactive in ONOS). There is a difference between ODL and ONOS regarding data management. In fact, in ONOS, services can capture events or get switch information from the core service. On the contrary, it is impossible for ODL services because the data is stored in an object called a dataTree. The operations, such as altering, collecting, editing, deleting, and capturing events, are all implemented by an object called a DataBroker.
For API development, ODL uses a model-driven service adaptation layer (MD-SAL). The latter utilizes YANG (Yet Another Next Generation) [38] as a modeling language to define the interfaces and the data to be exposed. So, to implement the SINA API, we define the operations in a supported file, named sina.yang, and register it in the method init().

3.3. Development of SINA on Faucet

The Faucet, inherited from the Ryu controller [39], is essentially different from the ONOS and ODL. It is impossible to create an application separately from the Faucet because it is already an application on the Ryu controller. Any application developed outside of Faucet can capture only Ryu events/information. Hence, we integrate our source code directly into Faucet’s source code (Figure 3).
For the Listener component, the functions send_event() and send_event_to_observers() are used. They are defined by the Ryu controller and can be used to add a new listener to the Faucet’s listener list. In addition, Listener component used set_ev_cls to obtain events from the core service. For example: set_ev_cls(dpset.EventDP) contains the event handlers of the DataPath.
Faucet/Ryu implements a library based on WSGI (Web Server Gateway Interface) that facilitates the API building. It is a specification that describes how a web server connects to web applications and how these applications can process requests. According to the SINA API component, we defined WSGI context in a Faucet class. In addition, a new class is also created to define the supported operation.

3.4. Openness of SINA for Other SDN Controllers

According to the openness of SINA, besides the three controllers ONOS, OpenDaylight, and Faucet, SINA is ready to be implemented into all other SDN controllers because it uses two types of controllers library: Listening (SINA listener component) and API creating library (SINA API component) packages. Developers can leverage that every SDN controller uses these two types of libraries to implement SINA into that controller. For example, Floodlight [40,41], a widely known Java-based controller, has three library packages for Listener—SwitchListener, DeviceListener, and MessageListener—to receive notifications whenever there is any update of switch, devices (end-host), and message. Concerning the data translation, SINA has a broker module in charge of converting the network state information in the API component. After receiving data from other SDN controllers, this broker module extracts the necessary data (switch, host, link, port, etc.) and saves the data in a fixed form. This means that this data has the same form in different SDN controllers and platforms. In addition, since the information transmitted is only in JSON or raw text, this broker module can be customized easily.

4. Proposed RL-Based Consistency Algorithm

As mentioned above, the initial phase of SINA follows the active replication, where any update information is propagated to all other controllers. Unfortunately, this broadcast-based solution is not appropriate for large-scale distributed systems because it consumes a lot of network bandwidth and degrades other quality of service factors (delay, loss rate, etc.). Therefore, we are addressing the problem of how to ensure an acceptable consistency level while guaranteeing good QoS metrics. That motivates us to propose an adaptive, quorum-based algorithm to consider the compromise between consistency level and network system performance. The objective is to maximize the consistency metrics represented by staleness values, such as version staleness and time staleness, while continuously keeping the QoS metrics below some predefined thresholds.
Among consistency protocols, the replicated write protocols are appreciated for their flexibility of sending updates to multiple replicas instead of only one. Replicated write protocols consist of two types: active replication and quorum-based protocol. The main difference to distinguish these two protocols is that the former uses the broadcasting mechanism by forwarding the update to all replicas, while the latter, on the contrary, forwards the update to only some replicas (the write–quorum). According to the reading operation, for the active replication protocol, a replica reads its local data item. Otherwise, for the quorum-based protocol, a replica performs the read operation on a set of other replicas (the number of replicas of this set is read–quorum).
The proposed consistency algorithm is described explicitly in the following subsections.

4.1. Quorum-Inspired Consistency Adaptation Strategy for SINA

The consistency strategy can be modeled by the quorum-based replication mechanism. Let N, N R , and N W be the total number of controllers, the read–quorum value, and the write–quorum value, respectively. Then, every time a network state update occurs in an SDN domain, the controller forwards it to N W other controllers. Similarly, every time a controller performs a read operation, it will pull the network state information from N R other controllers. Thus, as explained above, there are two types of consistency guarantees.
  • Strong consistency: The strict quorums require that the sum of write–quorum and read–quorum must be greater than the total number of controllers: N W + N R > N . This consistency model guarantees that the read operation always obtains the latest data item value. However, it is costly in terms of network performance due to the high synchronization overheads.
  • Eventual consistency: The partial quorums allow the sum of write–quorum and read–quorum not need to overlap the total number of replicas: N W + N R N .
Partial quorum-based systems guarantee only the eventually consistent network information, resulting in inconsistent information returned to the applications. This issue is not tolerable for some applications. Therefore, we apply the PBS model in [42] to analyze the returned network data, evaluate the consistency level, and control the balance between consistency level and network parameters representing QoS.
Based on these notions, this paper proposes an adaptive, quorum-based consistency model for SINA using partial quorums. The expected benefits are good network performance, scalability, and an acceptable consistency level. The key to the problem lies in choosing the pair of values N R and N W to optimize network performance and consistency levels. The network performance is based on the network metrics obtained when running an application in the application plane, such as the read/write delay and the synchronization overhead. The continuous consistency model monitors the consistency metrics (i.e., version and time staleness metrics) to meet the consistency requirement consistently.

4.2. Proposed Reinforcement Learning-Based Consistency Model for SINA

We propose an adaptive, quorum-based algorithm to consider the compromise between consistency level and network system performance. The objective is to maximize the consistency metrics represented by staleness values such as version staleness and time staleness while continuously keeping the QoS metrics below predefined thresholds. That motivates us to apply reinforcement learning (RL) to optimize two parameters N R and N W , so that both the network performance and the consistency level are guaranteed. RL approach uses the Q-Learning algorithm [43] (Figure 4) that is an algorithm for specific problems by applying the RL approach [44] with its basic concept of Markov decision process (MDP). Based on the experience and rewards, an RL agent can learn control strategies. The MDP model is illustrated by a tuple ( S , A , P , R ) with S and A are set of states and actions, respectively. The transition model P ( s | s , a ) is the probability of switching to state s after performing action a at state s. The obtained reward is R ( s , a , s ) after executing a at state s and switching to s . At state s, the selection action a is qualified by the Q-value Q ( s , a ) .
In order to solve an MDP, an optimal policy π : S A is needed. The π policy determines the action corresponding to the current state to maximize the cumulative rewards. The Q-fixed point (Bellman equation) needs to be calculated:
Q * ( s , a ) = r ( s , a ) + γ s P ( s | s , a ) m a x a Q * ( s , a )
where r ( s , a ) represents the expected instantaneous reward of the chosen action a. γ represents the discount factor.
Based on RL, the Q-Learning algorithm [43] is proposed to estimate the optimum action-value function in Equation (1). The agent uses the returned reward r to update the Q-values with the following update equation:
Q ( s , a ) = ( 1 α ) Q ( s , a ) + α [ r + γ max a Q ( s , a ) ]
where α is the learning rate.
The characteristic of Q-Learning in directly approximating the optimum action-value function with the current policy free motivates us to model the selection problem of the pair of values N R and N W as the Q-Learning context.
Our selection of the Q-Learning’s action set in Algorithm 1 is inspired by the TCP Vegas, the congestion avoidance mechanism of TCP [45]. That is explained by the fact that the essence of TCP Vegas is to dynamically control the window size according to the network’s congestion level. For our problem, the values of N R and N W are adjusted automatically according to the consistency level. If the consistency level is in a downtrend, the values of N R and N W will be increased. Otherwise, if the consistency level is an uptrend or acceptable, the values of N R and N W will be decreased.
Algorithm 1: Reinforcement learning consistency algorithm for SINA.
Electronics 11 00975 i001
The reward is calculated by Equation (3).
R e w a r d t = T h V s t V s t if W D < T h W & R D < T h R T h V s t if W D > T h W or R D > T h R
where W D and R D are the read delay and write delay metrics, respectively. The former is the period from when the request is sent to N R controllers to when these controllers’ results are returned. The latter is the period to disseminate topology update messages to N W controllers. The T h W and T h R are the delay thresholds for the write and read operations. They are considered tolerable thresholds of the latency of write and read operations. These two thresholds are analyzed in detail through experiments in Section 5.2.3. V s t and T h V s t are the metrics of version staleness and its threshold, respectively. The version staleness is determined by the version difference between the real version of the local database and the one at the moment where the controller performs a read operation [42,46].
We define the variable DIFF for the adjustment of N R and N W . DIFF is calculated by Equation (4).
DIFF = N 1 CL CLbase
where CLbase is the largest value of the CL values observed in the last 10 times. The value CL representing the consistency level is calculated by Equation (5).
CL = π Π
where π is the number of times that a replica has read the latest value in the last 10 s. Π is the total number of requests in the last 10 s.
The N R and N W are updated with Equations (6) and (7). The two thresholds α and β are pre-fixed through experiments (Section 5).
N R ( t + δ t ) = N R ( t ) 1 if DIFF < α N R ( t ) if α < DIFF < β N R ( t ) + 1 if DIFF > β
N W ( t + δ t ) = N W ( t ) 1 if DIFF < α N W ( t ) if α < DIFF < β N W ( t ) + 1 if DIFF > β
For the selection mechanism of the Q-Learning algorithm, we applied the ϵ -greedy policy [47]. The latter chooses with a probability of ( 1 ϵ ) the value of N W or N R with the highest Q-value and a probability of ϵ a random value of N W or N R in the current state.
The proposed algorithm is expected to guarantee acceptable values of version staleness and time staleness while keeping the metrics W D and R D below the two thresholds T h W and T h D , respectively.

4.3. Proposed Adaptive Architecture

The proposed architecture is illustrated in Figure 5. The SINA API component contains the module “Network state updating” that is used to continuously listen and receive the propagation information from other controllers (flow 1). Then, it updates the local network state database representing the global view on the whole network of the current controller (flow 2). To assess the performance of the proposed consistency model, we deployed an application for file transfer (the module running application) with an adaptive routing mechanism that finds the lowest cost path from the sender to the receiver machine. This application extracts the network topology information from the local database to perform the routing algorithm (flow 3). The SINA Listener component consists of two modules: network monitoring and quorum-based replication. The former always listens for the update events from the core service of the control plane (flow 6), updates the local database (flow 5), then sends up to the module quorum-based replication for the propagation. The latter is the core module of the SINA architecture. Since reads or writes operations are a decisive factor influencing the application’s consistency level and the network performance, the selection operation for the two values of N W and N R plays a crucial role in the consistency model. Therefore, the quorum-based replication module is modeled as a Q-Learning model inspired by the TCP Vegas algorithm as described in Section 4.2. After choosing the two values N W and N R , the module quorum-based replication propagates the update information to N W controllers, or sends the network state request to N R controllers (flow 8).

5. Performance Evaluation

In this work, the performance evaluation is divided into two phases:
  • SINA east–west interface validation: In the first step, we aim to examine the correctness of the SINA framework in applying the most straightforward consistency policy, the active replication, based on the broadcasting mechanism. Every update in each controller is sent to all other controllers. We also compare SINA’s performance with other east–west interfaces of three widely used frameworks: ONOS, OpenDaylight, and Faucet.
  • SINA with adaptive consistency model: In the second phase, the performance of the SINA architecture in Figure 5 is evaluated in applying the quorum-based replication mechanism using the Q-Learning algorithm.

5.1. SINA East–West Interface Validation

5.1.1. Testbed Setup

The used network topologies in our testbed are taken from TopologyZoo (http://www.topology-zoo.org/, accessed on 18 June 2021), an in-progress project aiming to compile network topology data from around the world. There are over two hundred and fifty networks in the “Zoo” in different graph formats for statistical analysis, plotting, or other network research topics.
In order to study the performance for different network scales, four network topologies are selected from the TopologyZoo.
  • AARNet is initially established between the University of Melbourne in Australia, the Commonwealth Scientific and Industrial Research Organization (CSIRO) in all Australian state capitals and the Australian National University in Canberra. AARNet consists of 13 network switches and hosts.
  • Abilene network generated by the Internet2 community with 11 network switches and hosts.
  • AMRES network is the national research and education network of Serbia. It has 21 network switches and hosts.
  • NORDU network, located in Nordic countries, consists of 5 network switches and their hosts.
These four network topologies are emulated by the tool mininet [48]. The network topologies between SDN controllers are fully-connected. All virtual machines hosting 442 controllers are connected through the bridged networking method. We also tested the latency between two machines: the obtained RTT result is about 0.03 ms. Consequently, it does not affect the experimental results. Each switch is connected to only one controller. The experimentation scenario aims to evaluate the communication between multiple SDN controllers. The network is built with many SDN controllers (from 6 to 12) in each scenario. According to the links’ characteristics, the throughput, latency, and loss rate are set to 10 Mb/s, 10 ms, and 2%, respectively. We use only HELLO messages for network traffic.
The experimental setup is physically deployed on the server PowerEdge R740 with 32 CPUs Intel(R) silver 4216 2.10 GHz and 256 GB of memory. We create 13 Linux virtual machines on this physical server to deploy emulated network topology and SDN controllers as follows:
  • One virtual machine is used to emulate the network topology in using mininet.
  • 12 remaining virtual machines are used to implement SDN controllers separately. Concretely, each one is launched in a virtual machine. Thus, we spent 12 virtual machines for the largest experiment where 12 controllers were deployed.
The three evaluation parameters are described as follows.
  • Data transmission (bits): For each change of network topology, the SDN controller broadcasts the update information to others.
  • Latency (second): The period between the sending of the notifications and the receipt of the last acknowledgment from the destination controllers.
  • Overhead (%): The ratio between the controller packets to the total packets.
Each experiment is repeated 100 times. The confidence interval is concretely shown in our obtained results, keeping the confidence level at 95%.

5.1.2. Experimental Results

In order to prove the scalability and the interoperability of SINA, the communication between multiple controllers is evaluated in varying the number of controllers in a testbed from six to twelve in four different topologies. As shown in Table 2, the experimentation scenario is divided into three sub-scenarios of 6, 9, and 12 controllers. Each sub-scenario is divided into four schemes (4 rows for each sub-scenario in Table 2): in the first one, three types of controllers (Faucet, ONOS, and ODL) are implemented in using SINA. For the three remaining schemes, all controllers are implemented with one type. For example, in the sub-scenario of 6 controllers, the first scheme is to implement six different controllers: 2 Faucet, 2 ONOS, and 2 ODL. The three remaining schemes are implemented with 6 Faucet, 6 ONOS, and 6 ODL. As mentioned above, the confidence interval (the values of the upper limit, lower limit, and mean) is shown in Table 2 after launching each experiment 100 times with the confidence level of 95%. The launching scenario is replicated strictly for each experiment’s run. The idea is to analyze the impact of the SINA application. The obtained results show a common feature: the larger the topology, the higher the data transmission value. Similarly, the larger the topology, the higher the latency value obtained because lots of data is exchanged between the controllers, causing the time-consuming. The average confidence intervals of Data transmission and Latency are acceptable with the values of 2412.2 (bit) and 0.36 (s), respectively. We also note that in most scenarios, the use of SINA application dramatically improves performance in terms of both latency and data transmission. However, in some cases, Faucet’s solution’s scheme attains better results (e.g., scheme of 9 Faucet controllers with the Abilene topology). To sum up, SINA has reduced 3.8% and 2.4% of data transmission and latency, respectively.
Figure 6 illustrates the latency and the overhead results in using the “Amres” topology, the largest one. The confidence intervals are acceptable for each experiment, keeping the confidence level of 95%. The results showed that the legacy Faucet solution obtains the best results in terms of overhead and latency because the communication solution using the Prometheus tool is optimized for the data exchanges between Faucet controllers. Concretely, Faucet has reduced the overhead and latency of other controllers by 62.4% and 10.1%, respectively. Regarding the two controllers, ONOS and ODL, the communication protocols implemented in both cases generate more overhead than the SINA application. Concretely, SINA improves the overhead and latency of ONOS and ODL by 58.1% and 14.5%, respectively. Concerning the latency, the SINA application outperforms existing solutions in most cases, although there are no constraints related to the heterogeneity of the controllers for other approaches. Thus, the obtained preliminary results prove the scalability and interoperability of SINA.

5.2. SINA with Adaptive Consistency Model

For this second phase of performance evaluation, the SINA is implemented in applying the adaptive, quorum-based replication mechanism with the Q-Learning algorithm described in Section 4.

5.2.1. Testbed Setup

A large-scale topology, called Cogent, has been chosen among the topologies from Topology Zoo to assess the efficiency of the proposed adaptive consistency model. The Cogent topology, located in USA and Europe, consists of 176 switches and 21 hosts. We use the mininet tool to emulate the Cogent topology and divide it into 18 separated SDN domains, each of which is managed by a dedicated controller (ONOS, OpenDaylight, or Faucet). Among these 18 domains, each of 17 domains has ten switches; six remaining switches are located in the last one. Each domain of 15 domains has one host; the remaining domains have two hosts. Each switch is connected to only one controller. Thus, the network topology between SDN controllers is fully connected. Concerning the links’ characteristics, the throughput, latency, and loss are set to 10 Mb/s, 10 ms, and 2%, respectively. The HELLO messages are used for network traffic.
The open-source Tcpreplay tool [49] is used to generate the flows with any data bit-rate. This tool is usually used to edit and replay a previously captured network traffic with a fixed sending bit rate. It helps us generate a few initial data flows and replay them many times after.
In order to emulate the dynamic network environment, the constant changes of the network topology are based on the classical 2-State Markov Model of Gilbert [50]. All SDN switches and links follow the 2-State Markov Model with ON and OFF states. The former represents the state where the switch/link works normally. Otherwise, the latter represents the state where the switch/link is broken. The state transition is shown in Figure 7.
The values of transition probability p and r are determined by Equations (8) and (9).
p = P ( q t = OFF | q t 1 = ON )
r = P ( q t = ON | q t 1 = OFF )
where q t is the state at time t.
Based on the experiments, both values p and r are fixed to 50%.
The experimental setup is also physically deployed on the mentioned server PowerEdge R740. On this physical server, 19 Linux virtual machines are created to host one VM for emulating network topology (with mininet) and 18 VM for separated SDN controllers that manage 18 SDN domains.

5.2.2. Performance Metrics

For the performance metrics, two types of metrics are used as follows:
  • QoS-related metrics: Concerning the QoS-related metrics, we are based on the overhead and the delays. Concretely, they are WriteOverhead, ReadOverhead, WriteDelay, and ReadDelay. The WriteOverhead and ReadOverhead are the numbers of the inter-controller packets through TCP port 8787 for the read and the write commands, respectively. The WriteDelay is the latency the system takes to disseminate the message of topology update to N W controllers. The ReadDelay is the sum of the latency for sending topology requests to N R controllers and the latency for receiving all topology data from these N R requested controllers.
  • Consistency-related metrics: Two staleness metrics are used: the time-based staleness (t_staleness) and the version-based staleness (v_staleness) [42,46]. The former is calculated by the period between the last time the local topology database is updated and the moment the controller performs a read operation on its local topology database. The latter is determined by the version difference between the real version of the local database and the one at the moment where the controller performs a read operation.
Similar to the first phase of SINA east–west interface validation, each experiment is repeated 100 times. The running scenario for each run is exactly replicated for different tests. The confidence interval is shown in the following obtained results in keeping the confidence level of 95%.

5.2.3. Experimental Results

For the first step, the two parameters N W and N R are fixed to the values of 18 and 1, respectively. In other words, we reevaluate our proposal with the active replication method in satisfying strong consistency condition: N W + N R > N (the number of controllers in our experiment, N, is 18). The obtained results for WriteDelay and ReadDelay are illustrated in Figure 8. The result showed that the curve of ReadDelay is always stable with a small value of 2 (ms) because the N R is fixed to the value of 1. In other words, this short and stable period is explained by the fact that each controller requests the topology data from only one controller. Meanwhile, the WriteDelay value is gradually decreasing from 95 down to 70 (ms). Its stability is also reflected in decreasing the confidence interval from 7 down to 1.9 (ms).
From the following experiments, the Q-Learning is performed with the parameters γ = 0.8 and α = 0.6 . In the beginning, the initial values of N R and N W are 4 and 14, respectively. The value of the write threshold is fixed to 50 (ms). Three scenarios are launched with three different values of the Read-threshold: 10 ms, 30 ms, and 50 ms. The value ϵ of the selection mechanism ϵ -greedy is fixed to 10%. We used the threshold in order to control the bounds of the write delay, read delay, and version staleness. The following results will demonstrate the capacity of the bound control.
As shown in Figure 9, although the adaptive selection of the value N R increases the read delay compared to the active replication method above, these delay values do not exceed the fixed thresholds 10 ms, 20 ms, and 30 ms. After about 1200 s of initialization, the delay variation related to the three thresholds 10 ms, 30 ms, and 50 ms become stable under the correspondent threshold values. Thereby, this result showed that the proposed algorithm had established a stable delay for the read operation. Similarly, the adaptive selection of the value N W of the proposed algorithm decreases the write delay. As a result, the write delay in three cases is always less than the fixed write threshold value of 50 ms. Concretely, the convergence values of the mean value of write delay for three read threshold’s cases—10 ms, 30 ms, and 50 ms—are 45.2 s, 40 s, and 38.3 s, respectively. This obtained result also showed that the more the read threshold is increased, the more the write delay value is reduced with a fixed write threshold.
The obtained results in Figure 9 showed that the proposed algorithm guarantees a bound control for the two metrics read and write delay. That is explained by the value of the reward in Equation (3), where we assign a terrible value if the two read and write values exceed the two thresholds.
The version staleness and time staleness are illustrated in Figure 10. After the 1500 s, the value of version staleness becomes stable. Concretely, the three cases of read thresholds 10 ms, 30 ms, and 50 ms have the convergent mean values of 0.4, 0.11, and 0.3, respectively. Significantly, the version staleness metric is always less than the fixed version staleness threshold (0.5). Similar to the previous case, the version staleness value is also bounded. The curve corresponding to the read threshold of 30 ms attains the smallest range value, showing the importance of selecting the read threshold value. An appropriate selection of read-threshold gives a good consistency level in terms of version staleness. Concerning the obtained results of time staleness, after the first 1500 ms with a high fluctuation, the value of time staleness returns to a stable state. In three cases of read thresholds 10 ms, 30 ms, and 50 ms, the convergent mean values of time staleness are 2641, 2412, and 2502, respectively.
According to the overhead result, as shown in Figure 11, the fixed case always obtains the highest overhead value of 4950 (Bytes/s) because its sum of two values N W and N R is greater than the other ones. After about 1500 s, the three curves corresponding to read thresholds of 10 ms, 30 ms, and 50 ms become gradually stable with the convergent mean values of 2670, 2415, and 2500, respectively.
The obtained experimental results showed that the proposed solution could maintain an acceptable consistency level (metrics of version staleness and time staleness) while continuously controlling the bound of different network metrics such as read delay, write delay, and overhead.

6. Conclusions

This paper proposes an east–west interface called SINA to provide interoperability and scalability for heterogeneous and distributed SDN networks. In the first step, since we aim to validate its operations in a large-scale SDN network, SINA is implemented with active replication to maintain the highest consistency level. The experiments showed that SINA attains outstanding results compared to other well-known related interfaces regarding reading/writing latency and overhead. However, despite its high consistency level, the active replication has revealed its weaknesses in the excessive use of system resources (bandwidth, processing capacity, etc.). That motivated us to propose an adaptive and continuous consistency model in applying the quorum-based replication method in the application layer of SINA. This Q-Learning-based algorithm, inspired by the Vegas strategy—a congestion avoidance solution for TCP—transformed SINA into a more scalable and innovative replication policy. As a result, the experiments show that SINA can connect heterogeneous and distributed SDN domains. In addition, with the proposed adaptive, quorum-based replication, SINA maintains an acceptable consistency level while providing impressive network metrics such as read delay, write delay, and overhead. For future work, we will perform other replication methods for comparison to have more experiments with other consistency mechanisms.

Author Contributions

Conceptualization, H.-A.T. and S.S.; Data curation, H.-N.N.; Formal analysis, N.-T.H.; Methodology, H.-A.T. and S.S.; Project administration, H.-A.T.; Software, H.-N.N.; Supervision, H.-A.T. and S.S.; Validation, N.-T.H. and H.-N.N.; Visualization, H.-N.N.; Writing—original draft, N.-T.H. and H.-A.T.; Writing—review & editing, H.-A.T. and S.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Vietnam National Foundation for Science and Technology Development (NAFOSTED) under grant number 102.02-2019.314.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data sharing not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Prajapati, A.; Sakadasariya, A.; Patel, J. Software defined network: Future of networking. In Proceedings of the 2018 2nd International Conference on Inventive Systems and Control (ICISC), Coimbatore, India, 19–20 January 2018; pp. 1351–1354. [Google Scholar]
  2. Mokhtar, H.; Di, X.; Zhou, Y.; Hassan, A.; Ma, Z.; Musa, S. Multiple-level threshold load balancing in distributed SDN controllers. Comput. Netw. 2021, 198, 108369. [Google Scholar] [CrossRef]
  3. Midha, S.; Tripathi, K. Extended Security in Heterogeneous Distributed SDN Architecture. In Advances in Communication and Computational Technology; Springer: Berlin/Heidelberg, Germany, 2021; pp. 991–1002. [Google Scholar]
  4. Vizarreta, P.; Trivedi, K.; Mendiratta, V.; Kellerer, W.; Mas–Machuca, C. DASON: Dependability Assessment Framework for Imperfect Distributed SDN Implementations. IEEE Trans. Netw. Serv. Manag. 2020, 17, 652–667. [Google Scholar] [CrossRef]
  5. Li, M.; Wang, X.; Tong, H.; Liu, T.; Tian, Y. SPARC: Towards a scalable distributed control plane architecture for protocol-oblivious SDN networks. In Proceedings of the 2019 28th International Conference on Computer Communication and Networks (ICCCN), Valencia, Spain, 29 July–1 August 2019; pp. 1–9. [Google Scholar]
  6. Beiruti, M.A.; Ganjali, Y. Load migration in distributed sdn controllers. In Proceedings of the NOMS 2020—2020 IEEE/IFIP Network Operations and Management Symposium, Budapest, Hungary, 20–24 April 2020; pp. 1–9. [Google Scholar]
  7. Li, Z.; Hu, Y.; Hu, T.; Wei, P. Dynamic SDN controller association mechanism based on flow characteristics. IEEE Access 2019, 7, 92661–92671. [Google Scholar] [CrossRef]
  8. Sood, K.; Karmakar, K.K.; Yu, S.; Varadharajan, V.; Pokhrel, S.R.; Xiang, Y. Alleviating Heterogeneity in SDN-IoT Networks to Maintain QoS and Enhance Security. IEEE Internet Things J. 2019, 7, 5964–5975. [Google Scholar] [CrossRef]
  9. Moeyersons, J.; Maenhaut, P.J.; Turck, F.; Volckaert, B. Pluggable SDN framework for managing heterogeneous SDN networks. Int. J. Netw. Manag. 2020, 30, e2087. [Google Scholar] [CrossRef]
  10. Prasad, J.R.; Bendale, S.P.; Prasad, R.S. Semantic Internet of Things (IoT) Interoperability Using Software Defined Network (SDN) and Network Function Virtualization (NFV). In Semantic IoT: Theory and Applications. Studies in Computational Intelligence; Springer: Berlin/Heidelberg, Germany, 2021; Volume 941, pp. 399–415. [Google Scholar]
  11. Brockelsby, W.; Dutta, R. Traffic Analysis in Support of Hybrid SDN Campus Architectures for Enhanced Cybersecurity. In Proceedings of the 2021 24th Conference on Innovation in Clouds, Internet and Networks and Workshops (ICIN), Paris, France, 1–4 March 2021; pp. 41–48. [Google Scholar]
  12. Adedokun, E.; Adekale, A. Development of a Modified East–West Interface for Distributed Control Plane Network. Arid. Zone J. Eng. Technol. Environ. 2019, 15, 242–252. [Google Scholar]
  13. Gerola, M.; Lucrezia, F.; Santuari, M.; Salvadori, E.; Ventre, P.L.; Salsano, S.; Campanella, M. Icona: A peer-to-peer approach for software defined wide area networks using onos. In Proceedings of the 2016 Fifth European Workshop on Software-Defined Networks (EWSDN), Den Haag, The Netherlands, 10–11 October 2016; pp. 37–42. [Google Scholar]
  14. Almadani, B.; Beg, A.; Mahmoud, A. DSF: A Distributed SDN Control Plane Framework for the East/West Interface. IEEE Access 2021, 9, 26735–26754. [Google Scholar] [CrossRef]
  15. Yu, H.; Qi, H.; Li, K. WECAN: An efficient west–east control associated network for large-scale SDN systems. Mob. Netw. Appl. 2020, 25, 114–124. [Google Scholar] [CrossRef]
  16. Jin, X.; Gossels, J.; Rexford, J.; Walker, D. CoVisor: A Compositional Hypervisor for Software-Defined Networks. In Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), Oakland, CA, USA, 4–6 May 2015; pp. 87–101. [Google Scholar]
  17. Yang, G.; Yu, B.y.; Jin, H.; Yoo, C. Libera for programmable network virtualization. IEEE Commun. Mag. 2020, 58, 38–44. [Google Scholar] [CrossRef]
  18. Ahmad, S.; Mir, A.H. Scalability, consistency, reliability and security in sdn controllers: A survey of diverse sdn controllers. J. Netw. Syst. Manag. 2021, 29, 9. [Google Scholar] [CrossRef]
  19. Gao, K.; Nojima, T.; Yu, H.; Yang, Y.R. Trident: Toward Distributed Reactive SDN Programming With Consistent Updates. IEEE J. Sel. Areas Commun. 2020, 38, 1322–1334. [Google Scholar] [CrossRef]
  20. Panda, A.; Scott, C.; Ghodsi, A.; Koponen, T.; Shenker, S. Cap for networks. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, Hong Kong, China, 16 August 2013; pp. 91–96. [Google Scholar]
  21. Botelho, F.; Ribeiro, T.A.; Ferreira, P.; Ramos, F.M.; Bessani, A. Design and implementation of a consistent data store for a distributed SDN control plane. In Proceedings of the 2016 12th European Dependable Computing Conference (EDCC), Gothenburg, Sweden, 5–9 September 2016; pp. 169–180. [Google Scholar]
  22. Aslan, M.; Matrawy, A. Adaptive consistency for distributed SDN controllers. In Proceedings of the 2016 17th International Telecommunications Network Strategy and Planning Symposium (Networks), Montreal, QC, Canada, 26–28 September 2016; pp. 150–157. [Google Scholar]
  23. Zhang, T.; Giaccone, P.; Bianco, A.; De Domenico, S. The role of the inter-controller consensus in the placement of distributed SDN controllers. Comput. Commun. 2017, 113, 1–13. [Google Scholar] [CrossRef] [Green Version]
  24. Benamrane, F.; Benaini, R. An East–West interface for distributed SDN control plane: Implementation and evaluation. Comput. Electr. Eng. 2017, 57, 162–175. [Google Scholar] [CrossRef]
  25. Tootoonchian, A.; Ganjali, Y. Hyperflow: A distributed control plane for openflow. In Proceedings of the 2010 Internet Network Management Conference on Research on Enterprise Networking, San Jose, CA, USA, 27 April 2010; Volume 3. [Google Scholar]
  26. Gude, N.; Koponen, T.; Pettit, J.; Pfaff, B.; Casado, M.; McKeown, N.; Shenker, S. NOX: Towards an operating system for networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 105–110. [Google Scholar] [CrossRef]
  27. Stribling, J.; Sovran, Y.; Zhang, I.; Pretzer, X.; Li, J.; Kaashoek, M.F.; Morris, R.T. Flexible, Wide-Area Storage for Distributed Systems with WheelFS. In Proceedings of the NSDI, Boston, MA, USA, 22–24 April 2009; Volume 9, pp. 43–58. [Google Scholar]
  28. ONF. Atomix: A Reactive Java Framework for Building Fault-Tolerant Distributed Systems. Available online: https://atomix.io (accessed on 15 February 2021).
  29. Koponen, T.; Casado, M.; Gude, N.; Stribling, J.; Poutievski, L.; Zhu, M.; Ramanathan, R.; Iwata, Y.; Inoue, H.; Hama, T.; et al. Onix: A distributed control platform for large-scale production networks. In Proceedings of the OSDI, Vancouver, BC, Canada, 4–6 October 2010; Volume 10, pp. 1–6. [Google Scholar]
  30. Medved, J.; Varga, R.; Tkacik, A.; Gray, K. OpenDaylight: Towards a model-driven sdn controller architecture. In Proceedings of the IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks 2014, Sydney, NSW, Australia, 19 June 2014; pp. 1–6. [Google Scholar]
  31. Akka: Build Powerful Reactive, Concurrent, and Distributed Applications More Easily. Available online: https://www.lightbend.com (accessed on 6 April 2021).
  32. Prometheus. Prometheus—Monitoring System & Time Series Database. Available online: https://prometheus.io/ (accessed on 17 May 2021).
  33. Hassas Yeganeh, S.; Ganjali, Y. Kandoo: A framework for efficient and scalable offloading of control applications. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 13 August 2012; pp. 19–24. [Google Scholar]
  34. Dixit, A.; Hao, F.; Mukherjee, S.; Lakshman, T.; Kompella, R.R. ElastiCon; an elastic distributed SDN controller. In Proceedings of the 2014 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Marina del Rey, CA, USA, 20–21 October 2014; pp. 17–27. [Google Scholar]
  35. Nguyen, H.N.; Tran, H.A.; Souihi, S. SINA: An SDN Inter-Clusters’ Network Application. Available online: https://gitlab.com/souihi/sina (accessed on 3 May 2021).
  36. Berde, P.; Gerola, M.; Hart, J.; Higuchi, Y.; Kobayashi, M.; Koide, T.; Lantz, B.; O’Connor, B.; Radoslavov, P.; Snow, W.; et al. ONOS: Towards an open, distributed SDN OS. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, Chicago, IL, USA, 22 August 2014; pp. 1–6. [Google Scholar]
  37. Bailey, J.; Stuart, S. Faucet: Deploying SDN in the enterprise. Commun. ACM 2016, 60, 45–49. [Google Scholar] [CrossRef] [Green Version]
  38. Bjorklund, M. YANG—A Data Modeling Language for the Network Configuration Protocol (NETCONF); IETF RFC 2010. Available online: https://www.rfc-editor.org/info/rfc6020 (accessed on 9 February 2022).
  39. Asadollahi, S.; Goswami, B.; Sameer, M. Ryu controller’s scalability experiment on software defined networks. In Proceedings of the 2018 IEEE International Conference on Current Trends in Advanced Computing (ICCTAC), Bangalore, India, 1–2 February 2018; pp. 1–5. [Google Scholar]
  40. Mohammed, S.H.; Jasim, A.D. Evaluation of firewall and load balance in fat-tree topology based on floodlight controller. Indones. J. Electr. Eng. Comput. Sci. 2020, 17, 1157–1164. [Google Scholar] [CrossRef]
  41. Khan, M.A.; Goswami, B.; Asadollahi, S. Data visualization of software-defined networks during load balancing experiment using floodlight controller. In Data Visualization; Springer: Singapore, 2020; pp. 161–179. [Google Scholar]
  42. Bailis, P.; Venkataraman, S.; Franklin, M.J.; Hellerstein, J.M.; Stoica, I. Probabilistically bounded staleness for practical partial quorums. arXiv 2012, arXiv:1204.6082. [Google Scholar]
  43. Watkins, C.J.; Dayan, P. Q-learning. Mach. Learn. 1992, 8, 279–292. [Google Scholar] [CrossRef]
  44. Sutton, R.S.; Barto, A.G. Reinforcement Learning: An Introduction; MIT Press: Cambridge, MA, USA, 2018. [Google Scholar]
  45. Brakmo, L.S.; O’Malley, S.W.; Peterson, L.L. TCP Vegas: New techniques for congestion detection and avoidance. In Proceedings of the Conference on Communications Architectures, Protocols and Applications, London, UK, 31 August–2 September 1994; pp. 24–35. [Google Scholar]
  46. Bailis, P.; Venkataraman, S.; Franklin, M.J.; Hellerstein, J.M.; Stoica, I. Quantifying eventual consistency with PBS. VLDB J. 2014, 23, 279–302. [Google Scholar] [CrossRef] [Green Version]
  47. Gomes, E.R.; Kowalczyk, R. Dynamic analysis of multiagent q-learning with epsilon-greedy exploration. In Proceedings of the 26th International Conference on Machine Learning, Montreal, QC, Canada, 14–18 June 2009. [Google Scholar]
  48. Jawaharan, R.; Mohan, P.M.; Das, T.; Gurusamy, M. Empirical evaluation of sdn controllers using mininet/wireshark and comparison with cbench. In Proceedings of the 2018 27th International Conference on Computer Communication and Networks (ICCCN), Hangzhou, China, 30 July–2 August 2018; pp. 1–2. [Google Scholar]
  49. Klassen, F. TcpReplay. Available online: https://tcpreplay.appneta.com/ (accessed on 19 July 2021).
  50. Haßlinger, G.; Hohlfeld, O. The Gilbert-Elliott model for packet loss in real time services on the Internet. In Proceedings of the 14th GI/ITG Conference-Measurement, Modelling and Evalutation of Computer and Communication Systems, Dortmund, Germany, 31 March–2 April 2008; pp. 1–15. [Google Scholar]
Figure 1. Distributed SDN architecture.
Figure 1. Distributed SDN architecture.
Electronics 11 00975 g001
Figure 2. General architecture of SINA.
Figure 2. General architecture of SINA.
Electronics 11 00975 g002
Figure 3. SINA implementations.
Figure 3. SINA implementations.
Electronics 11 00975 g003
Figure 4. Q-Learning algorithm.
Figure 4. Q-Learning algorithm.
Electronics 11 00975 g004
Figure 5. SINA architecture with the adaptive, quorum-based replication module. The numbers (1)–(8) represent flow ID.
Figure 5. SINA architecture with the adaptive, quorum-based replication module. The numbers (1)–(8) represent flow ID.
Electronics 11 00975 g005
Figure 6. Latency and Overhead Analyses.
Figure 6. Latency and Overhead Analyses.
Electronics 11 00975 g006
Figure 7. State transition of switches and links based on 2-State Markov Model of Gilbert.
Figure 7. State transition of switches and links based on 2-State Markov Model of Gilbert.
Electronics 11 00975 g007
Figure 8. ReadDelay and WriteDelay with fixed values of N W = 18 and N R = 1 .
Figure 8. ReadDelay and WriteDelay with fixed values of N W = 18 and N R = 1 .
Electronics 11 00975 g008
Figure 9. ReadDelay and WriteDelay with different values of T h R .
Figure 9. ReadDelay and WriteDelay with different values of T h R .
Electronics 11 00975 g009
Figure 10. Version staleness and time staleness with different values of T h R .
Figure 10. Version staleness and time staleness with different values of T h R .
Electronics 11 00975 g010
Figure 11. Overhead with different values of T h R .
Figure 11. Overhead with different values of T h R .
Electronics 11 00975 g011
Table 1. Characteristics of the SDN controller platforms.
Table 1. Characteristics of the SDN controller platforms.
ArchitectureDesign TypeScalability LevelConsistency LevelLanguage
Physically CentralizedPhysically DistributedFlatHierarchicalStrongEventualWeak
Hyperflow 🗸🗸 High 🗸 C++
POX🗸 Weak🗸 Python
NOX🗸 Weak🗸 Python
ONOS 🗸🗸 Very high🗸 🗸Java
ONIX 🗸🗸 Very high🗸 🗸Python C
OpenDaylight 🗸🗸 Very high🗸 Java
Faucet 🗸🗸 High🗸 Python
Kandoo 🗸 🗸Very high 🗸 Python, C++, C
Table 2. Communication between multiple controllers. The blue and bold numbers are the best values in networks with the same number of controllers. Similarly, the red and bold numbers are the worst values. Explaination for abbreviations: x is an integer number. Pr: Parameter; DT: Data Transmission (bit); Ltc: Latency (second); Low. Lim.: Lower limit of the confidence interval Up. Lim.: Upper limit of the confidence interval; x diff.: x/3 ONOS, x/3 ODL, and x/3 Faucet (using SINA). x ONOS Controllers; x ODL Controllers; x Faucet Controllers: not using SINA.
Table 2. Communication between multiple controllers. The blue and bold numbers are the best values in networks with the same number of controllers. Similarly, the red and bold numbers are the worst values. Explaination for abbreviations: x is an integer number. Pr: Parameter; DT: Data Transmission (bit); Ltc: Latency (second); Low. Lim.: Lower limit of the confidence interval Up. Lim.: Upper limit of the confidence interval; x diff.: x/3 ONOS, x/3 ODL, and x/3 Faucet (using SINA). x ONOS Controllers; x ODL Controllers; x Faucet Controllers: not using SINA.
NetworkPrNordu 1989AbileneAarnetAmres
Low. Lim.Up. Lim.MeanLow. Lim.Up. Lim.MeanLow. Lim.Up. Lim.MeanLow. Lim.Up. Lim.Mean
6 diff.DT2981.34251.33616.37372.19145.58258.89186.612,93611,061.317,887.419,06118,474.2
Ltc0.0110.0510.0310.030.0780.0540.0440.0660.0550.0810.1110.096
6 ONOSDT3075.24764.63919.991819945.89563.410,710.613,44812,079.313,10717,68015,393.5
Ltc0.0290.0470.0380.0330.0870.060.0730.0850.0790.0630.1670.115
6 ODLDT2301.26014.24157.79633.810,072.69853.212,503.614,57213,537.818,321.622,62320,472.3
Ltc0.0430.0810.0620.0280.0780.0530.0870.1050.0960.1030.1450.124
6 FaucetDT35324113.83822.99716.610,258.29987.410,509.213,99112,250.116,108.622,27119,189.8
Ltc0.0130.0510.0320.0220.0840.0530.0250.0710.0480.0810.0950.088
9 diff.DT3214.55004.34109.411,995.513,825.312,910.410,487.615,96413,225.822,11424,67623,395
Ltc0.0340.0420.0380.0340.0880.0610.0560.0840.070.120.1360.128
9 ONOSDT5204.88107.66656.211,610.212,056.811,833.512,636.813,25312,944.917,45319,47218,462.5
Ltc0.0190.0630.0410.0520.0760.0640.0670.1370.1020.1240.1620.143
9 ODLDT3793.65384.84589.210,489.812,534.811,512.313,62115,72614,673.522,144.423,36222,753.2
Ltc0.0490.0770.0630.0490.0770.0630.1070.1430.1250.0930.1310.112
9 FaucetDT3930.26152.45041.39680.410,245.6996311,229.615,40413,316.818,595.621,98320,289.3
Ltc0.0230.0550.0390.04450.05350.0490.0490.0670.0580.1010.1590.13
12 diff.DT2441.96014.34228.19916.914,352.312,134.612,22613,23412,73018,92220,70119,811.5
Ltc0.0820.0920.0870.0770.0910.0840.1250.1410.1330.1050.1770.141
12 ONOSDT3558.86825.45192.112,69413,894.213,294.111,902.613,28012,591.316,710.619,78418,247.3
Ltc0.070.110.090.050.1320.0910.1170.1350.1260.1750.1930.184
12 ODLDT27256279.44502.213,039.515,437.114,238.310,348.412,14811,248.216,884.221,36419,124.1
Ltc0.0570.0850.0710.0590.1430.1010.1570.2250.1910.15080.17120.161
12 FaucetDT6158.77425.16791.98765.812,44010,602.913,756.614,08413,920.317,272.421,87619,574.2
Ltc0.0170.0470.0320.0770.0930.0850.0650.0970.0810.140.1580.149
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Hoang, N.-T.; Nguyen, H.-N.; Tran, H.-A.; Souihi, S. A Novel Adaptive East–West Interface for a Heterogeneous and Distributed SDN Network. Electronics 2022, 11, 975. https://doi.org/10.3390/electronics11070975

AMA Style

Hoang N-T, Nguyen H-N, Tran H-A, Souihi S. A Novel Adaptive East–West Interface for a Heterogeneous and Distributed SDN Network. Electronics. 2022; 11(7):975. https://doi.org/10.3390/electronics11070975

Chicago/Turabian Style

Hoang, Nam-Thang, Hai-Nam Nguyen, Hai-Anh Tran, and Sami Souihi. 2022. "A Novel Adaptive East–West Interface for a Heterogeneous and Distributed SDN Network" Electronics 11, no. 7: 975. https://doi.org/10.3390/electronics11070975

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop