Advocacy Introduction

The major constraint in today's P2P networks is the lack of upstream bandwidth in the network connections of residential broadband Internet users. These users are connected using HFC and ADSL access technologies which are typically implemented with asymmetric capacities. This results in more downloading capacity then uploading capacity in P2P networks, causing a competition for scarce uploading resources. Perversely, allowing uploads of resources over such am assymetric connection can actually have a negative impact on downloading speeds for the user sharing the resource. This reduces the amount of people willing to share resources, further aggravating the unbalance in upstream and downstream capacity in the network.

Increasing the upstream capacity is no easy task for ISPs. The HFC and ADSL equipment they deploy is designed to support only these asymmetric capacities. A solution thus needs to make more efficient use of the available upstream capacity. The solution used in this project is the use of IP multicast for distributing information between servents, with an initial focus on sharing resources instead of control messages. The sharing of resources is currently implemented using IP unicast. This means that any communication over the network occurs between two parties: the sender and the receiver. Any upstream capacity of the sender is used only to deliver resources to one single receiver. With IP multicast, information transmitted by the sender can be received by a virtually unlimited amount of receivers. This is the great bandwidth equalizer of p2p networks! The lack of upstream capacity in comparison with download capacity is suddenly resolved because each Kbit/s of upstream capacity can be used to provide information to hundreds or thousands of users.

IP Multicast scalability
IP Multicast is not a new technology. It has been around ever since Steve Deering wrote the IETF RFC966 (later obsoleted by RFC1112) about "Host groups: A multicast extension to the Internet Protocol" in 1985. Widescale deployments have however been hampered by scalability concerns. No effective ways were found to reliably transmit information to a very large amount of recipients. That is, until recently. Two significant developments in IP Multicast now enable large scale IP multicast deployment:
  • Single Source Multicast (SSM): One of the properties of IP multicast, multiple senders to a multicast group, has been dropped in SSM. This makes deployment much easier because no static configuration and less protocols are required in the networks of the ISPs. It also solves a security issue because rogue senders can no longer interfere with an existing multicast session.
  • Forward Error Correction (FEC): IP multicast uses the Unreliable Datagram Protocol (UDP) to transmit information. Developers have been looking into making IP multicast applications reliable by creating feedback mechanisms from the receivers to the sender. This created a problem because a sender could get feedback from 100s or 1000s of senders. FEC resolves this problem by getting rid of the feedback mechanism. To transmit information reliably, a sender just sends additional information to allow for error correction by the receiver if any of the information is lost. Simply put, with a resource of 1000Kbytes then with FEC you can send 1100Kbytes, FEC adds the 100Kbytes of control data. As long as the receiver receives any 1000Kbytes, whether this is the original data or the control data it can re-calculate the original 1000Kbytes of the resource.

FEC in itself doesn't complete resolve the issue of reliable data transfer, especially with very large resources being transmitted over a network that is as unpredictable as the Internet. That's where one of the qualities of P2P networks comes in. Some receivers will receive some segments of the tranmission intact while other receivers will succesfully download other segments. They can then use traditional P2P functionality to exchange the different segments. The P2P functionality and IP multicast together form a perfect match to shares resources over the Internet in a massive scale.

Interworking IP Multicast <> P2P networks

P2P networks have only been around for a couple of years but have been very adept at incorporating state of the art technologies for finding and sharing resources. They are very good at:

  • Communicating information between P2P servents, even if these servents are not directly connected
  • Finding resources in the network and communicating where these resources can be retrieved
  • Downloading resources in different segments, validating these segments to belong to the same resource
The first two features are very useful with Single Source Multicast. One of the problems of SSM is that there is no way to find out about Multicast sessions. An out-of-band method such as a website must be used to learn about existing multicast sessions. The message passing functionality of P2P networks can also be used as the out-of-band method to distribute information about SSM sessions.

The third feature can alleviate the shortcomings of FEC. The P2P Multicast Library will split a resource up into many segments and distribute each segment separately with FEC. If a receiver misses one of the segments of the file because of large scale congestion in the network then it can retrieve that segment from another servent that did not face this congestion and received the segment correctly. The traditional unicast resource sharing of P2P networks can be used to retrieve the missing segment.

Why ISPs will support IP multicast

Until now, there has not been widescale deployment of IP multicast in the networks of ISPs. This is mainly caused by the fact that there was no extra revenue for the ISP to be made because there are no IP multicast applications. One of the reasons that there are no IP multicast applications is because there is no widescale support of IP multicast on the Internet. Because of that, content providers have not implemented services using IP multicast applications. This is just one big chicken-and-egg problem after another.

P2P Multicast will solve this problem because there is no requirement for Internet-scale IP multicast support! The senders and receivers of P2P IP Multicast are both the end-users of the ISP. As long as there is more then one receiver of an P2P IP Multicast session, the technology is already useful to the ISP and its customers using P2P applications.

When P2P applications start supporting IP multicast, ISPs will find themselves with a huge userbase that requires IP multicast. They will then have a business driver to support IP multicast because:

  • It will drive adoption rates of broadband Internet
  • It provides a competitive advantage over other ISPs
  • It reduces network transport costs (both transit and backbone) because data is transported more efficiently
Furthermore, ISPs can now implement IP multicast without having to fear a network meltdown because Single Source Multicast makes IP multicast scale. SSM also makes IP multicast easier to deplay because Rendez-Vous Points (RP) and the Multicast Source Discover Point (MSDP) no longer need to be configured on the network.

Copyright (C) 2003, 2004 Steven Hessing