## 4 Results
### Routing Performance Evaluation  
#### 4.4.1 Impact of Link Lifetime Threshold  
The maximum speed of the automobiles used in this experiment was set at 60 km/h, and data collection frequency (\(f\)), nominal optimization frequency (\(f^{\prime}\)) for the metadata collection, and routing frequency (\(f^{\prime\prime}\)) were set to 1 Hz. Furthermore, 30 RSUs and 70 cars were present on the network in the aforementioned instance. The variable for the proposed routing framework was the link lifetime threshold (\(T_{th}\)), required for the algorithm in Figure 1, where we set the network contention threshold (\(C_{th}\)) to 0.50. No variable existed for the AODV or Dijkstra routing in this experiment. Variations in the \(T_{th}\) values were used to evaluate performance assessment metrics, and the findings are depicted in Figure 16. The 95 percent Confidence Intervals (CIs) are shown by colored regions in the graphs. It is evident from Figure 16a that the proposed hybrid routing framework had the lowest average communication cost, compared to Dijkstra used for SDVN routing and AODV used for routing in VANET. The performance gap in communication cost between different routing methods was large, as the 95% CIs of each method were not overlapping and existed much apart from each other. The cost of the proposed routing was even less than Dijkstra, as Dijkstra involved proactive flow rule installation in each routing cycle for all entries in the flow table. On the other hand, the proposed routing uses an adaptive approach for route computation, flow rule update, and installation, which resulted in achieving the lowest communication cost, as evident from the results in Figure 16a. The communication cost of AODV was much higher than the other two routing methods for SDVN, as AODV involves the frequent exchange of packets through the network for route discovery on demand. On the other hand, the communication costs in routing methods for SDVN were much lower than for AODV, as routes are found using the metadata collected from the controller. The average communication cost did not vary with link lifetime thresholds from 0.2 s to 1.0 s, and the cost for the proposed routing was the highest (11.7) in that range. However, the communication cost for the proposed routing slowly increased in the link lifetime threshold range from 0 s to 0.20 s and began to slowly drop in the range from 1.0 s to 10.0 s, as evident from Figure 16a. It is clear from Figure 16b that Ethernet and LTE utilization for AODV is zero, as those channels are not utilized in AODV. The DSRC utilization of the proposed method is always less than AODV and always higher than that of Dijkstra under any link lifetime threshold. Furthermore, the proposed method's LTE utilization has always been lower and Ethernet utilization is always higher than those of routing using Dijkstra. The preceding fact is the reason for obtaining a lower communication cost in the proposed routing than Dijkstra, since Ethernet communication channels have a much lower cost per byte compared to cellular links. However, channel utilization does not reflect the number of packets routed or exchanged in the channel. Thus, the reason for the highest communication cost in AODV is due to the fact that it has the highest DSRC utilization of 80% and a very high number of packets exchanged for route discovery. For the proposed method, the DSRC utilization began to drop after the link lifetime threshold of 1 s, while it increased from 60% to 64% in the range of 0 s to 0.20 s.  
When considering the latency variation in Figure 16c, the AODV routing for VANET had the highest latency, which was nearly two times the maximum value of latency for routing using the proposed routing. This high latency in AODV was due to the route discovery step at the time of routing, which increased the latency in routing. On the other hand, the proposed routing framework had nearly half the latency in AODV for link lifetime thresholds in the range 0 s to 2 s, while the latency approached zero at high link lifetime thresholds.