Quick viewing(Text Mode)

An Experimental Study of the Skype Peer-To-Peer Voip System

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

Telephony that Just Works”

I Adaptive voice quality modem, broadband, T1, . . . I Works in any 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 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 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