And if your interesting in playing around with ip routing but can't afford an expensive cisco router (like me), you can download some open source routing progams for Linux/BSD that uses mostly the same commands as Cisco routers, then you can try to download it from one of the following addresses:
http://www.quagga.net/
http://www.zebra.org
Quagga is a newer version of zebra, but i've had less problems with zebra so i'll recommend zebra first. The nice thing about zebra/quagga is that if you need help with routing then most of the help can be found at
www.cisco.com. The biggest difference between zebra/quagga and cisco, is that on zebra/quagga you'll have to telnet at port 2601-2608 depending on the Routing protocol your using.
Commands to start it is:
zebra -d (-d to start it like a deamon. Then telnet localhost.2601)
ripd -d
opsfd -d
bgpd -d
isisd -d(not sure if this is the correct command, and isis aint' supported on all versions of zebra).
IGRP and EIGRP aint supported, because it's propiotary(probably not spelled right).
Even though most of the commands are the same, you'll have to use a diffenrent telnet port for connecting and configuring the different protocols. I can't remember all of the port numbers, but for zebra it 2601 (you can make static ip routes here to null0 interface incase you don't have enough interfaces on your linux box to play round with.)
rip is 2602
ospf is 2604
zebra and quagga uses the same commands, so it's only recommended to have one of those installed at the same time.
With 2 pc's running vmware and zebra on both of'em and on the virtual pc's, you'll able to test alot of configurations
slackware 8.1 works well with vmware 3.0 and zebra, aslong as you create some empty folders in the /etc/rc.d folder. Not sure what's they're called, but the configuration process of vmware will ask you for the location of those folders. vmware ain't free though, but you should be albe to get a free demo of it.