can tapestry pastry
play

(CAN,Tapestry, Pastry) Freenet: search towards keys, but no - PowerPoint PPT Presentation

Napster: central search engine (CAN,Tapestry, Pastry) Freenet: search towards keys, but no guarantees Chord: Map keys to linear search space Stoica, R. Morris, D. Karger, F. Kaashoek, and Keep pointers (fingers) into


  1.  Napster: central search engine (CAN,Tapestry, Pastry)  Freenet: search towards keys, but no guarantees  Chord:  Map keys to linear search space Stoica, R. Morris, D. Karger, F. Kaashoek, and  Keep pointers (fingers) into exponential places H.Balakrishnan. around space Chord: A peer-to-peer lookup service for Internet applications. Proceedings of ACM SIGCOMM  Probabilistic (depends on hashing) Conference, pages 149-160, August 2001 NTU CMLAB NTU CMLAB P2P-1 P2P-3  Nodes hash IP addresses to key  A structured peer-to-peer system space  Map key to value  Because this hashing is random, can expect  Emphasis on good algorithmic performance nodes to be evenly  Use consistent hashing distributed in key space  O(logN) route storage, O(logN) lookup cost,  Store data in the O(log 2 N) cost to join/leava successor of the data  Easy if static, but must deal with node item ’ s key arrivals and departures  Property:  If each node maintains successor, can find any data item NTU CMLAB NTU CMLAB P2P-2 P2P-4

  2.  Nodes hash IP addresses to key space  Because this hashing is random, can expect nodes to be evenly distributed in key space  Store data in the successor of the data item ’ s key  Property:  If each node maintains successor, can find any data item  But O(n) performance NTU CMLAB NTU CMLAB P2P-5 P2P-7  Must keep successors and finger table current  Finger tables enable logarithmic lookup  Use successors for correctness  i-th finger of node x is successor of x+2 i-1  Can always fall back on them to find a key  At each step, we halve the remaining distance  Use finger table for performance (in key space) to the target  Must update it, but can tolerate temporary  Challenge: maintaining finger tables errors  Keep successor and predecessor so we can update our neighbors  Key observations: can find successors and fingers by doing a lookup on the existing Chord ring! NTU CMLAB NTU CMLAB P2P-6 P2P-8

  3.  Stabilization algorithm to confirm ring is correct  Every 30s, ask successor for its predecessor • 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)  Dealing with unexpected failures:  Keep successor list of r successors  Can use these to replicate data NTU CMLAB NTU CMLAB P2P-9 P2P-11 after node 6 joins  Performance dominated by lookup cost  How long does it take to get to the node that stores 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  When new node enters, it establishes its successor and predecessor and then builds its finger table, and moves and keys it now “ owns ” NTU CMLAB NTU CMLAB P2P-10 P2P-12

  4.  Background on P2P  Introduction  DHT and Unstructured Systems  Key components of Skype  Chord  Experiment Setup  Skype  Skype Functions  Coolstreaming  Conferencing  Network Coding for P2P  Comparisons between IM applications  Q&A  Conclusion NTU CMLAB NTU CMLAB P2P-13 P2P-15  Skype is a peer-to-peer VoIP client developed by KaZaa in 2003.  Skype claims that it can work almost seamlessly across NATs and firewalls and has better voice quality than the MSN and Salman A. Baset and Henning Schunllzrinne Yahoo IM application. INFOCOM 2006.  It encrypts calls end-to-end, and stores 25th IEEE International Conference on user information in a decentralized fashion. Computer Communications. Proceedings  Skypes also supports instant messaging and (2006), pp. 1-11. conferencing. NTU CMLAB NTU CMLAB P2P-14 P2P-16

  5.  Ordinary host  Introduction  A Skype application  Key components of Skype  place voice calls and send text messages  Experiment Setup  Super nodes (SN)  Skype Functions  An ordinary host’s end-point  Conferencing  have a public IP address, sufficient CPU, memory,  Comparisons between IM applications and network bandwidth.  Conclusion  Skype login server  An ordinary host must register itself with login server.  User authentication at login is done here. NTU CMLAB NTU CMLAB P2P-17 P2P-19  Ports  Skype Client (SC) opens a TCP and a UDP listening port configured in its connection dialog box.  Also opens TCP listening ports at port 80 (HTTP port), and port 443 (HTTPS port)  Host Cache (HC)  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 NTU CMLAB P2P-18 P2P-20

  6.  Codecs  Introduction  Uses iLBC, iSAC ,iPCM codec.  Key components of Skype  Skype codecs allows frequencies between  Experiment Setup 50~8000Hz to pass through.  wideband codec.  Skype Functions  Conferencing  Buddy list  Comparisons between IM applications  The buddy list is local to one machine and stored on a central server.  Conclusion NTU CMLAB NTU CMLAB P2P-21 P2P-23  Encryption  Test Environment  AES (Advanced Encryption Standard)  Windows Skype version 1.4.0.84  Linux Skype version 1.2.0.18  NAT and Firewall  Machine  Use a variant of STUN and TURN protocol  No global NAT and firewall traversal server from  3 GHz Pentium 4 CPU with 1GB of RAM experiments.  10/100 Mb/s Ethernet card  Connect to 100Mb/s network NTU CMLAB NTU CMLAB P2P-22 P2P-24

  7.  Network Setups  Startup  Both Skype users with public IP addresses  Login  One Skype user behind a port-restricted NAT  User Search  Both behind a port-restricted NAT and UDP-  Call Establishment and Teardown restricted firewall  Media Transfer and Codecs  NAT and firewall machines run Mandriva Linux 10.2 NTU CMLAB NTU CMLAB P2P-25 P2P-27  Introduction  When SC was run for the first time after installation, it sent a HTTP 1.1 GET  Key components of Skype request to the Skype server.  Experiment Setup  Skype Functions  The first line of this request contained  Conferencing the keyword “installed”  Comparisons between IM applications  Conclusion NTU CMLAB NTU CMLAB P2P-26 P2P-28

  8.  SC authenticates its user name and password with the login server  Advertises its presence to other peers and buddies  Determine the type of NAT and firewall it is behind Super Node  Discover online super nodes with public IP address. Super Node  Checks the availability of latest Skype version  Send HTTP 1.1 GET request keyword: “getlastestversion” Super Node NTU CMLAB NTU CMLAB P2P-29 P2P-31 Start yes Connecte d Send UDP packets to HC IP address and port no Super Skype TCP connection attempt with HC IP Other Node Client Success Respons address and port nodes yes e within 443 (HTTPs port) 5 Send TCP packet seconds no Connecte gave SC the IP TCP connection d yes address and port attempt with HC Success IP address and number of 8 port nodes to query no sends UDP packets Return the result Connection Connecte Failure Attempts = = 5 d yes yes If not found, inform no SN over TCP no TCP connection gave SC 16 attempt with HC IP Wait for 6 seconds nodes to query address and port Linux V.1.0 NTU CMLAB NTU CMLAB P2P-30 P2P-32 80 (HTTP port)

  9.  Search results are cached at intermediate  Call Establishment nodes.  Users in the buddy list: call signaling  Users not in the buddy list: user search + call signaling  Caller and callee on public addresses  Setup1: On average, SC contacted more than 24 nodes. The search took three to four seconds. Caller Callee Signaling information over TCP  Setup2: This search took about five to six seconds. NTU CMLAB NTU CMLAB P2P-33 P2P-35  Second Setup: approximately 8 kilobytes of data  Setup3: SC did not contact any other nodes. The was exchange. search took about 10-15 seconds.  Third Setup: approximately 10 kilobytes of data was exchange. Super Skype Node Client Skype Send TCP packet Node Caller Callee Signaling information Signaling information over TCP over TCP  Skype is using the login server as a fall back option in Media over UDP(2) TCP(3) case the search is unsuccessful NTU CMLAB NTU CMLAB P2P-34 P2P-36

  10.  Having a node route the voice packets from  Introduction caller to callee.  Key components of Skype  Advantages:  Experiment Setup • provides a mechanism for users behind NAT or firewall  Skype Functions • Serves as a mixer and broadcasts the conferencing traffic  Conferencing  Disadvantages: • Lots of traffic flowing  Comparisons between IM applications • Users generally do not want that arbitrary traffic should  Conclusion flow across their machine  Call tear down signaling was sent over TCP NTU CMLAB NTU CMLAB P2P-37 P2P-39  No silence suppression 1. Three machines had public IP addresses  Maintain the UDP bindings at NAT 2. B and C were behind port-restricted NAT.  Used to play some background noise at the peer A was on public Internet  Purpose: avoid the drop in TCP congestion window size. A Over UDP  Codecs allow to pass through are 50~8000Hz A+ C A+ B  In all three cases, the codec used was C B iSAC C NTU CMLAB NTU CMLAB B P2P-38 P2P-40

Recommend


More recommend