# Topology Inference and Link Parameter Estimation Based on End-to-End Measurements +
## 4 Performance Evaluation
### Results and Discussion  
The command-line network tomography tool has been developed in Python 3 and accepts as arguments the tcpdump output (since we do not need the detailed content of probe packets, we do not use pcap files) captured at the outgoing link of the source and the incoming links of the destinations. The binary routing trees are inferred correctly for all the conducted experimental scenarios. The extension of the algorithm to general routing trees is somewhat more complicated since it requires the selection of a suitable threshold that may vary from case to case due to the accumulated estimation errors of link lengths. For every examined experimental scenario, there is a fitting threshold under which the general routing tree is reconstructed correctly. However, in practice, it is more realistic to use a single predetermined hard-coded threshold. In this case, 48 out of 48, and 36 out of 48 experimental configurations (i.e., combinations of topology type, number of probes, and reduction update scheme) result in a correctly recovered tree under the loss-based metric and the jitter-based metric, respectively. Table 1 lists the aggregated errors of the conducted experiments, to evaluate the accuracy of the link performance parameter estimation for several physical routing trees. The first column indicates the type of the studied topology (either binary or general physical routing tree) and the number of its nodes. The rest columns present the aggregated estimation errors of the respective test networks for each examined reduction update formula presented in Section 3.3 and for three different numbers of multicast probes (namely, 2128, 5105, and 10,207 probes) generated using iperf. In particular, we calculate and report the Root Mean Square Error (RMSE) for every experimental scenario (i.e., combination of topology, employed reduction formula, and the number of probes) according to the following equation:  
\[\text{RMSE}=\sqrt{\frac{1}{|E|-1}\sum_{e\in E\setminus\{(s\langle s\rangle) \}}\left(y_{e}-\hat{y}_{e}\right)^{2}} \tag{15}\]  
where \(\hat{y}_{e}\) is the estimate of the loss rate (or jitter) of link \(e\), and \(y_{e}\) is the respective ground truth (i.e., the argument of tc). In other words, we consider the arguments that we passed to the tc utility during the experimental setup as the ground truth for the actual values of the links' loss rates and jitter that are compared to the estimations returned by our model. Loss rates are written as percentages, and jitter is measured in milliseconds. As can be seen, even though the estimation accuracy improves as the number of employed probes increases, the reported errors are relatively small for all configurations. Furthermore, despite being one of the \"fixed\" schemes, the weighted formula gives the better estimations for the majority of the experiments, followed closely by the average scheme, the only \"adaptive\" option. Conventional network monitoring tools based on traditional IP-based mechanisms (e.g., ping, traceroute) are device-centric hop-by-hop approaches that rely on exchanging traffic (e.g., ICMP packets) with intermediate nodes and involve the direct measurement and observation of all entities of interest. Consequently, they require the special-purpose cooperation and participation of all network elements, which is not always feasible in large-scale IP networks due to administrative or security considerations (e.g., many nodes are configured to ignore ICMP packets altogether). Additionally, contrary to the proposed inferential approach, they assume knowledge of the exact topology of the examined network. Another important benefit of the presented NT-based method compared to traditional tools is the ability to provide a global overview of the network state without collecting fine-grained individual statistics but using end-to-end measurements realized at the network edge.