An Analysis of the Skype Peer-to-Peer Internet Telephony
Protocol
Salman Abdul Baset and Henning Schulzrinne
Internet Real-Time Lab, Columbia University
http://www.cs.columbia.edu/~salman/skype/
The Skype Components
SkypeIn /
SkypeOut
servers
Skype login server
Message exchange with the
login server during login
Skype Functions Summary
Port
No default listening port. Randomly chooses a port
upon installation.
Public
Login
Search
Host cache (HC)
IP address and port number of online Skype nodes
Maximum size: 200 entries
ordinary host (SC)
super node (SN)
neighbor relationships in the
Skype network
The Skype Network
Codecs (GlobalIPSound)
Wideband codecs (50-8,000 Hz)
iLBC (packet size: 20 and 30 ms bitrate: 15.2 kb/s
and
13.3 kb/s)
iSAC (packet size: 30-60 ms bitrate: 10-32 kb/s)
G.729 for SkypeOut?
NAT
Call Establishment
Firewall
10 KB
11 KB
(3-7 secs) (3-7 secs)
1-2 KB
1-2 KB
(3-4 secs) (5-6 secs)
Call
6 KB
8 KB
establishme
Super
nt
Nodes
8,153 login attempts over four days
35% hostnames had a .edu suffix
102 universities
894 unique SNs
Unique SN IP distribution:
US 83.7%, Asia 8.9%, Europe 7.1%
Top 20 nodes received 43.8% of the total
connections
7 KB
(30-35
secs)
Caller (NAT+firewall)
TCP
TCP
Caller
TCP
TCP
5-7 KB
(10-15
secs)
8 KB
Caller
Caller
Media:TCP
TCP
TCP
SN
713B (7)
3464B (8)
Relay
124B (4)
45B (4)
Relay
N1, N2, N3
19B
19B
Callee (NAT+firewall)
TCP
51B (3)
TCP
117B (4)
Media:TCP
TCP
TCP
Callee
Callee
19B
19B
Caller and callee on the average exchange 3 msg/s
over TCP with N1, N2 and N3 after call has been
established.
Experimental Setup
Ordinary Host (OH)
INTERNET
A Skype client
Super node (SN)
B (public IP)
A (public IP)
A Skype client
Has public IP address, sufficient bandwidth,
INTERNET
CPU and memory
Bootstrap super nodes (maintained by Skype)
A (private
B (public IP)
port-restricted NAT
IP)
Used when running Skype for the first time
A total of seven nodes hard-coded in Skype
INTERNET
executable
Login server
(private IP) port-restricted NAT
port-restricted NAT B (private IP)
Stores Skype ids, passwords and buddy A
lists
UDP-blocking firewall
UDP-blocking firewall
Used at login for authentication
Skype Relay Experiments
Version 1.4: 212.72.49.141 and 195.215.8.141
Jan 20th to Feb 5th 2006.. Caller and callee machines in
Total successful calls 8,882
IRT lab
% of successful calls between
Skype, MSN, Yahoo and Google Talk
8,822 successful call attempts and 4,904 unique relay IP
Relay
8:00am and
8:00pm and
Application Memory
Memory
Process
Process
Mouth-todistributio
7:59pm EST
7:59am EST
addresses
version
usage before usage after
priority
priority
ear
n
60% of the calls routed through caller SN
call (caller,
call (caller,
before
during
latency
Internet
Global
44.66% (3,985)
55.34% (4,937)
Relay
nodes
in
51
countries
callee)
callee)
call
call
Asia
3.3% (131)
7.9% (392)
Skype 1.4.0.84
19 MB, 19 MB 21 MB, 27 MB Normal
High
96ms
MSN
7.5
Yahoo 7.0 beta
GTalk
1.0.0.80
25 MB, 22 MB 34 MB, 31 MB Normal
Normal
184ms
38 MB, 34 MB 43 MB, 42 MB Normal
Normal
152ms
9 MB, 9 MB 13 MB, 13 MB Normal
Normal
109ms
Australia
Europe
NAT
Caller Skype
NAT
Callee Skype
North
America
South
0.05% (2)
0.2% (10)
42.9% (1,709)
38.51% (1,901)
52.42% (2,089)
52.17% (2,576)
0.14% (54)
1.18% (58)