An Experimental Study of the Skype Peer-to-Peer VoIP System Saikat Guha (Cornell) Neil Daswani (Google) Ravi Jain (Google) IPTPS 2006
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
About Skype
I I I I
Voice over IP (VoIP) 50 million users Valued at $2.6 billion Proprietary
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
About Skype
“Internet Telephony that Just Works” I
Adaptive voice quality modem, broadband, T1, . . .
I
Works in any network topology one or more NATs, Firewalls, . . .
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
1 Outrageous Opinion #1 I
NAT Traversal in Skype: I I I I
Level Level Level Level
0: 1: 2: 3:
Initiator NAT’ed Recipient NAT’ed Both NAT’ed (well-behaved NATs) Both NAT’ed (broken NATs)
Outrageous Opinion NAT Traversal is essential for P2P I
1
How to pick NAT Traversal complexity, and make it scale?
does not, necessarily, reflect the views of all co-authors or employers Saikat Guha, Neil Daswani, Ravi Jain Experimental Study of Skype
NAT Traversal in Skype
Skype
Skype
NAT
Level 0: Initiator NAT’ed Solution: Don’t embed IP address in payload Apps: Most old software, almost all new software Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
NAT Traversal in Skype Rendezvous
Skype
Skype
NAT
Level 1: Recipient NAT’ed Solution: Use Rendezvous Service Apps: Bittorrent, MSN, Yahoo, Skype, . . . Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
NAT Traversal in Skype Rendezvous
Skype
NAT
NAT
Skype
Level 2: Both NAT’ed (well-behaved NATs) Solution: Use STUN (UDP) or STUNT (TCP) Apps: MSN, Yahoo, Skype, . . . Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
NAT Traversal in Skype Rendezvous
Skype
NAT
NAT
Skype
Level 3: Both NAT’ed (broken NATs) Solution: Use TURN Apps: MSN (limited), Yahoo (limited), Skype Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
NAT Traversal in Skype Rendezvous
Skype
NAT
NAT
Level 3: Both NAT’ed (broken NATs) Solution: Use TURN + P2P Apps: Skype Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Skype
Contributions 1. Properties of Skype’s P2P Rendezvous-Relay Service I
load (low), structure (yes), churn (low) . . .
2. Skype user behavior I
call-length (long), file-transfer (small), online activity (predictable) . . .
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Skype’s P2P Network I
Inherent structure: I I
I I
[Baset et al. INFOCOM ’06]
Supernodes (SN): no NAT, spare bandwidth Ordinary nodes (ON): associate with one (or a few) supernodes. Don’t contribute to overlay.
Skype network: FastTrack (likely) Experiment: Capture traffic for a SN I I
at Cornell, 4.5 months, ∼13GB Caveat: everything “encrypted”, only one SN
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
CDF
Skype’s P2P Network 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
Control traffic All traffic Relayed traffic 10
30 100 300 1k 3k 10k 30k Bandwidth (Bps)
Supernode: Low Network Load Bandwidth: 51 Bps (median), 7.5 kBps (median relayed), 34 kBps (peak) Control traffic (∼75%), Relayed traffic (∼10%) Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Skype’s P2P Network I I
I
Experiment: Estimate no. of active nodes Supernodes (SN): I Discover SN: crawl client SN cache I App-level ping: replay “hello”-packet I 30%–40% of SNs active, 250k found I Caveat: DHCP assigned SN address All Nodes (ON+SN): I Record number of active nodes I .4 million simultaneous users I Caveat: reported by proprietary client
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
1 Outrageous Opinion #2 I
I
Rough estimate: (just network, not CPU) I ∼1–2 GBps median relay-traffic I .20 well-provisioned boxes at PoPs I ∼ $10 million per year Supernodes mostly at universities (EU, Asia, US)
Outrageous Opinion Skype freeloads on university bandwidth I
Is there an ISP-friendly commercial model for P2P?
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Skype’s P2P Network Joins Departs
80%
Supernode Churn
Fraction Online
100%
60% 40% 20% Sun 9/18
5%
0%
-5%
All Nodes Supernodes Sun 9/25
Sun 10/2
Date (noon UTC)
0h
12h
24h
UTC Thu 9/22
0h
12h
UTC Thu 9/22
Supernodes: Diurnal, Work-week Patterns Supernodes: low churn, .5% turnover (over 30-min) Saikat Guha, Neil Daswani, Ravi Jain
24h
Experimental Study of Skype
1 Outrageous Opinion #3 I
Handling Churn I a blood sport I Skype, perhaps intentionally, controls churn (based on NAT, bandwidth, maybe session history, . . .)
Outrageous Opinion Churn resistance is overrated. Control churn. I
Is there a price-performance tradeoff between controlling, and handling churn?
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Skype Users 1
1 0.8
0.1
0.7 CDF
P[session time > x]
0.9
0.01
0.6 0.5 0.4 0.3 0.2
0.001
0.1 1h 2h 4h 8h 1d 2d 4d 8d 16d Supernode Session Time
20s
1m 3m 10m 30m 1h Relayed Conversation Duration
Skype users: differ from file-sharing, phone users Session Length: heavy-tailed, 5.5h median File-Transfer: 346kB median Call-Length: 12m 53s mean, 3h 26m max Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
3h
Summary 1. Properties of Skype’s P2P Rendezvous-Relay Service I
I I
Low Load: NAT traversal, many supernodes Stable: exploits heterogeneity ISP-unfriendly, taxes universities
2. Skype users I
Different from file-sharing users (longer session lengths, smaller files transferred)
I
Different from phone users
(longer calls)
3. Data available on request Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Discussion For a peer-to-peer application: I Complexity and scalability of NAT traversal I ISP-friendly commercial model I Tradeoffs between controlling and handling churn www.cs.cornell.edu/∼saikat/skype/ Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
2 Outrageous Opinions I I I
NAT Traversal is essential for P2P Skype freeloads on university bandwidth Churn resistance is overrated. Control churn.
www.cs.cornell.edu/∼saikat/skype/ 2
does not, necessarily, reflect the opinion of my co-authors, our employers, or anyone else. Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype
Supernode Distribution 100%
North America Others Distribution of Supernodes
80%
Asia 60%
40%
Europe 20%
0% Sun 9/18
Sun 9/25 Date (noon UTC)
Saikat Guha, Neil Daswani, Ravi Jain
Sun 10/2
0h 6h 12h18h24h UTC Thu 9/22
Experimental Study of Skype
Filesize Distribution 1 0.9 0.8 0.7
CDF
0.6 0.5 0.4 0.3 0.2 0.1 Relayed File Size
0 1k
3k
10k
30k
100k
300k
1M
3M
10M
File Size (bytes)
Saikat Guha, Neil Daswani, Ravi Jain
Experimental Study of Skype