29-01-2013, 04:54 PM
MailZoro - Email Based P2P File Sharing
MailZoro.pdf (Size: 514.85 KB / Downloads: 34)
Abstract
People are using P2P (Peer to Peer) network for sharing and transferring digital content containing video, audio, or any other data file over the internet from different part of the globe. All General P2P file sharing protocols were designed to work optimally in the case that all the peers have an end node on the internet i.e. they are connectible. But due to the huge number of computers behind NAT1 and proxies this is rarely achievable. Due to this, the load is unevenly distributed between the connectible and non-connectible peers, and non-connectible peers usually suffer from slow download speeds, while connectible users suffer from too many uploads. In the case that all the peers are not connectible it is not possible to use P2P at all. In this paper, we present an entirely new p2p protocol which takes care of the deficiencies in P2P protocols. Low number of IPv4 addresses, hosts behind NAT, and the asymmetric property of broadband connections make most P2P protocols inefficient. We are proposing an email based P2P file sharing protocol which would be a huge improvement over the existing P2P networks since every node would be reachable, and it would be possible to send a file to multiple users without uploading it multiple times. And moreover if we use systems like Gmail and Yahoo then most of the mails would be transferred internally and much more efficiently, thus improving the overall efficiency of the internet.
INTRODUCTION
P2P file sharing makes up the bulk of internet traffic nowadays. But most of them are inefficient in many ways, and rely on the presence of connectable hosts (end node on the internet). Some of the shortcomings of P2P apps based on TCP/UDP are:-
Currently there are lots of P2P based applications like eDonkey, SoulSeek, DC++, Lime Wire, eMule and Bittorrent etc. But all of them work within TCP/IP. Because of this all system suffer from the same disadvantages as enumerated
RELATED WORK
Currently No P2P protocols exist that work at the email level. The only software remotely related to email is Pando [7]. It use email to transfer the metadata only and all the other data transfer occurs though TCP/UDP. Moreover, the user has to manually open the inbox, download the metafile and start it in the application Pando. Then it starts transferring the files from the Internet using TCP. Thus, we would not call this an email P2P file sharing application.
There are many P2P file sharing protocols exist. They are:
BitTorrent: The most widely used P2P protocol on the internet. BitTorrent works by establishing end to end connections between the hosts, and using them to transfer files. There are two versions of the protocol, one depends on the presence of a tracker to communicate with the peers, other doesn’t require the presence of trackers, and it is based on DHT (Distributed Hash Table) [5].
Direct Connect: the direct connect protocol is based on the concept of hubs clients and a superhub. Peers connect to the hubs. The hub servers as a connecting point for all the peers. Peers can view the files shared by other peers, and transfer them.
Gnutella: Gnutella is a fully distributed file sharing protocol. In this protocol each Gnutella client is connected to at least one client in the network After that the Gnutella clients asks for a list of peers from the other client. Even searching is done in a distributed way, clients disseminate the search query to the nodes that are directly connected to them[6].
PROPOSED APPROACH
Approach: Most P2P protocols work most efficiently when all peers are reachable. Identifying a Peer by a socket (IP + Port) is not possible in case of NAT’ted peers. So in search of a solution we found the answer in ‘Email’. An email address can be used to uniquely identify a particular host, on the internet irrespective of the nature of his network connection. This allows users behind NAT and proxies to be at the same level as other connectible users. Moreover, most home users use a broadband connection which is asymmetric in nature. So if we use emails to send files, then we can send the same file to more than one person.
CONCLUSION
This protocol can be used in situations where the users are behind NAT or proxies as well as in the case where the upload rate is lesser than the download rate. This protocol is useful, since uploading is done only once even if the piece is to be sent to multiple clients. Thus, this is a more general protocol that can be used in file-sharing situations where clients are behind firewall and proxies and have no existence on the internet. These clients in the LAN can access the services available on the internet but cannot provide services on the internet because they don’t have global IP assigned to them. We have implemented it in java and verified that it is working fine when it is used in LAN of our institute where NAT and proxies are configured to deny any p2p communication from the outside world. This is a significant improvement in the working of p2p protocols where proxy, NAT, bandwidth and LAN is the limitation.