RFC 6821
Improving Peer Selection in Peer-to-peer Applications: Myths vs. Reality
RFC 6821 ๐: Improving Peer Selection in Peer-to-Peer Applications: Myths vs. Reality
okay bestie, this one is an Informational RFC from the Internet Research Task Force (IRTF) ๐ . It came out in December 2012 and its ISSN is 2070-1721. E. Marocco and A. Fusco wrote it at Telecom Italia, and I. Rimac and V. Gurbani wrote it at Bell Labs, Alcatel-Lucent ๐ง. The title block doesn't list anything it obsoletes or updates โจ.
Abstract ๐ธ
okay so peer-to-peer (P2P) traffic optimization techniques that try to improve locality in peer selection have the research community obsessed ๐ญ. Some of the talk around them has turned into controversial myths. Some of those myths are rooted in reality, and some are totally unfounded ๐. This document looks at the most prominent myths people attribute to P2P optimization and points to the most relevant studies that touch on the facts behind each one. The authors use those studies to either confirm or refute each myth ๐ฅ.
This document is a product of the IRTF P2PRG (Peer-to-Peer Research Group) ๐ฆ.
Status of This Memo ๐ซถ
this document is not an Internet Standards Track specification. It's published for informational purposes ๐.
It's a product of the Internet Research Task Force (IRTF), which publishes the results of Internet-related research and development. Those results might not be suitable for deployment โ ๏ธ. This RFC represents the consensus of the Peer-to-peer Research Group Research Group of the IRTF. Documents the IRSG approves for publication are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741 ๐.
For the current status, any errata, and how to give feedback on this document, check http://www.rfc-editor.org/info/rfc6821 โจ.
Copyright Notice ๐
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved ๐.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they're in effect on the date of publication. Please read these carefully, because they spell out your rights and restrictions for this document ๐.
Table of Contents ๐
1. Introduction ....................................................4
2. Definitions .....................................................5
3. Myths, Facts, and Discussion ....................................6
3.1. Reduced Cross-Domain Traffic ...............................6
3.1.1. Facts ...............................................6
3.1.2. Discussion ..........................................7
3.1.3. Conclusions .........................................7
3.2. Increased Application Performance ..........................7
3.2.1. Facts ...............................................7
3.2.2. Discussion ..........................................8
3.2.3. Conclusions .........................................9
3.3. Increased Uplink Bandwidth Usage ...........................9
3.3.1. Facts ...............................................9
3.3.2. Discussion ..........................................9
3.3.3. Conclusions .........................................9
3.4. Impacts on Peering Agreements ..............................9
3.4.1. Facts ..............................................10
3.4.2. Discussion .........................................10
3.4.3. Conclusions ........................................11
3.5. Impacts on Transit ........................................11
3.5.1. Facts ..............................................11
3.5.2. Discussion .........................................11
3.5.3. Conclusions ........................................11
3.6. Swarm Weakening ...........................................12
3.6.1. Facts ..............................................12
3.6.2. Discussion .........................................12
3.6.3. Conclusions ........................................12
3.7. Improved P2P Caching ......................................12
3.7.1. Facts ..............................................12
3.7.2. Discussion .........................................13
3.7.3. Conclusions ........................................13
4. Security Considerations ........................................13
5. Acknowledgments ................................................13
6. Informative References .........................................13
Appendix A. Myths/References/Facts Matrix .........................15
1. Introduction โจ
okay so P2P apps like file-sharing, streaming, and real-time communications swap huge amounts of data over connections the peers set up among themselves ๐ก. They're responsible for a big chunk of Internet traffic ๐. Apps usually have no clue about the underlying network topology, so the traffic they make often causes congestion on inter-domain links. It also really pushes up the transit costs that network operators and Internet Service Providers (ISPs) pay ๐ธ.
One way to cut down on congestion and transit costs from P2P apps is to improve the peer selection process by adding proximity information ๐ง . That lets peers figure out which of all the instances of a resource they're searching for is topologically closest ๐ฏ. Several solutions along these lines have been proposed lately [Choffnes] [Aggarwal] [Xie], and some are now being considered for standardization in the IETF [ALTO] ๐ฅ. This document supports the protocol work going on in the IETF ALTO working group. It does not specify a protocol of any kind, and it is not a product of the IETF ๐.
Simulations and field trials have been done a lot, but it's hard to predict how proposed solutions would perform in real-world systems made of millions of peers ๐คฏ. That's why the possible effects and side effects of P2P traffic localization techniques have been up for frequent debate. This document describes some of the most interesting effects, points to relevant studies that addressed them, and tries to work out whether and to what extent they're likely to happen ๐ .
Each possible effect, or myth, is examined in three phases ๐ฆ:
- Facts: a list of relevant data, usually collected from simulations or field trials ๐.
- Discussion: the reasons supporting and opposing the myth, based on the facts listed before ๐ฃ๏ธ.
- Conclusions: the authors' attempt to express a reasonable measure of how plausible the myth is ๐.
Note: Even though a myth is an unfounded or false notion, we still chose to provocatively assign a confirmation likelihood to each myth in Section 3 ๐ . It's a whimsical but, we believe, effective attempt inspired by the TV show "Mythbusters," where each myth was "busted," deemed "plausible," or "confirmed" by the end of the show ๐บ.
This document represents the consensus of the P2PRG ๐ซถ. The first version appeared in February 2009, and there was a sizeable discussion on its contents afterwards ๐ฌ. It got better from comments by experts in peer-to-peer networks and by casual but informed users of these networks ๐. The IRTF community helped improve the number of facts and the quality of the discussion, and it made the conclusions more trustworthy ๐.
This document basically reflects the view of the participating P2PRG IRTF community between 2009 and the latter part of 2010. So it's a snapshot, frozen in time ๐ง. Some aspects are backed up with references to pertinent literature. Other aspects reflect the state of the RG's discussions when it was written, and they may need more investigation beyond this document's publication date ๐.
2. Definitions ๐
Terminology defined in [RFC5693] is reused here. Other definitions should be consistent with the terminology in that document ๐งฉ.
- Seeder: a peer that has a complete copy of the content it's sharing and still offers it for upload ๐ฑ. "Seeder" comes from BitTorrent terminology. This document uses it for upload-only peers that also show up in other kinds of P2P applications ๐.
- Leecher: a peer that hasn't finished downloading a specific content yet, but usually has already started offering for upload the part it has ๐ฅ. "Leecher" also comes from BitTorrent terminology. This document uses it for peers that are both uploading and downloading, and that show up in other kinds of P2P applications ๐.
- Swarm: the group of peers uploading and/or downloading pieces of the same content ๐. "Swarm" is commonly used in BitTorrent to mean all seeders and leechers exchanging chunks of a particular file. Here it's used more generally (for example, in P2P streaming apps) to mean all peers receiving and/or transmitting the same media stream ๐ฌ.
- Tit-for-Tat: a content exchange strategy where the amount of data a leecher sends to another leecher is roughly equal to the amount it receives from that leecher ๐ค. P2P apps, most notably BitTorrent, use this approach to maximize the resources shared by users ๐.
- Surplus Mode: the status of a swarm where upload capacity exceeds download demand ๐. A swarm in surplus mode is often called "well seeded" ๐ธ.
- Transit: the service through which a network can exchange IP packets with all other networks it isn't directly connected to ๐. Transit is always regulated by a contract, under which the customer (a network operator or an ISP) pays the transit provider per amount of data exchanged ๐ธ.
- Peering: the direct interconnection between two separate networks, used to exchange traffic without needing a transit provider ๐ค. Peering is usually regulated by agreements that take into account the amount of traffic each party generates in each direction โ๏ธ.
3. Myths, Facts, and Discussion ๐ฎ
3.1. Reduced Cross-Domain Traffic ๐
okay the reduction in cross-domain traffic (and therefore in the transit costs that come with it) is one of the positive effects P2P traffic localization techniques are expected to have ๐ฅฐ. It's also the main reason ISPs are so interested in them ๐. Simulations and field tests have shown a reduction anywhere from 20% to 80% ๐โจ.
3.1.1. Facts ๐
- okay so bestie, the simulations and early field trials of the P4P solution [Xie] show about a 70% reduction of cross-domain traffic on average ๐โจ
- Comcast's P4P trial [RFC5632] gave us a 34% reduction of the outgoing P2P traffic and an 80% reduction of the incoming ๐ญ๐ฅ
- Simulations of the "oracle-based" approach [Aggarwal], from researchers at Technischen Universitat Berlin (TU Berlin), went from 10% local exchanges in the unbiased case to 60%-80% in the localized case ๐ง๐
- Real BitTorrent clients running on real distributions of peers per Autonomous System (AS), tested by researchers at INRIA [LeBlond], showed that ASes with 100 peers or more can save 99.5% of cross-domain traffic with high values of locality ๐คฏ And on a global scale, i.e., 214,443 torrents, 6,1113,224 unique peers, and 9,605 ASes, high locality saves 40% of global inter-AS traffic (that's 4.56 Petabytes (PB) on 11.6 PB) ๐ So locality would be seriously beneficial at the scale of the Internet ๐๐
3.1.2. Discussion โจ
Tautologically, P2P traffic localization techniques tend to localize content exchanges, and thus reduce cross-domain traffic. It's giving "of course it does" ๐
3.1.3. Conclusions ๐
Confirmed. โ
3.2. Increased Application Performance ๐ธ
Ostensibly, the main reason people in academia and industry are looking at P2P traffic localization techniques is the increase in application performance ๐ How much you get depends on the app: file-sharing apps see a higher download rate, real-time communication apps get lower delay and jitter, and streaming apps can benefit from a high constant bitrate ๐
3.2.1. Facts ๐ฆ
- Simulations and initial field trials of the P4P solution [Xie] show an average reduction of download completion times between 10% and 23% โฑ๏ธ
- Comcast's P4P trial [RFC5632] shows an increase in download rates between 13% and 85% ๐ฅ Interestingly, the data from that experiment also says fine-grained localization is less effective at improving download performance than lower levels of localization ๐ค
- The Ono experiment [Choffnes] shows a 31% average download rate improvement ๐ซถ
- In networks where the ISP provides higher bandwidth for in-network traffic (e.g., as in the case of a Romanian ISP (RDSNET), described in [Choffnes]), the increase is significantly higher ๐ท๐ดโจ
- In networks with relatively low uplink bandwidth (as the case of Easynet, described in [Choffnes]), traffic localization slightly degrades application performance ๐ฅฒ
- Simulations of the "oracle-based" approach [Aggarwal] from researchers at TU Berlin show a reduction in download times between 16% and 34% ๐ง
- Simulations by Bell Labs [Seetharaman] indicate that localization is not as effective in all scenarios, and that the user experience can suffer in certain locality-aware swarms depending on how locality is actually implemented ๐ฌ
- Real clients run by researchers at INRIA [LeBlond] have shown that the measured application performance is a function of the degree of congestion on the links where the locality policy tries to reduce traffic ๐ฆ They also showed that, when there are severe bottlenecks, BitTorrent with locality can be more than 200% faster than regular BitTorrent ๐๐
3.2.2. Discussion ๐ญ
It seems like traffic localization techniques often improve application performance, but ngl it depends a lot on the network infrastructure ๐๏ธ In some cases, for example in networks with relatively low uplink bandwidth, localization seems to be useless if not harmful ๐ Also, the benefits depend on swarm size. Imposing locality when only a small set of local peers is available may even decrease download performance for those local peers ๐
3.2.3. Conclusions ๐
Very likely, especially for large swarms and in networks with high capacity. ๐ฅ
3.3. Increased Uplink Bandwidth Usage ๐
An increase in uplink bandwidth usage would be a negative effect ๐ฉ It's especially bad where the access network uses technologies with asymmetric upstream/downstream bandwidth (e.g., DSL or Data Over cable Service Interface Specification (DOCSIS)) ๐ก
3.3.1. Facts ๐
- Comcast's P4P trial [RFC5632] shows no increase in the uplink traffic โจ
3.3.2. Discussion ๐ฌ
Mathematically, average uplink traffic stays the same as long as the swarm is not in surplus mode ๐งฎ However, in some particular cases where surplus capacity is available, localization may lead to local low-bandwidth leechers connecting to each other instead of trying the external seeders ๐ซ Even though this hasn't been observed in simulations and field trials, it could happen to applications that use localization as their only means of optimization when some content becomes popular in different areas at different times ๐บ (like prime-time TV shows distributed on BitTorrent networks minutes after airing in North America) ๐บ๐ธ
3.3.3. Conclusions ๐
Unlikely. ๐ โโ๏ธ
3.4. Impacts on Peering Agreements ๐ฆ
Peering agreements are usually set up on a reciprocity basis, assuming that the amount of data sent and received by each party is roughly the same ๐ค (Or, if the traffic volumes are asymmetric, the party that would otherwise gain the most pays a compensation fee ๐ธ) P2P traffic localization techniques aim to reduce cross-domain traffic, so they might also affect peering agreements ๐
3.4.1. Facts ๐
No significant publications, simulations, or trials have tried to understand how traffic localization techniques can influence the factors that rule how peering agreements are established and maintained ๐ถ
3.4.2. Discussion ๐ฎ
This is a key topic for network operators and ISPs, and it definitely deserves a more accurate analysis ๐ง Some random thoughts follow ๐ญ
It seems reasonable to expect different effects depending on the kind of agreement. For example:
- ISPs with different customer bases: the ISP whose customers generate more P2P traffic can achieve a bigger reduction of cross-domain traffic, so it could probably be in a position to renegotiate the contract ruling the peering agreement ๐
- ISPs with similar customer bases:
- ISPs with different access technologies: customers of the ISP that provides higher bandwidth -- and, in particular, higher uplink bandwidth -- will have more incentive to keep their P2P traffic local ๐ So the ISP with the better infrastructure will be able to achieve a bigger reduction in cross-domain traffic, and will probably be in a position to re-negotiate the peering agreement ๐
- ISPs with similar access technologies: both ISPs would achieve roughly the same reduction in cross-domain traffic, so the conditions under which the peering agreement was established would not change much ๐คทโโ๏ธ
As a result of the reasoning above, it seems sensible to expect that the simple fact that one ISP starts localizing its P2P traffic will be a strong incentive for the ISPs it peers with to do the same ๐ซถโจ
It's worth noting that traffic manipulation techniques have reportedly been used by ISPs to obtain peering agreements [Norton] with larger ISPs ๐ณ One of the most common techniques involves injecting forged traffic into the target ISP's network to increase its transit costs ๐ธ This aims to increase the relevance of the source ISP in the target's transit bill, and thus motivate the target to sign a peering agreement. However, traffic injection is exclusively unidirectional and easy to detect ๐จ On the other hand, if a localization-like service were used to direct P2P requests toward the target network, the resulting traffic would look fully legitimate. And since popular applications that follow the tit-for-tat approach tend to have peers upload to the peers they download from, in many cases the traffic is also bidirectional ๐๐ฅ
3.4.3. Conclusions ๐
Likely. ๐
3.5. Impacts on Transit ๐ธ
One of the main goals of P2P traffic localization techniques is to let ISPs keep part of their customers' traffic local, which saves them on transit costs ๐ฐ However, similar techniques based on de-localization rather than localization may be used by ISPs that are also transit providers to artificially increase the amount of data exchanged with networks they provide transit to (i.e., pushing the peers run by their customers to establish connections with peers in the networks that pay them for transit) ๐ค
3.5.1. Facts ๐
No significant publications, simulations, or trials have tried to study the effects of traffic localization techniques on the dynamics of transit provision economics ๐ซฅ
3.5.2. Discussion ๐ฎ
It is honestly very hard to predict how the economics of transit provision would be affected by the tricks some transit providers could play on their customers using P2P traffic localization -- or, in this case, de-localization -- techniques ๐ญ This is also a key topic for ISPs and definitely worth an accurate investigation ๐ง
Probably, the only lesson that transit and peering agreements have taught us so far [CogentVsAOL] [SprintVsCogent] is that, at the end of the day, no economic factor, no matter how relevant, can isolate networks from each other ๐ฅน๐
3.5.3. Conclusions ๐
Likely. โจ
3.6. Swarm Weakening ๐ฅ
Peer selection techniques based on locality information are definitely beneficial in areas where the density of peers is high enough, but they may cause damage otherwise ๐ฌ Some studies have tried to figure out how far locality can be pushed without damaging peers in isolated parts of the network ๐
3.6.1. Facts ๐
- Real BitTorrent clients run by researchers at INRIA [LeBlond] have shown that, in BitTorrent, swarms do not get damaged even when peer selection is heavily based on locality ๐
- Simulations by Bell Labs [Seetharaman] indicate that the user experience can suffer in certain locality-aware swarms depending on how locality is actually implemented ๐
3.6.2. Discussion ๐ญ
It seems reasonable to expect that excessive traffic localization will cause some degree of deterioration in P2P swarms that use the tit-for-tat approach ๐ The damage from that deterioration will likely affect most users in networks with a lower density of peers ๐ซ However, while [LeBlond] shows that BitTorrent is extremely robust, the level of tolerance to locality for different P2P algorithms should be evaluated on a case-by-case basis ๐งช
3.6.3. Conclusions ๐
Plausible, in some circumstances. ๐ค
3.7. Improved P2P Caching ๐ง
P2P caching has been proposed as a possible solution to reduce cross-domain as well as uplink P2P traffic ๐ก Since the cache servers ultimately act as seeders, a cache-aware localization service would allow a seamless integration of a caching infrastructure with P2P applications [EDGE-CACHES] ๐ซถ
3.7.1. Facts ๐
- A traffic analysis performed in a major Israeli ISP [Leibowitz] has shown that P2P traffic has a theoretical caching potential of 67% byte-hit-rate ๐๐ฅ
3.7.2. Discussion
okay so P2P caching could be a win for both ISPs and network users ๐ and locality-based optimizations might help the ISP steer peers toward caches ๐ง. ngl, it's really hard to say right now whether those localization wins will make caching superfluous, or whether it just won't make economic sense for the ISP ๐
3.7.3. Conclusions
plausible, if it's cost-effective for the ISP ๐ โจ
4. Security Considerations โจ
bestie, this document is a compendium of observed issues in peer-to-peer networks ๐ต๏ธโโ๏ธ and it takes an informed look at whether each issue is actually known to exist in the network, or whether it's giving non-issue ๐. so, as a result, this document does not introduce any new security considerations in peer-to-peer networks ๐๐
5. Acknowledgments
this document tries to summarize discussions that happened in live meetings and on several mailing lists ๐ซถ and honestly? everyone reading this has probably contributed more ideas and more material than the authors did ๐ญ๐ธ
6. Informative References
[ALTO] "Application-Layer Traffic Optimization (ALTO) Working Group", http://ietf.org/html.charters/alto-charter.html. ๐ฆ
[Aggarwal] Aggarwal, V., Feldmann, A., and C. Scheidler, "Can ISPs and P2P systems co-operate for improved performance?", in ACM SIGCOMM Computer Communications Review, vol. 37, no. 3. ๐
[Choffnes] Choffnes, D. and F. Bustamante, "Taming the Torrent: A practical approach to reducing cross-ISP traffic in P2P systems", in ACM SIGCOMM Computer Communication Review, vol. 38, no. 4. ๐
[CogentVsAOL] Noguchi, Y., "Peering Dispute With AOL Slows Cogent Customer Access", appeared in the Washington Post, December 17, 2002. ๐ฐ
[EDGE-CACHES] Weaver, N., "Peer to Peer Localization Services and Edge Caches", Work in Progress, March 2009. ๐ง
[LeBlond] Le Blond, S., Legout, A., and W. Dabbous, "Pushing BitTorrent Locality to the Limit", http://hal.inria.fr/. โญ
[Leibowitz] Leibowitz, N., Bergman, A., Ben-Shaul, R., and A. Shavit, "Are file swapping networks cacheable? Characterizing p2p traffic", in proceedings of the 7th Int. WWW Caching Workshop. ๐
[Norton] Norton, W., "The art of Peering: The peering playbook", http://d.drpeering.net/. ๐
[RFC5632] Griffiths, C., Livingood, J., Popkin, L., Woundy, R., and Y. Yang, "Comcast's ISP Experiences in a Proactive Network Provider Participation for P2P (P4P) Technical Trial", RFC 5632, September 2009. ๐ก
[RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic Optimization (ALTO) Problem Statement", RFC 5693, October 2009. ๐
[Seetharaman] Seetharaman, S., Hilt, V., Rimac, I., and M. Ammar, "Applicability and Limitations of Locality-Awareness in BitTorrent File-Sharing". ๐งโโ๏ธ
[SprintVsCogent] Ricknas, M., "Sprint-Cogent Dispute Puts Small Rip in Fabric of Internet", PCWorld Article, October 2008, http://www.pcworld.com/businesscenter/article/153123/sprintcogent_dispute_puts_small_rip_in_fabric_of_internet.html. ๐
[Xie] Xie, H., Yang, Y., Krishnamurthy, A., Liu, Y., and A. Silberschatz, "P4P: Explicit Communications for Cooperative Control Between P2P and Network Providers", in ACM SIGCOMM Computer Communication Review, vol. 38, no. 4. ๐ฅ
Appendix A. Myths/References/Facts Matrix ๐ฆ
okay this is the tea โ the matrix lines up each myth with the references that talk about it, so you can see who said what at a glance ๐
+----------------------+-------+-----------+------------+-----------+
| | [Xie] | [RFC5632] | [Aggarwal] | [LeBlond] |
+----------------------+-------+-----------+------------+-----------+
| Cross-Domain Traffic | X | X | X | X |
| (Section 3.1) | | | | |
| Application | X | X | X | X |
| Performance | | | | |
| (Section 3.2) | | | | |
| Uplink Bandwidth | | X | | |
| (Section 3.3) | | | | |
| Impacts on Peering | | | | |
| (Section 3.4) | | | | |
| Impacts on Transit | | | | |
| (Section 3.5) | | | | |
| Swarm Weakening | | | | X |
| (Section 3.6) | | | | |
| Improved P2P Caching | | | | |
| (Section 3.7) | | | | |
+----------------------+-------+-----------+------------+-----------+
+------------------------+------------+---------------+-------------+
| | [Choffnes] | [Seetharaman] | [Leibowitz] |
+------------------------+------------+---------------+-------------+
| Cross-Domain Traffic | | | |
| (Section 3.1) | | | |
| Application | X | X | X |
| Performance | | | |
| (Section 3.2) | | | |
| Uplink Bandwidth | | | |
| (Section 3.3) | | | |
| Impacts on Peering | | | |
| (Section 3.4) | | | |
| Impacts on Transit | | | |
| (Section 3.5) | | | |
| Swarm Weakening | | X | |
| (Section 3.6) | | | |
| Improved P2P Caching | | | X |
| (Section 3.7) | | | |
+------------------------+------------+---------------+-------------+
Authors' Addresses โ๏ธ
Enrico Marocco Telecom Italia
EMail: enrico.marocco@telecomitalia.it
Antonio Fusco Telecom Italia
EMail: antonio2.fusco@telecomitalia.it
Ivica Rimac Bell Labs, Alcatel-Lucent
EMail: rimac@bell-labs.com
Vijay K. Gurbani Bell Labs, Alcatel-Lucent
EMail: vkg@bell-labs.com
that's the whole RFC, bestie! ๐๐ the authors really cooked, and you're officially the most informed person in your group chat ๐โจ
๐ฆ where this page comes from
- ietf: rfc6821 2012-12
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms