Anyone that’s made it past the first few hours of CCNA study, or used a Cisco router, knows that Cisco routers run IOS, more formally known as “Cisco IOS Software”. However, if you’ve not worked with routers on a regular basis, it’s sometimes scary to pull the trigger to buy some used gear for a home lab. I’ll address some of the issues related to choosing an IOS today, and how figure out the amount of flash and RAM needed to support each IOS.
(Disclaimer – I make no claims as to the legality for anyone to obtain and use IOS images. I’m only attempting to describe the process of getting the IOS image files – the legal issues are left to you.)
First, a quick overview. Today, IOS for the router models you’d use in a CCNA or CCNP lab ships as a single compiled file. Cisco builds different IOS images (files) based on the model of router and the feature set, as well as different images for each maintenance level (version and release).
The IOS feature set determines what commands and functions that IOS supports – the more functions in the IOS image, the more it costs, and the more RAM and flash required when using it. The best way to figure out what features are in each feature set is to use the Cisco Feature Navigator, where you can select features from a list, and then find out what router models support it, in which IOS versions. It also displays the amount of flash and RAM needed for each version.
For example, I used the feature navigator to find out the details of IPv6 OSPF Version 3 support. I found that you had to at least have a 12.4 IOS version, which means that the 1500’s and 2600 non-XM models can’t run OSPF version 3 (see earlier posts in the CCNA lab series regarding the fact that some older models can’t run the latest IOS versions.) For 2610XM’s, many feature sets support OSPF V3, but the one that requires the least memory is called “IP plus” – a popular feature set to support a wide range of IP features. In this particular case, to support the IP plus feature set in version 12.4 IOS, a 2610XM would need 64M of RAM and 32M flash.
So, what do you need for a CCNA lab? Well, an exhaustive search requires a bit more research than I can afford for my blog-time. However, you’d probably get most everything with the most basic feature set, typically just called “IP” or “IP Basic”. For example:
- With IP Base at version 12.3 mainline, 2500’s and 2600 non-XM’s support basic IPv6 address and RIP features – so you could test IPv6 with these older routers.
- With IP Basic and 12.4 mainline, you could test Secure Shell (SSH). However, 2500’s and 2600 non-XM’s don’t support 12.4. However, the issue isn’t the feature set, it’s the IOS version.
- If you’re thinking about CCNP, for example, to support EIGRP for IPv6, you’d need a 12.4T version (next version after 12.4 mainline) – but still with the basic “IP” feature set.
- If you wanted to get more into security, or voice, or MPLS, you’d need more functional feature sets.
(Anyone out there know of a CCNA-level topic that you’ve discovered wasn’t supported by an IOS “IP” feature set? Please post it! Thanks…)
By the way… a quick aside on IOS version numbering. The major releases look like 11.2, 12.1, 12.2, and so on. If this number is NOT followed by a letter, it is a “mainline” release, meant for eventual general deployment (aka it’s the safest version to use). Releases with a “T” designator (eg, 12.3T) have been deployed less time, so there’s a highest statistical liklihood of bugs. Of particular interest in this context is that when Cisco is ready to start a new mainline version, they take the then-current T-train release of the earlier version, and those versions tend to track one another as fixes are made. For example, 12.3T train was the basis for mainline release 12.4. So, while some minor differences may exist, you can generally count on 12.3T and 12.4 release to support the same features, as well as 12.2T/12.3, and so on.
Why the long aside? Well, now it’s time to buy some routers on the used market. The seller may claim that the router has version whatever installed and with a valid license. If you don’t have the rights or ability to download other IOS versions and feature sets, you want to make sure the router you buy has the right version and feature set – and the feature navigator is a good place to start.
Additionally, if you buy a router expecting to load a new IOS, you have to do a little planning for memory as well. You have two options, and for home labs, I much prefer the 1st option:
1) Buy the router with max RAM/flash already installed
2) Pick the IOS, and then buy enough RAM/flash to support the IOS
Why get the max memory? Well, by the time a router model is old enough to be pretty cheap on EBay, the memory modules are pretty cheap as well. It varies from router to router, but there have been times that ordering the memory separately has been more expensive than the routers on the used market. But you can typically find routers that also have max RAM and flash installed, and not have to worry about getting the memory and install it – and oddly enough it may well be cheaper than buying the memory later. For reference, here’s the max memory allowed for some of the router models I’ve discussed in this blogspace:
Model RAM/Flash
3640: 128/32
2501: 16/16
2610: 64/16
2620: 64/32
2610XM: 256/48
1841: 384/128
So, what’s the conclusion for CCNA? You’ll mostly be fine with an “IP Base” feature set, and a little better off with an “IP plus” or “Advanced IP” feature set. But check the memory requirements for those with feature navigator, and compare that to what you intend to buy, before pulling the trigger.




