Although a single router is useful to get familiar with commands, it would be nice to build more complex topologies. With GNS3 very complex topologies may be built. Just as performance when running virtual machines within VMware or Virtual PC depends on your computer resources, running many router instances will affect the performance of your computer. The faster your CPU and the more RAM that you have, the better. However, idlepc does a lot to help with CPU usage. Ghostios and sparsemem are two additional utilities that will help with RAM usage. Ghostios is enabled by default in GNS3. These will be discussed in detail in the section on Memory Usage. As an example, with 2 Gigabytes of RAM and a 2.5 GHz processor, you should have no problems running a lab with good performance with a half dozen routers and several workstations.
Creating the topology
Let’s build the topology shown with three routers. Start GNS3. Drag three routers (here we are using Router c3640) running an IOS you have configured into the workspace.
Select the 3 routers, right-click and choose Configure. Click on Routers c3600, and then the Slots tab. Choose a NM-4T serial adapter for slot0. This should have configured a NM-4T network module in slot0 for all the routers.
Now we’re ready to connect the routers together. Click the Add a link button on the toolbar at the top. Choose Manual from the drop-down menu. Your cursor will change to a cross, and the icon will change to a red stop sign with an X.
Click on R1 and select s0/0. Slide your mouse over to R2, and then click on R2 and select s0/0. Click on R2 again and select s0/1. Slide your mouse over to R3, click on R3 and select s0/0. Now click the Add a link button again. (It looks like a red Stop sign with an X. After clicking on it, the icon will change back to a connector look.



Starting the routers
Notice the right-pane called Topology Summary. Your connections are now available for viewing by clicking the plus next to each router. GNS3 gives each router a default name beginning with R. If you would like to change the name, right-click on a router and choose Change the hostname. For this example, we will continue to use the default names.
The links are all red. Let’s start the routers by clicking the Start/Resume all devices button on the toolbar. A box will pop up indicating the routers are being started, and the links will turn green. If we click the Console to all devices button, we may observe the boot-up process of each router. A separate console window will open for each router.
Configuring the routers
You may now configure each router. In our example, we will assign IP addresses, enable RIP (a routing protocol) and finally test connectivity by using pings.
R1>en R1#conf t R1(config)#int s0/0 R1(config-if)#ip add 10.0.0.1 255.0.0.0 R1(config-if)#no sh R1(config-if)#router rip R1(config-router)#net 10.0.0.0 R1(config-router)#exit R1(config)#exit R2>en R2#conf t R2(config)#int s0/0 R2(config-if)#ip add 10.0.0.2 255.0.0.0 R2(config-if)#no sh R2(config-if)#int s0/1 R2(config-if)#ip add 11.0.0.2 255.0.0.0 R2(config-if)#no sh R2(config-if)#router rip R2(config-router)#net 10.0.0.0 R2(config-router)#net 11.0.0.0 R2(config-router)#exit R3>en R3#conf t R3(config)#int s0/0 R3(config-if)#ip add 11.0.0.1 255.0.0.0 R3(config-if)#no sh R3(config-if)#router rip R3(config-router)#net 11.0.0.0 R3(config-router)#exit

As you can see, R1 can ping R3 which verifies connectivity from end-to-end. You may also see that R1 has the 11.0.0.0/8 network in its routing table.
