Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old May 1st, 2008, 1:59 PM   #1
kruptof
Professional Programmer
 
kruptof's Avatar
 
Join Date: May 2006
Location: UK - London
Posts: 329
Rep Power: 3 kruptof is on a distinguished road
Understanding P2P

I am looking at options for my final year project. I am thinking of doing this project which was suggested to me by one of my lectures,it involves P2P.

At the moment I don't know much about P2P so I am reading wikedpedia and other online articles.

But I have some difficulty understanding how a computer comes onto the P2P network. In wikepedia it says the software comes with preinstalled IP address of machines which are already on the network, but wouldn't that defeat the purpose of not making it centralised because if the main machines go down no new clients can get onto the network.
__________________
Quote:
When I was young it seemed that life was so wonderful,a miracle, oh it was beautiful, magical.
Now watch what you say or they'll be calling you a radical,a liberal, oh fanatical, criminal. Oh won't you sign up your name,we'd like to feel you're acceptable, respectable, oh presentable, a vegetable
kruptof is offline   Reply With Quote
Old May 1st, 2008, 2:55 PM   #2
Freaky Chris
Hobbyist Programmer
 
Freaky Chris's Avatar
 
Join Date: Dec 2007
Location: England
Posts: 169
Rep Power: 1 Freaky Chris is on a distinguished road
Send a message via MSN to Freaky Chris
Re: Understanding P2P

Thats true, i dunno i suppose one way to look at it is that to begin with you have 1 machine on and pass its ip to the next, each time a new pc connects its ip is shared to all other pc's connected. So every ip that ever connects is spread to every ip.

Just me thinking poorly xD

Chris
__________________
Who said i couldn't program
sarcasm = raw_input('Type in a sarcastic remark: ')
print sarcasm
Freaky Chris is offline   Reply With Quote
Old May 1st, 2008, 3:35 PM   #3
Dameon
Troll
 
Dameon's Avatar
 
Join Date: Apr 2005
Location: Texas
Posts: 732
Rep Power: 4 Dameon is on a distinguished road
Re: Understanding P2P

Bootstrapping problem. Different networks solve this problem in different ways.


A fresh installation of Skype includes a list of supernodes to try. At least one of these must be online when the user first tries to connect. After the first connect, the client will build its own cache of hosts.

Gnutella/Gnutella2 require a list of 'discovery' addresses - simply web servers that hand out lists of hosts to try. These will be queried if there aren't any working hosts in the host cache.

Bittorrent typically depends on 'trackers', When you download a torrent file, one of the fields specifies a tracker address. Peers report progress to the tracker. A new peer that begins downloading the same torrent file will contact the same tracker, which will know about the peers currently downloading. The new peer will connect to existing ones and begin transferring data. If the tracker goes down, new peers can't join for the reason that you were concerned about. Existing peers can continue downloading.
At some point bittorrent added 'trackerless' torrents. Recent bittorrent clients will join a rather large distributed hash table consisting of other bittorrent clients on startup (check wiki for info on DHTs). Clients will 'announce' themselves to the DHT, storing their IP/port (value) to the torrent identifier (key). Similar to how a hash table would work on one machine, the key tells you where to look - given a key, one can quickly zero in on a host responsible for the torrent which you are interested in. DHT algorithms are actually very interesting - you should look up Kademlia and Pastry pdfs. As far as bootstrapping the DHT, clients know that, if all else fails, they can contact router.bittorrent.com to get some working peers.
__________________
MD5(sig) = bcef75433db02e9ad9bf81d6f7c5c270
Dameon is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Understanding Recursion 357mag C++ 18 Aug 7th, 2007 9:39 AM
3-way p2p rsnd C++ 2 Jul 28th, 2007 6:22 AM
Write Great Code Vol 1: Understanding the Machine darthsabbath Book Reviews 0 May 22nd, 2006 2:06 AM
Need a bit of help understanding some codes. emdiesse Visual Basic 4 Apr 21st, 2005 12:05 PM
3d OpenGL I need an understanding please? scorpiosage Other Programming Languages 1 Apr 14th, 2005 8:18 PM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 4:45 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC