Skype uses a proprietary Internet telephony (VoIP) network. The protocol has not been made publicly available by Skype and official applications using the protocol are closed-source. The main difference between Skype and VoIP clients is that Skype operates on a peer-to-peer model, rather than the more traditional server-client model. The Skype user directory is entirely decentralized and distributed among the nodes in the network, which means the network can scale very easily to large sizes (currently about 240 million users) without a complex and costly centralized infrastructure.
A Skype network is a peer-to-peer network with three main entities: supernodes, ordinary nodes and the login server. It is an overlay network: each client builds and refreshes a list of reachable nodes known as the host cache. The host cache contains IP address and port numbers of supernodes. Communication is encrypted using RC4; the method used does not provide any privacy but instead merely obfuscates the traffic.
Supernodes relay communications to other clients behind a firewall. Any skype client can become a supernode if it has good bandwidth, no firewall and adequate processing power. Supernodes are grouped into slots (9-10 supernodes). Slots are grouped into blocks (8 slots).
Skype also routes calls through other Skype peers on the network to ease the crossing of Symmetric NATs and firewalls. This, however, puts an extra burden on those who connect to the Internet without NAT, as their computers and network bandwidth may be used to route the calls of other users.
The Skype client's application programming interface (API) opens the network to software developers. The Skype API allows other programs to use the Skype network to get "white pages" information and manage calls.