An Experimental Study of the Skype Peer-To-Peer Voip System
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 Voice over IP (VoIP) I 50 million users I Valued at $2.6 billion I 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 Outrageous Opinion1 #1
I NAT Traversal in Skype: I Level 0: Initiator NAT’ed I Level 1: Recipient NAT’ed I Level 2: Both NAT’ed (well-behaved NATs) I Level 3: Both NAT’ed (broken NATs) Outrageous Opinion NAT Traversal is essential for P2P
I How to pick NAT Traversal complexity, and make it scale? 1 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 NAT Skype
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 NAT Skype
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 Skype
Level 3: Both NAT’ed (broken NATs) Solution: Use TURN + P2P Apps: Skype
Saikat Guha, Neil Daswani, Ravi Jain Experimental Study of 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: [Baset et al. INFOCOM ’06] I Supernodes (SN): no NAT, spare bandwidth I Ordinary nodes (ON): associate with one (or a few) supernodes. Don’t contribute to overlay.
I Skype network: FastTrack (likely) I Experiment: Capture traffic for a SN I at Cornell, 4.5 months, ∼13GB I Caveat: everything “encrypted”, only one SN Saikat Guha, Neil Daswani, Ravi Jain Experimental Study of Skype Skype’s P2P Network
1 0.9 0.8 0.7 0.6 0.5 CDF 0.4 0.3 0.2 Control traffic 0.1 All traffic Relayed traffic 0 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 Experiment: Estimate no. of active nodes I 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 I 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 Outrageous Opinion1 #2
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 I 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
100% Joins Departs 80% 5%
60% 0%
40% Fraction Online
Supernode Churn -5% 20% All Nodes Supernodes Sun 9/18 Sun 9/25 Sun 10/2 0h 12h 24h 0h 12h 24h Date (noon UTC) UTC Thu 9/22 UTC Thu 9/22
Supernodes: Diurnal, Work-week Patterns Supernodes: low churn, .5% turnover (over 30-min)
Saikat Guha, Neil Daswani, Ravi Jain Experimental Study of Skype Outrageous Opinion1 #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.9 0.8 0.1 0.7 0.6
CDF 0.5 0.01 0.4
P[session time > x] 0.3 0.2 0.001 0.1 1h 2h 4h 8h 1d 2d 4d 8d 16d 20s 1m 3m 10m 30m 1h 3h Supernode Session Time 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 Summary
1. Properties of Skype’s P2P Rendezvous-Relay Service I Low Load: NAT traversal, many supernodes I Stable: exploits heterogeneity I 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 Outrageous Opinions2
I NAT Traversal is essential for P2P I Skype freeloads on university bandwidth I 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 80%
Asia 60%
40%
Europe Distribution of Supernodes 20%
0% Sun 9/18 Sun 9/25 Sun 10/2 0h 6h 12h18h24h Date (noon UTC) UTC Thu 9/22
Saikat Guha, Neil Daswani, Ravi Jain Experimental Study of Skype Filesize Distribution
1
0.9
0.8
0.7
0.6
0.5 CDF 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