As a part of the MMPTCP project, I have implemented several ECMP modes in ns-3. These are random, per-flow (hash-based) and round-robin modes.
To demonstrate these ECMP modes I have made a few videos, you can find them as follows:
- TCP with round-robin ECMP (YouTube)
- UDP with round-robin ECMP (YouTube)
- TCP with hash-based ECMP (YouTube)
- TCP with random ECMP (YouTube)
- TCP with no ECMP (YouTube)
- Clone the ECMP's repository.
git clone https://github.com/mkheirkhah/ecmp.git
- Configure and build the ns-3 simulator
CXXFLAGS="-Wall" ./waf configure build
- Run a simulation
./waf --run "ecmp"
Note that we have written a simple simulation script to demonstrate how to use the ECMP modes available in this repository. You can find it in the scratch folder.
If you use this code in part or entirely, please consider citing the MMPTCP paper where this code was developed as part of it.
@inproceedings{kheirkhah2016mmptcp,
title={{MMPTCP: A multipath transport protocol for data centers}},
author={Kheirkhah, Morteza and Wakeman, Ian and Parisis, George},
booktitle={IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications},
pages={1-9},
month={April},
year={2016},
doi={10.1109/INFOCOM.2016.7524530}
}
Morteza Kheirkhah, University College London (UCL), m.kheirkhah@ucl.ac.uk