What are P2P communications?
The original vision of the World Wide Web was arguably already based on the concept of peer-to-peer, whereby each user of the web would be an active editor and contributor, creating and linking content to form an interlinked "web" of links. But Peer-to-peer ("P2P") technology became widely deployed and popularized by file-sharing applications such as Napster and Kazaa. In this context, P2P technology allowed users to share, search for and download files.
Since then, the term P2P has been widely used whenever any direct communication between users or nodes is involved.
At Skype, we believe a true P2P system connects all nodes in a network dynamically to participate in traffic routing, processing and bandwidth-intensive tasks that would otherwise be handled by central servers.
A true P2P application also 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, is disruptive technology.
Decentralized P2P networks have several advantages over traditional client-server networks. These networks scale indefinitely without increasing search time or 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.
How does Skype use a P2P communication network?
The Skype team succeeded in P2P communications by leveraging all of the available resources in a network, all without the need for costly centralized resources.
Skype uses the following IP-based communications techniques:
Firewall and NAT (Network Address Translation) traversal
Non-firewalled clients and clients on publicly routable IP addresses can help NAT’ed nodes communicate by routing calls. This allows two clients who otherwise would not be able to communicate to speak with each other. Calls are encrypted end-to-end and proxies with spare resources are chosen, so the performance for these users is not affected.
We've also developed several techniques to avoid end-user configuration of gateways and firewalls that would otherwise prohibit the users from communicating successfully over a P2P network. In short, Skype works behind the majority of firewalls and gateways with no special configuration.
Global decentralized user directory
Most instant message or communications software requires some form of centralized directory to establish a connection between end users in order to associate a static user name and identity with an IP number that is likely to change.
This change can occur when a user relocates or reconnects to a network with a dynamic IP address. Most internet-based communication tools track users with a central directory that logs each user name and IP number and tracks whether users are online or not. Central directories are extremely costly when the user base scales into the millions. By decentralizing this resource-hungry infrastructure, Skype can focus all of its resources on developing cutting-edge functionality.
P2P network technologies used by file-sharing applications would be almost suitable for decentralizing this, but those networks are fragmented in nature - a search does not reach all nodes in the network.
Clearly, in order to deliver high-quality communications with the lowest possible costs, a third generation of P2P technology ("3G P2P") or Global Index (GI) was a necessary development and represents yet another paradigm shift in the notion of scalable networks. The Global Index technology is a multi-tiered network where supernodes communicate in such a way that every node in the network has full knowledge of all available users and resources with minimal latency.
How does Skype maintain call quality?
By using every possible resource, the P2P system that supports Skype communications is able to intelligently route encrypted calls through the most effective path possible. Skype even keeps multiple connection paths open and dynamically chooses the one best suited at the time. This has the noticeable effect of reducing latency and increasing call quality throughout the network.
Is Skype secure?
Skype is as secure as we can possibly make it. When you call another person on Skype your call is encrypted, to protect your privacy. The same is true of your shared files, chats, and video.