An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol

An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol

September 15, 2004 | Salman A. Baset and Henning Schulzrinne
This paper analyzes the Skype peer-to-peer VoIP client, developed by KaZaa, focusing on its key functions under different network conditions. Skype operates as a decentralized peer-to-peer network, with ordinary hosts and super nodes (SNs) forming the network. Super nodes are hosts with public IP addresses and sufficient resources to act as network intermediaries. The Skype login server is crucial for user authentication and storing user names and passwords. Unlike traditional VoIP services, Skype uses a decentralized approach for user information storage and search, relying on a Global Index (GI) technology to locate users within 72 hours of logging in. Skype uses wideband codecs to maintain call quality at low bandwidths and employs TCP for signaling and both TCP and UDP for media transmission. It uses STUN and TURN protocols to determine NAT and firewall types. The Skype network relies on a host cache (HC) to store super node information, which is stored in the Windows registry. The HC is essential for connecting to the Skype network and is refreshed periodically. The paper describes the experimental setup, including three network scenarios: public IP addresses, port-restricted NAT, and UDP-restricted firewall. It details the login process, where a SC must connect to a super node and the login server to authenticate. The login process involves sending UDP packets to the HC and establishing TCP connections if necessary. The paper also discusses user search, call establishment, media transfer, and conferencing, highlighting how Skype routes voice traffic through intermediate nodes when direct connections are not possible. Skype's conferencing features allow multiple users to join a call, with the most powerful machine often acting as the host. The paper also notes that Skype allows users to log in from multiple devices simultaneously, with calls and messages routed to all locations. The study concludes that Skype's peer-to-peer architecture, combined with its ability to traverse NATs and firewalls, contributes to its popularity. It uses encryption for communication and relies on a combination of hashing and periodic flooding for user search. The paper highlights the use of STUN for NAT and firewall traversal and the use of wideband codecs for high-quality voice calls.This paper analyzes the Skype peer-to-peer VoIP client, developed by KaZaa, focusing on its key functions under different network conditions. Skype operates as a decentralized peer-to-peer network, with ordinary hosts and super nodes (SNs) forming the network. Super nodes are hosts with public IP addresses and sufficient resources to act as network intermediaries. The Skype login server is crucial for user authentication and storing user names and passwords. Unlike traditional VoIP services, Skype uses a decentralized approach for user information storage and search, relying on a Global Index (GI) technology to locate users within 72 hours of logging in. Skype uses wideband codecs to maintain call quality at low bandwidths and employs TCP for signaling and both TCP and UDP for media transmission. It uses STUN and TURN protocols to determine NAT and firewall types. The Skype network relies on a host cache (HC) to store super node information, which is stored in the Windows registry. The HC is essential for connecting to the Skype network and is refreshed periodically. The paper describes the experimental setup, including three network scenarios: public IP addresses, port-restricted NAT, and UDP-restricted firewall. It details the login process, where a SC must connect to a super node and the login server to authenticate. The login process involves sending UDP packets to the HC and establishing TCP connections if necessary. The paper also discusses user search, call establishment, media transfer, and conferencing, highlighting how Skype routes voice traffic through intermediate nodes when direct connections are not possible. Skype's conferencing features allow multiple users to join a call, with the most powerful machine often acting as the host. The paper also notes that Skype allows users to log in from multiple devices simultaneously, with calls and messages routed to all locations. The study concludes that Skype's peer-to-peer architecture, combined with its ability to traverse NATs and firewalls, contributes to its popularity. It uses encryption for communication and relies on a combination of hashing and periodic flooding for user search. The paper highlights the use of STUN for NAT and firewall traversal and the use of wideband codecs for high-quality voice calls.
Reach us at info@study.space