You are currently viewing a new version of our website. To view the old version click .
Electronics
  • Article
  • Open Access

24 November 2022

Application-Aware Flow Forwarding Service for SDN-Based Data Centers

,
,
,
,
and
1
Centro de Investigacion Cientifica y de Educacion Superior de Ensenada, Telematics Division, Ensenada 22860, Mexico
2
Centro de Investigacion Cientifica y de Educacion Superior de Ensenada, Electronics and Telecommunications Department, Ensenada 22860, Mexico
3
Centro de Investigacion Cientifica y de Educacion Superior de Ensenada, Computer Science Department, Ensenada 22860, Mexico
4
Monterrey Unit, Centro de Investigacion Cientifica y de Educacion Superior de Ensenada, Apodaca 66629, Mexico
This article belongs to the Special Issue Recent Advances in Programmable Networks: Challenges and Opportunities

Abstract

Security and Quality of Service (QoS) in communication networks are critical factors supporting end-to-end dataflows in data centers. On the other hand, it is essential to provide mechanisms that enable different treatments for applications requiring sensitive data transfer. Both applications’ requirements can vary according to their particular needs. To achieve their goals, it is necessary to provide services so that each application can request both the quality of service and security services dynamically and on demand. This article presents QoSS, an API web service to provide both Quality of Service and Security for applications through software-defined networks. We developed a prototype to conduct a case study to provide QoS and security. QoSS finds the optimal end-to-end path according to four optimization rules: bandwidth-aware, delay-aware, security-aware, and application requirements (considering the bandwidth, delay, packet loss, jitter, and security level of network nodes). Simulation results showed that our proposal improved end-to-end application data transfer by an average of 45%. Besides, it supports the dynamic end-to-end path configuration according to the application requirements. QoSS also logs each application’s data transfer events to enable further analysis.

1. Introduction

Nowadays, we live in an interconnected world where daily use applications and services to enable video streaming, video game platforms, office applications, remote work, financial services that require handling sensitive information, and medical applications, among many others. Also, a massive amount of data is generated by a wide variety of devices. Specifically, IoT devices will be one of the primary sources of information and, therefore, could become the largest provider for big data science [1] and Artificial Intelligence (AI)-related applications.
Each application has different requirements regarding computing resources, data storage, network quality of service, and security schemes. The applications that make quick decisions require analyzing and processing large amounts of data in the shortest possible time. To achieve their goals, they need to have mechanisms that enable quality of service and security policies, especially when transferring their information among data centers connected with state-of-the-art communication networks.
Security and Quality of Service (QoS) are two critical network services that data center services are required to provide. Security mechanisms provide proof of identity, preserve protected information, and prevent database tampering, data alteration and modification, deviation, duplication, and theft of information [2].
QoS can improve the application’s performance according to their particular needs. The security and quality of service mechanisms are not independent. Some security mechanisms affect the effectiveness of QoS and vice versa. The intelligent management of quality of service parameters supports the provisioning of security strategies for applications that handle sensitive data. The network infrastructure must support several robust routing mechanisms that also provide reliability on the selected paths [3].
Software-defined network (SDN) provides a mechanism that enables applications to request certain services or network parameters such as quality of service, security schemes, or bandwidth, among others [4].
SDN can address the network programmability problem by allowing applications to program networks at run-time, whether intra-domain or even inter-domain, to meet their requirements [5]. This process is considered an advantage of SDN compared to traditional networks. SDNs are gradually spreading to large-scale (such as data centers), and complex networks (multi-agency collaborative networks) [6].
We designed QoSS, which is defined as an API Web prototype to conduct a case study to provide QoS and a security scheme to applications. The QoSS allows applications to send their network and security requirements and gets the optimal end-to-end path considering four optimization schemes: maximum bandwidth, maximum security level, minimum delay, and based on application requirements. In the application requirements optimization scheme, we use a multi-objective optimization method considering the network parameters such as bandwidth, delay, packet loss, and jitter. Also, the security level of each node is considered an additional parameter. In the application requirements optimization scheme, the network and security level parameters must comply with the application requirements. The QoSS configures the optimal path using the REST API provided by the SDN controller. Then, the application transfers data from the source to the destination nodes. The QoSS also logs each application’s data transfer events to enable further analysis.
The QoSS API improves the applications’ performance in their data flow transfer process, providing a QoS-based optimal end-to-end path according to their requirements. Furthermore, it provides a secure scheme optimal end-end-end path for the application data-sensitive transfer process. Figure 1 shows the QoSS API web service general view.
Figure 1. QoSS API Web Service general view.
We organized the rest of the article as follows: Section 2 presents the related work. Section 3 introduces our proposal called QoSS API: its design and implementation. Section 4 describes the experimental setup. Section 5 presents the performance evaluation and the discussion of the results. Section 6 presents the conclusions and future directions.

3. Design and Implementation

In this section, we present the design of QoSS, an API Web that provides QoS and security following application requirements. Our proposal’s main objective is to find the optimal end-to-end path considering four optimization schemes: bandwidth-aware, delay-aware, security-aware, and application requirements (considering the bandwidth, delay, packet loss, jitter, and security level of each node in the network). Besides, it supports the dynamic end-to-end path configuration according to applications requirements. The QoSS API Web prototype also records each application data transfer to enable further analysis.
The problem formalization for optimal end-to-end path selection according to the applications’ QoS and Security level requirements is described below.

3.1. Path Selection: Problem Formalization

In a communication network topology, there are n paths for data flow transfer from source to destination nodes (typically referred to as end-to-end paths), and it is represented in Equation (1):
P s , d = { p 1 , p 2 , p n }
where:
  • s = Source node,
  • d = Destination node,
  • P = Set of paths from the source node s to the destination node d,
  • p = End-to-end path, p P s , d , p n = { l 1 , l 2 , l n } ,
  • l = Network links for each node on an end-to-end path.
The network parameter values are different for each path. These parameters are the metrics for network conditions. Our proposal uses the bandwidth ( B ( p ) ) , delay ( D ( p ) ) , jitter ( J ( p ) ) , and packet loss ( P L R ( p ) ) to provide network QoS. We also use the parameter ( S ( p ) ) to provide the path security level.
The default routing algorithm selects network paths considering the cost or distance between network nodes. The SDN controller uses these metrics to select the shortest path ( p ˜ ). It is represented in Equation (2) as the minimum cost value in n possible paths:
p ˜ = [ m i n ( C s t ( P s , d ) ) ]
The default routing algorithm does not consider other additional parameters that provide network conditions. Some applications should consider these parameters to improve network performance instead of just considering the shortest path. The path ( p n ^ ) considers the network parameters and security level used by our proposal. It is represented in Equation (3):
p n ^ = [ B ^ ( p n ) , S ^ ( p n ) , D ^ ( p n ) , J ^ ( p n ) , P L R ^ ( p n ) ]
Regarding the end-to-end path Security Level, the general process to calculate it is described in Section 2.2 and is represented in Equation (4).
S ( p n ) = l p n s l | S l |
where:
  • p n = End-to-end path, p P s , d , p n = { l 1 , l 2 , l n } ,
  • S = Security level for each network node l p n , S l = { s 1 , s 2 , s l } ,
  • s = Thread vulnerability network node evaluation, s l = t l t x | t | ,
  • t = Values set for each threat for a given node, t x l , t x = { t 1 , t 2 , t x } ,
  • c = Criterion score set for a given threat, c t x , c = { 1 , 2 , 3 , 4 , 5 } .
We used a ( ) ^ symbol to identify a path with better metrics conditions. It must have the maximum available bandwidth and security level among the n paths and are represented in Equations (5) and (6) respectively. Also, this path must have the minimum value of each of the corresponding end-to-end parameters such as delay, jitter, and packet loss among the n paths, represented in Equations (7)–(9).
In end-to-end network path selection, in the case of the bandwidth parameter, it has a concave metric composition where the end-to-end paths ( p n ) were selected considering the minimum capacity bandwidth of the network links ( l n ) that rules the maximum bandwidth for the corresponding ( p n ) . The parameters, such as delay and jitter, have an additive metric composition rule for the end-to-end path. To get the path security level value, we calculated it as the average of the values of each network node in the end-to-end path, as represented in Equation (4). For the scope of our research, we used these criteria for end-to-end path calculation based on QoS constraints and security levels:
B ( p n ) ^ = [ m a x ( B ( P s , d ) ) ] ,
S ( p n ) ^ = [ m a x ( S ( P s , d ) ) ] ,
D ( p n ) ^ = [ m i n ( D ( P s , d ) ) ] ,
J ( p n ) ^ = [ m i n ( J ( P s , d ) ) ] ,
P L R ( p n ) ^ = [ m i n ( P L R ( P s , d ) ) ] ,
where:
  • B ( p n ) = Path available bandwidth,
  • S ( p n ) = Path security level
  • D ( p n ) = Path delay,
  • J ( p n ) = Path jitter,
  • P L R ( p n ) = Path packet loss.
The applications and their network requirements set are represented in Equations (10) and (11):
A = [ a 1 ^ , a 2 ^ , , a n ^ ]
a n ^ = [ B ( a n ^ ) , S ( a n ^ ) , D ( a n ^ ) , J ( a n ^ ) , P L R ( a n ^ ) ]
where:
  • A = A p p l i c a t i o n s e t ,
  • a ^ = A p p l i c a t i o n p e r f o r m a n c e r e q u i r e m e n t s ,
  • B ( a n ^ ) = B a n d w i d t h a p p l i c a t i o n r e q u i r e m e n t ,
  • S ( a n ^ ) = S e c u r i t y l e v e l a p p l i c a t i o n r e q u i r e m e n t ,
  • D ( a n ^ ) = D e l a y a p p l i c a t i o n r e q u i r e m e n t ,
  • J ( a n ^ ) = J i t t e r a p p l i c a t i o n r e q u i r e m e n t ,
  • P L R ( a n ^ ) = P a c k e t l o s s a p p l i c a t i o n r e q u i r e m e n t
In Equation (12), the application requires a minimum bandwidth limit rate, and in Equation (13) a minimum security level. In Equations (14)–(16), each metric has a maximum tolerable limit required by the application. The network and security level parameters must comply with the application’s requirements:
B ( a n ) ^ B ( p n ^ )
S ( a n ) ^ S ( p n ^ )
D ( p n ) ^ D ( a n ^ )
J ( p n ) ^ J ( a n ^ )
P L R ( p n ) ^ P L R ( a n ^ )
As mentioned above, our proposal supports four optimization rules: maximum bandwidth (Equation (5)), maximum security (Equation (6)), minimum delay (Equation (7)), and according to application requirements (complying with lower limits for bandwidth, delay, jitter, packet loss rate, and level of security parameters). The application requirements rule process is described below:
Each application requires a set of network parameters, as described in Equations (12)–(16). To resolve the multi-objective problem [28], we used the ϵ -constraint method [29] for path selection. We define the following objective function, represented in Equations (17)–(19):
m a x ( B ( p n ) , ( S ( p n ) ) ,
m i n ( D ( p n ) , J ( p n ) , P L R ( p n ) )
s . t :
f ( x ) = B ( a n ) ^ B ( p n ^ ) S ( a n ) ^ S ( p n ^ ) D ( p n ) ^ D ( a n ^ ) J ( p n ) ^ J ( a n ^ ) P L R ( p n ) ^ P L R ( a n ^ )
We used the delay parameter as the primary objective, subject to the constraints of the other objectives (end-to-end available bandwidth, security level, jitter, and packet loss). From the set of feasible paths, we minimize the delay to get the optimal path when the available bandwidth and security level are greater than or equal to the application and packet loss rate and jitter are less than or equal to what is required by the application. Equations (20) and (21):
m i n = D ( p n ) ^
s . t :
B ( a n ) ^ B ( p n ^ ) S ( a n ) ^ S ( p n ^ ) J ( p n ) ^ J ( a n ^ ) P L R ( p n ) ^ P L R ( a n ^ )

3.2. API Web Design

The QoSS general design is based on the REST API web paradigm. Figure 3 shows the interaction between the different modules and their communication. It starts with the application that sends to the QoSS API its network service requirements (these can be the quality of service and security level). QoSS API gets the network topology querying the SDN Controller REST API to compute the optimal end-to-end path and performs its configuration on the OF switches through communication by the SDN Controller REST API. QoSS creates a record of the application data transfer events. Figure 4 shows the QoSS API general sequence diagram.
Figure 3. QoSS General Process.
Figure 4. QoSS API general sequence diagram.
The QoSS API consists of the following general processes:
  • API Web Service (endpoints)
    (a)
    apptransfer (Log app data transfer process)
    (b)
    appflowrule (Applications flow rule control)
    (c)
    appqsconf (Get applications QoS parameters)
  • Communicator
    (a)
    Get network topology
    (b)
    Get end-to-end paths
  • Optimization
    (a)
    Compute optimal path
    (b)
    Configure optimal path

3.3. API Web Service

This process describes an API Web design that allows applications to communicate via HTTP commands, such as:
  • get: fetch an existing resource.
  • post: create a new resource.
  • put: create or update a resource.
  • delete: delete a resource.
We designed the following Uniform Resource Identifiers (URIs) or API endpoints:

3.4. API Endpoint: Apptransfer

The application’s transfer log is stored using the apptransfer endpoint. Table 3 shows the resource description for apptransfer endpoint.
Table 3. RESOURCE: apptransfer.
Table 4 shows the apptransfer endpoint specification.
Table 4. API endpoint specification: apptransfer.
Listing 1. Response array of JSON objects for apptransfer endpoint.
{
 "idtlog": 12,
 "idapp": "6000",
 "snode": 1,
 "dnode": 20,
 "ipsource": "1",
 "ipdest": "6",
 "r_bl": 85,
 "r_dl": 30,
 "r_sl": 0,
 "r_jl": 8,
 "r_plr": 0.0,
 "optrule": "MAX_BL",
 "idflow": 6,
 "priority": 201,
 "ipprot": 6,
 "appclass": "BE",
 "optpath": "1, 2, 5, 4, 17, 18, 20",
 "starttime": "2022:07:18 10:29:20",
 "endtime": "2022:07:18 10:32:41"
},
{. . .}
Listing 2. Request <body> JSON object for apptransfer endpoint.
{
 "idtlog": 12,
 "snode": 1,
 "dnode": 20,
 "ipsource": "1",
 "ipdest": "6",
 "r_bl": 85,
 "r_dl": 30,
 "r_sl": 0,
 "r_jl": 8,
 "r_plr": 0.0,
 "optrule": "MAX_BL",
 "idflow": 6,
 "priority": 201,
 "ipprot": 6,
 "appclass": "BE",
 "optpath": "1, 2, 5, 4, 17, 18, 20",
 "starttime": "2022:07:18 10:29:20",
 "endtime": "2022:07:18 10:32:41"
}
Listing 3. Request <body> JSON object for apptransfer endpoint.
{
 "idflow": 6,
 "optpath": "1, 2, 5, 4, 17, 18, 20",
 "starttime": "2022:07:18 10:29:20",
 "endtime": "2022:07:18 10:32:41"
}

3.5. API Endpoint: Appflowrule

The appflowrule endpoint receives a JSON file to manage application-specific flow rules. Table 5 shows the appflowrule endpoint specification.
Table 5. API endpoint specification: appflowrule.
Listing 4. Request <body> JSON object for appflowrule endpoint.
{
 "priority": 200,
 "date_created": "2022-08-09 12:00:00"
}

3.6. API Endpoint: Appqsconf

The appqsconfig endpoint receives a JSON file with the application QoS and Security level requirements. Table 6 shows the appqsconfig endpoint specification.
Table 6. API endpoint specification: appqsconfig.
Listing 5. Request <body> JSON object for appqsconfig endpoint.
{
     "ipsource": 10.0.0.1,
     "ipdest": 10.0.0.6,
     "r_bl": 85,
     "r_dl": 30,
     "r_sl": 5,
     "r_jl": 8,
     "r_plr": 0.008,
     "optrule": "MAX_BL",
     "priority": 201,
     "apikey":"secretapik123xxxx"
}
In Listing 5, the application sends a JSON file to the QoSS API web containing the IP addresses of the source and destination nodes, as well as the end-to-end requirements in terms of minimum bandwidth, minimum security level, maximum delay, maximum jitter, maximum packet loss, flow priority, and the optimization rule, which in this case is the maximum bandwidth that meets the minimum requirement.

3.7. Communicator Process

The QoSS starts the communicator process to get the network topology querying the SDN controller. Then, it creates an internal network to:
  • Assign weights on each link (bandwidth, security level, delay, jitter, packet loss rate)
  • Find the end-to-end paths from the source to destination hosts.
The Communicator process creates a set of end-to-end paths to be used by the Optimization process.

3.8. Optimization Process

The QoSS proposes that applications can request the optimization rule according to their requirements in network parameters to transfer their data flows. This process can support four optimization rules: maximum bandwidth, maximum security level, minimum delay, and according to application requirements (complying with bandwidth, delay, jitter, packet loss rate, and the security level parameters).
Section 3.1 describes the process for computing the optimal path according to the optimization rule required by the applications.
Once the QoSS gets the optimal path, it configures the flow rules containing the optimal path with the application priority higher than the controller forwarding method. Each data flow rule is allocated and configured in the OF switches for the end-to-end path through the SDN controller.
The following section describes the simulation model and experiment setup for the application dataflow transfer process among hosts located in distributed domains.

4. Experimental Setup

Simulation Model

The simulation model considers a network topology for host-to-host data flow transfers between two SDN-enabled distributed clouds. We propose a distributed network, as illustrated in Figure 5. We aim to find the optimal path to transfer the most dataflow through the end-to-end nodes. In this case, we transfer dataflow between H1 and H14 hosts.
Figure 5. Experimental topology.
Mininet [30] is one of the most used platforms in the literature for SDN emulation. It has compatibility and flexibility with other applications and controllers. We used Mininet for experimental setup and network testbed.
We installed Mininet in a virtual machine with a Linux Debian operating system, with 4vCPUs, 16 GB of RAM, and 200 GB of disk space (NLSAS disks). Two other virtual machines were used for the OpenDaylight SDN controllers with the same specifications.
List of software and tools used:
  • Linux Debian 10
  • Mininet 2.3
  • OpenDayLight (ODL) SDN Controller
  • Iperf for data stream transfers performance
  • Anaconda Scientific Python
  • QoSS API web service:
    Python Flask with SQLAlchemy, JWT
    Python 3 programming language
    Built-in Python Flask Web Server
    Postman for API Rest testing
    Visual Studio Code
Figure 5 shows the experimental topology of an SDN-enabled network with two domains. Controllers A and B managed their domains, respectively. Since they are independent domains, each controller gets its domain’s status and network information. In [31], the authors describe an inter-domain approach where each local SDN controller communicates with a global SDN controller. In our proposal, we developed the QoSS API to communicate with the SDN controllers and find the end-to-end paths among each domain host.
For this scenario, the network parameters configured in each link are delay, jitter, and bandwidth, and propose a security level for each node. We simulated the network parameters and the security level values. Regarding the security level parameter, we simulated it according to the evaluation process described in Section 2.2 and represented in Equation (4). Table 7 shows a vulnerability evaluation score for a network node link interface (S6,S14). The resulting score of 2 indicates that the network node has Low protection according to the threat criterion evaluation in Table 1.
Table 7. Vulnerability evaluation simulation scenario: Threats evaluation for the network node link interface (S6,S14). Evaluation’s result (average): 2.
Table 8 shows the security level evaluation for one of the end-to-end paths from H1 to H14 hosts. This path has Low security as referred in Table 2 but is closer to Medium according to its evaluation result of 2.7. Additional security controls could be applied to network nodes’ threat evaluation to increase the security level score.
Table 8. Vulnerability evaluation simulation scenario: Path Security Level from hosts H1 to H14. Evaluation’s result (average): 2.7.
The QoSS API provides applications to request a secure end-to-end path based on an optimization scheme considering the path security level value.
In the Mininet simulator, we assigned values for each link’s delay, jitter, and bandwidth parameters. The security level was added as an additional metric in the QoSS API optimization process. The metrics values corresponding to each link in the experimental topology for A and B domains are represented in Table A1 and Table A2 listed in Appendix A.
In this work, we used the OpenDayLight (ODL) [13] controller for its flexibility in getting the network topology information and providing a REST API that enables network programmability. The QoSS API assigned the flow rules on each OF switch to accomplish application QoS or security level optimization using its API endpoints described in Section 3.
Mininet emulates the experimental network topology where each domain uses its ODL controllers. Controller A Domain has 21 OpenFlow (OF) switches and 8 compute hosts, while Controller B Domain has 23 OF switches and 6 compute hosts.
The QoSS API gets the network topology querying the SDN controller REST API, then it finds the end-to-end paths from source and destination nodes. If nodes belong to different domains, it is necessary to perform an end-to-end path selection process in each domain, establishing the end-to-end path between the source/destination node. Once the QoSS API gets the optimal path, it configures the flow rules on each OF device through the SDN controller. Finally, the QoSS API end-to-end optimal path is used to forward the application dataflow transfer from the source to the destination node.
In our experiment, the controller default routing method is based on the path with minimum hops from H1 to H14 hosts.
We defined the following steps for tests execution:
  • Experimental topology development using the Python CLI provided by Mininet.
  • Create an inter-domain approach network topology with two domains (A and B). Use one ODL external controller per domain.
  • Run network performance tests from H1 to H14 with IPERF using TCP and UDP dataflows with Controller default data flow forwarding:
    (a)
    First tests set: Execute data transfer test (H1 to H14). Get the elapsed time in seconds.
    (b)
    Second tests set: Execute data transfer test (H1 to H14). Get the number of Mbps transferred for a specific period of time.
  • Repeat step 3 with QoSS API using different optimization rules (MAX_BL, MIN_DL, and APP_RT).
  • Get results.

5. Performance Evaluation

We used IPERF [32] to test network performance between hosts H1 and H14, applying the ODL controller default routing method and QoSS API web-based on MIN_DL, and MAX_BL optimization rules in the simulation model. IPERF was configured with default values and set time intervals to 200 s for each data transfer. We repeated the experiment 20 times for TCP, and UDP data flows.
The QoSS API selected the end-to-end paths that matched the bandwidth, delay, jitter, and security level criterion. Table 9 shows the QoSS optimal paths and the ODL default path metrics used in the test sets.
Table 9. ODL default and QoSS optimal paths metrics from Hosts 1 to 14 in the simulation model.
Our first experiment goal is to measure the application completion time when transferring 1 GB of data using the ODL controller default method compared to the QoSS API maximum bandwidth (MAX_BL) optimization rule. The controller default transfer time was 240.31 s on average, with a standard deviation of 10.16 s. Meanwhile, the QoSS API MAX_BL optimal path requires less than half of the time to transfer the same amount of data, with an average of 91.34 s and a standard deviation of 0.20 s, a 62% improvement. We also compared the ODL default method to the QoSS API minimum delay (MIN_DL) optimization rule. Figure 6 shows the evaluation results.
Figure 6. ODL vs. QoSS API optimization rules comparison. Time elapsed (in seconds) for each test to transfer 1 GB of raw data.
The second set of experiments considered the ODL controller default and QoS application requirements. In this scenario, we evaluated the advantages of using the QoSS API APP_RT optimization rule compared to the path provided by the ODL SDN controller.
The application QoS and security level requirements for end-to-end paths were: bandwidth ≥ 70 Mbps, delay ≤ 145 ms, jitter ≤ 15 ms, and the security level 3 . We used the QoSS optimization rule based on application requirements (APP_RT). The metric values for the QoSS API APP_RT selected end-to-end path are shown in Table 9.
IPERF was used to transfer data flows between H1 and H14 hosts. Using TCP and UDP flows, we measured the data transfer capacity in MB with a time interval of 200 s. As in the previous cases, we performed the IPERF tests 20 times.
The ODL controller obtained an average of 833 MB with UDP dataflows, and the QoSS API APP_RT transferred 1217 MB. In this test, the QoSS transferred around 45% more data than the ODL controller in the same time interval. Regarding the TCP flow tests, the controller transferred 844.4 MB, and the QoSS API APP_RT transferred 2201 MB. The UDP and TCP test results are shown in Figure 7 and Figure 8. The TCP and UDP transfer rate comparison between the controller default versus the QoSS API APP_RT flow forwarding methods are shown in Figure 9 and Figure 10.
Figure 7. UDP Data transfer comparison. Controller default (ODL -SPF) vs. QoSS API (APP_RT). Time interval: 200 s.
Figure 8. TCP Data transfer comparison. Controller default (ODL -SPF) vs. QoSS API (APP_RT). Time interval: 200 s.
Figure 9. TCP Data transfer rate comparison. Controller default vs. QoSS API (APP_RT).
Figure 10. UDP Data transfer rate comparison. Controller default vs. QoSS API (APP_RT).
The test results showed that the QoSS API APP_RT optimal path considering a QoS approach has a higher performance than the path provided by the SDN controller default method. In the test results, it is observed that the QoSS API improved the application data transfer process by an average of 45%, and in some cases, 62% compared to the SDN controller method.
The controller default algorithm seeks to establish a path regardless of the network conditions. This algorithm selects the shortest path by default, considering a single metric for the routing process.
Concerning the security level required by the application (≥3), Figure 11 shows that only the QoSS APP_RT and the QoSS Max_BL optimal paths meet the requirement while the ODL default path does not. As a result, our proposal enables applications to use an end-to-end network path with a specific security level requirement while also benefiting from its performance.
Figure 11. ODL vs. QoSS API Path Security Level Comparison.

6. Conclusions

The QoSS API web enhances applications’ performance by providing dynamic and on-demand QoS and security-level optimal end-to-end paths. The path selection process considers network conditions and application requirements. The QoSS API web is adaptive for any routing condition that can be established. In contrast, the controller default algorithm does not address these essential features to improve the routing service.
Our proposal QoSS API provides end-to-end paths that meet the QoS requirements established by applications, such as bandwidth, delay, jitter, and packet loss rate, improving their performance by an average of 45%, and in some cases by 62%. Furthermore, QoSS provides end-to-end paths with a specific security level that can be used for data-sensitive applications. QoSS also creates a log of each application’s data transfer events to enable further analysis for a decision-making process. QoSS API web prototype also enhances the development of SDN testbeds.
In future work, we will improve the QoSS API web service to provide additional application requirements such as computing resources, storage, and security services for data-sensitive applications. Also, to support AI-related applications and a software-defined data center cloud architecture.

Author Contributions

All the authors were involved in research design and conceptualization; Writing—original draft, J.E.L.-R., J.E.G.-T. and R.R.-R.; Methodology, J.E.L.-R., A.T., S.V.-R. and A.G.-M.; Formal analysis, J.E.G.-T., A.T. and R.R.-R.; Writing—review and editing, J.E.L.-R., R.R.-R., S.V.-R. and A.G.-M. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by the Consejo Nacional de Ciencia y Tecnologia (CONACYT, Mexico), and the Centro de Investigacion Cientifica y de Educacion Superior de Ensenada, Baja California, (CICESE, Mexico).

Data Availability Statement

The data presented in this study are available in Appendix A.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
SDNSoftware Defined Network
ISMSInformation Security Management System
QoSQuality of Service
APIApplication Programming Interface
RESTRepresentational State Transfer

Appendix A

Table A1 and Table A2 show the metrics values corresponding to each link in the experimental topology for A and B domains.
Table A1. Controller A Network Node metrics in the simulation model.
Table A1. Controller A Network Node metrics in the simulation model.
LinkMetricsLinkMetricsLinkMetrics
S1, S220, 2.2, 0, 100S4, S1220, 3.6, 0, 100S11, S1820, 2, 0, 70
S1, S325, 3.5, 0, 100S5, S720, 3.5, 10, 100S11, S1925, 2, 0, 100
S1, S410, 2.5, 0, 100S5, S912, 4.5, 0, 100S12, S2055, 2, 0, 100
S1, S55, 3.8, 0, 100S5, S1125, 2.7, 0, 100S12, S2115, 2, 0, 80
S2, S620, 2.3, 0, 100S5, S1315, 3.5, 0, 100S13, S2015, 2, 5, 80
S2, S815, 4.2, 0, 100S6, S1480, 2, 10, 80S13, S210, 2, 0, 100
S2, S1025, 3.8, 0, 100S6, S1560, 2, 0, 60S14, H10, 2, 0, 100
S2, S1210, 3.6, 0, 100S7, S1425, 2, 0, 100S15, H20, 2, 0, 80
S3, S725, 3.5, 5, 100S7, S1520, 2, 5, 80S16, H30, 2, 0, 70
S3, S920, 4.5, 0, 100S8, S1620, 2, 0, 100S17, H40, 2, 0, 100
S3, S1110, 2.7, 0, 100S8, S1715, 2, 0, 70S18, H50, 2, 0, 100
S3, S1320, 3.5, 5, 100S9, S1610, 2, 5, 50S19, H60, 2, 0, 70
S4, S615, 2.3, 0, 100S9, S1715, 2, 5, 80S20, H70, 2, 0, 80
S2, S810, 4.2, 0, 100S10, S1815, 2, 0, 80S21, H80, 2, 0, 100
S4, S1015, 3.8, 0, 100S10, S1910, 2, 0, 50
100Metrics: delay (ms), security, jitter (ms), and bandwidth (Mbps).
Table A2. Controller B Network Node metrics in the simulation model.
Table A2. Controller B Network Node metrics in the simulation model.
LinkMetricsLinkMetricsLinkMetrics
S22, S2315, 2.5, 0, 100S27, S3415, 4.4, 5, 80S34, S3910, 2, 0, 80
S22, S2410, 4.5, 0, 100S28, S3315, 4.4, 0, 100S34, S4020, 2, 0, 100
S22, S255, 3.8, 0, 100S28, S3420, 3.8, 0, 80S35, S4115, 2, 0, 100
S22, S265, 3.6, 0, 100S28, S3515, 2.2, 10, 60S35, S4215, 2, 0, 80
S23, S2715, 3.5, 0, 100S29, S3415, 3.8, 0, 70S36, S4110, 2, 0, 70
S23, S2915, 2.7, 0, 100S29, S3520, 2.2, 0, 80S36, S4215, 2, 0, 100
S23, S3125, 3.6, 0, 100S29, S3620, 3.6, 0, 100S37, S4320, 2, 0, 100
S24, S2810, 4.2, 0, 100S30, S3515, 2.2, 0, 70S37, S4410, 2, 0, 70
S24, S3015, 4.4, 0, 100S30, S3615, 3.6, 0, 100S38, S4315, 2, 0, 80
S24, S3220, 2.7, 0, 100S30, S3715, 4, 5, 80S38, S4415, 4.5, 0, 100
S25, S2710, 3.4, 0, 100S31, S3615, 2, 5, 80S39, H90, 020, 100
S25, S2915, 2.7, 0, 100S31, S3710, 2, 0, 100S40, H100, 2, 0, 100
S25, S3110, 3.6, 0, 100S31, S3820, 2, 0, 70S41, H110, 2, 0, 100
S26, S2815, 4.2, 0, 100S32, S3720, 2, 0, 100S42, H120, 2, 0, 100
S26, S3010, 4.4, 0, 100S32, S3825, 2.5, 0, 100S43, H130, 2, 0, 100
S26, S325, 2.7, 0, 100S33, S3915, 2, 0, 100S44, H140, 2, 0, 100
S27, S3310, 3, 5, 100S33, S4010, 2, 0, 70
Metrics: delay (ms), security, jitter (ms), and bandwidth (Mbps).

References

  1. Xuan, S.; Zhang, Y.; Tang, H.; Chung, I.; Wang, W.; Yang, W. Hierarchically Authorized Transactions for Massive Internet-of-Things Data Sharing Based on Multilayer Blockchain. Appl. Sci. 2019, 9, 5159. [Google Scholar] [CrossRef]
  2. Bays, L.; Oliveira, R.; Barcellos, M.; Gaspary, L.; Madeira, E. Virtual network security: Threats, countermeasures, and challenges. J. Internet Serv. Appl. 2015, 6, 1. [Google Scholar] [CrossRef]
  3. Mao, J.; Liu, J.; Qi, C.; Wang, M.; Cheng, H.; Chen, J. RouteGuardian: Constructing secure routing paths in software-defined networking. Tsinghua Sci. Technol. 2017, 22, 400–412. [Google Scholar] [CrossRef]
  4. Stallins, W. Software-Defined Networks and OpenFlow. Internet Protocol J. 2013, 16, 2–14. [Google Scholar]
  5. Shah, S.A.; Wu, W.; Lu, Q.; Zhang, L.; Sasidharan, S.; DeMar, P.; Guok, C.; Macauley, J.; Pouyoul, E.; Kim, J.; et al. AmoebaNet: An SDN-enabled network service for big data science. J. Netw. Comput. Appl. 2018, 119, 70–82. [Google Scholar] [CrossRef]
  6. Lu, Y.; Fu, Q.; Xi, X.; Chen, Z.; Zou, E.; Fu, B. A policy conflict detection mechanism for multi-controller software-defined networks. Int. J. Distrib. Sens. Netw. 2019, 15:5, 1–12. [Google Scholar] [CrossRef]
  7. Akyildiz, I.F.; Lee, A.; Wang, P.; Luo, M.; Chou, W. A roadmap for traffic engineering in software defined networks. Comput. Netw. 2014, 71, 1–30. [Google Scholar] [CrossRef]
  8. Kreutz, D.; Ramos, F.; Verissimo, P.; Rothenberg, C.E.; Azodolmolky, S.; Uhlig, S. Software-Defined Networking: A Comprehensive Survey. Proc. IEEE 2015, 103, 14–76. [Google Scholar] [CrossRef]
  9. OpenFlow. Open Networking Foundation. Available online: https://www.opennetworking.org (accessed on 18 December 2021).
  10. Isyaku, B.; Mohd Zahid, M.S.; Bte Kamat, M.; Abu Bakar, K.; Ghaleb, F.A. Software Defined Networking Flow Table Management of OpenFlow Switches Performance and Security Challenges: A Survey. Future Internet 2020, 12, 147. [Google Scholar] [CrossRef]
  11. Paliwal, M.; Shrimankar, D.; Tembhurne, O. Controllers in SDN: A review report. IEEE Access 2018, 6, 36256–36270. [Google Scholar] [CrossRef]
  12. Gupta, N.; Maashi, M.S.; Tanwar, S.; Badotra, S.; Aljebreen, M.; Bharany, S. A Comparative Study of Software Defined Networking Controllers Using Mininet. Electronics 2022, 11, 2715. [Google Scholar] [CrossRef]
  13. OpenDayLight Project. Available online: https://www.opendaylight.org (accessed on 20 December 2021).
  14. Shin, G.Y.; Hong, S.S.; Lee, J.S.; Han, I.S.; Kim, H.K.; Oh, H.R. Network Security Node-Edge Scoring System Using Attack Graph Based on Vulnerability Correlation. Appl. Sci. 2022, 12, 6852. [Google Scholar] [CrossRef]
  15. Common Vulnerability Scoring System SIG. Available online: https://www.first.org/cvss/ (accessed on 30 October 2022).
  16. Yoon, S.; Cho, J.-H.; Kim, D.S.; Moore, T.J.; Free-Nelson, F.; Lim, H. Attack Graph-Based Moving Target Defense in Software-Defined Networks. IEEE Trans. Netw. Serv. Manag. 2020, 17, 1653–1668. [Google Scholar] [CrossRef]
  17. Reyes, J.; Fuertes, W.; Arévalo, P.; Macas, M. An Environment-Specific Prioritization Model for Information-Security Vulnerabilities Based on Risk Factor Analysis. Electronics 2022, 11, 1334. [Google Scholar] [CrossRef]
  18. ISO/EIC 27001 Information Security Management Homepage. Available online: https://www.iso.org/isoiec-27001-information-security.html (accessed on 20 October 2022).
  19. PILAR MAGERIT 3 Risk Management Methodology. Available online: https://pilar.ccn-cert.cni.es/index.php/en/methodology/pilar-methodology (accessed on 19 October 2022).
  20. Egilmez, H.E.; Dane, S.T.; Bagci, K.T.; Tekalp, A.M. OpenQoS: An OpenFlow Controller Design for Multimedia Delivery with End-to-End Quality of Service over Software-Defined Networks. In Proceedings of the Signal & Information Processing Association Annual Summit and Conference, Hollywood, CA, USA, 3–6 December 2012. [Google Scholar]
  21. Owens, H.; Durresi, A. Video over Software-Defined Networking (VSDN). In Proceedings of the 16th International Conference on Network-Based Information Systems, Gwangju, Korea, 4–6 September 2013. [Google Scholar]
  22. Karaman, M.; Gorkemli, B.; Tatlicioglu, S.; Komurcuoglu, M.; Karakaya, O. Quality of Service Control and Resource Priorization with Software Defined Networking. In Proceedings of the 1st IEEE Conference on Network Softwarization (NetSoft), London, UK, 13–17 April 2015. [Google Scholar]
  23. Govindarajan, K.; Meng, K.; Ong, H.; Tat, W.M.; Sivanand, S.; Leong, L.S. Realizing the Quality of Service (QoS) in Software-Defined Networking (SDN) Based Cloud Infrastructure. In Proceedings of the 2nd International Conference on Information and Communication Technology (ICoICT), Bandung, Indonesia, 28–30 May 2014. [Google Scholar]
  24. Tomovic, S.; Prasad, N.; Radusinovic, I. SDN control frame- work for QoS provisioning. In Proceedings of the IEEE 22nd Telecommunications Forum, Belgrade, Serbia, 25–27 November 2014. [Google Scholar]
  25. Tajiki, M.M.; Akbari, B.; Shojafar, M.; Ghasemi, S.H.; Barazandeh, M.L.; Mokari, N.; Chiaraviglio, L.; Zink, M. CECT: Computationally efficient congestion-avoidance and traffic engineering in software-defined cloud data centers. Clust. Comput. 2018, 21, 1881–1897. [Google Scholar] [CrossRef]
  26. Demircioglu, E.D.; Kalipsiz, O. API Message-Driven Regression Testing Framework. Electronics 2022, 11, 2671. [Google Scholar] [CrossRef]
  27. Baniaș, O.; Florea, D.; Gyalai, R.; Curiac, D.-I. Automated Specification-Based Testing of REST APIs. Sensors 2021, 21, 5375. [Google Scholar] [CrossRef] [PubMed]
  28. Coello, C.A.; Lamont, G.B.; Van Veldhuizen, D.A. Evolutionary Algorithms for Solving Multi-Objective Problems; Springer: Boston, MA, USA, 2007. [Google Scholar] [CrossRef]
  29. Parvizi, M.; Shadkam, E.; Jahani, N. A hybrid COA/ϵ-constraint method for solving multiobjective problems. Int. J. Found. Comput. Sci. Technol. 2015, 5, 27–40. [Google Scholar] [CrossRef]
  30. Mininet SDN Simulator. Available online: http://www.mininet.org (accessed on 10 February 2022).
  31. Lee, G.M.; Ryu, D.K.; Park, G. Software-defined networking approaches for link failure recovery: A survey. Sustainability 2020, 12, 4255. [Google Scholar]
  32. IPERF Network Performance Tool. Available online: https://iperf.fr (accessed on 25 April 2022).
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.