Peer-to-peer networks do not resemble what a telco would define as a network. That is, telecom folks think of networks as physical and link-layer connectivity, such as a circuit-switched network transporting 64 Kbps voice calls; Ethernet providing local area connectivity; and Frame Relay/ATM networks providing long haul transport.
Instead, P2P networks are collections of end systems—computers, handsets or set-top boxes—that interconnect as “peers” to exchange application information. This typically includes files, but can also involve executable programs for distributed computing. Of course, P2P networks ride on top of IP communication protocols—TCP/IP—and the telco networks that carry the bits, such as DSL, FR, ATM and MPLS.
What makes peer networks unique is that they are not based on traditional client-server communication models, such as those used in email systems, the web, and file or print services. Instead, P2P networks are a fully distributed, IP-networked group of peers that operate independently in a self-organizing manner.
This concept is illustrated in Figures 1 and 2. Consider a user who wants a copy of the image file picture.jpg. In a typical scenario under the web’s traditional client-server model (Figure 1), the user—Client A—connects to a specified web server and requests the image. In turn, the web server sends it back. This is what we do hundreds of times each day, when we browse a web site and a picture shows up on our screen. It works great.
Figure 2—File exchange using peer protocols.
In a P2P network, in contrast, the user transparently asks a network of peers if they have the image file, or portions of it. If they do, they supply the entire file or whatever parts they have. If they don’t, they direct the user to a location that might.
In our example (Figure 2), the user—Peer A—asks Peer B for the file. In this case, B doesn’t have the file and inquires with Peer C. C doesn’t have the file either, but knows that Peer D does. Eventually A learns via B where the file is, issues the request to D and receives the file.
How Is P2P Better Than Traditional Client-Server Communication?
In many cases, P2P isn’t superior to the client-server model. The web works great today, assuming you know where to look for information—thanks to Google and Yahoo!. Certainly email, VPN and other IP technologies are doing their jobs.
When it comes to file sharing, though, P2P protocols are tough to beat. First, notice in the example shown in Figure 2, Peer A didn’t have to ask where to look for the file. Instead, the peer network just did its networking job, and found the file. That’s powerful.
Second, P2P networks are very robust. Consider again the client-server model shown in Figure 1. Here, client requests are directed to a particular server. So, as the number of requests increases from the one request above into thousands or millions, the ability for the server to handle those requests comes into question. Furthermore, the server also represents a single point of failure.
Scalability issues are being addressed by load-balancing across servers, deploying smart caching infrastructure, server redirection and more. Clearly these approaches work, and companies like Akamai go a long way to provide resilience and performance. As a distributed protocol, though, P2P networks scale beautifully without any hacks, and they offer the ultimate in fault tolerance because peers work together in a cooperative manner to get the job done.
Yet the most salient feature of P2P technology is efficiency. The trouble with client-server models is that the communications overhead is a function of the distance between the client and server. Of course, smart content delivery networks reduce this overhead by strategically replicating content on caching servers throughout the world. However, P2P protocols naturally localize content throughout the network and balance it based on demand. Therefore, content is replicated optimally based on by whom and how often it is used. This in turn dramatically reduces network overhead and communications delay. So, instead of your PC at home having to send a request for a file to who knows where in the world, that request might smartly be sent to your neighbors, and if they recently accessed the file, they’ll serve it up for you. This is the ultimate in “pass it on” replicated file distribution, and the ultimate in efficiency.