views:

132

answers:

3

these days I'm interested to join an open source p2p file sharing project. my knowledge about the topic is not so specific, I mean I know things about security, networking, p2p basics but I still feel lost as to where to begin to get the big picture and practical details in the same time. in short what are the recommended resources? right now I'm reading "peer to peer: harnessing the power of disruptive technologies" and walk around similar systems like FreeNet and others.

+2  A: 
nik
your and janesconference's answers gave me good material, thank you.
mad_girl
A: 

Just for inspiration, take a look at this cool bittorent solution (mounting p2p shared resources as filesystem could be a very clever feature): http://btslave.sourceforge.net/

janesconference
A: 

Try to implement message codec's for different p2p protocols such as gnutella,gnutella2 etc. You will learn a lot conceptually and practically about various p2p types and their topologies,security etc. You can do the following exercise: 1) Pick a protocol. Gnutella and Gnutella2 have good documentation. 2) Try to write a module which can read the messages passed. You will learn about various ways to handle networking stuff practically. 3) Try to interact with the p2p network in a limited way by passing messages. Learn as to what is the reason for a certain design decision for the protocol. 4) Understand security by how its implemented in your protocol and compare it with other protocols.

In this way you would understand a lot of fundamental concepts of p2p and distributed computing.

Don't directly use a framework or learn a complicated protocol as you would quickl get overwhelmed by the amount of complexity and would get lost. Try to do something practical while learning the concepts.

PS. google for the relevant p2p protocol documentation.

nascentmind
thanks, actually I was looking not only for resources but also a good way to start and you gave me a practical one.
mad_girl