RFC 5632

Comcast's ISP Experiences in a Proactive Network Provider Participation for P2P (P4P) Technical Trial

๐Ÿ“… published September 2009, from ietf

Network Working Group Vibes: RFC 5632 ๐Ÿ’–

okay bestie, let's talk about RFC 5632 ๐ŸŽ€ It's dated September 2009, it's Informational (so it's sharing experiences, not setting a standard ๐Ÿ’…), and it was written by a squad: C. Griffiths, J. Livingood, L. Popkin, R. Woundy, and Y. Yang. Griffiths, Livingood, and Woundy are from Comcast, Popkin is from Pando, and Yang is from Yale. The header doesn't have an Obsoletes or Updates line, so it isn't replacing or changing any other RFC ๐Ÿฆ‹ Its title is "Comcast's ISP Experiences in a Proactive Network Provider Participation for P2P (P4P) Technical Trial." So basically, this is Comcast telling everyone how their P4P trial went โœจ

Abstract ๐ŸŒธ

so the abstract is giving "here's what this doc is about" ๐Ÿงš It describes Comcast, a big cable broadband ISP in the U.S., running a P4P technical trial in July 2008. The trial used P4P iTracker tech, which the IETF is looking at as part of the Application Layer Transport Optimization (ALTO) working group. Main character energy ๐Ÿ‘‘

Status of This Memo ๐Ÿ“

this one's the official "what kind of doc is this" part ๐Ÿ™ˆ It's for the Internet community to read, it does not specify any Internet standard of any kind, and distribution is unlimited. So share it with everyone you know ๐Ÿ’…

the copyright part is Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. It's under BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, as they were on the publication date. The original points you to http://trustee.ietf.org/license-info, and it says to read those docs carefully because they cover your rights and restrictions. Not the most fun part, but it's important ๐Ÿซถ

Table of Contents โœจ

here's the map of the whole doc ๐Ÿ—บ๏ธ (I'm keeping it exactly as written so the numbers line up with the text):

1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
2.  High-Level Details . . . . . . . . . . . . . . . . . . . . . .  3
3.  Differences between the P4P iTrackers Used . . . . . . . . . .  4
  3.1.  P4P Fine Grain . . . . . . . . . . . . . . . . . . . . . .  4
  3.2.  P4P Coarse Grain . . . . . . . . . . . . . . . . . . . . .  5
  3.3.  P4P Generic Weighted . . . . . . . . . . . . . . . . . . .  5
4.  High-Level Trial Results . . . . . . . . . . . . . . . . . . .  5
  4.1.  Swarm Size . . . . . . . . . . . . . . . . . . . . . . . .  6
  4.2.  Impact on Download Speed . . . . . . . . . . . . . . . . .  7
  4.3.  General Impacts on Upstream and Downstream Traffic and
        Other Interesting Data . . . . . . . . . . . . . . . . . .  7
5.  Important Notes on Data Collected  . . . . . . . . . . . . . .  8
6.  Next Steps . . . . . . . . . . . . . . . . . . . . . . . . . .  9
7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
9.  Informative References . . . . . . . . . . . . . . . . . . . . 10

1. Introduction ๐Ÿฆ‹

okay so Comcast is a big broadband ISP in the U.S. that mostly serves customers over cable modem tech ๐Ÿ“ก In July 2008 they ran a trial with Pando Networks, Yale, and several other ISP members of the P4P working group. That group is part of the Distributed Computing Industry Association (DCIA), and Comcast is a member of it ๐ŸŽ€ The group's mission is to work with ISPs, peer-to-peer (P2P) companies, and researchers to build "P4P" mechanisms, like so-called "iTrackers" (called P4P iTrackers from here on). These are meant to speed up content distribution and make better use of ISP network resources ๐Ÿš€

the vibe is that P4P iTrackers theoretically let P2P networks optimize traffic within each ISP. That means less data crossing the ISP's infrastructure and a more manageable flow of data overall. P4P iTrackers can also speed up P2P downloads for end users, which is the part everyone's excited about ๐ŸŒˆ

the P4P iTracker tech [SIGCOMM] was first talked about with the IETF at the Peer-to-Peer Infrastructure (P2Pi) Workshop on May 28, 2008, at the Massachusetts Institute of Technology (MIT), as documented in [RFC5594] ๐Ÿงš It got a deeper look at the 72nd IETF meeting in Dublin, Ireland, in the ALTO BoF (Birds of a Feather meeting) on July 29, 2008. Because the community was interested, Comcast shared P4P iTracker trial data at the 73rd IETF meeting in Minneapolis, Minnesota, in the ALTO BoF on November 18, 2008 ๐Ÿ”ฅ Since then, P4P iTrackers and alternative technologies have kept being discussed by people in the ALTO working group. so it's still going strong ๐Ÿ’…

the P4P iTracker trial ran from July 2 to July 17, 2008, with Pando, Yale, and three other P4P member ISPs ๐ŸŽ€ It was the first P4P iTracker trial over a cable broadband network, which is a huge deal, not gonna lie ๐Ÿ˜ญ The trial used a Pando P2P client, and Pando distributed a special 21-MB licensed video file to measure how well P4P iTrackers worked. The main goal was to measure how increasing the localization of P2P swarms would affect P2P uploads, P2P downloads, and ISP networks, compared to normal P2P activity ๐Ÿซถ

2. High-Level Details ๐ŸŒธ

so Section 1 of [DynamicSwarmMgmt] defines a swarm like this, and it's the vibe we're all working with:

The content and the set of peers distributing it [a file] is usually called a torrent. A peer that only uploads content is called a seed, while a peer that uploads and downloads at the same time is called a leecher. The connected set of peers participating in the piece exchanges of a torrent is referred to as a swarm.

there were five different swarms for the trial content ๐Ÿงš The second, third, and fourth ones used different P4P iTrackers: Generic, Coarse Grained, and Fine Grained, which are all covered in Section 3. The fifth one was a proprietary Pando mechanism. (The results of the fifth swarm, while satisfactory, are not included here since our focus is on open standards and a mechanism that may be leveraged for the benefit of the entire community of P2P clients. ๐Ÿ“) Comcast deployed a P4P iTracker server in its production network for this trial, and set up multiple iTracker files to give clients different levels of localization ๐Ÿ’œ

in the trial itself, a P2P client starts a session by querying a pTracker, which runs and manages the P2P network ๐Ÿฆ‹ The pTracker now and then queries the P4P iTracker, which in this case was run by Comcast, the ISP. Other ISPs either ran their own P4P iTracker or used Pando or Yale to host their P4P iTracker files โœจ The P4P iTracker sends network topology info back to the pTracker, which then talks to P2P clients so they can make network-aware decisions about peers. so the whole chain works together ๐Ÿ”ฅ

the Pando client could turn on extended logging, but only if that version of the client supported it ๐Ÿ“Š Extended logging included the source and destination IP address of all P2P transfers, the number of bytes transferred, and the start and end timestamps. This gave a precise measurement of the data flow in the network, which lets you work out data transfer volumes and data flow rates at each point in time ๐Ÿค“ With standard logging, Pando still captured the start and completion times of every download, plus the average transfer rate the client saw for the download ๐ŸŽ€

Pando served the data from an origin server outside Comcast's network ๐ŸŒˆ That server served about 10 copies of the file, and after that, all transfers (about 1 million downloads across all ISPs) were done purely via P2P. literally a P2P glow-up ๐Ÿ’–

the P2P clients in the trial started with peers given by the tracker, then used peer exchange to find more peers ๐Ÿงš So the initial peers came from P4P iTracker guidance (90% guidance based on the P4P iTracker topology and 10% random guidance). Later peers found the whole swarm through more announces or peer exchange ๐Ÿซถ

3. Differences between the P4P iTrackers Used ๐Ÿ’…

so Comcast's network is huge, so they figured they needed to test a bunch of different network topologies to really evaluate the P4P iTracker app ๐Ÿ“ Those tests would show how much effort and what design requirements it takes to get correct statistical data out of a trial like this ๐Ÿ“Š In every case, the P4P iTrackers were set up with automation in mind, so any working configuration would update itself automatically instead of being manually configured over and over ๐Ÿค– All the P4P iTrackers ran on the same small server, and it seemed pretty easy and cheap to scale up a P4P iTracker setup if P4P iTracker-like mechanisms ever got standardized and widely adopted โœจ

3.1. P4P Fine Grain ๐Ÿ”ฅ

the Fine Grain topology was the first and most complex P4P iTracker they built for this trial ๐Ÿ˜ญ It was a detailed mapping of Comcast backbone-connected network Autonomous System Numbers (ASNs) to IP Aggregates, which were weighted by priority and by distance from each other ๐Ÿ—บ๏ธ This design also prioritized all Peer and Internet transit connected ASNs to the Comcast backbone, so P4P traffic would prefer settlement-free and lower-cost networks first, and only then the more expensive transit links ๐Ÿ’ธ The goal was to optimize and lower the transit costs tied to this traffic ๐Ÿ’œ They also took it a step further by breaking each ASN and IP Aggregate down into IP subnets all the way down to Optical Transport Nodes (OTNs), where all Cable Modem Termination Systems (CMTS, as briefly defined in Section 2.6 of [RFC3083]) reside ๐Ÿฆ‹ This design gave a super localized and detailed description of the Comcast network for the iTracker to share. It defined 1,182 P4P iTracker node identifiers and ended up as a 107,357-line configuration file ๐Ÿคฏ

this P4P iTracker was obviously the most time-consuming to create and the most complex to maintain ๐Ÿ™ˆ Trial results showed that this level of localization was too high, and it was less effective than lower levels of localization. not the move ๐Ÿ’€

3.2. P4P Coarse Grain ๐ŸŽ€

given how detailed Fine Grain was, it was important to also build a high-level design that still used priority and weighting mechanisms for the Comcast backbone and transit links ๐ŸŒธ The Coarse Grain design was a limited or summarized version of Fine Grain. It used the ASN to IP Aggregate mapping and weighted data for transit links, but it removed all the extra localization data ๐Ÿงš That way they'd still get similar data sets to Fine Grain, just without the detailed localization of each network attached to the Comcast backbone โœจ This design defined 22 P4P iTracker node identifiers and resulted in a 998-line configuration file ๐Ÿ“

from an overall cost, complexity, risk, and effectiveness standpoint, Coarse Grain was judged to be the optimal P4P iTracker for Comcast ๐Ÿ‘‘ Importantly, it didn't require revealing the complex internal network topology that Fine Grain did ๐Ÿ™ˆ Updates to this iTracker were also way simpler to automate, which helps keep it accurate over time and keeps admin overhead pretty low ๐Ÿซถ However, the differences, costs, and benefits of Coarse Grain and Generic Weighted (see below) likely merit further study ๐Ÿ”ฎ

3.3. P4P Generic Weighted

okay so the Generic Weighted design was basically a copy of the Coarse Grained one ๐Ÿ’… but instead of the ISP picking its own priority and weights, every weight got set to pre-determined parameters that the Yale team had designed โœจ everything else was copied over from Coarse Grain. and honestly? getting the info needed to support the Generic Weighted iTracker was roughly the same amount of effort as Coarse Grain ๐Ÿซถ

4. High-Level Trial Results ๐ŸŽ€

bestie, the trial data was collected by Pando Networks and Yale University ๐Ÿฆ‹ the raw trial results were shared with Comcast and all the other ISPs in the trial ๐Ÿ’– Pando and Yale analyzed the raw results and delivered an analysis of the P4P iTracker trial ๐Ÿ”ฅ Comcast also analyzed the trial results using the raw data ๐Ÿ‘‘ and the raw trial results for Comcast were shared with Net Forecast, Inc., who did an independent analysis of the trial for Comcast ๐Ÿ’œ

4.1. Swarm Size

so during the trial, downloads peaked at 24,728 per day, per swarm, which is nearly 124,000 per day for all five swarms ๐Ÿ˜ญ the swarm size peaked at 11,703 peers per swarm, or nearly 57,000 peers for all five swarms ๐ŸŒธ we saw a comparable number of downloads in each of the five swarms โœจ

for each swarm, Table 1 below gives the number of downloads per swarm from Comcast that finished downloading, and the number of downloads from Comcast that canceled before finishing ๐Ÿ“

              Characteristics of P4P iTracker Swarms:

+-----------+-----------+---------------+------------+--------------+
|   Swarm   | Completed | Cancellations |    Total   | Cancellation |
|           | Downloads |               |  Attempts  |     Rate     |
+-----------+-----------+---------------+------------+--------------+
|   Random  |   2,719   |       89      |    2,808   |     3.17%    |
| (Control) |           |               |            |              |
| --------- | --------- |  -----------  | ---------- |  ----------- |
|  P4P Fine |   2,846   |       64      |    2,910   |     2.20%    |
|  Grained  |           |               |            |              |
| --------- | --------- |  -----------  | ---------- |  ----------- |
|    P4P    |   2,775   |       63      |    2,838   |     2.22%    |
|  Generic  |           |               |            |              |
|   Weight  |           |               |            |              |
| --------- | --------- |  -----------  | ---------- |  ----------- |
|    P4P    |   2,886   |       52      |    2,938   |     1.77%    |
|   Coarse  |           |               |            |              |
|  Grained  |           |               |            |              |
+-----------+-----------+---------------+------------+--------------+

              Table 1: Per-Swarm Size and Cancellation Rates

4.2. Impact on Download Speed

the results showed that P4P iTrackers can improve the speed of downloads to P2P clients ๐Ÿš€ and P4P iTrackers were also effective at localizing P2P traffic within the Comcast network ๐Ÿงš

               Impact of P4P iTrackers on Downloads:

+--------------+------------+------------+-------------+------------+
|     Swarm    | Global Avg |   Change   | Comcast Avg |   Change   |
|              |     bps    |            |     bps     |            |
+--------------+------------+------------+-------------+------------+
|    Random    |   144,045  |     n/a    | 254,671 bps |     n/a    |
|   (Control)  |     bps    |            |             |            |
|  ----------  | ---------- | ---------- |  ---------- | ---------- |
|   P4P Fine   |   162,344  |    +13%    | 402,043 bps |    +57%    |
|    Grained   |     bps    |            |             |            |
|  ----------  | ---------- | ---------- |  ---------- | ---------- |
|  P4P Generic |   163,205  |    +13%    | 463,782 bps |    +82%    |
|    Weight    |     bps    |            |             |            |
|  ----------  | ---------- | ---------- |  ---------- | ---------- |
|  P4P Coarse  |   166,273  |    +15%    | 471,218 bps |    +85%    |
|    Grained   |     bps    |            |             |            |
+--------------+------------+------------+-------------+------------+

           Table 2: Per-Swarm Global and Comcast Download Speeds

4.3. General Impacts on Upstream and Downstream Traffic and Other Interesting Data

the upstream stuff was interesting too ๐Ÿ‘€ it did not look like P4P iTrackers significantly increased upstream utilization in the Comcast access network ๐Ÿ’… uploading was already happening no matter what, and a P4P iTracker by itself didn't seem to materially increase uploading for this specific, licensed content โœจ (a P4P iTracker is not meant as a fix for network congestion, just so we're clear ๐Ÿ™ˆ) Random was 143,236 MB, P4P Generic Weight was 143,143 MB, and P4P Coarse Grained was 139,669 MB ๐ŸŒˆ

we also saw that using a P4P iTracker reduced outgoing Internet traffic by an average of 34% at peering points ๐Ÿซถ Random was 134,219 MB, P4P Generic Weight was 91,979 MB, and P4P Coarse Grained was 86,652 MB ๐Ÿ”ฅ

on the downstream side, using a P4P iTracker reduced incoming Internet traffic by an average of 80% at peering points ๐Ÿ˜ญ Random was 47,013 MB, P4P Generic Weight was 8,610 MB, and P4P Coarse Grained was 7,764 MB ๐Ÿ’– however, download activity in the Comcast access network went up somewhat, from 56,030 MB for Random to 59,765 MB for P4P Generic Weight, and 60,781 MB for P4P Coarse Grained ๐Ÿ‘‘ note that for each swarm, the number of downloaded bytes according to logging reports is very close to the number of downloads multiplied by file size, but they don't exactly match due to log report errors and duplicated chunks ๐Ÿงš one factor contributing to the differences in access network download activity is that different swarms have different numbers of downloaders, due to random variations during uniform random assignment of downloaders to swarms (see Table 1) ๐Ÿฆ‹ one interesting observation is that Random has a higher cancellation rate (3.17%) than the guided swarms (1.77%-2.22%) ๐Ÿ“ whether guided swarms achieve a lower cancellation rate is an interesting issue for future research ๐Ÿ”ฎ

5. Important Notes on Data Collected ๐Ÿ“

raw data is presented in this document ๐ŸŽ€ we did not normalize traffic volume data (e.g., upload and download) by the number of downloads, in order to preserve this underlying raw data ๐Ÿ’œ

we also recommend that readers not focus too much on the absolute numbers, such as bytes downloaded from internal sources and bytes downloaded from external sources ๐Ÿ™ˆ instead, we recommend readers focus on ratios, such as the percentage of bytes downloaded that came from internal sources in each swarm ๐ŸŒธ as a result, the small random variation between the number of downloads in each swarm doesn't distract readers from important metrics like shifting traffic from external to internal sources, among other things โœจ

we also want to note that the data was collected from a sample of the total swarm ๐Ÿ‘€ specifically, some peers were running older versions of the Pando client that did not implement the extended transfer logging ๐Ÿ˜ญ for those nodes, which participated in the swarms but did not report their data transfers, we have download counts ๐Ÿ’… the result is that, for example, the download counts from the standard logging are a bit higher than the download counts from the extended logging ๐Ÿซถ that being said, over 90% of downloads were by peers running the newer software, which we believe shows the transfer records are highly representative of the total data flow ๐Ÿ”ฅ

in terms of which analysis was done from standard logging versus extended logging, all of the data flow analysis was done using extended logging ๐Ÿ‘‘ Pando's download counts and performance numbers came from standard logging (i.e., all peers report download complete/cancel, data volumes, and measured download speed on the client) ๐Ÿฆ‹ Yale's download counts and performance numbers were derived via extended logging (e.g., by summing the transfer records, counting IP addresses reported, etc.) ๐Ÿงš

one benefit of having two data sources is that we can compare the two ๐Ÿ’– in this case, the two approaches both reported comparable impacts ๐ŸŒˆ

6. Next Steps ๐ŸŒธ

one objective of this document is to share the results of one P4P iTracker trial in a large broadband network with the IETF community ๐ŸŽ€ given skepticism about the benefits to P2P users as well as to ISPs ๐Ÿ™ˆ from the P2P user's perspective, P4P iTrackers potentially deliver faster P2P downloads โญ at the same time, ISPs can increase the localization of swarms, which lets them reduce bytes flowing over transit points while also delivering an optimized P2P experience to customers ๐Ÿ’œ however, an internal analysis of varying levels of P4P iTracker adoption by ISPs leads us to believe that, while P4P iTracker-type mechanisms are valuable on a single ISP basis, the value of P4P iTrackers increases dramatically as many ISPs choose to deploy them ๐Ÿ”ฅ

we believe these results can inform the technical discussion in the IETF about how to use P4P iTracker mechanisms ๐Ÿซถ should such a mechanism be standardized, the use of ISP-provided P4P iTrackers should probably be an opt-in feature for P2P users ๐Ÿ’… or at least a feature they are explicitly aware of, and which has been enabled by default in a particular P2P client โœจ this way, P2P users could choose to opt in either explicitly or through their choice of P2P client, in order to use the P4P iTracker to improve performance, which benefits both the user and the ISP at the same time ๐Ÿ‘‘ importantly for privacy, the P4P iTracker makes available only network topology information, and in its current form would not let an ISP, via the P4P iTracker, determine which P2P clients were downloading any specific content, whether that's a song, a movie, or even the title ๐Ÿ˜ญ๐Ÿ”’

it's also possible that a P4P iTracker type of mechanism, combined with a P2P cache, could further improve P2P download performance, which merits further study ๐Ÿงš in addition, this was a limited trial that, while very promising, shows a need for more technical investigation and trial work ๐Ÿฆ‹ such a follow-up study should explore the effects of P4P iTrackers when more P2P client software variants are involved, with larger swarms, and with additional and more technically diverse content (file size, file type, duration of content, etc.) ๐Ÿ’–

7. Security Considerations ๐Ÿ”

okay bestie, this part is serious ๐Ÿ’€ this document does not propose any kind of protocol, practice or standard ๐Ÿซถ

the experiment did show that an ISP can improve performance without exposing fine-grained details about network structure ๐Ÿ‘‘ which might otherwise be a security concern (see Section 3.1 (P4P Fine Grain) and Section 3.2 (P4P Coarse Grain) ๐Ÿฆ‹ Section 6 (Next Steps) mentions that the opt-in architecture lets P2P users maintain privacy ๐Ÿ”’โœจ

other security aspects were not considered in the experiment, which focused on performance measurements ๐ŸŒธ

8. Acknowledgements ๐Ÿ™

okay so the authors wanted to give a big shoutout to the whole P4P working group ๐Ÿซถ like, everyone who showed up and helped out. they also specifically called out the teams at Pando and Yale for actually running the trial, which is literally the hard part ๐Ÿ’ช and finally they thanked Peter Sevcik and John Bartlett of NetForecast, Inc. for their independent analysis of the trial results ๐Ÿง  bestie, that kind of independent check is so important, it's giving credibility โœจ

9. Informative References ๐Ÿ“š

okay here's the reading list ๐Ÿค“ these are the informative references, the stuff you can look at for extra context but that the document doesn't strictly depend on ๐Ÿฆ‹

9.1. [DynamicSwarmMgmt] ๐Ÿ

Carlsson, N. and G. Dan, "Dynamic Swarm Management for Improved BitTorrent Performance", USENIX 8th International Workshop on Peer-to-Peer Systems, March 2009, <http://www.usenix.org/events/iptps09/tech/full_papers/dan/dan_html/>.

9.2. [RFC3083] ๐ŸŒธ

Woundy, R., "Baseline Privacy Interface Management Information Base for DOCSIS Compliant Cable Modems and Cable Modem Termination Systems", RFC 3083, March 2001.

9.3. [RFC5594] ๐Ÿ’œ

Peterson, J. and A. Cooper, "Report from the IETF Workshop on Peer-to-Peer (P2P) Infrastructure, May 28, 2008", RFC 5594, July 2009.

9.4. [SIGCOMM] ๐ŸŽ€

Xie, H., Yang, Y., Krishnamurthy, A., Liu, Y., and A. Silberschatz, "ACM SIGCOMM 2008 - P4P: Provider Portal for Applications", Association for Computing Machinery SIGCOMM 2008 Proceedings, August 2008, <http://ccr.sigcomm.org/online/files/p351-xieA.pdf>.


Authors' Addresses ๐Ÿ’Œ

bestie, here's where to find the people behind the RFC ๐Ÿงš they're all listed below with their contact details, so you can slide into their inbox if you ever need to ๐Ÿ’…

Chris Griffiths
Comcast Cable Communications
One Comcast Center
1701 John F. Kennedy Boulevard
Philadelphia, PA  19103
US

EMail: chris_griffiths@cable.comcast.com
URI:   http://www.comcast.com
Jason Livingood
Comcast Cable Communications
One Comcast Center
1701 John F. Kennedy Boulevard
Philadelphia, PA  19103
US

EMail: jason_livingood@cable.comcast.com
URI:   http://www.comcast.com
Laird Popkin
Pando Networks
520 Broadway Street
10th Floor
New York, NY  10012
US

EMail: laird@pando.com
URI:   http://www.pando.com
Richard Woundy
Comcast Cable Communications
27 Industrial Avenue
Chelmsford, MA  01824
US

EMail: richard_woundy@cable.comcast.com
URI:   http://www.comcast.com
Richard Yang
Yale University
51 Prospect Street
New Haven, CT  06520
US

EMail: yry@cs.yale.edu
URI:   http://www.cs.yale.edu
๐Ÿ“ฆ where this page comes from