# Blockchain-Assisted QoS-Aware Routing for Software-Defined Wide Area Network
## 1 Introduction
The proposed QoS-aware routing algorithm enables routers to consider the QoS preferences for the communication between the cloud user and the cloud provider. At the network edge, applications are allowed to classify and label packets according to their QoS requirements, and the control panel in each SDN utilizes these labels to confirm their QoS support by employing QoS-related packet-forwarding instructions to intermediary routers. Applications will be provided with precise Quality of Service (QoS) assurances for their data flows by facilitating differentiated services based on QoS requirements. The establishment of end-to-end QoS paths generally involves a chain of SDN domains or autonomous systems (ASs) where each SDN provider is considered as an individual administrative entity and can involve desired packet routing strategies using the routers within the domain. The inter-SDN controller operation can also achieve a common routing policy for QoS support for distributed SDN controllers using SDNi (a message exchange protocol for Software-Defined Networks across multiple domains) [1]. The IETF has also enhanced a standardization approach for QoS policy through extended BGP [2] that can create the QoS-related interaction among SDN domains and non-SDN autonomous systems. The SDN controller generally collects the network state information centrally and applies suitable routing for the various flows of applications with different QoS needs. It is important to satisfy multiple QoS requirements altogether for each flow. Again, it is also essential to address the challenges arising from inefficient or unbalanced resource allocation within the network. Existing QoS-aware routing algorithms tried to provide QoS-aware routing for the flows and also integrate multiple QoSs together [3; 4; 5; 6]. But when finding the QoS-aware path for a flow, they do not ensure the best-fit path for the flows in SDN [7]. The best-fit path selection is important to provide more path opportunities for other co-existing flows in the same router. In this research, the proposed routing algorithm supports multiple QoSs where each QoS may have certain relative weights, and the routing strategy tries to find the best-fit aware QoS path considering all the QoS aspects for each flow. This research also proposes a business model for each SDN provider to make revenue due to providing QoS-aware routing support for both direct and indirect users. An SDN provider normally can provide network connectivity, internet services, etc., to the end-users and can make revenue accordingly from their direct users. But QoS-aware routing needs the involvement of a number of transit SDNs as well, and they should obtain the financial benefits for providing the support for QoS-aware routing for the traffic from their indirect users. The source of such revenues (for the SDN authorities) will be particularly from the end-users who consistently need high prioritization and a special grade of routing services for some of their applications. In this regard, SDNs can peer and enter into mutual transit agreements with other SDNs in SD-WAN with the help of their root SDN, as it is assumed that all the SDNs can be centrally managed with a root SDN. The monetizing-related services need a proper estimation using a secured and trusted infrastructure. Blockchain offers transparency, security, and trust by eliminating intermediaries and can act as an innovative infrastructure to support the mentioned strategy. Smart contracts, a feature of blockchain, facilitate automated and secure trading. Using smart contracts, conducting service trading between the cloud provider and the end-user can be automated, where the cloud provider will be paid by the cloud users, and this strategy already exists in the literature. However, in this research, SDN providers in the traffic path are also considered as vital participants in the architecture for receiving monetary benefits when they ensure the special routing facility required for the cloud users.