The Peer-to-Peer Invasion

By: David Bryan, Enrico Marocco

Date: June 1, 2010

line break image

It was soon dubbed “the basement meeting.” In March 2005, during IETF 62 in Minneapolis, a group of some of the most active participants in what is now the RAI (Real-time Applications and Infrastructure) area got together for an informal Bar BoF (birds-of-a-feather) meeting. The goal was to share thoughts and ideas about making SIP (session initiation protocol) user agents work without centralized elements-such as SIP proxies and SIP registrars-and be capable of reproducing their functionality with distributed algorithms run by the endpoints themselves. The benefit would be a significant reduction in capital and operational costs, allowing virtually everyone to set up and run their own SIP service. The topic had been discussed informally for quite some time, and the recent launch of Skype with similar technology had proved it was possible.

The basement meeting was not the first time that a group of IETF participants gathered together to discuss standardizing peer-to-peer (P2P) protocols in the IETF. It was, however, the beginning of a trend leading to the creation of several IETF working groups (WGs) dealing with P2P technologies.

P2PSIP: The IETF Takes Up P2P

Both the Internet industry and the academic world have shown interest in the topic, but drawing the line between research and engineering issues and narrowing the scope of the WG required a great deal of energy and much discussion. It took almost two years for the proponents of the new work to agree on a charter and get a group approved. Finally, in 2007, between IETF 67 and IETF 68, the P2PSIP WG was created, chartered to specify a protocol for building a distributed overlay to provide SIP registration and routing functionality. Four years and 10 meetings later, the base protocol specification, the RELOAD distributed hash table, is ready for WG Last Call and the first P2P protocol Standard Tracks RFC is about to see the light of day.

The P2P Infrastructure Workshop: LEDBAT and ALTO Are Born

The following year, other P2P-related topics made it to the IETF. In the P2P Infrastructure (P2PI) workshop organized by the RAI area directors, Internet service providers, vendors, and applications developers gathered together at Massachusetts Institute of Technology in Boston to discuss the issues created for Internet infrastructures by P2P traffic. Two areas of improvement were identified.

The first observation participants made at the P2PI meeting was that traffic generated by file-sharing applications interferes with delay-sensitive traffic, degrading the user experience of other applications on the same network. To address that problem, the LEDBAT WG was chartered to work on an experimental congestion control algorithm that yields to TCP. The new algorithm would be intended for use in bulk-transfer applications, including P2P file-sharing applications. Today, significant progress has been made in specifying the LEDBAT algorithm, backed by an implementation integrated in the most popular BitTorrent client and by significant simulation work carried out in universities and research labs.

The second point of concern noted was that P2P applications establish overlays on top of the Internet infrastructure with little or no knowledge of the underlying network topology. That lack of information leads peers to make suboptimal choices. For example, it is common for a peer who needs to obtain information from another peer to choose randomly, possibly picking one located on the other side of the planet. Such random selection may ignore many peers who are topologically closer and that therefore likely would provide better performance. Like LEDBAT, the ALTO working group was created following the P2PI workshop, chartered to produce a protocol enabling network operators, Internet service providers, and others with network topology information to share it with P2P applications, thereby enabling those applications to improve the peer selection process. Sharing the information is expected to benefit both end users and network operators, resulting in better application performance and more-rational use of network resources.

Recent Developments: PPSP and DECADE

More recently, the Peer-to-Peer Streaming Protocol (PPSP) WG was formed, driven by the success of applications like PPLive and Spotify, which use P2P methods to distribute real-time content. The primary goal of the group-officially approved in Anaheim, California, during IETF 77-is to specify protocols that enable peers to synchronize and exchange media chunks of live or time-shifted content. Drawing on the widely deployed P2P applications in the wild, the PPSP architecture envisions two different kinds of nodes: peers and trackers. Trackers act as facilitators, maintaining and distributing information about the shared content and about which peers store which portions. Peers are the nodes that, with the support of trackers, find the location of the content they want, establish connections among themselves, and actually store, send, and receive the content. The design of a new transfer protocol between the peers has been ruled out of scope-meaning, the group will likely reuse a protocol such as RTP (Real-time Transport Protocol) or HTTP.

Finally, the DECADE WG, approved right after IETF 77, is the latest WG chartered to work on P2P issues. The upstream network links of home users are often relatively small; and bandwidth-greedy applications such as file sharing and real-time streaming can quickly saturate the link when uploading content. To address that problem, DECADE’s advocates propose a mechanism whereby users can store content they are sharing in the network-ahead of the last-mile bottleneck. The DECADE group seeks to specify a protocol for fine-grained control of such network storage. The protocol is intended to be integrated in P2P applications, thereby enabling them to store, retrieve, and manage data remotely as well as to define policies for sharing such data with other peers and to control the utilization of resources like bandwidth and number of connections.

P2PRG: IRTF Efforts on P2P

While many aspects of P2P technology are mature enough for standardization efforts in the IETF, there are still many areas of active research in P2P. The Peer-to-Peer Research Group (P2PRG) seeks to provide a direct channel for sharing the latest research advances in the area with the IETF engineering community. While this group had been dormant for some time-taking three years off following IETF 65-the P2PRG had a well-attended session during IETF 74. Since then, the group has become very active. The members meet regularly, and they recently published an informational RFC addressing security in P2P systems for real-time communications. Topics recently discussed include research issues related to P2P traffic optimization, real-time content distribution, and P2P group management.

P2P and the IETF

While recent studies show a slight reduction in the fraction of network traffic attributable to P2P, these applications have become extremely popular, and they are being used for a variety of purposes. The maturity of the applications is demonstrated by the fact that in some cases-for example, the BitTorrent protocol-several independent interoperable implementations coexist in the wild. This is generally a clear sign that the technology is mature and ready for standardization. Many other applications are widely deployed among significant user communities, but those users are forced to choose between multiple, noninteroperable applications, which limit opportunity to share information and which often result in duplicated development and distribution of content. As shown by the active P2P participation at IETF, many of these communities have a strong desire for interoperable standards for these applications and a willingness to contribute ideas and work to achieve that goal.

P2P is an increasingly important network technology that is rapidly becoming pervasive. Not every application would benefit from a P2P approach; however for those that would, the IETF is uniquely positioned to specify P2P protocols that harmonize with the rest of the Internet protocols. Armed already with the insight, the experience, and a vast reservoir of collective wisdom on how the Internet works, the IETF community is best able to evaluate the complex protocol design choices that P2P protocols present. There is a vibrant and growing community within the IETF that is actively seeking to apply P2P to real-world engineering problems on the Internet.

This article was posted on 26 June 2010 .