Welcome to our ModelNet-TE page, an extension of the ModelNet network emulator, that we modified to offer Traffic Engineering (TE) capabilities. More specifically,ModelNet-TE offers source-routed multi-path capabilities [2]: each packets is routed on a potentially different path, chosen among a set of possible ones, with a given probability that depends on the current overall network load. If you wish to use ModelNet-TE, please cite it as [2]


  1. E. Alessandria, L. Muscariello and D. Rossi, ModelNet-TE: An emulation tool for the study of P2P and Traffic Engineering interaction dynamics, Tech. Rep, March 2011
  2. [ICC-09b] L. Muscariello, D. Perino and D. Rossi, Do Next Generation Networks need Path Diversity . In IEEE International Conference on Communications (ICC'09), Dresde, Germany, June 2009.


As described in the Modelnet-TE guide, installing the ModelNet architecture involves the (slightly painstacking) process of patching and compiling (a specific version of) the Linux kernel. On the contrary, the Traffic Engineering process runs at user level, and can be easily modified without any low-level kernel patching, by simply plugging a program that reads and write files adhering to the format described in the guide. Therefore, to provide a quick bootstrap to ModelNet-TE, we give preconfigured Virtual Machines for the Host and Core machines.

HostVM (2.0GB) CoreVM (1.7GB) Tech Report Guide


Real applications can be run unmodified on the Linux kernel of HOST machines, each of which runs multiple Virtual Node (VN) instances. The network is emulated by a CORE machine, that is in the same LAN of the HOSTs, but that applies IP routing or TE algorithm to the received traffic. Unlike in Modelnet, where only shortest path routing is implemented, ModelNet-TE allows packets to follow multiple path for the same destination [1]. As ModelNet-TE exports up-to-date estimate of the traffic matrix (TM) with a second granularity, it should be easy to deploy custom TE algorithms in the ModelNet-TE core, as they can run in the Linux user space. For further details, see the guide or the above technical papers.