draft-ietf-sipcore-dns-dual-stack-01.txt   draft-ietf-sipcore-dns-dual-stack-02.txt 
SIPCORE O. Johansson SIPCORE O. Johansson
Internet-Draft Edvina AB Internet-Draft Edvina AB
Intended status: Standards Track G. Salgueiro Updates: RFC 6157 (if approved) G. Salgueiro
Expires: April 29, 2015 Cisco Systems Intended status: Standards Track Cisco Systems
October 26, 2014 Expires: August 6, 2015 V. Gurbani
Bell Labs, Alcatel-Lucent
February 2, 2015
Locating Session Initiation Protocol (SIP) Servers in a Dual-Stack IP Locating Session Initiation Protocol (SIP) Servers in a Dual-Stack IP
Network Network
draft-ietf-sipcore-dns-dual-stack-01 draft-ietf-sipcore-dns-dual-stack-02
Abstract Abstract
RFC 3263 defines how a Session Initiation Protocol (SIP) RFC 3263 defines how a Session Initiation Protocol (SIP)
implementation, given a SIP Uniform Resource Identifier (URI), should implementation, given a SIP Uniform Resource Identifier (URI), should
locate the next hop SIP server using Domain Name System (DNS) locate the next hop SIP server using Domain Name System (DNS)
procedures. As SIP networks increasingly transition from IPv4-only procedures. As SIP networks increasingly transition from IPv4-only
to dual-stack, a quality user experience must be ensured for dual- to dual-stack, a quality user experience must be ensured for dual-
stack SIP implementations. This document supplements the DNS stack SIP implementations. This document supplements the DNS
procedures described in RFC 3263 for dual-stack SIP implementations procedures described in RFC 3263 for dual-stack SIP implementations
skipping to change at page 1, line 40 skipping to change at page 1, line 42
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 April 29, 2015. This Internet-Draft will expire on August 6, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2015 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.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Notational Conventions . . . . . . . . . . . . . . . . . . . 3 2. Notational Conventions . . . . . . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. DNS Procedures in a Dual-Stack Network . . . . . . . . . . . 4 4. DNS Procedures in a Dual-Stack Network . . . . . . . . . . . 3
4.1. Dual-Stack SIP UA DNS Record Lookup Procedure . . . . . . 4 4.1. Dual-Stack SIP UA DNS Record Lookup Procedure . . . . . . 4
4.2. Indicating Address Family Preference in DNS SRV Records . 5 4.2. Indicating Address Family Preference in DNS SRV Records . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. Update to RFC 6157 . . . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5
8.1. Normative References . . . . . . . . . . . . . . . . . . 6 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . 6 9.1. Normative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 9.2. Informative References . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
The core SIP [RFC3261] RFCs were written with support for both IPv4 The Session Initiation Protocol (SIP, [RFC3261]) and the additional
and IPv6 in mind, but they were not fully equipped to handle highly documents that extended the protocol assumed support for both IPv4
hybridized environments during this transitional phase of migration and IPv6. However, this support does not fully extend to the highly
from IPv4 to IPv6 networks, where many server and client hybridized environments that are symptomatic of the transitional
implementations run on dual-stack hosts. In such environments, a migratory phase from IPv4 to IPv6 networks. During this phase, many
dual-stack host will likely suffer greater connection delay, and by server and client implementations run on dual-stack hosts. In such
extension an inferior user experience, than an IPv4-only host. The environments, a dual-stack host will likely suffer greater connection
need to remedy this diminished performance of dual-stack hosts led to delay, and by extension an inferior user experience, than an
the development of the Happy Eyeballs [RFC6555] algorithm, which has IPv4-only host. The need to remedy this diminished performance of
since been implemented in many applications. dual-stack hosts led to the development of the Happy Eyeballs
[RFC6555] algorithm, which has since been implemented in many
RFC 6157[RFC6157] focuses on handling media in a dual-stack network applications.
path between two SIP user agents (UAs). This doesn't solve the
signalling issues that can occur when trying to find the best network
path to the next hop SIP server.
[[TODO: Sync with Vijay Gurbani on impacts of this draft to RFC 6157,
especially relative to the additional requirement that DNS be
populated such that a certain address family is preferred.]]
This document aims to provide a more holistic design solution by This document aims to provide a complete design solution by
clarifying the DNS lookup procedures of RFC 3263[RFC3263] to ensure clarifying the DNS lookup procedures of RFC 3263[RFC3263] to ensure
enhanced performance, and consequently user experience, in highly enhanced performance, and consequently user experience, in highly
hybridized dual-stack SIP networks. The procedures described herein hybridized dual-stack SIP networks. The procedures described herein
are such that a dual-stack client SHOULD look up both A and AAAA are such that a dual-stack client SHOULD look up both A and AAAA
records in DNS and then select the best way to set up a network flow. records in DNS and then select the best way to set up a network flow.
The details of how the latter is done is considered out of scope for The details of how the latter is done is considered out of scope for
this document. See the Happy Eyeballs algorithm and implementation this document. See the Happy Eyeballs algorithm and implementation
and design considerations in RFC 6555 [RFC6555] for more information and design considerations in RFC 6555 [RFC6555] for more information
about issues with setting up dual-stack network flows. about issues with setting up dual-stack network flows.
This document updates [RFC6157] as described in Section Section 5.
2. Notational Conventions 2. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
3. Terminology 3. Terminology
RFC 3261 [RFC3261] defines additional terms used in this document RFC 3261 [RFC3261] defines additional terms used in this document
that are specific to the SIP domain such as "proxy"; "registrar"; that are specific to the SIP domain such as "proxy"; "registrar";
skipping to change at page 4, line 8 skipping to change at page 3, line 51
addresses. addresses.
IPv4/IPv6 UA/UAC/UAS: A UA/UAC/UAS that supports SIP signaling and IPv4/IPv6 UA/UAC/UAS: A UA/UAC/UAS that supports SIP signaling and
media on both IPv4 and IPv6 networks; such a UA/UAC/UAS is known media on both IPv4 and IPv6 networks; such a UA/UAC/UAS is known
(and will be referred to in this document) as a "dual-stack" (and will be referred to in this document) as a "dual-stack"
[RFC4213] UA/UAC/UAS. [RFC4213] UA/UAC/UAS.
4. DNS Procedures in a Dual-Stack Network 4. DNS Procedures in a Dual-Stack Network
This specification introduces two normative DNS lookup procedures. This specification introduces two normative DNS lookup procedures.
These are designed to improve the performace of dual-stack clients in These are designed to improve the performance of dual-stack clients
IPv4/IPv6 networks. in IPv4/IPv6 networks.
4.1. Dual-Stack SIP UA DNS Record Lookup Procedure 4.1. Dual-Stack SIP UA DNS Record Lookup Procedure
Once the transport protocol has been determined, the procedure for Once the transport protocol has been determined, the procedure for
discovering an ip address if the TARGET is not a numeric IP address discovering an ip address if the TARGET is not a numeric IP address
but the port is explicitly stated in the URI, is detailed in but the port is explicitly stated in the URI, is detailed in
Section 4.2 of RFC 3263[RFC3263]. The piece relevant to to this Section 4.2 of RFC 3263[RFC3263]. The piece relevant to to this
discussion is: discussion is:
"If the TARGET was not a numeric IP address, but a port is present "If the TARGET was not a numeric IP address, but a port is present
skipping to change at page 5, line 25 skipping to change at page 5, line 14
wishes to do this can use the lowest SRV priority to publish wishes to do this can use the lowest SRV priority to publish
hostnames that only resolve in IPv6 and the next priority with host hostnames that only resolve in IPv6 and the next priority with host
names that resolve in both address families. names that resolve in both address families.
When indicating address family preference through SRV, IPv4-only and/ When indicating address family preference through SRV, IPv4-only and/
or IPv6-only clients should be prepared to handle SRV record sets or IPv6-only clients should be prepared to handle SRV record sets
that don't resolve into an ip address in the address family used by that don't resolve into an ip address in the address family used by
that client. In such a case, the client should simply proceed to the that client. In such a case, the client should simply proceed to the
next priority and try the hostnames in the alternate address family. next priority and try the hostnames in the alternate address family.
5. Security Considerations 5. Update to RFC 6157
[RFC6157] defers to the Source and Destination Address Selection
algorithms defined in [RFC6724] (the successor of [RFC3484]) when
allowing a client to choose a specific server (c.f. Section 5 in
[RFC6157]).
This document modifies the behavior of Section 5 in [RFC6157] to
allow for an additional (and preferred) way to contact servers, as
outlined in Section Section 4.2. Implementations MUST use the DNS
SRV records as described in Section Section 4.2 of this document
first before resorting to the Source and Destination Address
Selection algorithms defined in [RFC6724].
6. Security Considerations
This document introduces two new normative procedures to the existing This document introduces two new normative procedures to the existing
DNS procedures used to locate SIP servers. While both of these DNS procedures used to locate SIP servers. While both of these
procedures are optimizations designed to improve the performance of procedures are optimizations designed to improve the performance of
dual-stack clients, neither introduces any new security dual-stack clients, neither introduces any new security
considerations. considerations.
The specific security vulnerabilities, attacks and threat models of The specific security vulnerabilities, attacks and threat models of
the various protocols discussed in this document (SIP, DNS, SRV the various protocols discussed in this document (SIP, DNS, SRV
records, Happy Eyeballs requirements and algorithm, etc.) are well records, Happy Eyeballs requirements and algorithm, etc.) are well
documented in their respective specifications. documented in their respective specifications.
6. IANA Considerations 7. IANA Considerations
This document does not require any actions by IANA. This document does not require any actions by IANA.
7. Acknowledgments 8. Acknowledgments
The author would like to acknowledge the support and contribution of The authors would like to acknowledge the support and contribution of
the SIP Forum IPv6 Working Group. This document is based on a lot of the SIP Forum IPv6 Working Group. This document is based on a lot of
tests and discussions at SIPit events, organized by the SIP Forum. tests and discussions at SIPit events, organized by the SIP Forum.
This document has benefited from the expertise and review feedback of This document has benefited from the expertise and review feedback of
many participants of the IETF DISPATCH and SIPCORE WG mailing lists many participants of the IETF DISPATCH and SIPCORE WG mailing lists
as well as those on the SIP Forum IPv6 Task Group mailing list. The as well as those on the SIP Forum IPv6 Task Group mailing list. The
authors wish to specifically call out the efforts and express their authors wish to specifically call out the efforts and express their
gratitude for the detailed and thoughtful comments and corrections of gratitude for the detailed and thoughtful comments and corrections of
Dan Wing, Brett Tate, Rifaat Shekh-Yusef, Carl Klatsky, Dale Worley, Dan Wing, Brett Tate, Rifaat Shekh-Yusef, Carl Klatsky, Dale Worley,
Mary Barnes, Keith Drage, Vijay Gurbani and Cullen Jennings. Mary Barnes, Keith Drage and Cullen Jennings.
The authors also thank the SIPCORE WG chairs, Paul Kyzivat and Adam The authors also thank the SIPCORE WG chairs, Paul Kyzivat and Adam
Roach, and assigned Area Director, Richard Barnes, for their support Roach, and assigned Area Director, Richard Barnes, for their support
and thorough evaluation of this work. and thorough evaluation of this work.
8. References 9. References
8.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
Protocol (SIP): Locating SIP Servers", RFC 3263, June Protocol (SIP): Locating SIP Servers", RFC 3263, June
2002. 2002.
8.2. Informative References [RFC6157] Camarillo, G., El Malki, K., and V. Gurbani, "IPv6
Transition in the Session Initiation Protocol (SIP)", RFC
6157, April 2011.
9.2. Informative References
[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,
June 2002. June 2002.
[RFC3484] Draves, R., "Default Address Selection for Internet
Protocol version 6 (IPv6)", RFC 3484, February 2003.
[RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
for IPv6 Hosts and Routers", RFC 4213, October 2005. for IPv6 Hosts and Routers", RFC 4213, October 2005.
[RFC6157] Camarillo, G., El Malki, K., and V. Gurbani, "IPv6
Transition in the Session Initiation Protocol (SIP)", RFC
6157, April 2011.
[RFC6555] Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with [RFC6555] Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with
Dual-Stack Hosts", RFC 6555, April 2012. Dual-Stack Hosts", RFC 6555, April 2012.
[RFC6724] Thaler, D., Draves, R., Matsumoto, A., and T. Chown,
"Default Address Selection for Internet Protocol Version 6
(IPv6)", RFC 6724, September 2012.
Authors' Addresses Authors' Addresses
Olle E. Johansson Olle E. Johansson
Edvina AB Edvina AB
Runbovaegen 10 Runbovaegen 10
Sollentuna SE-192 48 Sollentuna SE-192 48
SE SE
Email: oej@edvina.net Email: oej@edvina.net
Gonzalo Salgueiro Gonzalo Salgueiro
Cisco Systems Cisco Systems
7200-12 Kit Creek Road 7200-12 Kit Creek Road
Research Triangle Park, NC 27709 Research Triangle Park, NC 27709
US US
Email: gsalguei@cisco.com Email: gsalguei@cisco.com
Vijay Gurbani
Bell Labs, Alcatel-Lucent
1960 Lucent Lane
Rm 9C-533
Naperville, IL 60563
US
Email: vkg@bell-labs.com
 End of changes. 24 change blocks. 
49 lines changed or deleted 70 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/