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.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |