FREKit: A Flexible Simulator for Probabilistic Congestion and Rerouting in Multi-Protocol Networks
Juan Vanerio, Pedro Casas, Stefan Schmid · 2025
We introduce FREKit, a novel network simulator tailored for research in congestion modeling, fast rerouting, and multi-protocol environments. Existing simulators are either too slow, lack multi-protocol support, or do not offer rich congestion-based metrics and aggregations, limiting their suitability for the type of research FREKit targets. Designed around the pipe-based abstraction - assuming known traffic matrices, FREKit evaluates system-wide behaviors with elastic and inelastic congestion computation models, providing fine-grained insights over interface-level loads. FREKit supports multiple protocols - including IPv4, IPv6, MPLS, and Segment Routing - along with various path search algorithms and rapid prototyping. Its probabilistic link failure framework enables congestion-aware resilience studies and advanced congestion metrics such as value-at-risk (VaR). The simulator is implemented in Python with efficient data structures (NumPy, NetworkX) and optimized via multiprocessing and dynamic programming. Despite being in active development, FREKit is already proving valuable in research on fast rerouting and source routing, demonstrating its potential to enable sophisticated congestion-aware network studies.