My previous semester introduced me to tools like Mininet and Cisco Packet Tracer. However, I had barely understood the difference between both these tools, when I was told about ns3 through conversations on projects at the lab I'm interning at this summer.
So I set out to understand what each tool exactly does, and why we have 3 of these tools in the first place.
Cisco Packet Tracer¶
This was the first tool I was introduced to. Cisco Packet Tracer is a network simulator that allows you to simulate a network of devices developed by Cisco. You could drag and drop devices such as routers, switches, and end devices onto a canvas, and then connect them with virtual cables. I've learnt that this tool is not really accurate by any means, and is used to get a basic understanding of how networks work, and how to work with Cisco devices.
Mininet¶
Mininet is a network emulator, but where it differs from packet tracer is that it uses the actual kernel and networking stack of Linux, so it's more accurate, especially because the goal with mininet is to develop software for SDN (Software Defined Networking). Mininet gets heavy as the scale of the network increases, because it spins up actual virtual machines for each node.
ns3¶
Unlike Mininet and Cisco Packet Tracer, ns3 is a discrete-event network simulator. What that means is that it simulates the network in discrete time steps, using mathematical models of the network components. This allows it to scale to much larger networks than Mininet, but at the cost of not being able to run actual network code. It's widely used in academia and research for performance analysis and protocol development.
A couple definitions were not my takeaway today...¶
Well yes I've learnt about these tools today, that was not what my main takeaway was. Today I learned that just knowing what a tool accomplishes is not enough in any field, but understanding how it does things, why it does things the way it does things is very important. It lets you get a feel for what's truly happening, and a better mental picture. I have been very ignorant of this, and it's not because I didn't want to learn, but rather because I thought this much was enough.
An overview will only get you so far, and you quickly lose depth in that particular topic. And voicing the whys, whats, hows of everything we use and interact with lets you do way better.
~~That was philosophical.~~