JavaScript Network Simulator

So what am I looking at?

This is a demo of an idea I had for an interactive web-based network simulator. If you look at the objects in my JavaScript [Edit on JSBIN] (near the bottom) you can see how far I'd like to go. For example I have a PC object that will inherit from a "Hardware" object. The hardware object has an array of interface objects. I would love for this to be a great interactive tool for students learning about networking. I plan to also use Node.js to allow collaboration between many users on the same network design.

What else will it do?

One of the core features I would like is the ability to slow down the simulated time. This way users can watch a packet travel, be routed and even collide with another network packet and then create an interference single on it's collision domain.

Don't other people make really good network simulators?

There are commercial products out there that do this kind of thing. One thing that will set this apart is the ability to allow users to work together in real time on a simulation. Also making this an open source project I hope that it has a better chance to go viral. For one thing I don't have to convince anyone to download any software, all they need to do is load up my website.

I don't expect this to replace labs but I think it could be a great tool allow people to do quick experiments and get feedback in real time.

What will wiring be like?

Dragging a cable from one device to another will default to plugging it into the first available port. If that option is off, or if there are no available ports, the wire will just rest beside the machine. You will then be able to zoom in to plug and unplug them from this screen.

Hovering or dragging a network cable will highlight it on a mini-map so you can see what you are working with.

What will it look like?

NOTE: I'm going to be updating this page a lot over the next few days. This is a very rough draft.

This page last modified: February 17 2016 23:48:26 ET