| < draft-ietf-p2psip-concepts-08.txt | draft-ietf-p2psip-concepts-09.txt > | |||
|---|---|---|---|---|
| P2PSIP Working Group D. Bryan | P2PSIP Working Group D. Bryan | |||
| Internet-Draft Cogent Force, LLC | Internet-Draft Cogent Force, LLC | |||
| Intended status: Informational P. Matthews | Intended status: Informational P. Matthews | |||
| Expires: August 14, 2016 Alcatel-Lucent | Expires: October 23, 2016 Alcatel-Lucent | |||
| E. Shim | E. Shim | |||
| Samsung Electronics Co., Ltd. | Samsung Electronics Co., Ltd. | |||
| D. Willis | D. Willis | |||
| Softarmor Systems | Softarmor Systems | |||
| S. Dawkins | S. Dawkins | |||
| Huawei (USA) | Huawei (USA) | |||
| February 11, 2016 | April 21, 2016 | |||
| Concepts and Terminology for Peer to Peer SIP | Concepts and Terminology for Peer to Peer SIP | |||
| draft-ietf-p2psip-concepts-08 | draft-ietf-p2psip-concepts-09 | |||
| Abstract | Abstract | |||
| This document defines concepts and terminology for the use of the | This document defines concepts and terminology for the use of the | |||
| Session Initiation Protocol in a peer-to-peer environment where the | Session Initiation Protocol in a peer-to-peer environment where the | |||
| traditional proxy-registrar and message routing functions are | traditional proxy-registrar and message routing functions are | |||
| replaced by a distributed mechanism. These mechanisms may be | replaced by a distributed mechanism. These mechanisms may be | |||
| implemented using a distributed hash table or other distributed data | implemented using a distributed hash table or other distributed data | |||
| mechanism with similar external properties. This document includes a | mechanism with similar external properties. This document includes a | |||
| high-level view of the functional relationships between the network | high-level view of the functional relationships between the network | |||
| skipping to change at page 1, line 47 ¶ | skipping to change at page 1, line 47 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 14, 2016. | This Internet-Draft will expire on October 23, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| This document may contain material from IETF Documents or IETF | ||||
| Contributions published or made publicly available before November | ||||
| 10, 2008. The person(s) controlling the copyright in some of this | ||||
| material may not have granted the IETF Trust the right to allow | ||||
| modifications of such material outside the IETF Standards Process. | ||||
| Without obtaining an adequate license from the person(s) controlling | ||||
| the copyright in such materials, this document may not be modified | ||||
| outside the IETF Standards Process, and derivative works of it may | ||||
| not be created outside the IETF Standards Process, except to format | ||||
| it for publication as an RFC or to translate it into languages other | ||||
| than English. | ||||
| Table of Contents | Table of Contents | |||
| 1. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Background . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. High-Level Description . . . . . . . . . . . . . . . . . . . 4 | 2. High-Level Description . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Services . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Services . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Clients . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Clients . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. Relationship Between P2PSIP and RELOAD . . . . . . . . . 5 | 2.3. Relationship Between P2PSIP and RELOAD . . . . . . . . . 5 | |||
| 2.4. Relationship Between P2PSIP and SIP . . . . . . . . . . . 5 | 2.4. Relationship Between P2PSIP and SIP . . . . . . . . . . . 5 | |||
| 2.5. Relationship Between P2PSIP and Other AoR Dereferencing | 2.5. Relationship Between P2PSIP and Other AoR Dereferencing | |||
| Approaches . . . . . . . . . . . . . . . . . . . . . . . 5 | Approaches . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.6. NAT Issues . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.6. NAT Issues . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3. Reference Model . . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Reference Model . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| skipping to change at page 3, line 11 ¶ | skipping to change at page 2, line 48 ¶ | |||
| 5.5. Clients and Connecting Unmodified SIP Devices . . . . . . 15 | 5.5. Clients and Connecting Unmodified SIP Devices . . . . . . 15 | |||
| 5.6. Architecture . . . . . . . . . . . . . . . . . . . . . . 16 | 5.6. Architecture . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 8. Informative References . . . . . . . . . . . . . . . . . . . 16 | 8. Informative References . . . . . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Background | 1. Background | |||
| One of the fundamental problems in multimedia communication between | One of the fundamental problems in multimedia communication between | |||
| Internet nodes is discovering the host at which a given user can be | Internet nodes is the rendezvous problem, or discovering the host at | |||
| reached. In the Session Initiation Protocol (SIP) [RFC3261] this | which a given user can be reached. In the Session Initiation | |||
| problem is expressed as the problem of mapping an Address of Record | Protocol (SIP) [RFC3261] this problem is expressed as the problem of | |||
| (AoR) for a user into one or more Contact URIs [RFC3986]. The AoR is | mapping an Address of Record (AoR) for a user into one or more | |||
| a name for the user that is independent of the host or hosts where | Contact URIs [RFC3986]. The AoR is a name for the user that is | |||
| the user can be contacted, while a Contact URI indicates the host | independent of the host or hosts where the user can be contacted, | |||
| where the user can be contacted. | while a Contact URI indicates the host where the user can be | |||
| contacted. | ||||
| In the common SIP-using architectures that we refer to as | In the common SIP-using architectures that we refer to as | |||
| "Conventional SIP" or "Client/Server SIP", there is a relatively | "Conventional SIP" or "Client/Server SIP", there is a relatively | |||
| fixed hierarchy of SIP routing proxies and SIP user agents. To | fixed hierarchy of SIP routing proxies and SIP user agents. To | |||
| deliver a SIP INVITE to the host or hosts at which the user can be | deliver a SIP INVITE to the host or hosts at which the user can be | |||
| contacted, a SIP UA follows the procedures specified in [RFC3263] to | contacted, a SIP UA follows the procedures specified in [RFC3263] to | |||
| determine the IP address of a SIP proxy, and then sends the INVITE to | determine the IP address of a SIP proxy, and then sends the INVITE to | |||
| that proxy. The proxy will then, in turn, deliver the SIP INVITE to | that proxy. The proxy will then, in turn, deliver the SIP INVITE to | |||
| the hosts where the user can be contacted. | the hosts where the user can be contacted. | |||
| skipping to change at page 5, line 10 ¶ | skipping to change at page 4, line 47 ¶ | |||
| An overlay may or may not also include one or more nodes called | An overlay may or may not also include one or more nodes called | |||
| clients. Clients are supported in the RELOAD protocol as peers that | clients. Clients are supported in the RELOAD protocol as peers that | |||
| have not joined the overlay, and therefore do not route messages or | have not joined the overlay, and therefore do not route messages or | |||
| store information. Clients access the services of the RELOAD | store information. Clients access the services of the RELOAD | |||
| protocol by connecting to a peer which performs operations on the | protocol by connecting to a peer which performs operations on the | |||
| behalf of the client. Note that in RELOAD there is no distinct | behalf of the client. Note that in RELOAD there is no distinct | |||
| client protocol. Instead, a client connects using the same protocol, | client protocol. Instead, a client connects using the same protocol, | |||
| but never joins the overlay as a peer. For more information, see | but never joins the overlay as a peer. For more information, see | |||
| [RFC6940]. | [RFC6940]. | |||
| Note that in the context of P2PSIP, there is an additional entity | A special peer may also be a member of the P2PSIP overlay and may | |||
| that is sometimes referred to as a client. A special peer may be a | present the functionality of one or all of a SIP registrar, proxy or | |||
| member of the in the P2PSIP overlay and may present the functionality | redirect server to conventional SIP devices (i.e., unmodified SIP UA | |||
| of one or all of a SIP registrar, proxy or redirect server to | or client). In this way, existing, unmodified SIP clients may | |||
| conventional SIP devices (SIP clients). In this way, existing, non- | connect to the P2PSIP network. Note that in the context of P2PSIP, | |||
| modified SIP clients may connect to the network. These unmodified | the unmodified SIP client is also sometimes referred to as a client. | |||
| SIP devices do not speak the RELOAD protocol, and this is a distinct | ||||
| concept from the notion of client discussed in the previous | These unmodified SIP devices do not speak the RELOAD protocol, and | |||
| paragraph. | this is a distinct concept from the notion of client discussed in the | |||
| previous paragraph. | ||||
| 2.3. Relationship Between P2PSIP and RELOAD | 2.3. Relationship Between P2PSIP and RELOAD | |||
| The RELOAD protocol defined by the P2PSIP working group implements a | The RELOAD protocol defined by the P2PSIP working group implements a | |||
| DHT primarily for use by server-less, peer-to-peer SIP deployments. | DHT primarily for use by server-less, peer-to-peer SIP deployments. | |||
| However, the RELOAD protocol could be used for other applications as | However, the RELOAD protocol could be used for other applications as | |||
| well. As such, a "P2PSIP" deployment is generally assumed to be a | well. As such, a "P2PSIP" deployment is generally assumed to be a | |||
| use of RELOAD to implement distributed SIP, but it is possible that | use of RELOAD to implement distributed SIP, but it is possible that | |||
| RELOAD is used as a mechanism to distribute other applications, | RELOAD is used as a mechanism to distribute other applications, | |||
| completely unrelated to SIP. | completely unrelated to SIP. | |||
| skipping to change at page 5, line 48 ¶ | skipping to change at page 5, line 37 ¶ | |||
| the peer or client portion of the node is logically distinct from the | the peer or client portion of the node is logically distinct from the | |||
| SIP entity portion. However, there is no hard requirement that every | SIP entity portion. However, there is no hard requirement that every | |||
| P2PSIP node (peer or client) be coupled to a SIP entity. As an | P2PSIP node (peer or client) be coupled to a SIP entity. As an | |||
| example, additional peers could be placed in the overlay to provide | example, additional peers could be placed in the overlay to provide | |||
| additional storage or redundancy for the RELOAD overlay, but might | additional storage or redundancy for the RELOAD overlay, but might | |||
| not have any direct SIP capabilities. | not have any direct SIP capabilities. | |||
| 2.5. Relationship Between P2PSIP and Other AoR Dereferencing Approaches | 2.5. Relationship Between P2PSIP and Other AoR Dereferencing Approaches | |||
| As noted above, the fundamental task of P2PSIP is turning an AoR into | As noted above, the fundamental task of P2PSIP is turning an AoR into | |||
| a Contact. This task might be approached using zeroconf techniques | a Contact. This task might be approached using zero configuration | |||
| such as multicast DNS and DNS Service Discovery [RFC6762][RFC6763], | techniques such as multicast DNS and DNS Service Discovery | |||
| link-local multicast name resolution [RFC4795], and dynamic DNS | [RFC6762][RFC6763], link-local multicast name resolution [RFC4795], | |||
| [RFC2136]. | and dynamic DNS [RFC2136]. | |||
| These alternatives were discussed in the P2PSIP Working Group, and | These alternatives were discussed in the P2PSIP Working Group, and | |||
| not pursued as a general solution for a number of reasons related to | not pursued as a general solution for a number of reasons related to | |||
| scalability, the ability to work in a disconnected state, partition | scalability, the ability to work in a disconnected state, partition | |||
| recovery, and so on. However, there does seem to be some continuing | recovery, and so on. However, there does seem to be some continuing | |||
| interest in the possibility of using DNS-SD and mDNS for | interest in the possibility of using DNS-SD and mDNS for | |||
| bootstrapping of P2PSIP overlays. | bootstrapping of P2PSIP overlays. | |||
| 2.6. NAT Issues | 2.6. NAT Issues | |||
| skipping to change at page 16, line 49 ¶ | skipping to change at page 16, line 49 ¶ | |||
| peer-to-peer lookup protocol for internet applications", | peer-to-peer lookup protocol for internet applications", | |||
| IEEE/ACM Transactions on Neworking Volume 11 Issue 1, pp. | IEEE/ACM Transactions on Neworking Volume 11 Issue 1, pp. | |||
| 17-32, Feb. 2003, August 2001. | 17-32, Feb. 2003, August 2001. | |||
| Copy available at http://pdos.csail.mit.edu/chord/papers/ | Copy available at http://pdos.csail.mit.edu/chord/papers/ | |||
| paper-ton.pdf | paper-ton.pdf | |||
| [I-D.ietf-p2psip-diagnostics] | [I-D.ietf-p2psip-diagnostics] | |||
| Song, H., Xingfeng, J., Even, R., Bryan, D., and Y. Sun, | Song, H., Xingfeng, J., Even, R., Bryan, D., and Y. Sun, | |||
| "P2P Overlay Diagnostics", draft-ietf-p2psip- | "P2P Overlay Diagnostics", draft-ietf-p2psip- | |||
| diagnostics-19 (work in progress), November 2015. | diagnostics-22 (work in progress), March 2016. | |||
| [I-D.ietf-p2psip-sip] | [I-D.ietf-p2psip-sip] | |||
| Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., | Jennings, C., Lowekamp, B., Rescorla, E., Baset, S., | |||
| Schulzrinne, H., and T. Schmidt, "A SIP Usage for RELOAD", | Schulzrinne, H., and T. Schmidt, "A SIP Usage for RELOAD", | |||
| draft-ietf-p2psip-sip-16 (work in progress), December | draft-ietf-p2psip-sip-20 (work in progress), April 2016. | |||
| 2015. | ||||
| [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, | [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, | |||
| "Dynamic Updates in the Domain Name System (DNS UPDATE)", | "Dynamic Updates in the Domain Name System (DNS UPDATE)", | |||
| RFC 2136, DOI 10.17487/RFC2136, April 1997, | RFC 2136, DOI 10.17487/RFC2136, April 1997, | |||
| <http://www.rfc-editor.org/info/rfc2136>. | <http://www.rfc-editor.org/info/rfc2136>. | |||
| [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | |||
| A., Peterson, J., Sparks, R., Handley, M., and E. | A., Peterson, J., Sparks, R., Handley, M., and E. | |||
| Schooler, "SIP: Session Initiation Protocol", RFC 3261, | Schooler, "SIP: Session Initiation Protocol", RFC 3261, | |||
| DOI 10.17487/RFC3261, June 2002, | DOI 10.17487/RFC3261, June 2002, | |||
| End of changes. 11 change blocks. | ||||
| 41 lines changed or deleted | 30 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||