Network Working Group M. Boucadair Internet-Draft France Telecom Intended status: Standards Track September 6, 2012 Expires: March 10, 2013 PREFIX64 PCP Option for NAT64 draft-boucadair-pcp-nat64-prefix64-option-00 Abstract This document defines a new PCP option to learn the Prefix64 used by a PCP-controlled NAT64 device to build IPv4-embedded IPv6 addresses. This option is needed for successful communications when IPv4 addresses are used in referrals (e.g., SIP). Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on March 10, 2013. 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) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Boucadair Expires March 10, 2013 [Page 1] Internet-Draft PREFIX64 PCP Option September 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . . 4 3. PREFIX64 Option . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . . 8 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8 Boucadair Expires March 10, 2013 [Page 2] Internet-Draft PREFIX64 PCP Option September 2012 1. Introduction This document defines a new PCP option [I-D.ietf-pcp-base] to inform PCP Clients about the Prefix64 [RFC6052] used by a PCP-controlled NAT64 device [RFC6146]. This option is required to help establishing communications between IPv6-only hosts and remote IPv4-hosts. An illustration example is shown in Figure 1. In this example, NAT64 is co-located with a PCP server while IPv6-only SIP UA interacts with a PCP Client. In Figure 1, the PCP Client issues a PCP MAP request with PORT_RESERVATION_OPTION to reserve a pair of ports preserving parity and contiguity [I-D.boucadair-pcp-rtp-rtcp]. A pair of ports and an external IPv4 address are then returned by the PCP server to the requesting PCP Client. This information is used by the IPv6-only SIP UA to build its SDP offer which contains exclusively IPv4 addresses (especially in the "c=" line, the port indicated for media port is the external port assigned by the PCP server). The INVITE request including the SDP offer is then forwarded by the NAT64 to the Proxy Server which will relay it to the called party (i.e., IPv4-only SIP UA) (Steps (1) to (3)). IPv4-only SIP UA accepts the offer and sends back its SDP answer in a "200 OK" message which is relayed by the SIP Proxy Server and NAT64 until being delivered to IPv6-only SIP UA (Steps (4) to (6)). At the end of this process, IPv4-only SIP UA can send media streams to the IPv4 address/port as indicated in the SDP offer while IPv6-only SIP UA can not send media streams as only IPv4 addresses are present in the SDP answer. Boucadair Expires March 10, 2013 [Page 3] Internet-Draft PREFIX64 PCP Option September 2012 +---------+ +-----+ +------------+ +---------+ |IPv6-only| |NAT64| | IPv4 SIP | |IPv4-only| | SIP UA | | | |Proxy Server| | SIP UA | +---------+ +-----+ +------------+ +---------+ | (a) PCP MAP REQ | | | |PORT_RESERVATION_OPTION| | | |======================>| | | | (b) PCP MAP REP | | | |PORT_RESERVATION_OPTION| | | |<======================| | | | | | | | (1) SIP INVITE | | | |======================>| (2) SIP INVITE | | | |===============>| (3) SIP INVITE | | | |================>| | | | (4) SIP 200 OK | | | (5) SIP 200 OK |<================| | (6) SIP 200 OK |<===============| | |<======================| | | | | | | Figure 1 This issue is not specific to SIP but it is valid for all applications using referrals. A solution is proposed in Section 3. 2. Requirements Language 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 [RFC2119]. 3. PREFIX64 Option 3.1. Format The format of PREFIX64 PCP Option is depicted in Figure 2. Boucadair Expires March 10, 2013 [Page 4] Internet-Draft PREFIX64 PCP Option September 2012 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Code | Reserved | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prefix64 (Variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Prefix64 PCP Option The description of the fields is as follows: o Option Code: To be assigned by IANA. o Option Length: Indicates in octets the length of the Prefix64. Allowed values are 32, 40, 48, 56, 64, or 96 [RFC6052]. o Prefix64: This field identifies the IPv6 unicast prefix to be used for constructing an IPv4-embedded IPv6 address from an IPv4 address. The address synthesize MUST follow the guidelines documented in [RFC6052]. Option Name: PREFIX64 Number: To be assigned by IANA. Purpose: Learn the prefix used by the NAT64 to build IPv4-embedded IPv6 addresses. This is be used by a host for local address synthesis (e.g., when IPv4 address is present in referrals). Valid for Opcodes: MAP Length: Variable May appear in: request, response. Maximum occurrences: 1 3.2. Behaviour A PCP Client MAY include a PREFIX64 PCP Option in a MAP request to learn the IPv6 prefix used by an upstream PCP-controlled NAT64 device. When enclosed in a MAP request, PREFIX64 MUST be set to ::/96. A PCP Server controlling a NAT64 SHOULD be configured to return the value of the Prefix64 used to build IPv4-embedded IPv6 addresses to requesting PCP Clients. When allowed, PREFIX64 PCP Option conveys the value of Prefix64. A PCP Server controlling a NAT64 SHOULD inject a PREFIX64 PCP Option in MAP responses even if the option is not listed in the associated request. Boucadair Expires March 10, 2013 [Page 5] Internet-Draft PREFIX64 PCP Option September 2012 Upon receipt of the PREFIX64 PCP Option, the host embedding the PCP Client uses Prefix64 for local address synthesize [RFC6052]. 4. Example Figure 3 shows an example of the use of the option defined in Section 3. +---------+ +-----+ +------------+ +---------+ |IPv6-only| |NAT64| | IPv4 SIP | |IPv4-only| | SIP UA | | | |Proxy Server| | SIP UA | +---------+ +-----+ +------------+ +---------+ | (a) PCP MAP REQ | | | |PORT_RESERVATION_OPTION| | | | PREFIX64_OPTION | | | |======================>| | | | (b) PCP MAP REP | | | |PORT_RESERVATION_OPTION| | | | PREFIX64_OPTION | | | |<======================| | | | | | | | (1) SIP INVITE | | | |======================>| (2) SIP INVITE | | | |===============>| (3) SIP INVITE | | | |================>| | | | (4) SIP 200 OK | | | (5) SIP 200 OK |<================| | (6) SIP 200 OK |<===============| | |<======================| | | | | | | | (7) SIP ACK | | | |======================>| (8) SIP ACK | | | |===============>| (9) SIP ACK | | | |================>| | | | |<======IPv6 RTP=======>|<============IPv6 RTP============>| |<===== IPv6 RTCP======>|<============IPv6 RTCP===========>| | | | Figure 3 In Steps (a) and (b), the IPv6-only SIP UA retrieves a pair of ports to be used for RTP/RTCP, the external IPv4 address and the Prefix64 to be used to build IPv4-embedded IPv6 addresses. Boucadair Expires March 10, 2013 [Page 6] Internet-Draft PREFIX64 PCP Option September 2012 The retrieved IPv4 address and port numbers are used to build the SDP offer in Step (1) while Prefix64 is used to construct a corresponding IPv6 address of the IPv4 address enclosed in the SDP answer made by the IPv4-only SIP UA. RTP/RTCP flows are exchanged between an IPv6-only SIP UA and an IPv4- only UA without requiring any ALG at the NAT64 and no particular function to be supported by the IPv4-only SIP Proxy Server to help establishing the session (e.g., Hosted NAT traversal). 5. IANA Considerations This document request a new PCP option: PREFIX64 6. Security Considerations This document does not introduce any security issue in addition to what is taken into account in [I-D.ietf-pcp-base]. 7. Acknowledgements TBC. 8. References 8.1. Normative References [I-D.ietf-pcp-base] Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", draft-ietf-pcp-base-26 (work in progress), June 2012. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, October 2010. [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers", RFC 6146, April 2011. Boucadair Expires March 10, 2013 [Page 7] Internet-Draft PREFIX64 PCP Option September 2012 8.2. Informative References [I-D.boucadair-pcp-rtp-rtcp] Boucadair, M. and S. Sivakumar, "Reserving N and N+1 Ports with PCP", draft-boucadair-pcp-rtp-rtcp-04 (work in progress), April 2012. Author's Address Mohamed Boucadair France Telecom Rennes, 35000 France Email: mohamed.boucadair@orange.com Boucadair Expires March 10, 2013 [Page 8]