Peer to peer (P2P) network

ISYM 540

Current Topics in Information System Management

Anas hardan

Introduction

P2P networking has generated tremendous interest worldwide among both Internet surfers and computer networking professionals. P2P software systems like Kazaa and Napster rank amongst the most popular software applications ever. Numerous businesses and Web sites have promoted "peer to peer" technology as the future of Internet networking.

Although they have actually existed for many years, P2P technologies promise to radically change the future of networking. P2P file sharing software has also created much controversy over legality and "fair use." In general, experts disagree on various details of P2P and precisely how it will evolve in the future.

Traditional Peer to Peer Networks

The P2P acronym technically stands for peer to peer. P2P is a type of network in which each workstation has equivalent capabilities and responsibilities. This differs from client/server architectures, in which some computers are dedicated to serving the others."

This definition captures the traditional meaning of peer to peer networking. Computers in a peer to peer network are typically situated physically near to each other and run similar networking protocols and software. Before home networking became popular, only small businesses and schools built peer to peer networks.

Architecture of P2P systems

The P2P overlay network consists of all the participating peers as network nodes. There are links between any two nodes that know each other: i.e. if a participating peer knows the location of another peer in the P2P network, then there is a directed edge from the former node to the latter in the overlay network. Based on how the nodes in the overlay network are linked to each other, we can classify the P2P networks as unstructured or structured.

Structured peer-to-peer systems

Structured P2P network employ a globally consistent protocol to ensure that any node can efficiently route a search to some peer that has the desired file, even if the file is extremely rare. Such a guarantee necessitates a more structured pattern of overlay links. By far the most common type of structured P2P network is the distributed hash table (DHT), in which a variant of consistent hashing is used to assign ownership of each file to a particular peer, in a way analogous to a traditional hash table's assignment of each key to a particular array slot.

Unstructured peer-to-peer systems

An unstructured P2P network is formed when the overlay links are established arbitrarily. Such networks can be easily constructed as a new peer that wants to join the network can copy existing links of another node and then form its own links over time. In an unstructured P2P network, if a peer wants to find a desired piece of data in the network, the query has to be flooded through the network to find as many peers as possible that share the data. The main disadvantage with such networks is that the queries may not always be resolved. Popular content is likely to be available at several peers and any peer searching for it is likely to find the same thing. But if a peer is looking for rare data shared by only a few other peers, then it is highly unlikely that search will be successful. Since there is no correlation between a peer and the content managed by it, there is no guarantee that flooding will find a peer that has the desired data. Flooding also causes a high amount of signaling traffic in the network and hence such networks typically have very poor search efficiency. Most of the popular P2P networks are unstructured.

In pure P2P networks: Peers act as equals, merging the roles of clients and server. In such networks, there is no central server managing the network, neither is there a central router. Some examples of pure P2P application layer networks designed for file sharing are Gnutella (pre v0.4) and Freenet.

There also exist hybrid P2P systems, which distribute their clients into two groups: client nodes and overlay nodes. Typically, each client is able to act according to the momentary need of the network and can become part of the respective overlay network used to coordinate the P2P structure. This division between normal and 'better' nodes is done in order to address the scaling problems on early pure P2P networks. Examples for such networks are for example Gnutella (after v0.4) or G2.

An other type of hybrid P2P network are networks using on the one hand central server(s) or bootstrapping mechanisms, on the other hand P2P for their data transfers. These networks are in general called 'centralized networks' because of their lack of ability to work without their central server(s). An example for such a network is the eDonkey network (eD2k).

P2P File Sharing Networks

When most people hear the term "P2P", they think not of traditional peer networks, but rather peer to peer file sharing over the Internet. P2P file sharing systems have become the single most popular class of Internet applications in this decade.

A P2P network implements search and data transfer protocols above the Internet Protocol (IP). To access a P2P network, users simply download and install a suitable P2P client application.

Numerous P2P networks and P2P software applications exist. Some P2P applications work only with one P2P network, while others operate cross-network. Likewise, some P2P networks support only one application, while others support multiple applications.

Navigating a P2P Network

This diagram shows how a P2P network operates. The solid lines indicate physical, hard-wired network cables. The dotted lines indicate that each PC can communicate and share files with every other PC on such a network. A printer attached to one PC can be used by other PCs on the network—if that printer’s PC allows such use.

What Are P2P Software Applications?

A good definition of P2P software was proposed by Dave Winer of UserLand Software many years ago when P2P was first becoming mainstream. Dave suggests that P2P software applications include these seven key characteristics:

  • the user interface runs outsides of a Web browser
  • computers in the system can act as both clients and servers
  • the software is easy to use and well-integrated
  • the application includes tools to support users wanting to create content or add functionality
  • the application makes connections with other users
  • the application does something new or exciting
  • the software supports "cross-network" protocols like SOAP or XML-RPC

In this modern view of peer to peer computing, P2P networks stretch across the entire Internet, not just a home local area network (LAN). Easy-to-use P2P software applications allow both geeks and non-technical people to participate.

Privacy and Security on Peer-to-Peer File-Sharing Networks

Peer-to-peer file-sharing systems are powerful tools for sharing information with millions of other people around the world. People who install these tools need to be aware of the potentially serious privacy risks that may come from their use or misuse.

In many respects the problems facing peer-to-peer users are akin to the problems facing any speaker on the Internet. For example, someone who creates a website to share family pictures could inadvertently place sensitive files or pictures they don't wish to share on their site. Many of us have a favorite story about someone who sent an embarrassing email message to a mailing list by mistake.

Security Risks

Users of P2P file-sharing systems face many of the same security risks as other Internet users. Just as in other applications, P2P users must take care to only run programs from sources that they trust, and should be careful to check for viruses. They should safeguard their computer from attack when online. File sharing adds an extra dimension to these concerns due to the quantity and frequency of files traded the relatively unsophisticated user base, and the rise of self-help systems to prevent copyright infringement. At this time, P2P file-sharing applications are not known to be any less -- or any more -- securing than Internet applications on the market in other areas.

Viruses - Because peer-to-peer file sharing networks enable files to be transferred among millions of computers -- most of which are owned and operated by total strangers there is an ever-present risk that files downloaded from a peer-to-peer file sharing network could carry various kinds of malicious software like viruses and "worms."

It is, of course, possible to receive a dangerous file in numerous ways, such as over the Web or by e-mail. The best protection against viruses continues to be the use of up-to-date anti-virus software. 100% protection can never be achieved, but users should be aware that to download files without adequate protection opens them up to substantial risks.

Online Attacks - When peer-to-peer networks identify shared files to millions of users, they also identify the location of a user's computer, and could even target that computer's IP address (Internet Protocol address) with attempts to gain access. This is not a risk unique to peer-to-peer file sharing networks; all Internet communications involve an exchange of IP addresses. But because peer-to-peer file sharing networks search millions of computers, they can provide access to millions of IP addresses.

Self-Help Attacks - A new form of security threat may be growing for peer-to-peer users in the rise of self-help techniques by copyright holders concerned about infringement on file-trading networks. More benign versions flood P2P networks with bogus copies of copyrighted works in order to fool people into downloading or storing them.

Advantages and weaknesses of P2P networks

In P2P networks, all clients provide resources, which may include bandwidth, storage space, and computing power. As nodes arrive and demand on the system increases, the total capacity of the system also increases. This is not true of client-server architecture with a fixed set of servers, in which adding more clients could mean slower data transfer for all users.

The distributed nature of P2P networks also increases robustness and in pure P2P systems by enabling peers to find the data without relying on a centralized index server. In the latter case, there is no single point of failure in the system.

As with most network systems, unsecure and unsigned codes may allow remote access to files on a victim's computer or even compromise the entire network.[citation needed] In the past this has happened for example to the FastTrack network when anti P2P companies managed to introduce faked chunks into downloads and downloaded files (mostly mp3 files) were unusable afterwards or even contained malicious code.[citation needed] Consequently, the P2P networks of today have seen an enormous increase of their security and file verification mechanisms. Modern hashing, chunk verification and different encryption methods have made most networks resistant to almost any type of attack, even when major parts of the respective network have been replaced by faked or nonfunctional hosts.

Usually Internet providers (ISPs) don't welcome P2P users in their networks. The reason is that P2P clients tend to increase the traffic. Compared to Web browsing, e-mail or most other uses of the internet, where data is only transferred in short intervals and relative small quantities, P2P consists usually in a relatively heavy use of the internet connection due to the ongoing file transfers and swarm/network coordination packets.

A possible solution to this is called P2P caching, where an ISP stores the part of files most accessed by P2P clients in other to save access to the Internet.

Conclusion

A peer-to-peer network is sometimes the perfect (and cheap) solution for connecting the computers at a small nonprofit. However, peer-to-peer networking has its limitations, and your organization should tread with caution to avoid headaches -- security issues, hardware inadequacies, backup problems.

References

Peer-to-Peer Based Resource Discovery in Global Grids : A Tutorial , June 10, 2007, July 9, 2009 .

P2P Networking and P2PSoftware, , Dec 2006, July 6, 2009

Peer-to-Peer Network, , April 8, 2002,july 7 2009

Peer-to-Peer File Sharing Privacy and Security, http::/ May 15, 2003, July 9, 2009

Foundation of Peer-to-Peer Computing, February 2008, July 6, 2009.