Jeremy created GNS3 while at University. GNS3 has impacted the lives of hundreds of thousands of network engineers around the world. In this video, Jeremy discusses the GNS3 architecture.
GNS3 is split into four parts:
1) GUI (project gns3-gui, gns3-web)
2) Controller (project gns3-server)
3) Compute (project gns3-server)
4) Emulators (qemu, iou, dynamips…)
The controller is in charge of everything. It’s the part that manages the state of a project, and saves it to disk. Only one controller exists.
The GUI displays the topology. The GUI has only direct contact with the controller.
The compute servers are where emulators are executed. If the compute is on the same server as the controller, they are in the same process.
For each node of the topology will start an emulator instance.