Here is a workarround for emulating switches in GNS3 using routers c2691 routers
http://www.youtube.com/watch?feature=endscreen&NR=1&v=6BNSy1A5pS8
For this lab you need REAL hardware. You can't use switches in GNS3!
You only need layer 2 switches for this lab. The Cisco Catalyst 2950 or higher will work.
The school you work for has a flat network design and they only use layer 2 switches. One of the teachers built the network in his own time but he has no clue what he exactly did. There is only one VLAN and there have been issues with applications that generate too much broadcast traffic. It's up to you to segment the network and implement some VLANs.
It took me 1000s of hours reading books and doing labs, making mistakes over and over again until I mastered all the switch protocols for CCNP.
Would you like to be a master of switching too? In a short time without having to read 900 page books or google the answers to your questions and browsing through forums?
I collected all my knowledge and created a single ebook for you that has everything you need to know to become a master of switching.
You will learn all the secrets about VLANs, trunks and more.
Does this sound interesting to you? Take a look here and let me show you how to Master CCNP SWITCH
Basic IOS for the switches should be sufficient. No special features needed.

You need to register to download the GNS3 Topology File. (Registration is Free!)
Here is a workarround for emulating switches in GNS3 using routers c2691 routers
http://www.youtube.com/watch?feature=endscreen&NR=1&v=6BNSy1A5pS8
Thanks for sharing this. Keep in mind many of the switch commands are unavailable or slightly different. Using "real" switches is still the best way to go for CCNP. For CCNA packet tracer is a good choice.
Good lab, but I cannot change the trunk encapsulation on my 2950. I have a 3550 and it works just fine. I looked into it and according to Cisco's website the 2950 does not support DTP. I did go to Cisco's website and download the latest IOS too but that didn't work either. Any ideas?
You cannot change the encapsulation on a 2950, it only supports dot1.q, but the 2950 does support DTP. But both ends have to agree on negotiating of the trunk. You can verify what's running with a "sh int f0/1 sw" just use the correct interface name your trying to test. You can hard code it trunk, use dynamic desirable or auto. But the other side has to agree to be a trunk with the correct mode of operation.