1 / 26

Structured P2P Network for Loop Avoidance

Structured P2P Network for Loop Avoidance. Chanmo Park August 27, 2003 cmpark@netmedia.kjist.ac.kr. Contents. What is P2P? Essentials of P2P Sharing Approaches toward P2P Sharing (gnutella, Kazza, Morpheus and CAN) Challenges Approach to Structured P2P Network

andreag
Download Presentation

Structured P2P Network for Loop Avoidance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Structured P2P Network for Loop Avoidance Chanmo Park August 27, 2003 cmpark@netmedia.kjist.ac.kr

  2. Contents • What is P2P? • Essentials of P2P Sharing • Approaches toward P2P Sharing (gnutella, Kazza, Morpheus and CAN) • Challenges • Approach to Structured P2P Network • Overview of Structured P2P Network • Elements of Structured P2P Network • Details of Structured P2P Network • Conclusion • References

  3. What is P2P? • Direct access between peer computers, rather than through a centralized server • Applications that take advantage of resources (storage, cycles, content, human presence) available at the edges of the internet • Offers a way of decentralizing administration on the resources • Sharing of computer resources by direct exchange • Self-organizing capacity

  4. Essentials of P2P Sharing • Construction of P2P Network • Self-Organization • Decentralized Resource Administration • Sharing resources • Content Discovery • Stability • Recovery from the failure

  5. Approaches toward P2P Sharing • Unstructured network and pure decentralized • Gnutella • Unstructured network and partially decentralized • Kazza, Morpheus • Structured network and pure decentralized • CAN

  6. Gnutella Protocol for P2P File Sharing(1) • Characteristics • Gnutella is a distributed system for file sharing • provide means for network discovery • provide means for file searching and sharing • Defines a network at the application level • Employs the concept of peer-to-peer • all hosts are equal (symmetry) • there is no central point • anonymous search, but reveal the IP addresses when downloading

  7. Gnutella Protocol for P2P File Sharing(2) • Network Discovery • A discovers its horizon (e.g., TTL = 2) • send ping to its neighbors (broadcast) • ping msg is forwarded if TTL>0 • Receiving ping, B,C and E, respond pong • pong contains network info about its sender • B forwards pong msgs from E and C, to A

  8. Gnutella Protocol for P2P File Sharing(2) • Network querying • A searches the network (e.g., TTL = 2) • send query to its neighbors (broadcast) • the query is forwarded if TTL > 0 • B,C and E, respond with query_hit • query_hit contains network info about where to download the file from • B forwards query_hit msgs from E and C, to

  9. Gnutella Protocol for P2P File Sharing(3) • There is nothing that stops a servant flooding its network region with messages. • Cost of maintaining Network • Cost of searching file From “A Quantitative Analysis of the Gnutella Network Traffic”

  10. Kazza and Morpheus • Kazza, Morpheus • unstructured network • partially centralized systems which use the concept of “SuperNodes” • Peers are automatically elected to become SuperNodes if they have sufficient bandwidth and processing power • In Morpheus, • a central server provides new peers with a list of one or more SuperNodes with which they can connect. • SuperNodes index the files shared by peers connected to them and proxy search requests on behalf of these peers. Queries are therefore sent to superNodes

  11. CAN (Content Addressable Network) • CAN (Content Addressable Network) • a distributed, internet-scale hash table that maps file names to their location in the network • Purely decentralized • Scalable

  12. Challenges • Duplicated Messages • From loop and flooding • Missing some contents • From loop and TTL • Oriented to File • Why? • Unstructured Network • Too Specific

  13. Approach to Structured P2P Network • Contribute to a way • to construct structured and general P2P network without loops and TTL • to know knowledge about constructed P2P network • 2-D Space • Mapping each nodes’ network identifier into 2-D space • Zone • Each node occupies allocated area • Aggregate nodes with same network identifier into a zone • Maintain a binary tree • Core • Represent each zone • Manage it’s zone • Gateway between neighbor zones and it’s member • Member • Belonged to a zone • Each message should be sent to its zone and members in its zone

  14. zone Core node Member node Member Tree Tx within a zone Tx between zones Tx between zones Overview of Structured P2P Network 216 0 216

  15. Elements of Structured P2P Network • Core/Member Nodes • Neighboring zone information • core info, zone info, direction • Member information • member node information, routing table • Strategies • Routing Messages • Constructing Structured P2P Network • Managing Zone • Constructing Member Tree • Discovering Contents

  16. Core/Member nodes • 7 neighboring zone information • Core node (IP, Port#) • Zone Range (x1,y1)~(x2,y2) • Numbering zone • 4 bits • 00 : less than • 01 : belong to • 10 : greater than • Member information • IP, Port# • Member Tree • Uplink node info (only 1) • Downlink node info (limited by 2) 1001 1010 1000 0110 0100 0001 0010 0000

  17. Routing Messages • Within a zone • Depends on the Member Tree (Binary Tree) • Between zones • If not a core, just send its core • Then core route this message along X coordinate until reaching destination x • After that, route the message along Y coordinate • Every Message should have originator’s IP and Port 1001 1010 1000 0110 0100 0001 0010 0000

  18. Constructing Structured P2P Network(JOIN) Node Core Bootstrapping RP JOIN/(JOIN_FWD) Routing Message Zone Management Join As Core/Join As Member Inform Neighboring Zones Inform Members Inform Neighboring Zones

  19. Managing Zone(1) same network identifier? Msg Type? Yes No AsMember AsCore Split Zone & Rearrange Neighbors Accept as a Member Set itself & Inform Neighbors Inform Members Inform Neighbors Msg AsCore Msg AsMember Reply Join Completed

  20. Managing Zone(2) • Splitting Zone • Network ID of New node is within its zone range, but Network ID is different • Direction of Split • X or Y direction • Depends on Difference of X and Y between two network IDs • Rearrange neighboring zones • Two nodes inform neighbors of this change Y X

  21. Constructing Member Tree • Each node • Maintain information of all members • Creates a binary tree • Using sorted IP address • Rule • one link between core and a member • Uplink is only one • Downlink is limited by 2 6 2 4 Core 1 5 3 7

  22. Y 216-1 X 0 216-1 Discovering Content • Content Discovery • Send the Msg to its Member and it’s core • Core • On receiving it, Send it neighbor zones along X coordinate • Also send it Neighboring Y zones with flooding • DiscoveryHit

  23. Current Status • Still Experimenting • Environment • GT-ITM • Creating Network Topology • About 100,000 nodes • Your advice • Simulator • Myns • OS • Linux • Dev. Lang. • Gcc/g++ version 2.96

  24. Conclusion • By introducing 2-D space • Construct structured P2P network • Reduce duplicated msgs (from zone and aggregation of same LAN nodes) • Guarantee visiting the whole node • Future Work • implementing simulator • Add Recovery Mechanism • Add native IP multicasting on Local Area Network • Reflect real network topology on simulator

  25. Thank You!

  26. References • K. Calvert, M. Doar, and E. Zegura. Modeling Internet Topology. IEEE Transactions on Communications, pages 160-163, December 1997. • GT_ITM, Geogia Tech. • myns Simulator, http://www.cs.umd.edu/~suman/research/myns/, Univ. of Maryland, Suman Banerjee • S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker, "A Scalable Content-Addressable Network", ACM Sigcomm 2001 • Peer-to-Peer Architecture Case Study: Gnutella. M. Ripeanu. 2001  International Conference on Peer-to-Peer Computing (P2P2001), Linkoping, Sweeden, August 2001 • Kazza, http://www.kazaa.com/us/index.htm • Morpheus, http://www.openp2p.com/lpt/a/990

More Related