Title: Interoperability of PeerToPeer File Sharing Protocols
1Interoperability of Peer-To-Peer File Sharing
Protocols
2Outline
- Introduction and Overview of P2P Communication
- Peer-to-Peer Protocols (Gnutella, Napster,
Freenet) - Interoperability of P2P Protocols
- Potential Problems
- Conclusion
3Introduction
- The goal is to access multiple peer-to-peer (P2P)
networks from the same client. - Doing so would provide access to many, many new
peers. - Proposed solution has advantages and
disadvantages.
4Overview of P2P Communication
- Two main types Pure P2P and Server-Mediated P2P
- In Server-Mediated P2P, a central server
coordinates the peers. - If the central server should fail, the entire
network will be unavailable (Napster).
Server-mediated P2P
5Overview of P2P Communication
- In a Pure P2P network there is no central server.
- New peers connect to the network either by
flooding broadcasts, or by connecting to a
superpeer (or supernode). - The failure of any single node will not affect
the availability of the entire network.
Pure P2P
6Outline
- Introduction and Overview of P2P Communication
- Peer-to-Peer Protocols (Gnutella, Napster,
Freenet) - Interoperability of P2P Protocols
- Potential Problems
- Conclusion
7Peer-to-Peer Protocols Gnutella
- Pure P2P network.
- First Gnutella client was available in 2000.
- Developed by Nullsoft (now AOL).
- Currently available in several versions 0.4,
0.6, and Gnutella2. - 0.6 is an upgrade to 0.4, however, Gnutella2 is
considered a completely new protocol opposed to
an upgrade.
8Peer-to-Peer Protocols Gnutella
- Peers in Gnutella 0.6 are divided into two groups
peers and superpeers. - In Gnutella 0.4, all peers essentially acted as
superpeers.
Gnutella 0.6 network.
9Peer-to-Peer Protocols Freenet
- Pure P2P network.
- Developed by Ian Clarke as a means to promote
free speech by providing users true anonymity. - Files are broken into pieces, encrypted, and then
stored separately on different computers
impossible to tell what files are being shared by
what users.
10Peer-to-Peer Protocols Napster
- Server-mediated P2P network.
- Launched in 1999, promptly shut down in 2001.
- Unlike the others, Napster requires a user to log
in (username, password) to the network first. - Search requests go through central server, file
transfers done between users.
11Other Popular P2P Protocols
- FastTrack (Kazaa) Pure P2P network. Uses the
weak (but fast) UUHash hashing algorithm. - BitTorrent Pure P2P network to let users share
large files. - eDonkey Pure P2P network for audio files no
longer officially available due to the RIAA.
eDonkey client and eDonkey server is two separate
programs.
12Outline
- Introduction and Overview of P2P Communication
- Peer-to-Peer Protocols (Gnutella, Napster,
Freenet) - Interoperability of P2P Protocols
- Potential Problems
- Conclusion
13Interoperability of the P2P Protocols
- All the P2P protocols are different, however,
their messages are all similar. - By knowing the messages of each protocol we can
map each message(s) to its corresponding
message(s) in the other two protocols.
14Messages in the P2P Protocols
Napster Messages
Freenet Messages
Gnutella Messages
15Solution Gateway
- Authors of the paper suggest implementing a
gateway that translates messages from one P2P
network to the other P2P networks. - Could be implemented in either hardware or
software (similar to a proxy server). - Both implementation methods have advantages and
disadvantages.
16Solution Gateway
Software Gateway
Hardware Gateway
17Potential Problems Malware
- Each P2P network are littered with viruses,
spyware, and other malicious software. - Accessing more than one network at a time
essentially triples the risk of acquiring
malware. - Adding a virus scanner to the gateway may help
prevent the transmission of malware.
18Potential Problems Network Logins
- Some P2P networks (Napster) require the user to
log in to the network first. - The gateway must be aware of these logins
(username, password combinations). - (Pure P2P networks do not require a login.)
19Potential Problems MD5 Hash
- The authors propose using the MD5 hash algorithm
to create a file that uniquely identifies each
peer. - MD5 is known to be weak and it is now well-known
that two files can be constructed to have the
same MD5 hash. - A different hash algorithm should be used.
20Positive Aspects
- A gateway does not require any modification of
the client software. - (A software-based gateway would require the user
to adjust the clients proxy server settings.)
21Conclusion
- A gateway is an effective solution to access
multiple P2P networks. - However, there are P2P clients that have the
ability to connect to multiple P2P networks
built-in - iMesh can access the FastTrack, eDonkey,
Gnutella, and Gnutella2 networks.