Cisco Catalyst 3750 and VoIP (CORRECTED)

The performance of the Cisco Catalyst 3750 is a funny thing. Software-based routing, called process switching, can only switch 2500-3000 packets per second[1]. But the box itself is rated at 6.5 million packets per second[2], using hardware-based switching. That's a huge disparity, larger than on Cisco's official "router" products. For example, the Cisco 2821 can process-switch 75,000 pps, and CEF-switch 170,000 pps.[5]

According to Cisco: nearly all packets are switched in hardware using Cisco Express Forwarding. But some packets are still switched in software. So, which packets take the slow boat?

As best I can tell: the first packet to a destination is process-switched, and thereafter, on average one packet every twenty minutes to that destination [3].

Also, any packet through a GRE tunnel is process-switched [4]. These are the "tunnel" interfaces.

So, what's the net-effect of this on VoIP? There are two.

According to [3], every minute, 1/20 of the CEF cache is invalidated. But we don't care about averages, since this 5% invalidation happens all at once. (I'm assuming.) [CORRECTION: This is referring to the Cisco fast-switching cache invalidation. IF you're not using fast switching (a distinct feature from CEF), then you're not subject to this. But I'll leave the rest of this article intact, just in case it's later useful.]

We can process-switch 2500 packets per second. So in any 20 ms period following the CEF table invalidation, it can process-switch packets for 50 different destinations. If it takes longer than 20 ms, then an RTP flow will miss a packet.

The router can keep up if these 50 packets represent 5% of destinations going through the box. 50 is 5% of 1000.

1000 different destinations might represent 1000 different RTP streams; at 20 ms packetization, that's 20000 pps. That's well within the 6.5 mpps [2].

So I'd expect the Catalyst 3750 to be able to keep up with routing VoIP traffic to 1000 different destinations, using the typical 20 ms RTP packetization.(*)

But what if you don't have lots of different destinations -- just lots of calls to only a few destinations? Then you're more likely to be bound by the 6.5 mpps or the backplane throughput capacity of 32 Gbps. Under those conditions, your maximum is 65,000 concurrent calls (based on mpps) or 168,000 concurrent calls (based on Gbps).








(*) What does 1000 different destinations look like in a hosted VoIP company? Well, we can estimate the revenue size of such a company. Suppose you're selling residential Bring-Your-Own-Broadband VoIP for $14-$25/month. Suppose you're using media steering because these are NAT'd devices, so all the media has to go to and from your SBC; thus, each call appears on your router twice. Suppose also that you're using Level(3), so the media for your calls is routed to numerous different trunking gateways. (To be honest, I don't really know how many Level(3) gateways Let's make a guess that you're talking to about half as many trunking gateway IP addresses are you have sessions.

1000 [destinations] = calls + 1/2 calls + 1 [sbc IP]
calls ~= 667
subscribers = calls * 4 [oversubscription ratio] = 2,668
revenue = $19.50 [average monthly rate] * 2,668 [subscribers] * 12 [months/year] ~= $624,000/year

So this gives us a ballpark idea for how big a BYOB VoIP provider might grow using Level(3) and the Catalyst 3750 for routing. This is really just for fun, though.

Suppose this BYOB VoIP company switches to a carrier that routes all of their PSTN calls to just ten different trunking gateways; that increases the supported subscriber count to around 3,950 and revenues of $925,704/year.