1 Introduction

Fig. 1
figure 1

Online streaming

In recent years, Software-Defined Networking is an emerging technology that gives a dynamic, centralized, manageable, and programmable network by separating the control plane from the data plane [1]. It is the new way of designing and deploying applications frequently. Nowadays video communication is very popular than manual (personal communication). Types of video and audio communications are VoIP, Internet Protocol Television (IP TV), P2P, online classes, and video conferences [2]. A large volume of video data is shared globally on the Internet. Inorder to improve the multimedia communications, Many research challenges are essential to improve the resource utilization, Quality of Service [3], Quality of Experience for the future expected behavior. SDN is an ongoing research area to provide the above mentioned services. Designing and managing network services are possible by using the programmable nature of SDN architecture. The various use cases of online streaming of Internet world is shown in Fig.1.

The current internet architecture is requiring QoS parameters such as bandwidth utilization, reduced delay, packet loss to ensure high speed, and reliable data communications. But in the traditional network [4]- [5], there is no active mechanism to find the end-to-end path which satisfies the above QoS parameters. So, recent technology like SDN architecture is used to enhance the traditional QoS requirements for the end-to-end packet transmission. The proposed work implemented using SDN RYU Controller and Mininet Emulator provides a suitable environment to optimize the quality metric such as bandwidth and delay for real time application. The key contributions of this work are

  • Network Monitoring

    • Topology Discovery process using Link Layer Discovery Protocol

    • Converting topology information into Graph using networkx graph library

    • Query all the paths from source switch to destination switch and display all paths

  • Calculate the path latency using the latency of each links

  • Algorithm to choose the lowest latency path and install the open flows on all the switches

  • Simulate the different traffic test using Iperf to analyze the various performance metrics.

Fig. 2
figure 2

Proposed controller architecture

The preliminary studies are explained in Sect. 2. Section 3, discuss the related work for Quality of Service models, mechanisms of traditional architecture, QoS parameters and limitations. The implementation of the proposed work is discussed in Section 4. The experiments and simulation results are shown in Sect. 5. Finally, Sect. 6 Concludes the work and the importance of continuing the effort was emphasized.

Table 1 Related work
Fig. 3
figure 3

Block diagram of the Proposed Method (LARIC)

2 Preliminary study

Differentiated services, the significance of software defined networks, and OpenFlow are all explained in this section. A limited amount of research highlights the value of software defined networks in addressing numerous network issues, including those related to quality of service and effective resource [18] use in traditional networks. A few studies claimed that installing a controller is utilized to address load balancing issues in networks [19, 20].

2.1 Differentiated services (Diffserv):

This is a distributed service model [5] where resources are distributed over the routers in the domain. It doesn’t require any resource reservation mechanism and allows hosts to classify packets into different traffic classes. The priorities are marked in each packet using Differentiated Service Code Point (DSCP) for traffic classification. It performs the admission control based on the statistics traffic classes. This proposed work is used to improve the QoS for different types of traffic based on DiffServ.

2.2 Software defined networks and openflow

The SDN is a new way of designing and controlling the network by extracting the networks control from the dataplanes. The logically centrallized controller is used to build and maintain the IP routing table. The SDN OpenFlow protocols are used to communicate between the controller and dataplane. The OpenFlow supports management protocols like Secure Shell (SSH), Network Configuration Protocol (NETCONF), Simple Network Management Protocol (SNMP), and Representational State Transfer Application Program Interface (REST API). There are many OpenFlow controllers like RYU, Floodlight, and ONOS. RYU controller is used in this work, it is a component based framework for SDN which supports Python. In simple, It provides a platform for the programmer to customize, scale, and automate the networks at any size [21, 22].

3 Related work

A study of existing QoS models based using SDN was published recently [3]. Also, QoS models in Wireless multimedia sensor networks reviewed in [23]. Table 1 summarizes the current state of recent QoS Mechanisms. Also, shows the majority of existing techniques failed to satisfy the QoS metrics, and there is still potential for improvement in terms of Quality of Service Routing and Framework. Few research looked at data-center networks where QoS characteristics are taken into account for resource allocation and management [6,7,8]. Many types of QoS models [9,10,11, 14] are designed that are typically used for SDN research. Also, few models are retrieved and categorized for recent QoS aware routing [12, 13, 15, 24] in SDN. According to studies, there are a few basic techniques to establishing QoS Models, including changing routing strategies first and subsequently deploying QoS models using machine learning techniques [25, 26] for Network Traffic Classification.

[16, 17, 27] recent research that a breakthrough intelligent and flexible QoS management system that leverages SDN to dynamically reallocate and release bandwidth for QoS management, reducing the overall delay of all network lines. Reviewed the QoS models for Software Defined Network (SDN) in this work. Lonkar et al. [28] evaluated the VoLTE call quality for audio and video. An important issue in the existing solutions is the combination of different QoS metrics. i.e., the consideration of linear combination metrics which fail to satisfy the QoS requirement for a single application service. The suggested approach relies on the all path technique to discover the lowest latency path among accessible options to withstand network delays by handling delay-sensitive packets.

4 Proposed method

This section explains how to use Software Defined Multipath Routing for real-time applications to send several forms of traffic via the SDN network, such as text, audio, video, and so on. The proposed RYU SDN architecture is shown in Fig. 2. The switch manager speeds up service delivery and makes virtual and physical device provisioning more flexible. An OpenFlow Controller connects and configures network devices such as routers, switches, etc., to identify the optimum routing for application traffic using the OpenFlow protocol. By delivering Link Layer Discovery Protocol (LLDP) packets across SDN switch ports in the network, Link Discovery protocols are used to discover links between SDN switches.

The Packet-in Handler function is used to receive packets from the switches and Flow-mod function is used to transfer the received packets to the Controller. The Packet-out message function is used to forward the controller packets to the specified port. The Topology manager module is having information about the global view of the network. Flow rule function is used to place the flow rules to take the forwarding decision once the path was calculated. Latency-aware path selection module is implemented in Algorithm 3 to select the lowest latency path. The proposed approach consists of 2 phases as discussed below:

  1. 1.

    Network monitoring

  2. 2.

    Latency measurement-routing

4.1 Network monitoring

Network Monitoring is an important task and helps the operator to manage the network and its Components. Also, it provides the overall network status behavior to the programmer to reduce the operation overheads by taking efficient solutions. Next, quality of service depends on the network monitoring to choose the correct decision.

4.2 Topology discovery

SDN uses a virtual network as a directed graph network G(N, E) in which all the devices are connected through the software. In SDN based OpenFlow monitoring, Link Layer Discovery Protocol (LLDP) [29, 30] packets are used to discover the switches and links. After establishing the topology view, the application can do the following activities such as finding the paths for flows, make the forwarding control decision, also find an alternate path in case of congestion. The controller is generating an LLDP packet every 30 seconds to discover the topology information like add link, remove link, links go up, and link go down. Topology database is maintained to store the LLDP information [31]. Controller using the OpenFlow messages like PACKET _IN message, PACKET _OUT for the topology discovery process.

Topology to Graph: The Networkx is a graph library for networks and used to create a graph as topology, add a node as a switch, and add edge as a link. i.e., networkx receives all of this topological data. Networkx is updated once the topology discovered. All topology information stored in the database. Finally, get all the paths from source switch to destination switch using this Networkx.

figure a
figure b
figure c

4.3 Calculation of latency-aware path in LARIC

This section deals with the design of the proposed latency based multipath QoS routing. The work flow of the proposed framework is shown Fig.3. There are two thread function used in this work. First thread is used to monitor network current information. The Second thread is calculating the latency of each path. The controller monitors the network state continuously so that, it helps to identify the optimal path for each data type. The performance of flow services is analyzed and transmitted in a virtual network through multipath routes. This proposal focuses on all_simple_path provisioning to address the issue of delay sensitive data in real-time applications. In this case, each node needs to have availability of all paths between the source to destination. So the possibility of a path is a direct relation with the nodes reliability, hence the failure of the node causes the nonfunctional path. However, on these terms, this is represented as a real-time problem that requires networks to be more trustworthy in order for packets to be successfully transmitted.

Algorithm 1 Explains the calculation of single packet latency which is calculated between the source host and target host in the topology. Also, the dictionary database is maintained between the hosts to store the updated information for each link in every 10 seconds. The sum of all the packet’s latency gives the total latency of packets. The average packet latency is calculated by dividing the total latency by the number of samples which is described in the packet latency function.

Algorithm 2 Describes calculation of the total path latency by adding the sum of all the link latency between source to destination. The packet latency is used to find the path latency between source to destination. Path latency is calculated by adding the average packet latency with total latency.

Algorithm 3 illustrate the lowest latency path. From the networkx library, it uses the shortest simple path function for calculating all_ simple_paths between source to destination host. Choose the lowest latency path to add flow to the corresponding switch.

The following steps are implemented to calculate the lowest latency path in this module.

  • SDN Controller using special ping packet measure the latency of each link.

  • Special IP & MAC (1.1.1.1 , 11:11:11:11:11:11) is used as source & destination IP and macs.

  • In this ping packet, datapath id (originated switch id ), generation timestamp, a sequence number are included. On reception of this packet, the receiver datapath id, receiving timestamp will be noted by the controller.

  • Latency is identified by differentiating the receiving timestamp and sending timestamp.

  • This ping packet is sent to all switches by SDN Controllers at regular intervals. As a result, the latency is updated every 10 seconds.

  • Install the OpenFlow flows on all the switches through chosen path.

The routing parameters like bandwidth, delay time are calculated between source to destination using different types of dynamic testing and monitoring tools [6, 7]. This topology is using all_simple_paths Networkx to generate a list of all paths between source to target. By managing delay sensitive packets, the generated pathways make the delay tolerant.

Fig. 4
figure 4

Topology and statistics results

Fig. 5
figure 5

Throughput of SDN-based application

Fig. 6
figure 6

Delay time of SDN-based application

5 Experiment setup and performance results

This experiment was conducted on the Linux host of Ubuntu 18.04.5 Bionic Beaver Operating System. The proposed approach was experimented in the SDN environment using the RYU Controller, OpenVswitch and the Mininet version 2.2 [32]. A network topology is designed with 8 switches and 6 hosts connected to the SDN Ryu controller. Fig. 4. shows the configuration of the simulation. Host addresses are like 192.168.1.1, 192.168.1.2. etc, 8 switches configured with different bandwidths and delay in this simulation. The objective of the proposed module finds the optimal paths that ensure the QoS for multimedia applications by decreasing the delay in an SDN environment. The outcomes of the experiment were compared with the other existing applications like as l4 SDN switch application [33], the single path routing application [15], and Efficient Resource allocation (ERA) [17]. The outcomes are shown in Figs. 5 and 6 . The proposed methodology clearly has a shorter delay time than existing QoS methods since it solves the latency problem in multimedia transmission.

5.1 Throughput analysis for transport layer traffic

This section describes the network performance of the proposed LARIC model. In this section, TCP flows are added to test the transport layer traffic experiments by utilizing the emulated topology and SDN switch application. Finally, the results are compared to those obtained using the LARIC application. Iperf is a open source network traffic generation tool to perform different traffic tests and generally works in server-client mode that gives more accurate results. The emulation is done by sending the 10Mbps of TCP traffic between the assumed server (Host4) and client (Host1) to measure the bandwidth for every 5ms of interval. The TCP flows pass through the switches s1,s3,s4,s6 to reach the destination with maximum link utilization and the results of emulations are shown in Fig. 5. The DumpFlow and Dump-port messages are used to examine the traffic of OpenFlow switches in both directions in order to regulate the flow and monitor the QoS parameters such as Latency, jitter, and packet loss.

The amount of bandwidth used out of the total allocated is referred to as throughput. The network’s throughput is measured in megabits per second (Mbps). The performance of the proposed LARIC is found to be more acceptable based on the experimental results and demonstrated in Fig. 5. The bandwidth consumption of the network in the suggested technique was improved due to the quality metrics while sending the TCP traffic. LARIC outperforms l4 SDN switch and other existing works [15, 17] because it considers both all simple lowest latency paths, as well as link delay and bandwidth quality measurements, and only chooses QoS-rich paths. In comparison to l4 SDN switch, shortest path, and ERA, the proposed solution enhanced average bandwidth utilization by 4.00%, 2.0%, and 1.0%, respectively.

5.2 Delay time analysis for application layer traffic

In this section Video streaming and VoIP flows are tested by giving types of service value for audio and video packets. For both traffic the packets arrive in the reporting interval of every 5 seconds. If any variations in the packet arrival time, lead to packet loss, network congestion and degrade the quality of the transmission of video and audio packets. The end-to-end delay is the amount of time it takes for a packet to travel across a network. The end-to-end latency is expressed in milliseconds. For example: In this section, the VoIP applications are simulated in a single call. For 60 seconds generate the stream of UDP packets to test the connection between VoIP endpoints. i.e., By simulating G711 (Codec bit rate) call between two endpoints with RTP stream of 30ms frame size, the bandwidth of 67kBits, buffer length of 300 bytes, Characteristics of VoIP, and reporting interval of 5 seconds. Fig. 4. shows the resulting statistics of simulated G711 calls between VoIP endpoints. This single stream simulation test result shows that 532 KBytes of data transfered in 0.140ms jitter with an average bandwidth of 72.7Kbits per second.

The average end-to-end delay as a function of the number of time intervals employed is shown in Fig.6a and b. Because SDN switch does not incorporate quality measurements when calculating the simple and lowest latency path, it causes more delay than single path and LARIC. The graph shows that SDN switch takes VoIP and video traffic into account in the same way. However, single path and LARIC approach handles these two applications in different ways. LARIC, on the other hand, accomplishes this with minimal overhead at the networking devices. Despite the fact that LARIC does it at the expense of controller overhead in computing QoS-aware latency pathways, it is only algorithmic complexity and so meets the criteria. The graph also shows that as the size of the network grows, so does the latency. This could be owing to the fact that as the number of nodes in the network grows, the path length grows as well. Although l4 SDN switch application both for audio and video giving similar results. LARIC resulted in 4% improvement with respect to single path application, 5% with respect to ERA and 19% with respect to SDN l4 switch.

6 Conclusion and future work

In this work, latency-aware all-path QoS routing for interactive multimedia communication in SDN has been proposed. The proposed work is used to reduce the packet delay for different types of traffic in the OpenFlow SDN environment. As the number of different types of traffic grows, so does the communication overhead required to determine the best QoS solution. This framework strengthens a QoS algorithm and counts the number of reliable multimedia information transfers that travel via the SDN framework.

Low latency network communications were the emphasis of the proposed LARIC. Among all the paths, it finds the one with the shortest latency. As a result, network communications speeds up. In the future, the proposed work will be enhanced with more QoS criteria that will be applicable to future networks. i.e.,It will be utilized in future 5G networks [4, 34] for V2X communications and low latency applications. Low latency enables real-time interactivity in faraway regions like Telesurgery and Virtual reality gaming.