draft-ietf-6man-ra-pref64-05.txt   draft-ietf-6man-ra-pref64-06.txt 
IPv6 Maintenance L. Colitti IPv6 Maintenance L. Colitti
Internet-Draft J. Linkova Internet-Draft J. Linkova
Intended status: Standards Track Google Intended status: Standards Track Google
Expires: April 2, 2020 September 30, 2019 Expires: April 5, 2020 October 3, 2019
Discovering PREF64 in Router Advertisements Discovering PREF64 in Router Advertisements
draft-ietf-6man-ra-pref64-05 draft-ietf-6man-ra-pref64-06
Abstract Abstract
This document specifies a Router Advertisement option to communicate This document specifies a Router Advertisement option to communicate
NAT64 prefixes to clients. NAT64 prefixes to hosts.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 2, 2020. This Internet-Draft will expire on April 5, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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
skipping to change at page 2, line 13 skipping to change at page 2, line 13
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
2. Use cases for communicating the NAT64 prefix to hosts . . . . 3 2. Use cases for communicating the NAT64 prefix to hosts . . . . 3
3. Why include the NAT64 prefix in Router Advertisements . . . . 3 3. Why include the NAT64 prefix in Router Advertisements . . . . 3
4. Usage Guidelines . . . . . . . . . . . . . . . . . . . . . . 4 4. Usage Guidelines . . . . . . . . . . . . . . . . . . . . . . 4
5. Option format . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Option format . . . . . . . . . . . . . . . . . . . . . . . . 4
6. Handling Multiple NAT64 Prefixes . . . . . . . . . . . . . . 6 6. Handling Multiple NAT64 Prefixes . . . . . . . . . . . . . . 6
7. PREF64 Consistency . . . . . . . . . . . . . . . . . . . . . 7 7. PREF64 Consistency . . . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
11.1. Normative References . . . . . . . . . . . . . . . . . . 8 11.1. Normative References . . . . . . . . . . . . . . . . . . 8
11.2. Informative References . . . . . . . . . . . . . . . . . 9 11.2. Informative References . . . . . . . . . . . . . . . . . 9
11.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
skipping to change at page 4, line 15 skipping to change at page 4, line 15
prefixes, but no NAT64 prefix). prefixes, but no NAT64 prefix).
Updatability: it is possible to change the NAT64 prefix at any time, Updatability: it is possible to change the NAT64 prefix at any time,
because when it changes, it is possible to notify hosts by sending a because when it changes, it is possible to notify hosts by sending a
new Router Advertisement. new Router Advertisement.
Deployability: all IPv6 hosts and networks are required to support Deployability: all IPv6 hosts and networks are required to support
Neighbor Discovery [RFC4861] so just a minor extension to the Neighbor Discovery [RFC4861] so just a minor extension to the
existing implementation is required. Other options such as [RFC7225] existing implementation is required. Other options such as [RFC7225]
require implementing other protocols (e.g. PCP [RFC7225]) which require implementing other protocols (e.g. PCP [RFC7225]) which
could be considered an obstacle for deplyoment. could be considered an obstacle for deployment.
4. Usage Guidelines 4. Usage Guidelines
To support prefix lengths defined in [RFC6052] this option contains
the prefix length field. However as /96 prefix is considered to be
the most common use case, the prefix length field is optional and
only presents for non-/96 prefixes. It allows to keep the option
length to a minimum (16 octets) for the most common case and increase
it to 24 octets for non-/96 prefixes only (see Section 5 below for
more details).
This option specifies exactly one NAT64 prefix for all IPv4 This option specifies exactly one NAT64 prefix for all IPv4
destinations. If the network operator desires to route different destinations. If the network operator desires to route different
parts of the IPv4 address space to different NAT64 devices, this can parts of the IPv4 address space to different NAT64 devices, this can
be accomplished by routing more specifics of the NAT64 prefix to be accomplished by routing more specifics of the NAT64 prefix to
those devices. For example, if the operator would like to route those devices. For example, if the operator would like to route
10.0.0.0/8 through NAT64 device A and the rest of the IPv4 space 10.0.0.0/8 through NAT64 device A and the rest of the IPv4 space
through NAT64 device B, and the operator's NAT64 prefix is through NAT64 device B, and the operator's NAT64 prefix is
2001:db8:a:b::/96, then the operator can route 2001:db8:a:b::/96, then the operator can route
2001:db8:a:b::a00:0/104 to NAT64 A and 2001:db8:a:b::/64 to NAT64 B. 2001:db8:a:b::a00:0/104 to NAT64 A and 2001:db8:a:b::/64 to NAT64 B.
skipping to change at page 5, line 8 skipping to change at page 5, line 4
translated. An example might be private address ranges that are translated. An example might be private address ranges that are
local to the network/provisioning domain and should not be reached local to the network/provisioning domain and should not be reached
through the NAT64. This type of configuration cannot be conveyed to through the NAT64. This type of configuration cannot be conveyed to
hosts using this option, or through other NAT64 prefix provisioning hosts using this option, or through other NAT64 prefix provisioning
mechanisms such as [RFC7050] or [RFC7225]. This problem does not mechanisms such as [RFC7050] or [RFC7225]. This problem does not
apply in IPv6-only networks, because in such networks, the host does apply in IPv6-only networks, because in such networks, the host does
not have an IPv4 address and cannot reach any IPv4 destinations not have an IPv4 address and cannot reach any IPv4 destinations
without the NAT64.. without the NAT64..
5. Option format 5. Option format
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Lifetime | PL | | Type | Length | Lifetime | PLC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
+ + + +
| Highest 96 bits of the Prefix | | Highest 96 bits of the Prefix |
+ + + +
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: NAT64 Prefix Option Format Figure 1: NAT64 Prefix Option Format
Fields: Fields:
Type 8-bit identifier of the PREF64 option type as assigned by Type 8-bit identifier of the PREF64 option type as assigned by
IANA: TBD IANA: TBD
Length 8-bit unsigned integer. The length of the option (including Length 8-bit unsigned integer. The length of the option (including
the Type and Length fields) is in units of 8 octets. The the Type and Length fields) is in units of 8 octets. The
sender MUST set the length to 2. The receiver MUST ignore sender MUST set the length to 2. The receiver MUST ignore
the PREF64 option if the length field value is not 2. the PREF64 option if the length field value is not 2.
Lifetime 13-bit unsigned integer. The maximum time in units of 8 Lifetime 13-bit unsigned integer. The maximum time in units of 8
secons over which this NAT64 prefix MAY be used. The value seconds over which this NAT64 prefix MAY be used. The value
of Lifetime SHOULD by default be set to the lesser of 3 x of Lifetime SHOULD by default be set to the lesser of 3 x
MaxRtrAdvInterval divided by 8 or 8192. The reciever MUST MaxRtrAdvInterval divided by 8, or 8191. The receiver MUST
multiply the Lifetime value by 8 to calculate the maximum multiply the Lifetime value by 8 (for example, by logical
time in seconds the prefix MAY be used. Lifetime of 0 left shift) to calculate the maximum time in seconds the
indicates that the prefix SHOULD NOT be used anymore. Router prefix MAY be used. Lifetime of 0 indicates that the prefix
vendors SHOULD allow adminstrators to specify non-zero SHOULD NOT be used anymore. Router vendors SHOULD allow
lifetime values which are not divisible by 8. In such cases administrators to specify non-zero lifetime values which are
the router SHOULD round the provided value up to the lesser not divisible by 8. In such cases the router SHOULD round
of nearest integer divisible by 8 or 65536, divide the the provided value up to the lesser of nearest integer
result by 8 and set the Lifetime field to the resulting divisible by 8, or 65528 and divide the result by 8 (or just
value. perform a logical right-shift by 3) and set the Lifetime
field to the resulting value.
PL 3-bit unsigned integer.This field encodes the NAT64 Prefix PLC 3-bit unsigned integer. This field encodes the NAT64 Prefix
(Prefix Length. The PL field values 0,1,2,3,4 and 5 indicate the (Prefix Length defined in [RFC6052]. The PLC field values 0, 1, 2,
Length) NAT64 prefix length of 96,64,56,48,40 and 32 bits Length 3, 4 and 5 indicate the NAT64 prefix length of 96, 64, 56,
respectively. The reciever MUST ignore the PREF64 option if Code) 48, 40 and 32 bits respectively. The receiver MUST ignore
the prefix length field is not set to one of those values. the PREF64 option if the prefix length code field is not set
to one of those values.
Highest 96-bit unsigned integer. Contains bits 0 - 95 of the NAT64 Highest 96-bit unsigned integer. Contains bits 0 - 95 of the NAT64
96 bits prefix. 96 bits prefix.
of the of the
prefix prefix
6. Handling Multiple NAT64 Prefixes 6. Handling Multiple NAT64 Prefixes
In some cases a host may receive multiple NAT64 prefixes from In some cases a host may receive multiple NAT64 prefixes from
different sources. Possible scenarios include (but are not limited different sources. Possible scenarios include (but are not limited
to): to):
o the host is using multiple mechanisms to discover PREF64 prefixes o the host is using multiple mechanisms to discover PREF64 prefixes
(e.g. by using PCP [RFC7225]) and/or by resolving IPv4-only fully (e.g. by using PCP [RFC7225]) and/or by resolving IPv4-only fully
qualified domain name [RFC7050] in addition to receiving the qualified domain name [RFC7050] in addition to receiving the
PREF64 RA option); PREF64 RA option);
o The pref64 option presents in a single RA more than once; o the PREF64 option presents in a single RA more than once;
o the host receives multiple RAs with different PREF64 prefixes on o the host receives multiple RAs with different PREF64 prefixes on
one or multiple interfaces. one or multiple interfaces.
When multiple PREF64 were discovered via RA PREF64 Option (the Option When multiple PREF64 were discovered via RA PREF64 Option (the Option
presents more than once in a single RA or multiple RAs were presents more than once in a single RA or multiple RAs were
received), host behaviour with regards to synthesizing IPv6 addresses received), host behaviour with regards to synthesizing IPv6 addresses
from IPv4 addresses SHOULD follow the recommendations given in from IPv4 addresses SHOULD follow the recommendations given in
Section 3 of [RFC7050], limited to the NAT64 prefixes that have non- Section 3 of [RFC7050], limited to the NAT64 prefixes that have non-
zero lifetime.. zero lifetime..
skipping to change at page 8, line 37 skipping to change at page 8, line 42
Router Advertisements are only received from legitimate sources Router Advertisements are only received from legitimate sources
eliminate the problem of NAT64 prefix validation described in section eliminate the problem of NAT64 prefix validation described in section
3.1 of [RFC7050]. 3.1 of [RFC7050].
10. Acknowledgements 10. Acknowledgements
Thanks to the following people (in alphabetical order) for their Thanks to the following people (in alphabetical order) for their
review and feedback: Mikael Abrahamsson, Mark Andrews, Brian E review and feedback: Mikael Abrahamsson, Mark Andrews, Brian E
Carpenter, David Farmer, Nick Heatley, Robert Hinden, Martin Hunek, Carpenter, David Farmer, Nick Heatley, Robert Hinden, Martin Hunek,
Tatuya Jinmei, Erik Kline, David Lamparter, Jordi Palet Martinez, Tatuya Jinmei, Erik Kline, David Lamparter, Jordi Palet Martinez,
Tommy Pauly, Michael Richardson, David Schinazi, Ole Troan. Tommy Pauly, Alexandre Petrescu, Michael Richardson, David Schinazi,
Ole Troan, Bernie Volz.
11. References 11. References
11.1. Normative References 11.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, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 9, line 17 skipping to change at page 9, line 22
DOI 10.17487/RFC6052, October 2010, DOI 10.17487/RFC6052, October 2010,
<https://www.rfc-editor.org/info/rfc6052>. <https://www.rfc-editor.org/info/rfc6052>.
[RFC7050] Savolainen, T., Korhonen, J., and D. Wing, "Discovery of [RFC7050] Savolainen, T., Korhonen, J., and D. Wing, "Discovery of
the IPv6 Prefix Used for IPv6 Address Synthesis", the IPv6 Prefix Used for IPv6 Address Synthesis",
RFC 7050, DOI 10.17487/RFC7050, November 2013, RFC 7050, DOI 10.17487/RFC7050, November 2013,
<https://www.rfc-editor.org/info/rfc7050>. <https://www.rfc-editor.org/info/rfc7050>.
11.2. Informative References 11.2. Informative References
[I-D.ietf-intarea-provisioning-domains]
Pfister, P., Vyncke, E., Pauly, T., Schinazi, D., and W.
Shao, "Discovering Provisioning Domain Names and Data",
draft-ietf-intarea-provisioning-domains-07 (work in
progress), September 2019.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements",
RFC 4033, DOI 10.17487/RFC4033, March 2005,
<https://www.rfc-editor.org/info/rfc4033>.
[RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J. [RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J.
Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105, Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105,
DOI 10.17487/RFC6105, February 2011, DOI 10.17487/RFC6105, February 2011,
<https://www.rfc-editor.org/info/rfc6105>. <https://www.rfc-editor.org/info/rfc6105>.
[RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful [RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful
NAT64: Network Address and Protocol Translation from IPv6 NAT64: Network Address and Protocol Translation from IPv6
Clients to IPv4 Servers", RFC 6146, DOI 10.17487/RFC6146, Clients to IPv4 Servers", RFC 6146, DOI 10.17487/RFC6146,
April 2011, <https://www.rfc-editor.org/info/rfc6146>. April 2011, <https://www.rfc-editor.org/info/rfc6146>.
skipping to change at page 10, line 5 skipping to change at page 9, line 48
[RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: [RFC6877] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT:
Combination of Stateful and Stateless Translation", Combination of Stateful and Stateless Translation",
RFC 6877, DOI 10.17487/RFC6877, April 2013, RFC 6877, DOI 10.17487/RFC6877, April 2013,
<https://www.rfc-editor.org/info/rfc6877>. <https://www.rfc-editor.org/info/rfc6877>.
[RFC7225] Boucadair, M., "Discovering NAT64 IPv6 Prefixes Using the [RFC7225] Boucadair, M., "Discovering NAT64 IPv6 Prefixes Using the
Port Control Protocol (PCP)", RFC 7225, Port Control Protocol (PCP)", RFC 7225,
DOI 10.17487/RFC7225, May 2014, DOI 10.17487/RFC7225, May 2014,
<https://www.rfc-editor.org/info/rfc7225>. <https://www.rfc-editor.org/info/rfc7225>.
[RFC7556] Anipko, D., Ed., "Multiple Provisioning Domain
Architecture", RFC 7556, DOI 10.17487/RFC7556, June 2015,
<https://www.rfc-editor.org/info/rfc7556>.
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
and P. Hoffman, "Specification for DNS over Transport and P. Hoffman, "Specification for DNS over Transport
Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
2016, <https://www.rfc-editor.org/info/rfc7858>. 2016, <https://www.rfc-editor.org/info/rfc7858>.
[RFC8305] Schinazi, D. and T. Pauly, "Happy Eyeballs Version 2: [RFC8305] Schinazi, D. and T. Pauly, "Happy Eyeballs Version 2:
Better Connectivity Using Concurrency", RFC 8305, Better Connectivity Using Concurrency", RFC 8305,
DOI 10.17487/RFC8305, December 2017, DOI 10.17487/RFC8305, December 2017,
<https://www.rfc-editor.org/info/rfc8305>. <https://www.rfc-editor.org/info/rfc8305>.
11.3. URIs 11.3. URIs
[1] https://www.iana.org/assignments/icmpv6-parameters [1] https://www.iana.org/assignments/icmpv6-parameters
Authors' Addresses Authors' Addresses
Lorenzo Colitti Lorenzo Colitti
Google Google
Roppongi 6-10-1 Shibuya 3-21-3
Minato, Tokyo 106-6126 Shibuya, Tokyo 150-0002
JP JP
Email: lorenzo@google.com Email: lorenzo@google.com
Jen Linkova Jen Linkova
Google Google
1 Darling Island Rd 1 Darling Island Rd
Pyrmont, NSW 2009 Pyrmont, NSW 2009
AU AU
 End of changes. 18 change blocks. 
53 lines changed or deleted 31 lines changed or added

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