Good Morning all,
I have got a 2610 that is doing NAT between two networks.
We have performances problem and the CPU in the traffic burst reach betwenn 80% and 95%.
We have also available a 2621XM.
Before to strart the substitution of the router I'd like to know if it is worth to do it.
The performance for the 2610 are 1500 pps (for process switching) and 15000 pps (for CEF/Fast switching).
The performance for the 2621XM are 1500 pps (for process switching) and 30000 pps (for CEF/Fast switching).
I know the NAT is a process switching feature (all the packets are processed by the CPU), so I wonder if the upgrade will have any effect due to the fact that the process switching performances are the same for both routers.
Any links or on-line document available?
I believe NAT can be CEF switched in some of the newer IOS versions. Have you verified that the 2610 is indeed using process switching? See http://www.cisco.com/en/US/products/hw/routers/ps133/products_tech_note09186a00800a70f2.shtml and http://www.cisco.com/en/US/products/sw/iosswrel/ps1828/products_tech_note09186a00801e1e46.shtml.
If the 2610 is process switching, you may want to check with TAC to see if there's an IOS version available that will allow CEF to be used (or maybe one of the Cisco folks here knows).
NAT should be CEF switched around 12.1 or so. I couldn't find the specific release, but I did find this:
Which is for the 6400, but the mainline in that area should be similar.
Hi thanks for the suggestion,
From Cisco Navigator it seems that this feature is not even supported from 6400, but only from 1700, 3600, 7200, 7300 and 7400.
The feature that is available for a better utilization of the resource is :
NAT-Performance & Scalability Enhancement-Timer Wheel
and this is available on the 262x-XM.
Looking for further documentation to confirm it is possible to implement also the NAT Cef switching.
If you have a 2621XM sitting around, it may be worthwhile to try some newer code versions (e.g., 12.2) to see if NAT'd packets are switched via CEF. (It's easy to tell if CEF is working per the links above.) If you find one, odds are the same version on a 2610 would be able to use CEF as well.
There's not a very easy way, unfortunately. You can use some of the commands given in the two links I posted above to see how much traffic is being process switched and how much is being CEF switched. (Note that the 'show int switching' command can't differentiate between fast switched packets and CEF switched packets, so CEF switched packets will increment the "fast switched" counter.) If all/most of the packets going through the router are being NAT'd, you should be able to deduce how such packets are being switched based on "show int switching". If not, you can also look at output from "show cef not-cef-switched". If NAT'd packets aren't being CEF switched I believe such packets will be reflected in the "Unsupported" column.
The timer wheel isn't specifically related to CEF switching, however, but to NAT in general.... It's a different way of doing the NAT timers that takes less processing time to set and check the timers (how long has an entry been in the table, how long has it been since it's been used, etc). So, this feature does make NAT faster, but it's not really related to CEF.
My question is mainly because NAT process every packet with CPU based process.
It means each packet create an interrupt process for the devices.
So the troughput is strongly related with CPU power.
Not the software implementation of CEF.
It is like the 2621XM is smarter to use the CPU than the 2610, but the raw capability for processed packets is the same.
There are several switching paths in Cisco routers--process based, interrupt context, and hardware based. CEF is an interrupt context switching path. In the 2600 series of routers, that means packet switching occurs in the receive interrupt of the main processor, so a faster processor is going to mean faster switching, even if the packet is cef switched.
A good book to pick up--even though it's older, it's still very accurate--is Inside Cisco IOS Software Architecture.