What exactly is it about a router that you want to learn?
Network protocols? Ethernet/WiFi drivers? Actually designing the electronics and sitting with a gigahertz range oscilloscope to test the signal integrity of your optical transmitters?
If it's just networking you want to learn, you can get quite far with just virtual machines. Build a distro like openwrt for x86, run a bunch of qemu instances, put them all in various bridge configurations, or maybe even play around with ovswitch. Sky's the limit.