Peer To Peer Networking


Published on

An introduction to Peer to Peer Networking. Includes different P2P Architectures, advantages and applications.

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Peer To Peer Networking

  1. 1. Peer-To-Peer Networking<br />Eric Fay<br />CS-414<br />
  2. 2. Computer Networks<br />Computers are an integral part of our everyday lives but if they were not connected to one and another they wouldn’t serve as much as a convenience to us.<br />There are several reasons why computer networks are so widely used which include facilitating communications, sharing hardware and also sharing data and information.<br />Computer networks make communication easier by enabling the use of e-mail, instant messengers, voice over internet protocol and video conferencing<br />
  3. 3. Computer Networks<br />Computer networks can be categorized in many different ways into many different types of networks. <br />One way to categorize computer networks is by the method of connection. <br />The main two types of connection methods are wired and wireless. <br />
  4. 4. Computer Networks – Connection Media<br />The Three main connection medias for wired networks include twisted pair, coaxial, and fiber optic.<br />Twisted Pair is the most common but coaxial and fiber optic can carry more bandwidth at a higher rate.<br />
  5. 5. Computer Networks - Wireless<br />The primary technologies for the wireless method of connection include terrestrial microwave, communication satellites, cellular systems, wireless LANs, Bluetooth and wireless web. <br />One of the most popular forms of connecting computer networks wirelessly is through the use of wireless LANs. <br />In a wireless LAN every computer has a radio modem and antenna with which it can communicate with other systems.<br />
  6. 6. Computer Networks - Scale<br />Another way of categorizing computer networks is through the scale of the network. <br />The main classifications through the use of a network’s scale are <br />PAN - Personal Area Network <br />LAN - Local Area Network<br />CAN - Campus Area Network <br />MAN - Metropolitan Area Network<br />WAN - Wide Area Network<br />SAN - Storage Area Network <br />VPN - Virtual Private Network<br />Which network is to be used for a specific job is decided by the scale of the job and is picked accordingly from the list of networks above.<br />
  7. 7. Computer Networks – Architecture <br />A network’s architecture is also another form of categorizing networks. <br />The three main architectures are active networking, client-server, and peer-to-peer.<br />
  8. 8. Computer Networks - Architecture<br />An active network is type of network architecture that allows packets traveling through a network to dynamically modify the operation of the network.<br />In the client-server model, two processes are involved, one on the client side and one on the server side. First the client sends a message over the network to the server, the client then waits for a reply. When the server receives the request it performs the requested work and sends back a reply.<br />In the peer-to-peer architecture individuals form a loose group and can communicate with others in the group. There is no need to distinguish clients and servers in this architecture.<br />
  9. 9. Peer-to-Peer Networking<br />A peer-to-peer network, P2P, is consider any type of network architecture composed of contributors that make a part of their resources available to other contributors on the same network without the need for a server to oversee the transfer of information.<br />This differs from the client-server model mainly in the respect that the client in the P2P model is both the supplier and consumer while in the client-server model the client can is only the consumer and the server is only the supplier. <br />
  10. 10. Peer-to-Peer Networking - Architecture<br />A peer-to-peer network’s architecture is generally formed dynamically by an ad-hoc type of addition of nodes, meaning the loss of a certain node does not have a significant impact on the rest of the network.<br />This aspect of peer-to-peer networks gives the system the ability to easily scale to any size that may be need for a certain application.<br />Regarding different types of peer-to-peer architecture, there are generally two major types, structured and unstructured. These two types of networks also contain even more specific underlying types of networks.<br />
  11. 11. Peer-to-Peer Networking – Unstructured Architecture<br />To be considered an unstructured peer-to-peer network, the network must not use any algorithm for organization or optimization of the network.<br />For unstructured peer-to-peer networks there are three different models which include pure peer-to-peer networks, hybrid peer-to-peer networks, and centralized peer-to-peer networks. <br />In a pure peer-to-peer network, or sometimes called a purely decentralized network, all nodes are of equal ability meaning that there are no nodes that have any special infrastructure function that could affect the network.<br />A great example of a popular purely decentralized peer-to-peer network is the Gnutella network. The main purpose of the Gnutella network is for that of a file sharing system.<br />The Gnutella network, like many other peer-to-peer networks uses a virtual overlay network with its own routing layers, allowing the peers of the network to share files on their machine to all other peers connected to the network.<br />
  12. 12. Peer-to-Peer Networking – Unstructured Architecture<br />An example of the Gnutella search mechanism. Solid lines between the nodes represent connections of the Gnutella network. The search originates at the “requestor” node, for a file maintained by another node. Request messages are dispatched to all neighboring nodes, and propagated from node-to-node as shown in the four consecutive steps (a) to (d). When a node receives the same request message (based on its unique identifier) multiple times, it replies with a failure message to avoid loops and minimize traffic. When the file is identified, a success message is returned.<br />
  13. 13. Peer-to-Peer Networking – Unstructured Architecture<br />The second type of unstructured peer-to-peer networks is called the hybrid peer-to-peer network. <br />In this type of network, infrastructure nodes are allowed to exist and are often a type of central directory server. <br />All clients connected to the network must connect to one of these servers. <br />The central server maintains a table of registered user connection information (IP address, connection bandwidth etc.) and a table listing the files that each user holds and shares in the network, along with metadata descriptions of the files(e.g. filename, time of creation, etc.)<br />A user that wishes to join the network must first contact the central directory server and report its files that wish to be shared. To find a file on this type of network, the user must send a request for that file to the directory server. The server then searches into database for said file and returns a list of users that possess that file. The requesting user then opens a direct connection with the list of users and downloads the file.<br />A profound example of a hybrid peer-to-peer network is the notorious Napster network<br />
  14. 14. Peer-to-Peer Networking – Unstructured Architecture<br />Typical hybrid decentralized peer-to-peer architecture. <br />A central directory server maintains an index of the metadata for all files in the network<br />
  15. 15. Peer-to-Peer Networking – Unstructured Architecture<br />The final type of unstructured peer-to-peer network is called a centralized peer-to-peer network. <br />These centralized peer-to-peer networks are very similar to the pure peer-to-peer networks except for the added concept of supernodes. <br />These supernodes are nodes that are dynamically assigned the task of servicing a small subpart of the peer network by indexing and caching files contained therein.<br />Peers are chosen to be supernode automatically if said peer’s bandwidth and processing power is sufficient. All queries for files on this type of network are sent to and processed by these supernodes. <br />A popular example of this centralized peer-to-peer network is the file sharing network Kazaa.<br />
  16. 16. Peer-to-Peer Networking – Structured Architecture<br />Structured peer-to-peer networks generally hold the traits of using some type of algorithm for organization or optimization of the network. <br />Structured peer-to-peer networks use some type of global protocol to ensure that any node in the network can proficiently route a search to some peer that has a desired file. <br />By far the most popular type of structured peer-to-peer network is the distributed hash table or DHT. <br />
  17. 17. Peer-to-Peer Networking – Structured Architecture<br />Distributed hash tables are a class of decentralized distributed systems that provide a lookup service similar to that of a hash table. <br />Pairs, key and value, are stored in the distributed has table and any connected node can proficiently retrieve the value associated with a given key.<br />Maintaining the mapping from keys to values is the responsibility of each of the nodes in the network. <br />This is done in such a way that a change to the set of peers causes a negligible amount of disruption to the rest of the network.<br />The most popular example of a network using a distributed hash table is BitTorrent’s distributed tracker. <br />
  18. 18. Peer-to-Peer Networking – Advantages and Limitations<br />One of the major advantages to a peer-to-peer network is that each time a new node is connected to the network the total capacity of the system increases. <br />This point differs from the client-server model standpoint since the addition of new nodes to a network that connects to a set number of servers could possibly slow data transfers for all of the connected users. <br />
  19. 19. Peer-to-Peer Networking – Advantages and Limitations<br />Another advantage in regards to a pure peer-to-peer network is that there is no single point of failure in the network. <br />When compared to the client-server model on this point if the server fails the network is brought down since the server is unable to relay information to the connected nodes. <br />On the pure peer-to-peer side of the topic, if one of the nodes fails the rest of the nodes are able to continue relaying information. <br />
  20. 20. Peer-to-Peer Networking – Advantages and Limitations<br />One of the weaknesses of peer-to-peer networks is that of security. Generally speaking peer-to-peer networks are more susceptible to security problems. <br />Jon Udell states in the book Peer-to-Peer: Harnessing the Power of Disruptive Technologies “Security is hard enough in traditional networks that depend on central servers. It's harder still in peer-to-peer networks, particularly when you want to authenticate your communication partners and exchange data only with people you trust.”<br />One way to combat these security problems in peer-to-peer networks is that of a reputation system. Jochem van Vroonhoven states in his paper entitled Peer to Peer Security “But on what ground can a user decide to trust a peer ornot? In current peer-to-peer systems that depend on therequesting user, reputation systems can provide a way to basetrust on the actual behavior of a peer.”<br />
  21. 21. Peer-to-Peer Networking – Advantages and Limitations<br />Another disadvantage of peer-to-peer networks is the high bandwidth usage required. This high bandwidth usage has lead to Internet Service Providers starting to throttle, or limit, peer-to-peer traffic. <br />On the other side, the server-client model usually consists of short quick bursts of data. <br />An emerging solution to this problem is called peer-to-peer caching. <br />Peer-to-peer caching is defined as a network traffic management service that accelerates data delivered over peer-to-peer networks by means of the Internet Service Provider storing pieces of files that are most accessed by peer-to-peer users.<br />
  22. 22. Peer-to-Peer Networking – Applications<br />Some of the general applications for peer-to-peer networks include the ever popular file sharing, streaming media, grid computing, instant messaging and voice over internet protocol.<br />The most popular peer-to-peer file sharing networks that are still active today include G2, FastTrack, and Gnutella. The application of sharing files over peer-to-peer networks is what first popularized the use of peer-to-peer technology.<br />Major media streaming applications over peer-to-peer networks, or P2PTV, include Joost, TVUPlayer and CyberSky-TV. These applications allow for the streaming of media such as television channels over peer-to-peer networks.<br />
  23. 23. Peer-to-Peer Networking – Applications<br />Grid computing is a peer-to-peer application that is gaining massive popularity. <br />Grid computing applications share processing power over a networking to accomplish some type of goal.<br />The two most popular grid computing applications include BOINC and Folding@Home.<br />
  24. 24. Peer-to-Peer Networking – Applications<br />Voice over Internet Protocol, or VOIP, is another popular peer-to-peer applications. <br />The most popular voice application that uses peer-to-peer networking is Skype. <br />This application allows for the use of voice communications while using peer-to-peer technology.<br />