Introduction
P2P, otherwise known as peer to peer, is a model in which one can share the files or data without the need of any centralized servers. In this, one can see many peer systems which are interconnected to each other. “Peer-to-Peer systems benefit from and share the resources owned by systems that are distributed around the Internet.” (Welcome to the 8th international conference on peer- to peer computing 2008 (P2P’08) 2008). This technology is entirely different from the server-client technology. The P2P systems can be in many forms. Presently “Email, Internet Relay Chat and Napster are all examples of P2P systems.” (Stone, et al n.d.).
Routing
There are different types of routing issues present in this P2P technology. Before discussing each type of routing in the P2P technology, one needs to understand about the techniques of routing. The term routing can be defined as a selection of path in the network for sending the data from source to destination. In other words, it can be explained as the process of defining the routes for sending the packets from source to destination. The routing has got two important tasks – first one is defining the paths for sending the data and second one is forwarding the packets based on the pre-selected path.
In case of P2P technology, an important thing one needs to keep in mind while designing the routing algorithms are scalability, complexity and anonymity. These are the important issues faced by the designers while implementing P2P. These things are mentioned in the technology survey named Peer to Peer Routing done by Emmanuel Stone, Tim Czerniak, Colm Ryan, and Rob McAdoo.
- Scalability – It is very important for the designers to keep in mind while creating the routing algorithm. It is the scalability that measures the performance of the system when number of nodes in the network or number of data in the network increases.
- Complexity – This is another important issue the developers of the routing have to keep in mind. Complexity means the different steps needed to make sure that data are travelling through the network very smoothly at the time of worst case scenario or when the traffic is very high in the network.
- Anonymity – This thing is not much important in the P2P networks. Still, there are some cases when the network is designed to provide the anonymity. Then this will be a problem and this problem has to be solved at the time of routing.
Next thing to discuss in this paper is about different routing types used in the P2P which resemble each of the above mentioned issues, namely, scalability, complexity and anonymity.
The two basic routing systems are Napster and Gnutella. The Napster is a centralized server and Gnutella is decentralized server. They are also well known peer to peer systems, and the users depend on this routing system. Napster is an important application of the peer to peer routing systems. Napster is the most used file sharing system. “Napster is the file sharing system that used a central server for storing and searching the directory of files, but performed the file transfer in a direct P2P fashion.” (Buford, Yu & Lua 2008, p.55).
The Napster started in 1999. Within very less time, the Napster became very popular. In the P2P system, the mass media has highly influenced the Napster system. But it got bad name. It had to face legal issues and was shut down. The Napster is not a full file sharing system. So it must be removed and the situation is that a new file sharing system must be introduced.
The first full P2P file sharing system is Gnutella and it became more popular than any other. The Gnutella is an overall network which has a wide spread use. “The Gnutella protocol provides a simple reliable distribution system that delivers knowledge, literature, art and music to all.” (What is gnutella 2003).
The idea behind the Gnutella was very simple. If a client wants to join in the network, he must know the address of any node in the network. The figure below shows the network having nine nodes. Once the client got a connection in any of the node in the network, the client can use the help of ping for finding the address present in the other nodes. The basic concept of this is each node always possesses a connection with the other nodes as shown in the figure below.
Pastry
In the P2P model, the node is selected as random. The Pastry Nodelds is the random circular orbit with 128 bit id space. The Pastry Nodelds works on the basis of simple technique. In this 128 bit node is transmit the data to the node which is nearest to the basic node through the circular data. I.e. each Pastry Nodelds node is can communicate with nearest neighbouring node. It is completely is not centralized process and not scalable.
Each node communicates with the nearest node. The Pastry Nodelds have routing table which consist of N nodes , neighbourhood set which have a the Nodelds and IP address and leaf set which consists of a Nodelds and IP address of the half node which is numerically very close to it. The locating and routing of Pastry is done by many steps. First check the whether the key falls within the Nodelds which is enclosed within the leaf set. If the key is covered by the leaf set, the message is openly transmitted to the destination node which is closest to the key. Otherwise the routing table is used here and the massage is sent to a common routing prefix.
Plaxton
Plaxton otherwise known as plaxton mesh. It is just like mesh and it is used for locating the named objects. The algorithm used in this is hashing algorithm. With the help of this algorithm this will find out the nodes in the network. The structuring of these is of two parts. The two parts are neighbour table and pointer list. The approach of plaxton in locating and routing the nodes is follows. First of all it will send a query destined towards object. Consider the abject is named as A. If it finds A then it will redirect to the server named as A. The neighbour table is used to store the mapping which is occurring at the time of searching. This routing method guarantees the unique node can be found in the network within logbN logical hops. The problem with plaxton algorithm in routing is it does not support insertion and deletion of nodes dynamically.
Tapestry
The functions of Tapestry algorithm is similar to Plaxton algorithm which has been described just above. The main difference between these two is in adaptability and in fault tolerance. Structuring is same as plaxton has node as got neighbouring map which has put at routing levels. Each node presenting has got forward pointer and backward pointer. The Tapestry uses distributed algorithm for routing. The algorithm otherwise known as surrogate routing. At the time of locating and routing the tapestry performs the process of hashing. It generates the object ID for searching the roots.
It stores all information about the replicas to improve the performance and it stores in the table. This provides flexibility in the routing. The fault tolerance in the routing is adopted by jumping to another or nearby node when the bad links are available. The node insertion and deletion is possible in this.
TRIAD
TRIAD cannot be considered as a complete peer to peer system. But the major characteristics of TRIAD show much similarity to the peer to peer systems. The routing based on the contents transmitted is efficiently accomplished with TRIAD. The routing used is network integrated so that it takes up a position between centralized and decentralized systems.
The TRIAD system consists of a number of replicated servers through which the routing takes place. The integrated routers are used as IP routers and name servers. The name search is taken place through the servers in any approach along with which the piggybacking is done. This results in the establishment of the route as soon as the name is sought out.
Since more than one path is available for the seeking of the name, the reliability of the system becomes admirable. Also the routing based on name results in an increase in the performance of the TRIADs compared to the DNS based system. The user equipments in TRIAD act as servers or routers or both servers and routers.
Security
“Millions of people use free P2P file sharing programs – software to swap music, video and other files over the Internet.” (Mitchell 2009). The privacy of P2P networks is discussed here. The user has to maintain privacy in P2P networks. There can be different types of threats in privacy of P2P networks. For the communication through the internet the user will have to provide some information like IP address port number etc.
This information can be helpful in hacking which hinders security. The use of computer networks can also provide information about the users to a third party. For example, in VoIP, a third party can know about the people talking, the time and duration of the call etc. Some other threats to security of P2P networks are viruses, spy ware, malware etc. “Spy ware is software that aids in gathering information about a person or organization without their knowledge and provides it to a third party.” (Spyware: definition 2009).
For the proper security of P2P networks, it should be configured properly. “Kazaa is a distributed file sharing service that uses peer to peer network technology.” (Mitchell 2009). It helps in sharing files like music, movies etc. The sharing of information between computers may allow the invasion of viruses and other hosts. Anonymous networks are the third generation P2P networks. It is an improvement over Kazaa which is the second generation P2P network.
Anonymous network provides anonymity or secrecy. Some of the anonymous networks are Freenet, GNUnet etc. Friend to friend network is another third generation P2P network. An example of friend to friend network is the MUTE. For the privacy of P2P network, the usage of the P2P software should be known by the user. He should also have knowledge about the information shared. The shared document should be secure and it should be free from any kind of information that can be misused. Privacy should also be maintained in the information sent. The IP address should be kept private so that the user identity is not known by others.
The use of P2P network involves certain risks. Many of the computer users at home have low knowledge about security. Due to their carelessness viruses can attack the computers easily. Problems can also occur due to accidental file sharing. The individual users may be less experienced and they may find it difficult to detect and remove the viruses. One way to tackle this problem is to use a firewall and a good antivirus program which should be updated frequently. A P2P application that is free from viruses should be used and the user should try to learn the configuration of the network. In companies there are corporate users using the computers.
The use of P2P application may cause some problems in the companies. The accidental file sharing in companies may sometimes cause the sharing of their secret files and other information. There should be a reliable protection for information of the companies. The increased number of employees in the company is also a problem for security. They install whatever software they like and use the computers as they wish. The experts of the company may not be able to manage them. One of the main threats of both individual and corporate users is identity thefts like Korgo virus. These viruses help in cracking password and other user information.
Security of the network should be taken into account at the starting stage itself. If it is considered only at the last stage, it will be difficult. The P2P network faces this problem. The privacy of the first and second generation of P2P network was not up to the required level. The third generation P2P network is still not in a developed stage. They don’t have some of the functions and uses of the second generation P2P networks. When the third generation comes into use, the risks in P2P also will increase. Even though the third generation P2P application may provide a certain level of secrecy, they do not guarantee a high level of security.
So the problems of the viruses and other spy wares will remain as such in the future also. Secrecy in the network can become a disadvantage sometimes, because it can favour the malicious users as these users sometimes remain unrecognized. It will remain a problem to security. In Peer-to-peer (P2P) networking technologies we can share files without a centralized server. For locating the nodes it contains a fault tolerant mechanism which helps variety of applications. The application can be multicast, anonymous communications, and web caches. As mentioned earlier Peer to Peer does not follow the client server paradigm.
It is based on peers and thus replication is possible in the system which provides features like availability, scalability. For getting better efficiency and scalability, careful analysis and designing is a must. As these systems mainly focus about sharing of large amount of music, designing is mainly based upon that criteria such as it should contain variety of services which is not centralised, that is decentralised which includes services like network storage and content distribution. It also includes services like web caching, searching and indexing etc. Our main aim is to make the system secure. As these systems are mainly used for music sharing, they are open to attack. They study about the traffic and give unidentified communication against the system. Also they try to use the disk space which will badly affect the actual user.
For surviving such kind of problems we always give importance to security of this network. File sharing system in the peer-to-peer give formations to the people. The people who are installing these tools are aware about its security and privacy. P2P users must be always aware about a source which is from a trusted one and must be careful about the viruses. Installing antivirus software will protect from virus attack up to some extent. Online attacks will also affect these systems.
By sharing files between different users online attackers can identify computer IP address and they can access data of that computer having the particular IP address. This will badly affect the security of the system. Self-Help Attacks is another security problem. This will occur “in the rise of self-help techniques by copyright holders concerned about infringement on file-trading networks.” (Davidson 2003). To provide security of peer-to-peer systems users should have better knowledge about operation and risks of these systems. The major security tips are the following.
- Knowledge about the type of file that are shared
- Be careful about the downloading file
- Proper usage of the security tools
- Share the files legally
- Aware about spy ware.
The major P2P security approaches are encrypting the traffic in the peers. Encrypting aims encryption of stream and it is not detected easily. “With the actual connection stream completely encrypted, it becomes much harder for the P2P traffic to be detected, and, thus, attacked, blocked, or throttled.”
(Li 2007). By anonymizing peers, these networks can protect the uniqueness nodes and the users. Anonymity means we can’t identify from where these data are coming and which is the destination of that data. “It does this by making all peers on the network universal senders and universal receivers, thus making it practically impossible to determine if a peer is receiving a chunk of data or simply passing it through.” (Li 2007).
Encrypting P2P traffic and anonymizing the peers together provide better security for the system. Always take care to use Peer-to-Peer system in secure way. The main thing that we have to remember is the following: Scan all the details collected through file sharing. We have to share needed data only. Always be careful about the client software. Avoid the usage of Peer-to-Peer network in a corporate environment without agreement because other P2P users can collect data from our compute which may affect the bandwidth of the network. “Networks such as Bit Torrent and eMule make it easy for people to find what they want and share what they have.” (Bradley 2009). Above all, for getting better security of the system, careful designing and protocol execution is necessary.
Conclusion
In this paper we have discussed about data sharing, routing and security in Peer-to-Peer over lay network systems both at the application layer and network layer. The main routing systems discussed here are Napster and Gnutella. The various security issues are also included. Because of its high processor speed, hard disk space, fast internet connection, Peer-to-peer systems are widely used nowadays.
Reference List
Bradley, T 2009, Peer- to- Peer (P2P) security: four steps to sharing and swapping file without becoming a victim, About.: Wireless/ Networking. Web.
Buford, J, Yu, H & Lua, E K 2008, P2P networking and applications: early systems: napster, Morgan Kaufmann.
Davidson, A 2003, Peer- to- peer file sharing privacy and security: security risks, Center for Democracy & Technology. Web.
Li, J 2007, A survey of peer- to- peer network security issues: encrypting P2P traffic. Web.
Li, J 2007, A survey of peer- to- peer network security issues: anonymous P2P. Web.
Mitchell, B 2009, Kazaa- kazzaa: definition kazaa, About.: Wireless/ Networking. Web.
Mitchell, B 2009, Top 10 free P2P file sharing programs – free P2P software, About.: Wireless/ Networking. Web.
Spyware: definition 2009, SearchSecurity. Web.
Stone, E., et al n.d., Peer to peer routing: introduction, 4BA2: Technology Survey. Web.
Stone, E., et al n.d., Peer to peer routing: gnutella routing, 4BA2: Technology Survey. Web.
Welcome to the 8th international conference on peer- to peer computing 2008 (P2P’08): please visit P2P as most recent event in the series of P2P conference 2008, IEEE: P2P’08 RWTH Aachen University. Web.
What is gnutella 2003, Gnutella: File Sharing and Distribution Network. Web.