In order to improve upon the vulnerabilities of the file sharing peer to peer networks many actions are needed beginning with the traditional client server model. This specific problem is what lead to Napster 's ultimate undoing. After a court ordered ruling that what Napster was doing was indeed a violation of copyrighted material it was very easy for the authorities to control the data stored on Napster 's server. By ordering Napster’s to shut down its central server the government was able to completely destroy any clients access to files in the network. (Peer-to-peer, 2014). Another issue with the client server model was the growing number of files being stored on the server. The server would eventually become unable …show more content…
These are the two different types of a peer to peer network design; both structures have their own distinct vulnerabilities. In order for unstructured peer to peer networks to find users who have the files the client is looking for, they have to flood the network with their queries. This results in a high amount of signaling traffic and uses more CPU and memory which ultimately makes this network structure less efficient than a structured network. (Later versions of Gnutella did move to a dynamic querying model which did vastly improve efficiency.) Likewise in a structured peer to peer network vulnerability is the risk associated when users of the network enter and exit changing its structure known as churn. Some algorithms have addressed the issues associated with churn in particular the Distributed Hash Table (DHT). (Peer-to-peer, …show more content…
For this example let’s say that peer zero sends out a request and this particular file is located at node fifteen (exactly fifteen nodes away). Instead of flooding the network and searching through all fifteen nodes sequentially, We will be utilizing the hash search method which is O(log n). In this example the value n equals two which will cut the network at each level of search in half. So node zero will look to node eight which is its closest node to fifteen and immediately cut out half of the network in doing so. Node eight will return a message to node zero letting it know that it does not contain the data. After that node eight will then look through its references and its closest node to fifteen will be twelve. Consequently this will split the remaining nodes in half and check to see whether or not node twelve has the data. After returning no, node twelve will then search through its references and return its closest node which is fourteen. Now node fourteen will go through its referencing routing table and in it will be the fifteenth node that node zero was looking for. This search process using the DHT took precisely four searches a much more efficient way to search through a