Thursday, April 18, 2019

I built a small framework running FRR in Mininet for the purposes of teaching networking basics. Would like some feedback.

Some time ago, I thought it would be cool to combine FRR with Mininet for the purposes of teaching about networking and to have a playground for FRR protocols on my computer. This isn't in itself a new idea. FRR runs some tests using Mininet and also the Mininet has a wiki entry on BGP hijacking which uses quagga (project FRR forked from) running on Mininet. The BGP hijacking demo was actually the inspiration for this project and I used some of its solutions in my project.

The project is available on GitHub: https://github.com/Wojtek242/route0.

Good starting points to see what the project is about:

What I tried to accomplish with this project is to have an easy to use framework in which I can run FRR protocols on a Mininet network. I wanted it to be easy to create new topologies and new FRR configurations. This was actually very easy to do with very little python code. I also wanted it to be easy to use for people new to networking and I hope that in conjunction with the lessons it its. There aren't many lessons available at the moment as I only wrote enough to serve as an example to get some feedback. There also aren't that many topologies and scenarios for the same reason. Ultimately, I'd like to build it up to more impressive scenarios with multiples ASes or with L3VPNs.

My questions to you are:

  • Is this a useful project? Or do you think there won't be much need for this? I realise /r/networking is for professionals so obviously the readers here don't need it themselves, but I'm sure you can put it into context with other learning resources you know about.
  • Is the format good?
  • Is it as easy to navigate as I hoped it to be?
  • Anything else you would like to say.

I'm open to any constructive feedback. I haven't sunk too much time into this so I won't be offended if it turns out to be not of any use. I myself learned a lot about FRR through this and even submitted a doc pull request to the repo so it's already been productive for me.

At the end, just one small disclaimer: I am not a network admin, technician, etc. I have no certificates. My experience with networking comes from two years of working as a software dev on network protocols.



No comments:

Post a Comment