NAP/ISP Saturation WAS: Re: Exchanges that matter...

Tony Li tli at jnx.com
Thu Dec 19 22:13:16 UTC 1996


   Would someone please tell me just why icmp echos are "cpu intensive"?

   Yes, I know they're in software.  So what? A PC can respond to an 
   ethernet loaded with them with a trivial percentage of it's CPU cycles.

Recall that the high end routers do most of their forwarding in hardware.
So echos are "cpu intensive" in that they take many, many, many more CPU
cycles to process than packets which are forwarded by the hardware.

For example, in a cisco 7000, the main traffic flow is switched by the
silicon switch engine.  Pings of the router themselves cause the packet to
leave the silicon switch engine and sit on a queue (consuming buffer
space), waiting for the CPU.  When the CPU gets around to it, the packet is
then copied out of the hardware up to the CPU.  The CPU then makes a normal
forwarding decision, and decides to receive the packet.  It then decides to
format the reply.  Now it makes another forwarding decision, copies the
packet back down into a hardware buffer and squirts it out.

   This sounds to me a whole lot more like a solution to an imagined 
   problem, but I'm prepared to be convinced that responding to pings 
   actually takes a great enough percentage of CPU cycles to slow down 
   packet delivery.....

In fact, responding to pings does not directly affect the speed of the
hardware forwarding engine.  However, it does increase buffer utilization
in the hardware.  It also deters routing protocol processing from
happening, as it's consuming CPU.

Tony





More information about the NANOG mailing list