0% found this document useful (0 votes)
616 views22 pages

Skype Protocol for Tech Professionals

Skype uses a peer-to-peer network architecture with super nodes and login servers to enable voice and text communication between clients. Key components include host caches to locate super nodes, and an obfuscation layer to encrypt traffic. Calls between public IPs use direct TCP connections, while NAT'd clients employ relaying through super nodes and third party peers. The protocol also integrates with the PSTN through gateway servers.

Uploaded by

haleem81
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
616 views22 pages

Skype Protocol for Tech Professionals

Skype uses a peer-to-peer network architecture with super nodes and login servers to enable voice and text communication between clients. Key components include host caches to locate super nodes, and an obfuscation layer to encrypt traffic. Calls between public IPs use direct TCP connections, while NAT'd clients employ relaying through super nodes and third party peers. The protocol also integrates with the PSTN through gateway servers.

Uploaded by

haleem81
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

An analysis of Skype protocol

Presented by:
Abdul Haleem
Agenda
 Introduction
 Entities of Skype Network
 Key Components of Skype Software
 The communication process
 Skype Network Traffic
Introduction
 Peer to peer application
 Chat
 Call
 Skype to Skype
 Skype to telephone/mobile network

 Telephone/mobile network to Skype

 User search (Find people)


Key Entities
 Skype Client (ordinary host)
 Login Server
 Super Node
Key Entities
Skype Client (ordinary host)

 An ordinary host is a Skype application that can


be used to place voice calls and send text
messages
Login Server

 Itis the only centralized server


 User names and passwords are stored at the
login server. User authentication at login is also
done at this server.
 This server also ensures that login names are
unique across the Skype name space
 An ordinary host must register itself with the
Skype login server
Super Node

 Super nodes are the end points where Skype


clients connect to.
 Any node with a public IP address having
sufficient CPU, memory, and network
bandwidth is a candidate to become a super
node.
Key Components
 Host Cache
 Obfuscation Layer
Host Cache

 Every Skype client maintains a local list of


super node IP address and port pairs. It is
called Host Cache
 Refreshed regularly

 Upon startup the client reads an entry from the


host cache, and tries to connect to this SN.
 If connection fails (the SN is offline; it is no
longer part of the network, etc) it reads next
entry and tries to connect to it.
Obfuscation Layer

 Everything that is being transferred across the


network is being encrypted to ensure privacy.
 Uses AES algorithm for encryption.
communication process
 Logging in
 Skype to Skype call – Both public IPs
 Skype to Skype call - behind NAT
 Call Between Skype and PSTN
Logging in

 Clientauthenticates its user name and


password with the login server
 advertises its presence to other peers

 determines the type of NAT it is behind

 discovers online Skype nodes with public IP


addresses
Logging in

 Get an IP and port of a super node from HC


 Send UDP packets to check availability

 TCP connection on provided IP and port.

 TCP connection on provided IP and port 80


(HTTP port).
 TCP connection on provided IP and port 443
(HTTPS port)
 Try next super node (total 5 attempts)
Logging in
Skype to Skype call – Both public IPs

 Ifboth caller and receiver are on public IPs then


they establish a call through a direct TCP
connection with each other.
 Media is transferred using UDP.
Skype to Skype call - behind NAT

 NAT prevents an outside peer from initiating a


call to insider peer

rest of local network


Internet (e.g., home network)
10.0.0/24 10.0.0.1

10.0.0.4
10.0.0.2
138.76.29.7

10.0.0.3
Skype to Skype call - behind NAT

 Solution to NAT problem


 Every client is connected to its super node
which is non-NATed.
 Client A asks its super node that she wants to
call B.
 Super node of A informs super node of B who in
turn informs B.
 If B accepts the call then a third non-NATed
peer is chosen which relays data between A
and B.
Skype to Skype call - behind NAT

 Solution to NAT problem


Call Between Skype and PSTN

 For Skype out (Skype to PSTN), the application


initially contacts the super node and then the
PSTN gateway at port 12340.
 The gateway servers are a separate part of the
architecture and not a part of the overlay
network.
 For Skype in (PSTN to Skype) the opposite is
used.
Skype Network Traffic
 UDP Packets
 For keep alive messages
 To discover available super nodes

 TCP Packets
 For establishing connection with super node
 For user authentication with login server
References
 An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol – By
Salman A. Baset and Henning Schulzrinne Department of Computer Science
Columbia University, New York NY 10027 {salman,hgs}@cs.columbia.edu
September 15, 2004
 http://www.mjalali.com/blog/Skype101– Skype Architecture–Work in Progre
ss.htm
 http://www.skype.com/Skype P2P telephony explained.htm
 http://en.wikipedia.org/wiki/Talk:Skype_protocol
 http://technologyevangelist.com/2008/05/A bit about how Skype works.htm

You might also like