# Experimentation Environments for Data Center Routing Protocols: A Comprehensive Review
## 6 Discussion and Conclusions  
Experimental environments are necessary for developing and testing new networking protocols and services, and this is particularly true in the case of big, dense fat-tree topologies. Several experimental environments have been reviewed, developing specific utilities and configurations for this use case. The performed experiments followed two dimensions: (i) different routing protocols have been deployed and (ii) topology scalability as a function parameter k has been tested, as defined in Section 2.1. Regarding routing protocols, all the tested implementations, namely BGP, IS-IS with flooding reduction, and RIFT-python, correctly implement ECMP routing. However, they differ in terms of scalability, BGP being the preeminent one, a result we obtained in our previous work over the Sybil framework [45]. Considering topology scalability, Mininet is the most scalable single-host emulation environment, with a maximum \(k=22\), while Megalos (being a distributed emulation environment) permits to scale the topology further up to \(k=32\). In this regard, there is room for further experimentation with distributed versions of Mininet. At the time of this writing, the needed tools for experiment automation were not implemented. It is worth mentioning that the network, being a dynamic and \"live\" entity, is constantly exchanging routing messages. Nevertheless, there are often \"calm\" periods where the network has reached a stable state, usually noted as routing convergence. In this work, we designed heuristics to determine this stable state, as described in Section 4.7. These heuristics permit stopping experiments automatically, making it possible for experiments to last no longer than necessary, and correctly determining measurement marks for different metrics, such as routing updates count. Overall, a suite of environments useful for different experimentation needs has been presented. These environments may accommodate to the available hardware, either a single host or a cluster. The review includes a comprehensive use case over GNS3, which is very useful for showing advanced capabilities at a small scale, ideal for teaching or training network operators. \begin{table}
\begin{tabular}{l l l l} \hline \hline
**Environment** & **Virtualization Method** & **Protocol Suite** & **Recommended Use** \\ \hline Mininet & Linux namespaces & FRR, rift-python & Scale on a single host \\ \hline Kathara & Docker containers & FRR, rift-python & Fast configuration and deployment \\ \hline Megalos & Kubernetes and Docker & FRR, rift-python & Scale and distribute emulation \\ \hline Core & Linux network & FRR, rift-python & Programmable emulation with GUI support \\ \hline GNS3 & Qemu, VirtualBox & FRR & Teaching, exposing technologies with visual support \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Validation test over all the environments. As mentioned in the Introduction, once multi-path routing is in place, both forwarding and transport shall be considered in light of the statistical properties of the applications' traffic. In this regard, there are specific data center applications, such as Map-Reduce, which produce the _incast_ traffic pattern, among many other peculiarities. The existence of multiple data paths imposes difficulties for the classical TCP transport protocol and determines that nodes must implement particular forwarding policies. There is an important opportunity for research and experimentation considering these characteristics, and the presented environments permit exploring this research gap in a realistic and scalable fashion because, in addition to the control plane explored in this paper, they fully implement data plane capabilities in network nodes, but taken into account that performance measurements on the emulated environment are not comparable with real-world scenarios; to this end, a wise combination of emulation, simulation, and data science principles shall be explored. Conceptualization, L.A., A.C. and E.G.