Long story short, I was looking for an internet topology generator tool in order to use a realistic topology for my new P2P protocol. After trying various of them, I came across IGen developed by Bruno Quoitin. Besides providing a wide range of strategies for connecting routers, it also comes with a GUI and what’s most important (at least for me), it is not spectacularly old (2010). Other similar tools are from the end of 90’s, the times when you could store the internet in a floppy disk.
Nevertheless, IGen is still quite old and the libraries it uses are deprecated so the code you download from their website doesn’t run on recent versions of Perl. I made some slight modifications to this code in order to make it more compatible with current libraries.
You can find it here IGenc 🙂
In order to make it run (in Ubuntu 16.04), I did the following:
1. Download the tarball above, unzip it and spawn a terminal and cd to the igen directory.
2. If you don’t have it already, install the Tk module for Perl:
$ cpan Tk
3. Make sure you have the statistics module, if not:
$ cpan Statistics::Basic
4. IGen requires also the Graph-0.20105 module, which is not the latest Graph module but that you can find it inside the tarball you downloaded. In order to install this module
$ cd Graph-0.20105
$ perl Makefile.PL
$ make test
$ make install
$ make test fails, try to install the Heap::Elem module:
$ cpan Heap::Elem
6. Go back to the iGen directory
cd .. and run the iGen gui
Here you go!