P2PRG L. Caviglione Internet Draft Senior Researcher CNIT - Unige Expires: September 2006 W. Yeager Chief Scientist Peerouette,Inc. March 13, 2006 P2Pv6 (Peer-to-Peer over IPv6) Problem Statement draft-irtf-p2prg-p2pv6-problem-statement-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. This document may only be posted in an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on September 13, 2006. Caviglione Expires September 13, 2006 [Page 1] Internet-Draft P2Pv6 Problem Statement March 2006 Copyright Notice Copyright (C) The Internet Society (2006). All Rights Reserved. Abstract IPv6 has some interesting differences if compared to IPv4. Among the others, it has been developed to restore the end-to-end transparency of the Internet, it offers effective functionalities to support end- nodes configuration phases, and it offers many features that are implemented in IPv4 as add-ons. With such a foundation, IPv6 appears as an ideal playground for developing Peer-to-Peer (P2P) applications that rely by design on the interaction between end nodes. The purpose of this document is to attract participation within the P2Pv6 research group, in order to establish a coordinated and proficient research about the joint usage of p2p frameworks and the IPv6 protocol. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [1]. Table of Contents 1. Subgroup Characterization, History and Practices...............3 2. Near Term Goals................................................4 3. Research Roadmap...............................................4 3.1. Provide Support to the IPv6 Deployment....................4 3.2. Analysis of Inferences of P2P and Transitional Mechanisms.5 3.3. Analysis of Legacies......................................5 3.3.1. Implementation Oriented Legacies.....................6 3.3.2. Algorithm Oriented Legacies..........................6 3.4. Augmenting P2P Capabilities Via IPv6 Functionalities......6 3.5. Interoperability Between the P2P Virtual Layer and IPv6...6 3.6. Analogies between IPv6 and P2P Addressing Schemes.........6 4. Subgroup Milestones............................................7 4.1. Additional Considerations on Milestones...................7 5. Intermediate Outcomes..........................................8 5.1. Persistent Infrastructure features inherited from IPv4....8 5.1.1 Strengths of IPv6 and end-to-end transparency............8 6. Related Work...................................................9 7. Liaisons.......................................................9 8. Security Considerations.......................................10 APPENDIX A: Original P2Pv6 Manifest..............................11 Caviglione Expires September 13, 2006 [Page 2] Internet-Draft P2Pv6 Problem Statement March 2006 9. References....................................................13 9.1. Normative References.....................................13 9.2. Informative References...................................13 Authors' Addresses...............................................14 Intellectual Property Statement..................................14 Disclaimer of Validity...........................................14 Copyright Statement..............................................15 Acknowledgment...................................................15 1. Subgroup Characterization, History and Practices Briefly, the P2Pv6 subgroup is exploring capabilities and issues that arise from the joint use of the p2p communication paradigm and IPv6. The subgroup officially acts inside the IRTF-P2PRG and it is organized on an open basis. The P2Pv6 main discussions are made over the general P2PRG mailing list, which is available at p2prg@irtf.org. The [P2Pv6] tag is REQUIRED, in order to properly identify this topic among others. The tagging mechanisms have been discussed and approved in the IRTF-P2PRG Meeting held in Paris, 2005. Interim results and subsequent documentation will be publicly available from the WG homepage at: http://www.cs.umd.edu/projects/p2prg/ The P2Pv6 activity had been originally proposed on the P2PRG main mailing list. Subsequently, it has been discussed in the IRTF Meeting held in Paris, 2005. On that occasion, the P2PRG Chairs approved the activity. The P2Pv6 subgroup was spawned after the discussion. Furthermore, the P2Pv6 group will reflect the generalized approval of the P2PRG’s "Near Term Goals", representing the top research priorities acknowledged by the subgroup members. Prior to writing this problem statement draft, the subgroup produced some preliminary discussion traffic about the initial topics proposal. Such mail traffic is available from the P2PRG mail archives at: http://www1.ietf.org/mail-archive/web/p2prg/current/maillist.html Also, the P2Pv6 subgroup can benefit from the P2PRG Bibliography Project, which constitutes a collaborative effort among every P2PRG participant to build a “Knowledge Base” of the available literature about p2p. P2Pv6 participants are encouraged as well to share documents and surveys with other P2PRG members. The P2PRG Bibliography Project is available at: Caviglione Expires September 13, 2006 [Page 3] Internet-Draft P2Pv6 Problem Statement March 2006 http://www.cs.umd.edu/projects/p2prg/bib/index.html 2. Near Term Goals The P2Pv6 subgroup attempts to be in compliance with the Near Term Goals of the P2PRG: o Classifying the P2P problem space (both currently, and as it evolves) into those problems for which there are existing solutions and those for which solutions require longer-term development; o Developing descriptive model(s) of peer-node organization whose interpretation can be applied to these solutions; o Articulating the scope as to what sort of P2P applications the models encompass and what sort they do not; o Understanding the unique security-related problems and opportunities P2P systems pose; o Exploring interfaces to IETF protocols to realize the models; o Offering input to the IETF as a starting place for possible groups standardizing new protocols that are useful in building P2P applications. 3. Research Roadmap The P2Pv6 has a Research Roadmap can be broadly defined as follows: 3.1. Provide Support to the IPv6 Deployment P2P applications rely on the end-to-end transparency that originally characterized the Internet. This action item aims to show how the IPv6 protocol can provide an excellent environment for P2P-based applications with the further goal of yielding a "killer-application" to support the deployment of IPv6. We also envisage putting in place explicit liaisons with the IPv6 Task Forces. A primary goal of the P2PRG is to point out the return to end-to-end connectivity that P2P infrastructures can provide. A key concept for P2P systems is to permit any two peers to communicate with one another in such a way that either ought to be able to initiate the contact. From this perspective, the deployment of IPv6 systems will be beneficial for P2P applications and could be boosted by the even more demand for P2P-based frameworks. Caviglione Expires September 13, 2006 [Page 4] Internet-Draft P2Pv6 Problem Statement March 2006 3.2. Analysis of Inferences of P2P and Transitional Mechanisms The wide deployment of IPv4, as well as intrinsic problems of large- scale transitions, spawned thorough standardization tracks for defining transitional mechanisms: Transitional mechanisms are expected to populate the future Internet for a quite long time since IPv4 and IPv6 are expected to operate simultaneously during this transitional era. On top of this scenario, the P2P layer will be required to adapt to transport layer changes since it is in fact an application layer interface to the transport layer. These adaptations are critical so it will operate properly. Given this interface, P2P can then continue to be viewed as building an “overlay” network, thus yielding a playground that is isolated from the ongoing transport transitions and that can be used for developing new applications and services. We propose to study if the transitional mechanisms developed for managing the transition and coexistence of IPv4/IPv6 are critical for P2P applications, thus providing a pioneer study for future massive deployment campaigns. This particular research item could also establish cooperation with standardization groups (inside the IETF) in order to enhance some transitional mechanisms or to develop brand new solution carefully tweaked for the peculiarities of P2P. 3.3. Analysis of Legacies A variety of P2P algorithms currently exist that have been shown to properly operate on the Internet. For many reasons, some P2P algorithms may not properly operate when ported to IPv6 or vice- versa. The analysis of legacies is aimed to discover and resolve (if any) legacy algorithm dependencies with the underlying transport level. Moreover, we would provide a pioneer roadmap for porting and developing P2P applications that will be independent of every IP version. In order to provide a clear understanding of legacy / transport dependencies several legacy examples will be given where these dependencies exist, and if possible where they do not exist. We do expect that some P2P infrastructures provide a suitable virtualization of the transport layer so as to isolate applications from underlying changes. It will indeed be interesting to categorize several of the existing P2P systems in this manner. Caviglione Expires September 13, 2006 [Page 5] Internet-Draft P2Pv6 Problem Statement March 2006 3.3.1. Implementation Oriented Legacies Nearly all of the P2P algorithms have been developed on the IPv4 platform. The main foreseen legacy problem is related to how the software implementation handles L3 addresses. For example, many client interfaces hardcode IPv4 addresses in 4 byte variables. In this perspective the migration to IPv6 needs a rewrite, even if small, of a portion of the software. This resembles in many ways the now passed “Y2000” software problem. 3.3.2. Algorithm Oriented Legacies Algorithm Oriented Legacies arise when the P2P algorithm relies on features in protocols only available for a specific version of the IP protocol. In addition, such legacies cannot be solved by an implementation workaround or by software rewriting, the difficulty being tightly coupled with a specific incarnation of the employed technologies. For example, one can imagine a P2P routing algorithm with strong dependencies on the IPv4 address structure because the P2P infrastructure upon which it is defined did not implement a suitable virtualization that is independent of the underlying IPv4 transport. 3.4. Augmenting P2P Capabilities Via IPv6 Functionalities IPv6 offers, as built-in, many features developed for IPv4 as add- ons. We propose to study how the functionalities (e.g., security and a unique IPv6 address) of IPv6 can be used by P2P applications in order to build the next-generation of P2P algorithms and applications. 3.5. Interoperability Between the P2P Virtual Layer and IPv6 Analyze and solve potential interoperability problems between the IPv6 layer and the P2P virtualization layer. 3.6. Analogies between IPv6 and P2P Addressing Schemes IPv6 offers along with its larger address scheme a rich set of addressing modes and configuration techniques, ranging from self- configuration to DHCP driven configuration procedures. From this perspective, this portion of the research will investigate how to create a P2P addressing scheme based on the IPv6 analogies and discover which, if any, synergies between the two schemes are exploitable. Caviglione Expires September 13, 2006 [Page 6] Internet-Draft P2Pv6 Problem Statement March 2006 4. Subgroup Milestones Different milestones are envisaged in order to bootstrap further research and provide solid foundations for future standardization activities. Milestones conform to the Research Roadmap. Moreover, each milestone is intended as an input for the overall IETF – IRTF world, trying to explain behaviors of P2P from different points of view. In more detail: o Problem statement draft about P2P over v4: How problems are solved with IPv4 (e.g., rendezvous nodes, relaying nodes, push messages...) and how at least some of these problems can be avoided using IPv6. o "Reverse" problem statement draft: How the transition mechanism could endanger the use of P2P applications by adding complexity to the algorithms in order to cope with the presence of such mechanisms. o P2P on IPv6 Best Common Practices: How the use of IPv6 could either add functionalities to the actual P2P technology pool, or simply permit the same functionalities but by the means of less complicated algorithms. o Problem statement draft about P2P applications and IPv4 dependencies: Investigation of P2P technologies already standardized by the IETF or under discussion (e.g., MIKEY, P2PSIP). o P2P and IPv6 addressing synergies and analogies. o A final document explaining the requirements for P2P applications and their associated network deployment in order to have a working and convenient P2P system for IPv6 applications. 4.1. Additional Considerations on Milestones Milestones are not solely introduced as checkpoints or goals to sync and evaluate the subgroup’s outcome. Milestones are also intended to provide help to WG’s that might be engaged in studying P2P networking jointly with other IETF technologies. For instance, a contribution of the P2Pv6 subgroup might avoid another subgroup investigating low- level requirements when developing new solutions (e.g., the P2PSIP working group). Caviglione Expires September 13, 2006 [Page 7] Internet-Draft P2Pv6 Problem Statement March 2006 5. Intermediate Outcomes While preparing this document, some preliminary discussions about the joint use of P2P and IPv6 have taken place. In one instance, a discussion about the use of mobile features of IPv6 and P2P has been done. Moreover, this discussion conforms to the Research Roadmap and is will be reported. 5.1. Persistent Infrastructure features inherited from IPv4 When deploying P2P in a fully compliant IPv6 infrastructure, some strategies used with IPv4 will persist. For example, in spite of the adoption of IPv6 the use of NAT-like boxes to hide real networks can be expected to continue. In this vein, if there is the need to contact a peer (e.g., a home gateway or set top box), and a NAT/firewall is in place, then end-to- end connection problems will arise. One simple solution is a super- peer network in the open Internet that proxies connections and provides store and forward capabilities for the peers it hosts. Hence, in a complex IPv6 deployment, a mixture of the two approaches, i. e., thep2p layer along with NAT traversal protocols, will require investigation. 5.1.1 Strengths of IPv6 and end-to-end transparency Even if not strictly related to the P2Pv6 subgroup, an important analysis about NAT traversal techniques has been discussed in the IRTF P2P RG[2]. Many P2P applications have some countermeasures (e.g., ad-hoc algorithms or signaling mechanisms) to exploit workarounds for the lack of transparency due to the presence of mediating devices. In this perspective, two major considerations can be made: o In a full IPv6 deployment NAT/firewall devices will continue protect or isolate portions of local area networks. Hence, evaluating traversal techniques exploited by the P2P layer is mandatory to understand if they can be ported from IPv4 to IPv6. o Many “low-level” techniques, such as the UDP hole punching have been proven to be effective as a means to by-pass the lack of transparency introduced by NAT devices [2]. Thus, the restoration of end-to-end transparency should not be the only “technology driver” for the adoption of IPv6 as the underlying technology for P2P systems. Caviglione Expires September 13, 2006 [Page 8] Internet-Draft P2Pv6 Problem Statement March 2006 6. Related Work A variety of discussions about the use of P2P and IPv6 have been completed. The idea of mixing the “best of the two worlds” is something that has been discussed and proposed in different Industrial talks and Academic works. In addition, blending IPv6 with P2P has been explicitly taken into account in the Recommendation Document prepared by the Italian IPv6 Task Force [3]. In [4] an IPv6 based Node Discovery Stack (NDS) is proposed in order to make the usage of personal P2P application possible. The work clarifies the architecture under the Personal Inter-Network (PIN) framework and shows how the NDS could enhance the personal communication among cooperating devices. In the context of IPv6 enabled devices, [5] proposes a network monitoring system for a variety of devices ready to provide their services via a network using a hybrid P2P architecture. The P2P architectural flavor has been selected to achieve scalability and a loose coupling of networked entities. Being more focused on exploiting peculiar techniques, [6] proposes to implement an IPv6 routing infrastructure as a self-organizing overlay network on top of the current IPv4 infrastructure. The work highlights how different entities can be constructed to tunnel through NAT’s and firewalls, as well as how to improve the robustness of the routing infrastructure and to provide efficient and resilient implementations for features such as multicast, anycast, and mobile IP using currently available P2P protocols. Regarding commercial services, [7] fully investigates a ”Durable Storage” system based on P2P principles that is able to operate over IPv4 and IPv6. Put briefly, the work describes a commercial service that will use distributed resources, such as storage and bandwidth, in a cooperative effort. The “Durable” adjective has been selected so as to emphasize that the framework is able to guarantee the existence of the data it contains in "any circumstance" at "any time". Moreover, the proposed solution is not only IPv6 compatible, but it could clearly benefit from an IPv6 only version. 7. Liaisons We plan to put in place explicit liaisons with the IPv6 Task Force (e.g., creating a bi-monthly “digest” of this project’s efforts to be sent to the task force leaders). In addition, many IETF WG’s are now engaged with the porting of preexistent IETF technologies on a P2P based framework. For instance, the P2PSIP (Peer-to-Peer Session Initiation Protocol)[8] is studying new architectural blueprints and Caviglione Expires September 13, 2006 [Page 9] Internet-Draft P2Pv6 Problem Statement March 2006 services based on the SIP protocol. The efforts undertaken by the two groups could be considered somewhat overlapping, for instance concerning the analysis of Legacies, and can profit from a liaison to prevent reinventing the proverbial wheel. 8. Security Considerations This document does not raise any new security considerations. Caviglione Expires September 13, 2006 [Page 10] Internet-Draft P2Pv6 Problem Statement March 2006 APPENDIX A: Original P2Pv6 Manifest P2Pv6 (P2PRG-IRTF Activity) B. Yeager and L. Caviglione Motivation and Scope IPv6 (Internet Protocol version 6) offers some interesting differences with respect to IPv4. On one hand it restores end-to-end transparency, while on the other, it offers many features that are implemented in IPv4 as add-ons. With such a foundation, IPv6 appears as an ideal playground for developing Peer-to-Peer (P2P) applications that rely by design on the interaction between end nodes. We propose to study the joint use of the P2P paradigm and IPv6 in order to: o Show how the IPv6 protocol can provide an excellent environment for P2P-based applications with the further goal of yielding a "killer-application" to support the deployment of IPv6. o Study if the transitional mechanisms developed for managing the transition and coexistence of IPv4/IPv6 are critical for P2P applications, thus providing a pioneer study for future massive deployment campaigns. o Discover and solve (if any) algorithm legacies and dependencies with the peculiar network level and provide a pioneer roadmap to port and develop P2P applications that will be suitable to work on every IP version. o Study how the functionalities (e.g., security) of IPv6 can be used by P2P applications in order to build the next-generation of P2P algorithms and applications. o Analyze and solve potential interoperability problems between the IPv6 layer and the virtualization layer provided by the P2P layer. o Investigate how to create a P2P addressing scheme based on the IPv6 analogies and discover if any synergies between the two schemes are exploitable. Possible Milestones Caviglione Expires September 13, 2006 [Page 11] Internet-Draft P2Pv6 Problem Statement March 2006 Different milestones are envisaged in order to bootstrap further research and provide solid foundations for future standardization activities. In more detail: o Problem statement draft about P2P over v4: How problems are solved with IPv4 (e.g., rendezvous nodes, relaying nodes, push messages...) and how at least some of these problems can be avoided using IPv6. o "Reverse" problem statement draft: How the transition mechanism could endanger the use of P2P applications by adding complexity to the algorithms in order to cope with the presence of such mechanisms. o P2P on IPv6 Best Common Practices: How the use of IPv6 could either add functionalities to the actual P2P technology pool, or simply permit the same functionalities but via less complex algorithms. o Problem statement draft about P2P applications and IPv4 dependencies: Investigation of P2P technologies already standardized by the IETF or under discussion (e.g., MIKEY, P2PSIP). o P2P and IPv6 addressing synergies and analogies. o A final document explaining requirements for P2P applications and their associated network deployment in order to have a working and convenient P2P over IPv6 applications. Liaisons Put in place explicit liaisons with the IPv6 Task Force (e.g., creating a bi-monthly "digest" of this project's efforts to be sent to the task forces leaders). Caviglione Expires September 13, 2006 [Page 12] Internet-Draft P2Pv6 Problem Statement March 2006 9. References 9.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 9.2. Informative References [2] S. Guha, P. Francis, “Characterization and Measurement of TCP Traversal through NATs and Firewalls", IMC 2005. Available on- line at: http://nutss.net/pub/imc05-tcpnat.pdf [3] L. Ferracci (ed.), M. Morelli (ed.), E. Albertin, F. Capuzzo, P. Casagranda, L. Caviglione, M. D’Itri, M. R. Spada, “IPv6 Task Force Italiana - Raccomandazione Finale”, only in Italian, available on-line at: http://www.it.ipv6tf.org/minutes/RaccomandazioneFinale.pdf [4] F. Lin, C. Chen, H.-C. Chao, W.-M. Chen, “Personal Internetworking Using P2P Architecture over IPv6”, Proceedings of the 9th International Symposium on Consumer Electronics (ISCE),June 2005, pp. 14-19. [5] K. Kubo, J. Murakami, T. Hoshi, T. Yokogawa, “Hybrid Peer-to- Peer System for Network Monitoring of Field Devices”, SICE 2003 Annual Conference, August 2003, pp. 2818-2823. [6] L. Zhou, R. van Renesse, M. Marsh, “Implementing IPv6 as a Peer-to-Peer Overlay Network”, Proceedings of the 21st IEEE Symposium on Reliable Distributed Systems, October 2002, pp. 347-351. [7] E. Jacob, J.J. Unzilla, M.V. Higuero, P. Saiz, M. Aguado, C. Pinedo,”A dual (IPv4/IPv6) <>" Commercial Service”, Proceedings of 9th International Conference on Advanced Information Networking and Applications (AINA), March 2005, Vol. 2, pp. 856-861. [8] P2PSIP Mailing List, https://lists.cs.columbia.edu/pipermail/p2p-sip/ Caviglione Expires September 13, 2006 [Page 13] Internet-Draft P2Pv6 Problem Statement March 2006 Authors' Addresses Luca Caviglione CNIT University of Genoa Research Unit Via Opera Pia 13 16145 Genoa, Italy Email: luca.caviglione@cnit.it William Yeager Peerouette, Inc. Menlo Park U.S.A., CA. Email: Bill@Peerouette.com Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, Caviglione Expires September 13, 2006 [Page 14] Internet-Draft P2Pv6 Problem Statement March 2006 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Caviglione Expires September 13, 2006 [Page 15]