Skype P2P telephony explained

See also the Skype Technical FAQ for answer to specific questions.

Peer-to-peer (“P2P”) technology was first widely deployed and popularized by file-sharing applications such as Napster and KaZaA. In this context, P2P technology allows users to share, search for and download files. The P2P term has been widely used and just as often abused. Companies both large and small, self-proclaimed “pundits” and others to trying to cash in on the “P2P buzz” use this term as long as it involves some direct communication between users or nodes. This description of P2P completely misses the point.

A true P2P system, in our opinion, is one where all nodes in a network join together dynamically to participate in traffic routing-, processing- and bandwidth intensive tasks that would otherwise be handled by central servers.

A true P2P application empowers small teams with good ideas to develop software and businesses that can successfully challenge those of large companies. True P2P, when applied to ripe markets, isdisruptive technology.

Decentralized P2P networks have several advantages over traditional client-server networks. These networks scale indefinitely without increasing search time and without the need for costly centralized resources. They utilize the processing and networking power of the end-users machines since these resources always grow in direct proportion to the network itself. Each new node added to the network adds potential processing power and bandwidth to the network. Thus, by decentralizing resources, second generation (2G) P2P networks have been able to virtually eliminate costs associated with a large centralized infrastructure.

P2P telephony became a natural next step where P2P could have a significant disruptive impact and Skype was founded to develop the first P2P telephony network.

Internet-based telephony – Voice-over-IP – (VoIP) has been around for years but has not reached the mainstream market. The reasons for this are quite clear to those of us who have tried VoIP software:

  • Products which have a true cost-saving advantage over standard telephones do not have comparable quality.
  • Call-completion rates are very low due to firewalls and the use of Network Address Translation (which renders over 50% of residential computers unable to communicate with traditional VoIP software).
  • The User Interface is typically bloated and requires substantial configuration and technical skills.

Centralization can overcome some of these difficulties by routing calls through firewalls or NAT's. However, this brings the cost of running the network to levels approaching that of the existing telecom networks. In addition, these costs scale proportionally with the number of users. The result is that companies operating such services typically allocate very little resources on their servers per user which seriously degrades the call quality.

The Skype team has succeeded in leveraging all of the available resources in a network. This has allowed us to raise the call completion rate and quality in the Skype network to levels exceeding that of POTS (“Plain Old Telephony System”). This is all achieved without the need for costly centralized resources. In addition, we also believe that we have created the most user friendly interface around!

The following are some of the techniques that Skype employs to deliver state-of-the-art IP-based telephony.