Recently, after a hiatus of about a year and a half, I started developing with OPNET Modeler again (I have been using OPNET for simulations and tests on LTE networks often for the last 2 years and a half, but not really developing at a large scale).

OPNET is a company, recently acquired by Riverbed, that offers a rather long list of products. I have to say that my experience is only with Modeler, the wireless module and many of their models (=code) for LTE, UMTS, IP, WLAN, etc. I will be using a couple more of their products soon, learning new stuff and expanding the potential of what we develop.


I started using OPNET back in 2005 when, in order to fulfill my final degree research project, I joined the Mobile Communications Research Group (Grup de Recerca en Comunicacions Mobils) of the Politechnic University of Catalunya (Telecom-BCN). I worked for a bit over a year on Common Radio Resource Management for heterogeneous GSM(EDGE)+UMTS networks. Back then, I learned how to program and develop in OPNET and I was hooked. Going back to my roots now is bringing me back so many memories. OPNET development is hard at the beginning but, once you get it, you see through the code and the GUI like Neo sees through Matrix.

OPNET is, in my humble opinion, not a very popular/widespread tool among academia. It might be because of its cost (though I know for a fact that they have free licenses for academia so the cost is literally zero… I can’t remember if there was such free licenses back in 2005). I have also heard people sometimes telling me that they do not “trust” results generated by OPNET. The reason I have been given is that OPNET models networks based on what (for example) standards say and the results could differ a lot from a real production network. I totally agree. However, the people who make this claims (and many other people too) often use other “simulation platforms” for their research, i.e. Matlab, C++, Java, Python, etc. I do not see why a simulation on another “platform” (i.e. Matlab, C++, Java, Python, etc) would be more accurate or better than with OPNET. Actually, I think that with OPNET it will probably be better because it is much easier (I can’t even imagine trying to simulate an LTE network – eUTRAN + RAN – using Python). By the way, I want to comment here that I have never used NS-2 or NS-3 so I am not trying to imply at all that OPNET is better or worst than those two.

OPNET offers a great platform to develop very realistic and efficient network simulations. I agree that the results might differ from a real production network but, using another simulation platform, in the best case scenario you’ll get results as accurate as with OPNET. The only way to improve them is to actually get your hands on a real network. In that specific case, I happen to be very lucky to work where I work and have access to such a cool lab network. However, in order to achieve realistic results at a big network scale (hundreds of thousands of mobile devices talking over a very (very) large network) one needs an unrealistically (very very unrealistically) huge lab network. In this case, I don’t know anything better than OPNET.

(Again, I have not tried NS-2 or NS-3. Maybe if I did I would change my mind. Any thoughts?)

If you are a grad student working on research related to networking, wireless, cellular or something like that, you might want to check this out (free license for academia research) and speak with your advisor.

Obviously, and as usual, the opinions I post here are my own and have nothing to do with my employer or anybody else.