# A QoS-Guaranteed and Congestion-Controlled SDN Routing Strategy for Smart Grid
## 4 Experiments and Performance Analysis
### Performance Comparison with Baselines  
In this section, we compare the performance of LOBUS, LABERIO, OFFICER, and QCORS on different network topologies. The comparison on those approaches are shown below.  
* LOBUS [32]: This method directly use the greedy selection strategy to select the path with the least response time, and instead ignores the unpredictable changes in the load state.
* LABERIO [33]: Although LABERIO monitors the distribution of traffic in the network, it only considers the data flow bandwidth while ignoring the requirements of other business attributes.
* OFFICER [34]: This approach introduce some additional deviations to the path allocation and utilizes those deviations to arrive at the destination through different strategies. However, the increasing data reduce the service quality of this method.  
To address this limitation, our proposed SDN routing algorithm, QCORS, is expected to divide the link into different congestion levels based on predicting future congestion status from transmission links. Then packets are expected to be transmitted to routers through links under lower load conditions.  
Figure 6a shows the comparison of the average end-to-end delay of the network with the network size of the four routing mechanisms. When the network is congested, the QCORS is overloaded by the intermediate link load-aware congestion criteria and  
Figure 5: Performance comparison by QCORS w.r.t. different applications. (**a**) Comparison w.r.t. average delay. (**b**) Comparison w.r.t. packet loss.  
provides a lighter link for different traffic flows according to the priority. The QCORS algorithm implements congestion control in the network and reduces routing concussion and the congestion of the network. From Figure 6a, we can see that LOBUS is a global load algorithm. When the network is growing, its delay is uncontrollable. LABERIO does not optimize the routing criteria for different service QoS requirements. Although the OFFICER algorithm considered this issue, the processing delay of the different strategies is costly, so the time delay of the LABERIO algorithm and OFFICER algorithm is not much different.  
The average packet delivery rate of the four routing strategies varies with the size of the network as shown in Figure 6b. The network load is lighter when the number of nodes is less than or equal to 16. In addition to the LOBUS, the average packet loss rates of the other three strategies are below 10%. The packet delivery rate of LOBUS algorithm decreases rapidly due to the defect of the routing criterion and routing mechanism, whereas the other three routing mechanisms improve the reliability of the whole network through a multi-route optimization strategy. Although LABERIO also considers the possibility of congestion in the network, it does not take QoS requirements for different application flows into account. The OFFICER mechanism guarantees a certain QoS requirement, but cannot provide distinguish service for different priorities. The QCORS algorithm proposed in this paper not only considers the packet transmission rate, but also takes the length of the network node cache queue into account. Therefore, QCORS has the lowest packet loss rate.  
Figure 6c clearly shows the jitter of the four algorithms. The link jitter reflects the stability of the whole network, and performs as an important indicator of the communication service quality. When the link jitter is large, the quality of the whole communication network will decline rapidly, and it cannot provide good service to users. It can be seen from the results that the link jitter of the four algorithms increases with the increase of the number of nodes, but overall, QCORS performs best, whereas the LOBUS algorithm is the most unstable and performs the worst. As can be seen from the end-to-end delay results in Figure 6a, QCORS performs well. Because QCORS is designed to reduce end-to-end latency, the algorithm also helps reduce jitter and optimizes link stability.