The limits of Skype

Bob Cringeley has an interesting analysis of how Skype works. Extract:

If you are a Skype user then you are used to seeing on your Skype client interface a real-time read-out of how many people are using the system at that very moment. I just looked and as I write this that number is just over 6.1 million. But what does this number actually mean? It means 6.1 million clients were registered with the system just then, NOT that 6.1 million people were talking. If all 6.1 million Skype users tried to talk at the same time, it would probably bring down the system.

Hey, it isn’t supposed to work that way! Skype is a peer-to-peer (P2P) network, right? And that means its capacity will expand to handle any number of users. No. Skype uses a technology called “Skype peer-to-peer,” which has some definite server involvement and therefore finite scalability. In fact, the number of people who can use — really, actively use — Skype at any moment is probably back to that 10-15 percent, which in this case would be 10-15 percent of 6.1 million or a maximum of 900,000 users. That’s a LOT less than the nearly 200 million registered Skype users and gives us a sense of what eBay got for its $2.6 billion.

Skype’s server involvement works two ways. First there is the registration server that helps you log-in, tells the world you are available, and facilitates connections, some of which are true peer-to-peer. But a lot of Skype connections aren’t P2P at all. These connections require some server assist because one side of the conversation or another is hidden behind a Network Address Translation (NAT) firewall. NAT was invented a dozen years ago to help preserve IPv4 addressing and has thrived as a poor man’s firewall for home networks, but NAT is the bane of P2P systems like Skype that often can’t see nodes hidden behind NAT firewalls.

The way Skype handles this so-called “NAT traversal” problem is by inserting a server in the middle that can be seen by connections at both ends. This server for Skype is called a “super node” and may well be inside your computer without your knowledge, because Skype super nodes use borrowed bandwidth and processing power. Lucky us.

Skype users who are operating in true peer-to-peer fashion are those whose IP addresses, whether static or dynamic, are readily viewable from anywhere on the Internet. That means no firewall, no Zone Alarm, no Gibson Shields Up!, which is a condition increasingly rare among Internet users. For those Skype users who do sit behind firewalls or use Zone Alarm, they connect through a super node that is visible from both ends of the conversation. Again, the super node has to be unprotected, and it has to have a surplus of bandwidth to handle the conversation relay. This kind of wide open connection is even rarer and there are right now only about 20,000 such super nodes on the Skype system.

Each super node can handle about 10 simultaneous connections for a total of 200,000 connections or 400,000 users. If half of Skype calls have to go through super nodes, that means the actual maximum capacity of the system is less than one million callers…