170 likes | 358 Views
Gnutella and Freenet. Ramaswamy N.Vadivelu Scalab. Gnutella and Freenet Applications of P2P Computing Protocols/Usage Features/Risks. Both Gnutella and Freenet are distributed Information systems. They differ significantly in both goals and implementation. Basically,
E N D
Gnutella and Freenet Ramaswamy N.Vadivelu Scalab P2PComputing/Scalab
Gnutella and Freenet • Applications of P2P Computing • Protocols/Usage • Features/Risks P2PComputing/Scalab
Both Gnutella and Freenet are distributed Information systems. They differ significantly in both goals and implementation. Basically, • Each is a system for searching for information • Each returns information without telling you where it came from
Gnutella Each piece of Gnutella software is a “Servent” A new member joins a system by connecting to a known host. Messages: • Broadcasted or Back Propagated. • Messages are flagged with TTL • GroupMembership( Ping /Pong) • Search(Query/Response) • File Transfer(Get/Push)
Protocol The protocol for obtaining information over Gnutella is a kind of call-and-response.
Features • How are requests kept separate? • What form does the returned data take? • What protocol is used? • How does the system stop searching? • How is a search string like "MP3“ interpreted?
Flexibility allows each site to contribute to a distributed search in the most sophisticated way it can. • The exponential spread of requests opens up the most likely source of disruption: denial-of-service attacks. • The time-to-live imposes a horizon on each user • A final limitation is the difficulty authenticating the source of the data returned.
Freenet A socio political application: • To allow people to distribute material anonymously. • To allow people to retrieve material anonymously. • To make the removal of material almost insuperably difficult. A technical goal of Freenet is to spread data randomly among sites. The Freenet architecture and protocol is similar to Gnutella.
Message Types HandshakeRequest Initiate connection to a node, ensures that node is connected and protocol versions match HandshakeReply Response to HandshakeRequest DataRequest Request from node for data transmission, Must provide key for data as well
When a Freenet client satisfies a request, it passes the entire data to the requester. Each client keeps a copy,countering the Slashdot effect • It lets small sites distribute large, popular documents without suffering bandwidth problems. • It rewards popular material and allows unpopular material to disappear quietly. • It tends to bring data close to those who want it.
Freenet Searches P2PComputing/Scalab
The popularity of each site's material causes the Freenet system to actually alter its topology. Bandwidth increases where it benefits the end users. Freenet is more restrained in the traffic generated. A Freenet client sends an unsatisfied request on to a single peer. Searching is done depth-first and not in parallel.
Freenet is being developed in Java and requires the Java Runtime Environment to run. It uses its own port and protocol. Freenet chooses for security reasons to hash the string. Hashing renders Freenet unusable for random searches
Summary/Conclusions Gnutella supports bi-directional data transfer, each request has a unique number and aTTL Protocol works in a call-and-response manner, with sites along paths recording requests. Gnutella runs over HTTP, can transfer any kind of information. Gnutella doesn't specify how each site interprets a search string.
Summary/Conclusions Freenet is for storing and retrieving data anonymously over the Internet. It passes the entire requested file back to the source, and copies the data all along the path. It relieves bandwidth limitation with distributed replication for popular material. Freenet sends request to a single peer, not by multicast as in Gnutella. Hard to remove a file over Freenet because of replication. Random search is not possible.
Freenet seems more scalable than Gnutella. Gnutella and Freenet make the location of Documents irrelevant The search string becomes the location. New layer of routing on top of the familiar routing done at the IP level.