# Blockchain-Assisted QoS-Aware Routing for Software-Defined Wide Area Network
## 5 Evaluation
The simulation results suggest that the QRS algorithm could effectively reduce the packet loss, network delay for the VoIP application, as the algorithm can provide the required weight on those required QoS aspects. As a result, the QRS algorithm could outperform the other algorithm since the remaining algorithm cannot consider the required QoS aspects (e.g., delay and loss) while routing the VoIP flows. Subsequently, QRS provided better throughput, less packet loss, and less delay when compared with WSP due to choosing a better and more desirable path for the network flows (see Figure 5). For the calculation of the QoS-aware network path, each ISP needs to consider the QoS aspects of the neighboring nodes and make computations to find the QoS-aware path for the flow, and as a result, the path calculation time for QRS is higher than other algorithms. While QRS introduces additional computational overhead, it enables simultaneous support for multiple QoS aspects per flow, which can be critical for meeting diverse application requirements in real-world scenarios. However, in the case of the QRS distributed and packet flow routing algorithm, the process mainly involves two steps: (i) filtering paths based on a matching score threshold (\(\beta\)), and (ii) selecting from the filtered paths the one that maximizes the satisfaction score. Both steps involve linear scanning over the list of available paths and simple calculations (such as dot products, weighted sums, and selecting maximum scores), performed independently at each router for each flow. Thus, each operation individually is in polynomial time, and the overall practical complexity of QRS is polynomial. The next experiment was targeted to measure how effectively the selected path by the QRS algorithm satisfies the QoS aspects of the application. A number of ISPs (and corresponding routers) from various SDN domain networks contribute to the path selection, but in this experiment, a single router's decision-making strategy was focused while it had to find a suitable path for a number of flows from various applications. For a specific case scenario of an ISP's router, the QoS preference values for different applications were organized in a matrix (denoted as V), where each row represented the QoS preferences of a specific application's traffic flow. For example, the QoS requirement value of application 1 is in the row \(v_{1}\) in the matrix V, row \(v_{2}\) describes the QoS requirements of application 2, and so on. The related random weights on each application's QoS preferences formed the weight matrix (denoted as W), which was also used in preference-based routing path selection. Additionally, the matrix P below shows the values for a router related to the QoS characteristics of a possible routing path. Figure 4: Modified Internet2 Abilene topology [34]. \[V= \begin{bmatrix}v_{1}\\ v_{2}\\ v_{3}\\ v_{4}\\ v_{5}\end{bmatrix} = \begin{bmatrix}0.5&0.2&0.3\\ 0.3&0.3&0.4\\ 0.7&0.2&0.1\\ 0.4&0.4&0.2\\ 0.8&0.1&0.1\end{bmatrix} \]  
\[W= \begin{bmatrix}w_{1}\\ w_{2}\\ w_{3}\\ w_{4}\\ w_{5}\end{bmatrix} = \begin{bmatrix}0.3&0.5&0.2\\ 0.5&0.3&0.2\\ 0.3&0.3&0.4\\ 0.6&0.2&0.2\\ 0.4&0.3&0.3\end{bmatrix} \]