## 4 Evaluation
### Experiment Setup  
The software tools used in the experiment are listed below. * **iperf** ([[https://iperf.fr](https://iperf.fr)]([https://iperf.fr](https://iperf.fr))) A tool that actively measures the maximum achievable bandwidth. * **ping** ([[http://man7.org/linux/man-pages/man8/ping.8.html](http://man7.org/linux/man-pages/man8/ping.8.html)]([http://man7.org/linux/man-pages/man8/ping.8.html](http://man7.org/linux/man-pages/man8/ping.8.html))) A tool that uses the ICMP protocol to test whether a host is up or down, measuring Round-Trip Time (RTT) and packet loss statistics at the same time. * **tc** ([[http://www.man7.org/linux/man-pages/man8/tc.8.html](http://www.man7.org/linux/man-pages/man8/tc.8.html)]([http://www.man7.org/linux/man-pages/man8/tc.8.html](http://www.man7.org/linux/man-pages/man8/tc.8.html))) A linux shell command to show and manipulate traffic control settings. * **quagga** ([[https://www.quagga.net](https://www.quagga.net)]([https://www.quagga.net](https://www.quagga.net))) A network routing software suite providing implementations of OSPF, Routing Information Protocol (RIP), Border Gateway Protocol (BGP), and IS-IS for Unix-like platforms, particularly Linux, Solaris, FreeBSD, and NetBSD. To reproduce the extreme scenarios of a busy backbone network when peak traffic exceeds the channel bandwidth aggressively and thus deteriorates the channel QoS in terms of latency,  
Figure 2: Topology of the network of the evaluation experiment generated by a Docker network, which is the same as the real-life Abilene network. we configured the bandwidth of each channel with the linux traffic control tool \(tc\) so that the peak traffic transmit rate was 7.5, 10, and 20 times the channel bandwidth. As tested by the Linux tool _ping_, the maximum transmit rate of the network was found to be 200 Mbits/s. Thus three experiments were carried out with the bandwidths configured to 10, 15, and 20 Mbits/s. For the three experiments, we used three different parts of the Abilene network topology simulated by Docker. From each part, two routers were chosen as source and destination nodes, between which multiple possible paths are available (two paths are considered in this paper, for convenience), as shown in Figure 2. In the first experiment, as shown in the orange lines and labels in Figure 2, R4 and R6 were selected as source node and destination node, respectively. To simplify the problem, we considered two paths between R4 and R6 only, namely R4-5-6, which passes by R4, R5, and R6, and R4-1-2-6, passing by R4, R1, R2, and R6. The path R4-5-6 was the selected route by \(OSPF\), and R4-1-2-6 was the backup path. In the second experiment, as shown in the green lines and labels in Figure 2, R5 and R10 were chosen as the source node and destination node, respectively, The path selected automatically by \(OSPF\) was R5-6-8-10 which passes by R5, R6, R8, and R10, and the backup path was R5-7-8-10, which passes by R5, R7, R8, and to R10. In the third experiment, as labeled with the color purple in Figure 2, the source and destination nodes were R7 and R10. The path selected automatically by \(OSPF\) was R7-8-10, and the backup path was thus R7-9-11-10. Throughout each experiment, we had _ping_ running on every hop (for example, in the first experiment, _ping_ ran on hops R1-R2, R2-R6, R6-R5, R5-R4, and R4-R1), measuring the latency on every hop (In real-life telecommunication networks, the latency could not be directly represented by the value measured by _ping_, but here these two values are deemed as equal for brevity). At the beginning of the experiment, _Quagga_ and \(OSPF\) were initiated on all of the nodes. From a randomly chosen point of time, a traffic stream generated from the real-life Abilene network traffic dataset was sent from the source node, through the path chosen by \(OSPF\) (for example, R4-5-6 in the first experiment). Then, after a random-length time period, another traffic stream generated by our traffic model was routed along the other path (e.g., R4-1-2-6 as in the first experiment).