Keywords

1 Introduction

For the rapid development trend, high bandwidth and low delay requirements are major challenges with the emergence of new techniques like mobile communication and 5G. Since the network traffic is increasing due to a wider spectrum of new applications, it is important to address the essential trade-off problem of appropriate allocation of restrict network resources and relatively efficient routing computing method. The QoS demands required by different applications are diversity, and there are various flows existed in same application. In addition, even in the similar types of applications there exists some different QoS demand flows. For instance, real-time multimedia applications usually require high QoS demands on bandwidth and delay but are tolerant to packet loss rate, while the high definition video streaming and the online competitive gaming have high data rate need and strict latency guarantee respectively. Furthermore, in the scenario of multimedia delivered network, there are diverse specific types of flows such as, video, audio, imaging, etc.

Custom route of path decision should be made for each flow according to its QoS requirements and network conditions, which is conducive to the suitable assignment of limited network resource. On the one hand, if every flow selects the shortest path greedily, it would bring about local congestion so that the subsequent coming packets may be dropped. On the other hand, more packets could be accepted with balancing network traffic although it may consume excessive resource and derive long propagation delay. Therefore, the routing theory needs to be customized for some special flows according to the perception of QoS requirements and the detection of network conditions in union, which is conducive to optimal QoS guarantee and network resource orchestration [1, 2].

Moreover, there is no one algorithm can outperform all the remaining ones in every case, while there are always some scenarios where an algorithm performs well. However, the QoS aware theory makes the routing algorithm even more complex considering with classifying various flows to match dynamic and adaptive strategy respectively. Hence, the routing strategy should be trade-off between the optimality and simplicity without too much processing overhead or memory consumption due to its high complexity. Compared to some steadily and inflexible strategy aiming to realize better average performance, we present a novel mechanism to improve the network performance and reduce the computing complexity to some extent.

Considering traffic distribution state, QoS requirements of flows and dynamic available bandwidth resource, the proposed strategy enhances the high utilization of the overall resource at the cost of increasing resource consumed by individual flows. And to find the minimum cost path, the evaluation results show that it alleviates the performance degeneration and simultaneously improves the utilization of whole network resource.

SDN architecture consists of three layers: forwarding layer, control layer and application layer, as shown in Fig. 1. Physical switch is the crucial element of the forwarding layer, which takes on all the performance of forwarding data in accordance with the forwarding rules in flow tables provided by the controller. Besides, the centralized control plane is core layer of the network which takes the responsibility of topology discovery, traffic classification, strategy formulation and network configuration. Therefore, the network traffic is allocated to the paths operated directly by OpenFlow switches, where the flow-handling rules are installed by the central SDN controller [3].

Fig. 1.
figure 1

SDN architecture

The OpenFlow switch is composed by three components including flow table, secure channel and OpenFlow protocol as illustrated in Fig. 2. Flow table contains the flow-oriented forwarding rules issued by the relevant controller. Secure channel ensures the interaction between the switch and the controller. And OpenFlow protocol regulates messages in secure channel to realize functions, like traffic statistics collection, access control and network configuration.

Fig. 2.
figure 2

The construction of OpenFlow switch

As the SDN architecture can provide global visibility of network resources and inherent programmable interfaces, some explorations on the fusion of SDN and other technology have been carried out. Although some concepts have been presented several years ago, there are still many issues worth to be researching further, such as efficient self-organized routing mechanism, network resource management, QoS perception and environment forecasting [4,5,6].

SDN is a promising concept with the powerful advantage to introduce new dimensions of flexibility and adaptability in current communication networks. For instance, the realization of QoS aware routing becomes possible in an agile and dynamic manner. Although some routing algorithms have been well researched, they were not applied in communication networks due to its high implementation complexity and realization costs. We propose the QoS-aware resource management routing mechanism, which seems to be promising to provide better network resource management, traffic control, and application classification [7].

SDN paradigm radically transforms network architecture and provides some characteristics of programmable, efficient, fine-grained, dynamic, accurate, global-viewed, and superior computational capacity. All of these features prompt the development of network with using advanced optimization algorithm.

Computational intensive machine learning algorithms integrate several online routing algorithms for the real-time control of new connection requests. Depending on the available resource and status of the traffic, the cognitive computing could classify the flows and make adaptive routing strategies. Since new variables and additional constraints are emerging over time, the routing mechanism is supposed to utilize machine learning techniques to select the best sequence of accommodative decisions, while considering the anticipative future scenarios for improving the performance of network. In this paper, the proposed dynamic adaptive QoS-aware routing mechanism is constrained with available network resource and distinct flow requirements upon SDN platform [8, 9].

The rest of this paper is organized as follows. Section 2 proposes implementation of the QoS-aware routing mechanism with algorithms in detail. Section 3 describes the simulations. Section 4 analyzes the experimental results and evaluates the performance. Finally, Sect. 5 outlines the future researches and makes a conclusion.

2 Implementation and Algorithm

Our QoS aware routing selection computing mechanism consists of five modules, including Traffic Measurement Module, Flow Classification Module, Topology Detection Module, Routing Selection Module, and Configuration Updating Module, which are working collaboratively on SDN controller.

First, the module Traffic Measurement collects these information of flow statistics from the forwarding layer. Then, Flow Classification module differentiates the QoS requirements like bandwidth of real-time traffic based on analyzing the flow statistics information using data mining technique, such as K-means algorithm. Moreover, Topology Detection module gathers all the up-to-date information of the link state from switches, such as delay and bandwidth, with using traffic monitoring tools like sFlow or NetFlow. Furthermore, Routing Selection module includes two parts. On the one part, the smaller bandwidth demanding flows match to the routing algorithm of Bandwidth Reserved Shortest Path (BRSP). On the other part, the larger bandwidth demanding flows match to the routing algorithm of Load Balancing Considered Polling Path (LBCPP). Finally, the Configuration Update module updates the strategies by rotating above processes if the degree of the variation exceeds the setting threshold.

2.1 Traffic Measurement Module

Applications supporting various multimedia data have specific QoS requirements on bandwidth, delay and packet loss. And the module is responsible for collecting information about the traffic type. For instance, the applications like high definition video streaming or online competitive gaming, have high demand of data rate and strict demand of latency respectively.

2.2 Flow Classification Module

This module holds the purpose to find the reasonable and effective flow classification theory according to the perception of flow’s QoS requirements and the detection of link states from nodes. To trade off the complexity and the practicability of mechanism, the module measures the bandwidth requirement of flows, and calculates a critical value to divide the flows into two types.

In order to classify the flows rationally, the clustering algorithm of machine learning is employed in this process. The K-means classification method make the previous traffic flows to fall into categories, such as mice prior flows and inferior elephant flows. When new flows reach the switches, the flows will be matched to the suitable class and forwarded along the path based on the adaptive theory.

It is inevitable that the status of flows is changing ongoing. For instance, if the size enlarges and the amount increases, the mechanism should reserve more bandwidth to guarantee for the mice flows admission. Therefore, the residual network resource remained for the elephant flows should be confined to release more resource for the mice flows with priority.

2.3 Topology Detection Module

An OpenFlow-enabled network can be modeled as a network graph G = (S, E), where S represents OpenFlow-enabled switches and E indicates the link edge between two adjacent switches. Link state of edge is comprised of the link capacity, link delay, and link available bandwidth.

Our mechanism attempts to avoid traffic congestion when incoming flow is added to the link. Cost of a link is calculated according to link capacity, link utilization, and required bandwidth of incoming flow. This principle ensures that the link with lower utilization rate has smaller cost value. When link utilization comes near the link capacity, it will become expensive to occupy this link.

2.4 Routing Selection Module

The routing algorithms are committed to find the most feasible path for meeting the specific QoS requirements, which is differentiated depending on flow types: bandwidth-sensitive traffic, delay-sensitive traffic, and others type traffic. A feasible path can provide sufficient resource for the demands. However, flows of diverse requirements adapt to different optimal routing theory. Therefore, in the case of the QoS requirements being perceived, the proposed algorithms would assign the flow an optimal route which is beneficial to both the traffic quality and network performance. As explained following, the module consists of two routing algorithms.

The routing algorithm of BRST is matched to the smaller bandwidth demand flows, which are delay sensitive, bandwidth constrained, and packet loss intolerance. Reserved bandwidth-guarantee could provide small jitter and low packet loss for some special flow in some multimedia applications. We find the path with the smallest delay for delay-sensitive flows. With consuming the reserved bandwidth, this theory could find the optimal route which can assure admission guarantee for the flow with higher priority, and compute the shortest paths for the smallest propagation delay. Considering the demand of the actual network, we adopt the Bellman-Ford algorithm to realize our BRST algorithm. If there is no feasible path, the other routing theory would be employed to find a path to ensure the delivery of the flow temporarily. And the update module starts to modify the corresponding information and settings immediately.

On the contrary, the routing LBCPP is matched to the larger bandwidth demand flows which is bandwidth sensitive, delay constrained, and with moderate packet loss torment. The lager bandwidth is provided to improving the performance of network with load balancing theory. The routing algorithm of our mechanism attempts to avoid traffic congestion whether the states of the network or the features of traffic are changed. After the bandwidth reserved previously, the module uses the residual network resource to find the available paths from source to destination. And the optimal paths with enough bandwidth are figured out based on the delay constraint and packet loss. Since we consider hop counts as the only impact of propagation delay, we set the hop constraint not exceeding the 1.2 times value of that in the shortest path. We use a Top-K paths selection algorithm thinking about available bandwidth, delay, and utilization rate to decide the route by round robin method. Path load balancing is used for distributing workload to reinforce network reliability and optimize network resource utilization.

2.5 Configuration Updating Module

Due to the instability and the resource restriction of network environment, more attentions should be paid to the continuously emerging variation. For accommodating the variance with regard to the distribution of the flows and the condition of the network over time, the routing theory should be dynamically adjusted the critical value of flow classification and the amount of reserved bandwidth. Meanwhile, the flow table installed in the switches should be updated necessarily for efficient network usage.

In the module, the update process would be triggered if the classification metric or the reserved bandwidth is out-of-date, which means that the variance is exceeding the threshold of extent or time. If some flows matching the first routing algorithm cannot find feasible path using the reserved bandwidth, the flow would use the other routing theory to ensure forwarding temporarily. And the reserved bandwidth should be increased to avoid packet losing with providing better QoS.

In addition, the traffic forwarding rules in flow table are generated by the central controller and installed to the corresponding OpenFlow-enabled switches. As the network traffic and topology are unpredictable, the flow table will be dynamically updated to keep consistent with the employed strategy. On one hand, paths are timely evaluated whether new flow arrives or network changes. On the other hand, the global statistical information is timely updated and the flow table is set to delete overtime entries. We employ suitable period and threshold of updating theory to trade off the consistency of real-time state information and overhead of frequently updating communication in the control plane.

3 Simulation and Setting

In order to evaluate the proposed architecture of SDN-based mechanism, it is implemented in POX platform and Mininet simulator to emulate the network topology. POX is a software platform for rapid exploiting and prototyping of network controller developed by Python, which could invoke scripts to operate corresponding modules to derive the adaptive actions. Mininet provides a lightweight test bed for developing OpenFlow applications to help users to create a realistic virtual network, including a collection of hosts, Open vSwitches and network links on a single machine [10, 11].

And the whole simulation is running on an experimental computer with the operating system of Ubuntu 14.04. Therefore, the computing performance is influenced by the physical machine with essential parameters, such as Intel Core i5-4590 CPU @ 3.30 GHz, and 4.00 GB RAM.

In practice, data is commonly delivered to destination through multi-hop path in the complex topology. For the sake of simplifying the simulation, we conducted experiments in the topology graph showed in the Fig. 3. In the Topology, we set H1 and H2 as clients, while H3 and H4 as servers. Meanwhile, 9 Open vSwitches were built as the OpenFlow-enabled switches. And the bandwidth of each link was given to 10 Mbps.

Fig. 3.
figure 3

Topology graph of simulation

Under stationary condition, the flow distribution and the network state are invariable over time. We conduct experiments on the condition to test algorithms of our theory. Under dynamic condition, the moment of flows arrival processes could follow the distributions like Poisson. If the size of the flows is given, the departure time of flow related to the transmission delay could be equivalent to the bandwidth demand which is set as Normal distribution. This work conduct experiments on Mininet to evaluate our mechanism and compare the results in custom dynamic condition, in which the UDP traffic of 5 Mbps is emulated as background flow from H1 to H3 by using the command of iperf. Using single routing algorithm, the throughput and delay are measured respectively when sudden flows are generated at some point.

4 Evaluation and Analysis

In the case of the application of real time multimedia, QoS metrics with respect to bandwidth, delay, delay jitter, and packet loss ratio are usually taken as major concerns of receivers, while the senders care more about the traffic transmission in high load and high randomness. For the network management, the network performance depends on the metrics, such as average link utilization, resource consuming, packet loss ratio, throughput, device energy efficiency, and average end-to-end delay. Therefore, the QoS aware routing problem could be converted to the multiple objective programming, which is to find a minimum cost of object with satisfying some QoS constraints.

In this paper, we focus on two metrics namely throughput and delay. Under stationary condition, intuitively, our classified synthesized routing QoS mechanism has larger throughput than BRST and smaller delay than LBCPP. Under custom dynamic condition with adding background flows through the shortest path at the time of 50 s and removing the flows at the time of 110 s, we compare the throughput and delay between the two unclassified single routings as shown in Figs. 4 and 5. When the background flows inject in the network, we could find that the throughput with BRST collapsed obviously, while the other algorithm of LBCPP shows a higher throughput at same time. Similarly, the latency of the BRST increases more evidently than the other. Therefore, from H2 to H4, the results show that the proposed routing mechanism could reduce the delay for prior mice-flows and increase the throughput for inferior elephant-flows. In the future, we will employ the other dynamic condition with injecting the background traffic subjected to Poisson distribution or Normal distribution.

Fig. 4.
figure 4

Throughput comparison

Fig. 5.
figure 5

Delay comparison

5 Conclusion and Future Work

Based on the fusion of techniques, this work presents an intelligent perceptive QoS mechanism for forwarding the diverse flows with the adaptive routing. The architecture consists of five modules which are collaborating together on SDN controller. First, it finds the feasible classification among flows according to the requirements of the bandwidth. Second, for the delay sensitive flows, the theory is made with bandwidth reservation for finding the shortest path in order to guarantee the delay demand and reduce packet loss rate caused by propagation in network. Third, for the bandwidth sensitive flows, the multipath polling method of load balance considered multipath is applied to improve the network performance. Finally, it updates an adjustable traffic classification threshold so as to keep optimal for both network performance and service quality.

In the future work, we would employ and exploit other computing algorithms to implement the proposed mechanism. In the paper, the machine learning technology named K-means clustering is used to classify the flows by finding the most suitable dividing metrics for the previous period. Since the flow classification named 2-means may not be efficient, other skills like reinforcement learning would be used to find the optimal adaptive dividing metrics with real-time feedback. Moreover, in the updating module, the predicted method could be exploited to get the potential growing tendency of traffic features for more appropriate classification. In addition, the machine learning could also be applied in the controller analysis, admission control, and packet security.