Top Banner
h d Chord (CAN,Tapestry, Pastry) [Stoica01a] [Stoica01a] Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer lookup service for Internet applications. Proceedings of ACM SIGCOMM C f 149 160 A t 2001 Conference, pages 149-160, August 2001 NTU CMLAB P2P-1
46

Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Aug 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

h dChord (CAN,Tapestry, Pastry)

[Stoica01a][Stoica01a]

Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan.

Chord: A peer-to-peer lookup service for Internet applications. Proceedings of ACM SIGCOMM C f 149 160 A t 2001Conference, pages 149-160, August 2001

NTU CMLAB P2P-1

Page 2: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

ChordChord

d A structured peer-to-peer systemMap key to valuep y Emphasis on good algorithmic performance

Use consistent hashing Use consistent hashingO(logN) route storage, O(logN) lookup cost,

O(log2N) cost to join/leava( g ) j Easy if static, but must deal with node

arrivals and departuresarrivals and departures

NTU CMLAB P2P-2

Page 3: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Compare Search in Several Peer-to-Peer Systems

N l h Napster: central search engine Freenet: search towards keys, but no y

guarantees Chord: Chord

Map keys to linear search space Keep pointers (fingers) into exponential places Keep pointers (fingers) into exponential places

around space Probabilistic (depends on hashing)( p g)

NTU CMLAB P2P-3

Page 4: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Hashing Nodes and DatagNodes hash IP

addresses to key addresses to key space Because this hashing is g

random, can expect nodes to be evenly distributed in key distributed in key space

Store data in the Store data in the successor of the data item’s keyy

Property: If each node maintains

NTU CMLAB P2P-4

successor, can find any data item

Page 5: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Hashing Nodes and Data (cont )Hashing Nodes and Data (cont.) Nodes hash IP Nodes hash IP

addresses to key space Because this hashing is g

random, can expect nodes to be evenly distributed in key spacey p

Store data in the successor of the data item’s key

Property: If each node maintains

successor, can find any data item

NTU CMLAB P2P-5 But O(n) performance

Page 6: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Improving Search Performance with Finger Tables Finger tables enable logarithmic lookup

i-th finger of node x is successor of x+2i-1 i th finger of node x is successor of x+2 At each step, we halve the remaining distance

(in key space) to the target(in key space) to the target Challenge: maintaining finger tables

NTU CMLAB P2P-6

Page 7: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Finger Tables ExampleFinger Tables Example

NTU CMLAB P2P-7

Page 8: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Node JoinNode Join

M k d f bl Must keep successors and finger table current Use successors for correctness

Can always fall back on them to find a key Use finger table for performanceg p

Must update it, but can tolerate temporary errors

Keep successor and predecessor so we can update our neighborsp g

Key observations: can find successors and fingers by doing a lookup on the existing Chord

NTU CMLAB P2P-8

fingers by doing a lookup on the existing Chord ring!

Page 9: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Finding Predecessor and Successor

NTU CMLAB P2P-9

Page 10: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Join ExampleJoin Exampleafter node 6 joinsafter node 6 joins

When new node enters it establishes its When new node enters, it establishes its successor and predecessor and then builds its finger table and moves and keys it now

NTU CMLAB P2P-10

its finger table, and moves and keys it now “owns”

Page 11: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

RobustnessRobustness

bili i l i h fi i i Stabilization algorithm to confirm ring is correct Every 30s, ask successor for its predecessor

• Fix your own successor based on this • Fix your own successor based on this • Successor fixes its predecessor if necessary

Also, pick and verify a random finger table entry• Rebuild finger table entries this way• Important observation: finger tables can be incorrect for

some time (between network size of N and 2N)m m ( w w f )

Dealing with unexpected failures: Keep successor list of r successorsp Can use these to replicate data

NTU CMLAB P2P-11

Page 12: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Chord PerformanceChord Performance

P f d d b l k Performance dominated by lookup costHow long does it take to get to the node that

kstores a key? Chord promises few O(logN) hops on the

overlay But, on the physical network, this can be quite

far• This is often the problem with overlay networks

NTU CMLAB P2P-12

Page 13: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

RoadmapRoadmap

B k d P P Background on P2PDHT and Unstructured Systemsy ChordSkypeSkype Coolstreaming

N k C di f P2PNetwork Coding for P2PQ&A

NTU CMLAB P2P-13

Page 14: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

An Analysis of the Skype Peer-to-An Analysis of the Skype Peer toPeer Internet Telephony Protocol

Salman A. Baset and Henning SchunllzrinneINFOCOM 2006. INFO OM 006.

25th IEEE International Conference on Computer Communications. Proceedings

(2006), pp. 1-11.

NTU CMLAB P2P-14

Page 15: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-15

Page 16: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

IntroductionIntroduction

Sk i t V IP li t Skype is a peer-to-peer VoIP client developed by KaZaa in 2003.Sk l i th t it k l t Skype claims that it can work almost seamlessly across NATs and firewalls and has better voice quality than the MSN and has better voice quality than the MSN and Yahoo IM application.

It encrypts calls end to end and stores It encrypts calls end-to-end, and stores user information in a decentralized fashion.

Skypes also supports instant messaging and Skypes also supports instant messaging and conferencing.

NTU CMLAB P2P-16

Page 17: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skypes NetworkSkypes Network

d hOrdinary host A Skype application place voice calls and send text messages

Super nodes (SN)p ( ) An ordinary host’s end-point have a public IP address, sufficient CPU, memory, p , ff , y,

and network bandwidth.Skype login serveryp g

An ordinary host must register itself with login server.

NTU CMLAB P2P-17 User authentication at login is done here.

Page 18: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Sk N t kSkypes Network

NTU CMLAB P2P-18

Page 19: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-19

Page 20: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Key Components Key Components

P t Ports Skype Client (SC) opens a TCP and a UDP listening

port configured in its connection dialog boxport configured in its connection dialog box. Also opens TCP listening ports at port 80 (HTTP

port), and port 443 (HTTPS port)p ), p (H p )

Host Cache (HC) H t ach (H ) A list of super node IP address and port pairs that

Skype Client (SC) builds and refreshed regularly. At least one valid entry must be present. At most 200 entries in HC.

NTU CMLAB P2P-20

Page 21: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Key Components (cont )Key Components (cont.)

d Codecs Uses iLBC, iSAC ,iPCM codec. Skype codecs allows frequencies between

50~8000Hz to pass through. wideband codec.

Buddy list The buddy list is local to one machine and stored

on a central server.

NTU CMLAB P2P-21

Page 22: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Key Components (cont )Key Components (cont.)

E Encryption AES (Advanced Encryption Standard)

NAT and Firewall Use a variant of STUN and TURN protocolNo global NAT and firewall traversal server from g f f

experiments.

NTU CMLAB P2P-22

Page 23: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-23

Page 24: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Experiment SetupExperiment Setup

E Test EnvironmentWindows Skype version 1.4.0.84 Linux Skype version 1.2.0.18

Machine 3 GHz Pentium 4 CPU with 1GB of RAMf 10/100 Mb/s Ethernet card Connect to 100Mb/s networkConnect to 00Mb/s network

NTU CMLAB P2P-24

Page 25: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Experiment SetupExperiment Setup

N k Network Setups Both Skype users with public IP addressesOne Skype user behind a port-restricted NAT Both behind a port-restricted NAT and UDP-

restricted firewall

NAT and firewall machines run Mandriva Linux 10.2

NTU CMLAB P2P-25

Page 26: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-26

Page 27: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype FunctionSkype Function

Startup LogingUser Search Call Establishment and Teardown Call Establishment and TeardownMedia Transfer and Codecs

NTU CMLAB P2P-27

Page 28: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions - StartupSkype Functions - Startup

h f h f f When SC was run for the first time after installation, it sent a HTTP 1.1 GET

h k request to the Skype server.

The first line of this request contained the keyword “installed”the keyword installed

NTU CMLAB P2P-28

Page 29: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions - LoginSkype Functions - Login SC authenticates its user name and password with the SC authenticates its user name and password with the

login server

Advertises its presence to other peers and buddies

D t i th t f NAT d fi ll it i b hi d Determine the type of NAT and firewall it is behind

Discover online super nodes with public IP address Discover online super nodes with public IP address.

Checks the availability of latest Skype versiony yp Send HTTP 1.1 GET request keyword: “getlastestversion”

NTU CMLAB P2P-29

Page 30: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Start

Connecte yes

Send UDP packets to HC IP address

and port

d

no

Response within

TCP connection attempt with HC IP address and port 443 (HTTPs port)

Successyes e within

5 seconds

443 (HTTPs port)

Connecte

y

noTCP connection attempt with HC IP address and

portSuccess

Connected

no

yes

Connected

Connection Attempts == 5 Failure

no

d

TCP connection

no no

yes yes

NTU CMLAB P2P-30

TCP connection attempt with HC IP address and port 80 (HTTP port)

Wait for 6 seconds

Linux V.1.0

Page 31: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Super NodeSuper Node

Super Node

Super Node

NTU CMLAB P2P-31

Super Node

Page 32: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- User SearchSkype Functions- User Search

Skype Client

Super Node Other

nodes

Send TCP packet

gave SC the IP gave SC the IP address and port

number of 8 nodes to querynodes to query sends UDP packets

Return the result

If not found, inform SN over TCP

gave SC 16

NTU CMLAB P2P-32

gave SC 16 nodes to query

Page 33: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- User SearchSkype Functions- User Search

h l h d d Search results are cached at intermediate nodes.

Setup1: On average, SC contacted more Setup1 On average, SC contacted more than 24 nodes. The search took three to four seconds.four seconds.

Setup2: This search took about five to six Setup2: This search took about five to six seconds.

NTU CMLAB P2P-33

Page 34: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- User SearchSkype Functions- User Search

3 C did h d Th Setup3: SC did not contact any other nodes. The search took about 10-15 seconds.

Skype Client

Super Node

Send TCP packet

Skype is using the login server as a fall back option in th h i f l

NTU CMLAB P2P-34

case the search is unsuccessful

Page 35: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- Call Establishment and Teardown

C ll E bli h Call Establishment Users in the buddy list: call signaling Users not in the buddy list: user search + call signaling Users not in the buddy list: user search + call signaling

Caller and callee on public addresses

Caller CalleeCaller CalleeSignaling information over TCP

NTU CMLAB P2P-35

Page 36: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- Call Establishment and Teardown S d S t i t l 8 kil b t f d t Second Setup: approximately 8 kilobytes of data

was exchange. Third Setup: approximately 10 kilobytes of data Third Setup: approximately 10 kilobytes of data

was exchange.

Caller CalleeSkype Node

Signaling information over TCP Signaling information

over TCP

Media over UDP(2) TCP(3)

NTU CMLAB P2P-36

Page 37: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- Call Establishment and Teardown Establishment and Teardown (cont.)

H d h k f Having a node route the voice packets from caller to callee. Advantages:

• provides a mechanism for users behind NAT or firewall S i d b d h f i ffi• Serves as a mixer and broadcasts the conferencing traffic

Disadvantages: Lots of traffic flowing• Lots of traffic flowing

• Users generally do not want that arbitrary traffic should flow across their machine

Call tear down signaling was sent over TCP

NTU CMLAB P2P-37

Page 38: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Skype Functions- Media Transfer d d

N l

and CodecsNo silence suppression

Maintain the UDP bindings at NAT Used to play some background noise at the peer Purpose: avoid the drop in TCP congestion

window size. Codecs allow to pass through are

50~8000Hz In all three cases, the codec used was ,

iSAC

NTU CMLAB P2P-38

Page 39: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-39

Page 40: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

ConferencingConferencing

1 h h h d bl P dd1. Three machines had public IP addresses2. B and C were behind port-restricted NAT.p

A was on public Internet

A Over UDP

A+C

B

A+B

CB

NTU CMLAB P2P-40B C

Page 41: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Conferencing (cont )Conferencing (cont.)

1 B d b h d d N 1. B and C were behind port-restricted NAT and UDP-restricted firewall. A was on the

bl public Internet

A Over TCP

A+C

B

A+B

CB

NTU CMLAB P2P-41B C

Page 42: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-42

Page 43: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Comparisons between IM applications

Why skype has fewer latency?

The skype is based on P2P network, so the The skype is based on P2P network, so the voice packet transmission is point to point without central server.

Skype is more scalable.

NTU CMLAB P2P-43

Page 44: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

OutlineOutline

d Introduction Key components of Skypey p yp Experiment SetupSkype FunctionsSkype Functions Conferencing

C i b IM li i Comparisons between IM applications Conclusion

NTU CMLAB P2P-44

Page 45: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

ConclusionConclusion

l i f h k l b Analyze various aspects of the Skype protocol by an analyzing the Skype network traffic and by intercepting the shared library and system calls of intercepting the shared library and system calls of Skype.

Skype can work almost seamlessly across NATs and firewalls.n f r w .

Compared to other Talk applications, Skype Compared to other Talk applications, Skype reported the best mouth-to-ear latency.

NTU CMLAB P2P-45

Page 46: Chdhord (CAN,Tapestry, Pastry) [Stoica01a]mhchen/CN2010/Slides/P2P_overview_… · Stoica, R. Morris, D. Karger, F. Kaashoek, and H B l krishn n H.Balakrishnan. Chord: A peer-to-peer

Conclusion (cont )Conclusion (cont.)

k l N k d ll Skype relies on SNs. Skype does not allow a user to prevent its machine from b Nbecoming a SN.

Classical packet sniffing tools such as Ethereal are less useful. Shared library Ethereal are less useful. Shared library and system call interception techniques can be useful.be useful.

NTU CMLAB P2P-46