Bruno Giussani has an interesting post at his blog, that also appeared in Wall Street Journal Europe, which reveals a little known downside to using Skype for VoIP telephone service. It turns out that Skype is actually a peer-to-peer application and under certain circumstances, your PC may get turned into a “supernode” spewing a ton of Internet traffic on behalf of Skype.
Consider this text from CERN’s Web site: “Skype [peer-to-peer] telephony software is not permitted on CERN’s computing or network facilities. It violates CERN’s Computing Rules by bypassing firewall protections and offering services to others.”
The issues are a bit complex. Let’s try to break them down.
First, the “supernode” question. “Skype can turn user computers into ‘supernodes’ which route traffic through CERN,” François Grey of CERN’s IT communications team explained in an email exchange: “We have encountered some operational problems as a result.” That’s because Skype’s design is based on peer-to-peer, distributed networking principles. This means that the core functions of the system are decentralized, as is the database of Skype users (the tool that lets you look up other Sykpers and tells the system where to forward a call). The calls are set up and passed on among users, flowing through a chain of computers around the world without traversing any central infrastructure.
That’s good for robustness and scalability — and for Skype, which can avoid massive investments and add new users at near-zero marginal cost. For the system to work, however, some users have to take over its vital functions: routing traffic and holding portions of the database. In Skypeville, these tasks are farmed out to those users with the most powerful computers and the biggest bandwidth, such as CERN. Skype turns them into supernodes.
Only a fraction of users are elevated to this function–currently some 20,000, according to research presented at a recent conference in the Netherlands by Philippe Biondi and Fabrice Desclaux of EADS. And only a small portion of their bandwidth is supposed to be shared. Skype CEO Niklas Zennström explained it to me in an interview last year: “When you become a supernode you share some of your resources and a little bit of bandwidth, but very little; you won’t notice.”
That’s the idea at least, but it doesn’t always work out that way:
But some do notice. San Diego-based venture capitalist and TV host Paul Kedrosky, for example, complained on his blog in January that while he was traveling his computer “was sending out enormous amounts of traffic.” The IT people at his firm discovered that the machine was routing Skype traffic as a supernode. Computerworld magazine found that “in supernode mode, Skype is reputedly able to saturate 100 Mbit/second connections.” In layman’s terms, those are fast connections. The average Skype user’s PC is much less taxed than this, obviously. The possibility of becoming a supernode is written into Skype’s end-user license agreement, but not explicitly: The word “supernode” is never used. The license speaks of “permission to utilize the processor and bandwidth of your computer for the limited purpose of facilitating the communication between Skype Software users.”
The criteria for a subscriber PC to be chosen for use as a “supernode” aren’t really clear although the Computerworld article linked above suggests that if your machine has a high speed Internet connection and a routeable IP address (e. g. not behind the average home router with Network Address Translation (NAT)), you are a good candidate.
There’s much more by following the link including worries about security and legal regulations that might require Skype users to store any traffic routed through their machines. Nicholas Carr notes how using customer machines to provide infrastructure seems to be critical to Skype’s business model and that there it is no such thing as a free ride. I’m wondering about the multitudes of other VoIP services and how many of them are really P2P applications too?