draft-ietf-6man-rfc3484-revise-02.txt | draft-ietf-6man-rfc3484-revise-03.txt | |||
---|---|---|---|---|
Network Working Group A. Matsumoto | Network Working Group A. Matsumoto | |||
Internet-Draft J. Kato | Internet-Draft J. Kato | |||
Intended status: Standards Track T. Fujisaki | Intended status: Standards Track T. Fujisaki | |||
Expires: September 15, 2011 NTT | Expires: December 12, 2011 NTT | |||
March 14, 2011 | June 10, 2011 | |||
Update to RFC 3484 Default Address Selection for IPv6 | Update to RFC 3484 Default Address Selection for IPv6 | |||
draft-ietf-6man-rfc3484-revise-02.txt | draft-ietf-6man-rfc3484-revise-03.txt | |||
Abstract | Abstract | |||
RFC 3484 describes algorithms for source address selection and for | RFC 3484 describes algorithms for source address selection and for | |||
destination address selection. The algorithms specify default | destination address selection. The algorithms specify default | |||
behavior for all Internet Protocol version 6 (IPv6) implementations. | behavior for all Internet Protocol version 6 (IPv6) implementations. | |||
This document specifies a set of updates that modify the algorithms | This document specifies a set of updates that modify the algorithms | |||
and provide fixes for the identified issues. | and fix the known defects. | |||
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 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 September 15, 2011. | This Internet-Draft will expire on December 12, 2011. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 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 | |||
skipping to change at page 2, line 23 | skipping to change at page 2, line 23 | |||
outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Changes related to the default policy table . . . . . . . 3 | 2.1. Changes related to the default policy table . . . . . . . 3 | |||
2.1.1. ULAs in the policy table . . . . . . . . . . . . . . . 4 | 2.1.1. ULA in the policy table . . . . . . . . . . . . . . . 4 | |||
2.1.2. Teredo in the policy table . . . . . . . . . . . . . . 4 | 2.1.2. Teredo in the policy table . . . . . . . . . . . . . . 4 | |||
2.1.3. Deprecated addresses in the policy table . . . . . . . 4 | 2.1.3. 6to4, Teredo, and IPv4 prioritization . . . . . . . . 4 | |||
2.1.4. Renewed default policy table . . . . . . . . . . . . . 4 | 2.1.4. Deprecated addresses in the policy table . . . . . . . 5 | |||
2.1.5. Renewed default policy table . . . . . . . . . . . . . 5 | ||||
2.2. The longest matching rule . . . . . . . . . . . . . . . . 5 | 2.2. The longest matching rule . . . . . . . . . . . . . . . . 5 | |||
2.3. Utilize next-hop for source address selection . . . . . . 5 | 2.3. Utilize next-hop for source address selection . . . . . . 6 | |||
2.4. Private IPv4 address scope . . . . . . . . . . . . . . . . 6 | 2.4. Private IPv4 address scope . . . . . . . . . . . . . . . . 6 | |||
2.5. Deprecation of site-local unicast address . . . . . . . . 6 | 2.5. Deprecation of site-local unicast address . . . . . . . . 7 | |||
3. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 3. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
5.1. Normative References . . . . . . . . . . . . . . . . . . . 7 | 5.1. Normative References . . . . . . . . . . . . . . . . . . . 7 | |||
5.2. Informative References . . . . . . . . . . . . . . . . . . 8 | 5.2. Informative References . . . . . . . . . . . . . . . . . . 8 | |||
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 9 | |||
Appendix B. Discussion . . . . . . . . . . . . . . . . . . . . . 8 | Appendix B. Past Discussion . . . . . . . . . . . . . . . . . . . 9 | |||
B.1. Centrally assigned ULA . . . . . . . . . . . . . . . . . . 8 | B.1. The longest match rule . . . . . . . . . . . . . . . . . . 9 | |||
B.2. 6to4, Teredo, and IPv4 prioritization . . . . . . . . . . 9 | B.2. NAT64 prefix issue . . . . . . . . . . . . . . . . . . . . 10 | |||
B.3. Deprecated address . . . . . . . . . . . . . . . . . . . . 9 | ||||
B.4. The longest match rule . . . . . . . . . . . . . . . . . . 9 | ||||
Appendix C. Revision History . . . . . . . . . . . . . . . . . . 10 | Appendix C. Revision History . . . . . . . . . . . . . . . . . . 10 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
1. Introduction | 1. Introduction | |||
The IPv6 addressing architecture [RFC4291] allows multiple unicast | The IPv6 addressing architecture [RFC4291] allows multiple unicast | |||
addresses to be assigned to interfaces. Because of this IPv6 | addresses to be assigned to interfaces. Because of this IPv6 | |||
implementations need to handle multiple possible source and | implementations need to handle multiple possible source and | |||
destination addresses when initiating communication. RFC 3484 | destination addresses when initiating communication RFC 3484 | |||
[RFC3484] specifies the default algorithms, common across all | [RFC3484]. specifies the default algorithms, common across all | |||
implementations, for selecting source and destination addresses so | implementations, for selecting source and destination addresses so | |||
that it is easier to predict the address selection behavior. | that it is easier to predict the address selection behavior. | |||
Since RFC 3484 was published, some issues have been identified with | After RFC 3484 was specified, some issues have been identified with | |||
the algorithm specified there. The issues are related to the longest | the algorithm specified there. The issues are related to the longest | |||
match algorithm used in Rule 9 of Destination address selection | match algorithm used in Rule 9 of Destination address selection | |||
breaking DNS round-robin techniques, and prioritization of poor IPv6 | breaking DNS round-robin techniques, and prioritization of poor IPv6 | |||
connectivity using transition mechanisms over native IPv4 | connectivity using transition mechanisms over native IPv4 | |||
connectivity. | connectivity. | |||
There have also been some significant changes to the IPv6 addressing | There have also been some significant changes to the IPv6 addressing | |||
architecture that require changes in the RFC 3484 policy table. Such | architecture that require changes in the RFC 3484 policy table. Such | |||
changes include the deprecation of site-local unicast addresses | changes include the deprecation of site-local unicast addresses | |||
[RFC3879] and the IPv4-compatible IPv6 addresses, the introduction of | [RFC3879] and the IPv4-compatible IPv6 addresses, the introduction of | |||
Unique Local Addresses [RFC4193] etc. | Unique Local Addresses [RFC4193] etc. | |||
This document specifies a set of updates that modify the algorithms | This document specifies a set of updates that modify the algorithms | |||
and provide fixes for the identified issues. | and fix the known defects. | |||
2. Specification | 2. Specification | |||
2.1. Changes related to the default policy table | 2.1. Changes related to the default policy table | |||
The default policy table is defined in RFC 3484 Section 2.1 as | The default policy table is defined in RFC 3484 Section 2.1 as | |||
follows: | follows: | |||
Prefix Precedence Label | Prefix Precedence Label | |||
::1/128 50 0 | ::1/128 50 0 | |||
::/0 40 1 | ::/0 40 1 | |||
2002::/16 30 2 | 2002::/16 30 2 | |||
::/96 20 3 | ::/96 20 3 | |||
::ffff:0:0/96 10 4 | ::ffff:0:0/96 10 4 | |||
The changes that should be included into the default policy table are | The changes that should be included into the default policy table are | |||
those rules that are universally useful and do no harm in every | those rules that are universally useful and do no harm in every | |||
reasonable network environment. The changes we should consider for | reasonable network envionment. The changes we should consider for | |||
the default policy table are listed in this sub-section. | the default policy table are listed in this sub-section. | |||
The policy table is defined to be configurable. If the local site | The policy table is defined to be configurable. The changes that are | |||
policy needs to be different changes can be put into the policy table | useful not universally but locally can be put into the policy table | |||
manually or by using the auto-configuration mechanism proposed as a | manually or by using the auto-configuration mechanism proposed as a | |||
DHCP option [I-D.ietf-6man-addr-select-opt]. | DHCP option [I-D.ietf-6man-addr-select-opt]. | |||
2.1.1. ULAs in the policy table | 2.1.1. ULA in the policy table | |||
RFC 5220 [RFC5220] Section 2.1.4, 2.2.2, and 2.2.3 describes address | RFC 5220 [RFC5220] Section 2.1.4, 2.2.2, and 2.2.3 describes address | |||
selection problems related to ULAs [RFC4193]. These problems can be | selection problems related to ULA [RFC4193]. These problems can be | |||
solved by either changing the scope of ULAs to site-local, or by | solved by either changing the scope of ULA to site-local, or by | |||
adding an entry to the default policy table entry that has its own | adding an entry for default policy table entry that has its own label | |||
label for ULAs. | for ULA. | |||
ULAs has been specified with a global scope because the reachability | Centrally assigned ULA [I-D.ietf-ipv6-ula-central] is proposed, and | |||
of the ULAs was intended to be restricted by the routing system. | is assigned fc00::/8. Using the different labels for fc00::/8 and | |||
Since a ULA will not be exposed outside of its reachability domain, | fd00::/8 makes sense if we assume the same kind of address block is | |||
if a ULA is available as a candidate destination address, it can be | assigned in the same or adjacent network. However, we cannot expect | |||
expected to be reachable. In fact, such ULA to ULA communication is | that the type of ULA address block and network adjancency commonly | |||
often desired (in particular in sites where ULAs are intended to | have any relationships. | |||
provide stable addresses when the global prefix may be changing) and | ||||
thus needs to be prioritized. | ||||
Therefore, the scope of ULA should be kept global, and prioritization | Regarding the scope of ULA, ULA has been specified with a global | |||
of ULA to ULA communication should be implemented in the policy | scope because the reachability of the ULA was intended to be | |||
table, by assigning a specific label for ULAs using fc00::/7. | restricted by the routing system. Since the ULAs will not be exposed | |||
outside of its reachability domain, if an ULA is available as a | ||||
candidate destination address, it can be expected to be reachable. | ||||
if we change the scope of ULA smaller than global, we can prioritize | ||||
ULA to ULA communication over GUA to GUA communication. At the same | ||||
time, however, finer-grained configuration of ULA address selection | ||||
will be impossible. For example, even if you want to priorize | ||||
communication related to the only /48 ULA prefix used in your site, | ||||
and do not want to prioritize communication to any other ULA prefix, | ||||
such a policy cannot be implemented in the policy table. So, this | ||||
draft proposes the use of the policy table to differentiate ULA from | ||||
GUA. | ||||
2.1.2. Teredo in the policy table | 2.1.2. Teredo in the policy table | |||
Teredo [RFC4380] is defined and has been assigned 2001::/32. This | Teredo [RFC4380] is defined and has been assigned 2001::/32. This | |||
address block should be assigned its own label in the policy table. | address block should be assigned its own label in the policy table. | |||
Teredo's priority should be less than or equal to 6to4, considering | Teredo's priority should be less or equal to 6to4, considering its | |||
its characteristic of being a transitional tunnel mechanism. Windows | characteristic of transitional tunnel mechanism. About Windows, this | |||
already implements this. | is already in the implementation. | |||
2.1.3. Deprecated addresses in the policy table | 2.1.3. 6to4, Teredo, and IPv4 prioritization | |||
IPv4-compatible IPv6 addresses are deprecated [RFC4291]. IPv6 site- | Regarding the prioritization between IPv4 and these transitional | |||
local unicast addresses are deprecated [RFC3879]. Moreover, the | mechanisms, the connectivity of them are known to be worse than IPv4. | |||
6bone testing address has also been phased out[RFC3701]. The issue | These mechiansms are said to be the last resort access to IPv6 | |||
is how we treat these outdated addresses. | resources. While 6to4 should have higher precedence over Teredo, in | |||
that 6to4 host to 6to4 host communication can be over IPv4, which can | ||||
result in more optimal path, and 6to4 does not need NAT traversal. | ||||
2.1.4. Renewed default policy table | 2.1.4. Deprecated addresses in the policy table | |||
After applying these updates, the default policy table becomes: | IPv4-compatible IPv6 address (::/96) is deprecated [RFC4291]. IPv6 | |||
site-local unicast address (fec0::/10) is deprecated [RFC3879]. 6bone | ||||
testing address [RFC3701] was returned. | ||||
These addresses were removed from the current specification. So, it | ||||
should not be treated differently, especially if we plan future re- | ||||
use of these address blocks. Hense, 6bone testing address block | ||||
should not be treated specially. | ||||
Considering the inappropriate use of these address blocks especially | ||||
in outdated implementations and bad effects brought by them, it | ||||
should be labeled differently from the legitimate address blocks as | ||||
far as the address block is reserved by IANA. | ||||
2.1.5. Renewed default policy table | ||||
After applying these updates, the default policy table will be: | ||||
Prefix Precedence Label | Prefix Precedence Label | |||
::1/128 60 0 | ::1/128 60 0 | |||
fc00::/7 50 1 | fc00::/7 50 1 | |||
::/0 40 2 | ::/0 40 2 | |||
::ffff:0:0/96 30 3 | ::ffff:0:0/96 30 3 | |||
2002::/16 20 4 | 2002::/16 20 4 | |||
2001::/32 10 5 | 2001::/32 10 5 | |||
::/96 1 10 | ::/96 1 10 | |||
fec::/16 1 11 | fec0::/10 1 11 | |||
3ffe::/16 1 12 | ||||
2.2. The longest matching rule | 2.2. The longest matching rule | |||
This issue is related to a problem with the longest matching rule, as | This issue is related to the longest matching rule, which was found | |||
reported by Dave Thaler. It is a malfunction of the DNS round-robin | by Dave Thaler. It is malfunction of DNS round robin technique. It | |||
technique. It is common for both IPv4 and IPv6. | is common for both IPv4 and IPv6. | |||
When a destination address DA, DB, and the source address of DA | When a destination address DA, DB, and the source address of DA | |||
Source(DA) are on the same subnet and Source(DA) == Source(DB), DNS | Source(DA) are on the same subnet and Source(DA) == Source(DB), DNS | |||
round robin load-balancing cannot function. By considering prefix | round robin load-balancing cannot function. By considering prefix | |||
lengths that are longer than the subnet prefix, this rule establishes | lengths that are longer than the subnet prefix, this rule establishes | |||
preference between addresses that have no substantive differences | preference between addresses that have no substantive differences | |||
between them. The rule functions as an arbitrary tie-breaker between | between them. The rule functions as an arbitrary tie-breaker between | |||
the hosts in a round robin, causing a given host to always prefer a | the hosts in a round robin, causing a given host to always prefer a | |||
given member of the round robin. | given member of the round robin. | |||
skipping to change at page 5, line 48 | skipping to change at page 6, line 22 | |||
When DA and DB belong to the same address family (both are IPv6 or | When DA and DB belong to the same address family (both are IPv6 or | |||
both are IPv4): If CommonPrefixLen(DA & Netmask(Source(DA)), | both are IPv4): If CommonPrefixLen(DA & Netmask(Source(DA)), | |||
Source(DA)) > CommonPrefixLen(DB & Netmask(Source(DB)), Source(DB)), | Source(DA)) > CommonPrefixLen(DB & Netmask(Source(DB)), Source(DB)), | |||
then prefer DA. Similarly, if CommonPrefixLen(DA & | then prefer DA. Similarly, if CommonPrefixLen(DA & | |||
Netmask(Source(DA)), Source(DA)) < CommonPrefixLen(DB & | Netmask(Source(DA)), Source(DA)) < CommonPrefixLen(DB & | |||
Netmask(Source(DB)), Source(DB)), then prefer DB. | Netmask(Source(DB)), Source(DB)), then prefer DB. | |||
2.3. Utilize next-hop for source address selection | 2.3. Utilize next-hop for source address selection | |||
RFC 3484 source address selection rule 5 states that the address that | The RFC 3484 source address selection rule 5 defines the address that | |||
is attached to the outgoing interface should be preferred as the | is attached to the outgoing interface should be preferred as the | |||
source address. This rule is reasonable considering the prevalence | source address. This rule is reasonable considering the prevalence | |||
of Ingress Filtering described in BCP 38 [RFC2827]. This is because | of Ingress Filtering described in BCP 38 [RFC2827]. This is because | |||
an upstream network provider usually assumes it receives those | an upstream network provider usually assumes it receives those | |||
packets from customers that will use the delegated addresses as their | packets from their customer that have the delegated addresses as the | |||
source addresses. | source addresses. | |||
This rule, however, is not effective in an environment such as | This rule, however, is not effective in such a environment described | |||
described in RFC 5220 Section 2.1.1, where a host has multiple | in RFC 5220 Section 2.1.1, where a host has multiple upstream routers | |||
upstream routers on the same link and has addresses delegated from | on the same link and has addresses delegated from each upstream | |||
each upstream on single interface. | routers on single interface. | |||
So, a new rule 5.1 that utilizes next-hop information for source | So, a new rule 5.1 that utilizes next-hop information for source | |||
address selection is inserted just after the rule 5. | address selection is inserted just after the rule 5. | |||
Rule 5.1: Use an address assigned by the selected next-hop. | Rule 5.1: Use an address assigned by the selected next-hop. | |||
If SA is assigned by the selected next-hop that will be used to send | If SA is assigned by the selected next-hop that will be used to send | |||
to D and SB is assigned by a different next-hop, then prefer SA. | to D and SB is assigned by a different next-hop, then prefer SA. | |||
Similarly, if SB is assigned by the next-hop that will be used to | Similarly, if SB is assigned by the next-hop that will be used to | |||
send to D and SA is assigned by a different next-hop, then prefer SB. | send to D and SA is assigned by a different next-hop, then prefer SB. | |||
skipping to change at page 6, line 40 | skipping to change at page 7, line 15 | |||
The algorithm currently specified in RFC 3484 is based on the | The algorithm currently specified in RFC 3484 is based on the | |||
assumption that a source address with a small scope cannot reach a | assumption that a source address with a small scope cannot reach a | |||
destination address with a larger scope. This assumption does not | destination address with a larger scope. This assumption does not | |||
hold if private IPv4 addresses and a NAT are used to reach public | hold if private IPv4 addresses and a NAT are used to reach public | |||
IPv4 addresses. | IPv4 addresses. | |||
Due to this assumption, in the presence of both NATed private IPv4 | Due to this assumption, in the presence of both NATed private IPv4 | |||
address and transitional addresses (like 6to4 and Teredo), the host | address and transitional addresses (like 6to4 and Teredo), the host | |||
will choose the transitional IPv6 address to access dual-stack peers | will choose the transitional IPv6 address to access dual-stack peers | |||
[I-D.denis-v6ops-nat-addrsel]. Choosing transitional IPv6 | [I-D.denis-v6ops-nat-addrsel]. Choosing transitional IPv6 | |||
connectivity over native IPv4 connectivity is not desirable. | connectivity over native IPv4 connectivity is not considered to be a | |||
very wise result. | ||||
This issue can be fixed by changing the address scope of private IPv4 | This issue can be fixed by changing the address scope of private IPv4 | |||
addresses to global. Such a change has already been implemented in | addresses to global. Such change has already been implemented in | |||
some OSes. | some OSes. | |||
2.5. Deprecation of site-local unicast address | 2.5. Deprecation of site-local unicast address | |||
RFC 3484 contains a few "site-local unicast" and "fec::" | RFC 3484 contains a few "site-local unicast" and "fec0::" | |||
descriptions. It's better to remove examples related to site-local | description. It's better to remove examples related to site-local | |||
unicast address, or change examples to use ULAs. Points that need to | unicast address, or change examples to use ULA. Possible points to | |||
be re-written are: | be re-written are below. | |||
- the 2nd paragraph in RFC 3484 Section 3.1 describing the scope | - 2nd paragraph in RFC 3484 Section 3.1 describes scope comparison | |||
comparison mechanism. | mechanism. | |||
- RFC 3484 Section 10 containing examples for site-local address. | - RFC 3484 Section 10 contains examples for site-local address. | |||
3. Security Considerations | 3. Security Considerations | |||
No security risk is found that degrades RFC 3484. | No security risk is found that degrades RFC 3484. | |||
4. IANA Considerations | 4. IANA Considerations | |||
An address type number for the policy table may have to be assigned | Address type number for the policy table may have to be assigned by | |||
by IANA. | IANA. | |||
5. References | 5. References | |||
5.1. Normative References | 5.1. Normative References | |||
[RFC1794] Brisco, T., "DNS Support for Load Balancing", RFC 1794, | [RFC1794] Brisco, T., "DNS Support for Load Balancing", RFC 1794, | |||
April 1995. | April 1995. | |||
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and | [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and | |||
E. Lear, "Address Allocation for Private Internets", | E. Lear, "Address Allocation for Private Internets", | |||
skipping to change at page 8, line 9 | skipping to change at page 8, line 33 | |||
Network Address Translations (NATs)", RFC 4380, | Network Address Translations (NATs)", RFC 4380, | |||
February 2006. | February 2006. | |||
[RFC5220] Matsumoto, A., Fujisaki, T., Hiromi, R., and K. Kanayama, | [RFC5220] Matsumoto, A., Fujisaki, T., Hiromi, R., and K. Kanayama, | |||
"Problem Statement for Default Address Selection in Multi- | "Problem Statement for Default Address Selection in Multi- | |||
Prefix Environments: Operational Issues of RFC 3484 | Prefix Environments: Operational Issues of RFC 3484 | |||
Default Rules", RFC 5220, July 2008. | Default Rules", RFC 5220, July 2008. | |||
5.2. Informative References | 5.2. Informative References | |||
[I-D.chown-addr-select-considerations] | ||||
Chown, T., "Considerations for IPv6 Address Selection | ||||
Policy Changes", draft-chown-addr-select-considerations-03 | ||||
(work in progress), July 2009. | ||||
[I-D.denis-v6ops-nat-addrsel] | [I-D.denis-v6ops-nat-addrsel] | |||
Denis-Courmont, R., "Problems with IPv6 source address | Denis-Courmont, R., "Problems with IPv6 source address | |||
selection and IPv4 NATs", draft-denis-v6ops-nat-addrsel-00 | selection and IPv4 NATs", draft-denis-v6ops-nat-addrsel-00 | |||
(work in progress), February 2009. | (work in progress), February 2009. | |||
[I-D.ietf-6man-addr-select-considerations] | ||||
Chown, T., "Considerations for IPv6 Address Selection | ||||
Policy Changes", | ||||
draft-ietf-6man-addr-select-considerations-02 (work in | ||||
progress), July 2010. | ||||
[I-D.ietf-6man-addr-select-opt] | [I-D.ietf-6man-addr-select-opt] | |||
Matsumoto, A., Fujisaki, T., and J. Kato, "Distributing | Matsumoto, A., Fujisaki, T., and J. Kato, "Distributing | |||
Address Selection Policy using DHCPv6", | Address Selection Policy using DHCPv6", | |||
draft-ietf-6man-addr-select-opt-00 (work in progress), | draft-ietf-6man-addr-select-opt-00 (work in progress), | |||
December 2010. | December 2010. | |||
[I-D.ietf-ipv6-ula-central] | [I-D.ietf-ipv6-ula-central] | |||
Hinden, R., "Centrally Assigned Unique Local IPv6 Unicast | Hinden, R., "Centrally Assigned Unique Local IPv6 Unicast | |||
Addresses", draft-ietf-ipv6-ula-central-02 (work in | Addresses", draft-ietf-ipv6-ula-central-02 (work in | |||
progress), June 2007. | progress), June 2007. | |||
[RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: | [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: | |||
Defeating Denial of Service Attacks which employ IP Source | Defeating Denial of Service Attacks which employ IP Source | |||
Address Spoofing", BCP 38, RFC 2827, May 2000. | Address Spoofing", BCP 38, RFC 2827, May 2000. | |||
Appendix A. Acknowledgements | [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. | |||
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, | ||||
The authors would like to thank to Dave Thaler, Pekka Savola, Remi | October 2010. | |||
Denis-Courmont and the members of 6man's address selection design | ||||
team for their invaluable contributions to this document. | ||||
Appendix B. Discussion | ||||
B.1. Centrally assigned ULA | ||||
Discussion: Centrally assigned ULA [I-D.ietf-ipv6-ula-central] is | ||||
proposed, and assigned fc00::/8. Using the different labels for | ||||
fc00::/8 and fd00::/8 makes sense if we can assume the same kind | ||||
of address block is assigned in the same or adjacent network. | ||||
However, the way of assignment and network adjancency may not have | ||||
any relationships. | ||||
B.2. 6to4, Teredo, and IPv4 prioritization | ||||
Discussion: Regarding the prioritization between IPv4 and these | Appendix A. Acknowledgements | |||
transitional mechanisms, their connectivity quality is recently | ||||
known to be worse than IPv4. These mechiansms are said to be the | ||||
last resort access to IPv6 resources. The 6to4 should have higher | ||||
precedence over Teredo, in that 6to4 host to 6to4 host | ||||
communication runs over IPv4, which can result in a more optimal | ||||
path, and 6to4 does not need NAT traversal. | ||||
B.3. Deprecated address | Authors would like to thank to Dave Thaler, Pekka Savola, Remi Denis- | |||
Courmont and the members of 6man's address selection design team for | ||||
their invaluable contributions to this document. | ||||
Discussion: These addresses were removed from the current | Appendix B. Past Discussion | |||
specification. So, they should not be treated differently, | ||||
especially if we think about future re-use of these address | ||||
blocks. | ||||
Considering the inappropriate use of these address blocks, | This section summarizes discussions we had before related to address | |||
especially in outdated implementations, and bad effects caused by | selection mechanisms. | |||
them, however, they should be labeled differently from the | ||||
legitimate address blocks. | ||||
Or should we keep this entry for the sake of backward | ||||
compatibility? | ||||
B.4. The longest match rule | B.1. The longest match rule | |||
RFC 3484 defines that the destination address selection rule 9 should | RFC 3484 defines that the destination address selection rule 9 should | |||
be applied to both IPv4 and IPv6, which spoils the DNS based load | be applied to both IPv4 and IPv6, which spoils the DNS based load | |||
balancing technique that is widely used in the IPv4 Internet today. | balancing technique that is widely used in the IPv4 Internet today. | |||
When two or more destination addresses are acquired from one FQDN, | When two or more destination addresses are acquired from one FQDN, | |||
rule 9 states that the longest matching destination and source | the rule 9 defines that the longest matching destination and source | |||
address pair should be chosen. As stated in RFC 1794, the DNS based | address pair should be chosen. As in RFC 1794, the DNS based load | |||
load balancing technique is achieved by not re-ordering the | balancing technique is achived by not re-ordering the destination | |||
destination addresses returned from the DNS server. Rule 9 defines a | addresses returned from the DNS server. The Rule 9 defines | |||
deterministic rule for re-ordering at hosts, hence the technique of | deterministic rule for re-ordering at hosts, hence the technique of | |||
RFC 1794 is not available anymore. | RFC 1794 is not available anymore. | |||
Regarding this problem, there was discussion in the IETF and other | Regarding this problem, there was discussion in IETF and other places | |||
places that led to some different options being suggested, as listed | like below. | |||
below. | ||||
Discussion: The possible changes to RFC 3484 are as follows: | Discussion: The possible changes to RFC 3484 are as follows: | |||
1. To delete Rule 9 completely. | 1. To delete Rule 9 completely. | |||
2. To apply Rule 9 only for IPv6 and not for IPv4. In IPv6, | 2. To apply Rule 9 only for IPv6 and not for IPv4. In IPv6, | |||
hierarchical address assignment is a general principle, hence the | hiearchical address assignment is general principle, hence the | |||
longest matching rule is beneficial in many cases. In IPv4, as | longest matchin rule is beneficial in many cases. In IPv4, as | |||
stated above, the DNS based load balancing technique is widely | stated above, the DNS based load balancing technique is widely | |||
used. | used. | |||
3. To apply Rule 9 for IPv6 conditionally and not for IPv4. When | 3. To apply Rule 9 for IPv6 conditionally and not for IPv4. When | |||
the length of matching bits of the destination address and the | the length of matching bits of the destination address and the | |||
source address is longer than N, rule 9 is applied. Otherwise, | source address is longer than N, the rule 9 is applied. | |||
the order of the destination addresses do not change. The N | Otherwise, the order of the destination addresses do not change. | |||
should be configurable and it should be 32 by default. This is | The N should be configurable and it should be 32 by default. | |||
simply because the two sites whose matching bit length is longer | This is simply because the two sites whose matching bit length is | |||
than 32 are probably adjacent. | longer than 32 are probably adjacent. | |||
Now that IPv6 PI addressing is being assigned by some RIRs, | Now that IPv6 PI address is admitted in some RIRs, hierachical | |||
hierachical address assignment is not fully maintained anymore. It | address assignment is not maintained anymore. It seems that the | |||
seems that the longest matching algorithm may not be worth the | longest matching algorithm may not worth the adverse effect of | |||
adverse effect of disalbing the DNS based load balance technique. | disalbing the DNS based load balance technique. | |||
After long discussion, however we could not reach any consensus here. | ||||
That means, we cannot change the current rules for this issue. | ||||
B.2. NAT64 prefix issue | ||||
NAT64 WKP was newly defined[RFC6052]. It depends site by site | ||||
whether NAT64 should be preferred over IPv4, in other words NAT44, or | ||||
NAT44 over NAT64. So, this issue of site local policy should be | ||||
solved by policy distribution mechanism. | ||||
Appendix C. Revision History | Appendix C. Revision History | |||
03: | ||||
ULA address selection issue was expanded. | ||||
6to4, Teredo and IPv4 priorization issue was elaborated. | ||||
Deperecated address blocks in policy table section was elaborated. | ||||
In appendix, NAT64 prefix issue was added. | ||||
02: | 02: | |||
Suresh Krishnan's comments were incorporated. | Suresh Krishnan's suggestions for better english sentences were | |||
incorporated. | ||||
A new source address selection rule that utilizes the next-hop | A new source address selection rule that utilizes the next-hop | |||
information is included in Section 2.3 | information is included in Section 2.3. | |||
Site local address prefix was corrected. | ||||
01: | 01: | |||
Restructured to contain only the actual changes to RFC 3484. | Re-structured to contain only the actual changes to RFC 3484. | |||
00: | 00: | |||
Published as a 6man working group item. | Published as a 6man working group item. | |||
03: | 03: | |||
Added acknowledgements. | Added acknowledgements. | |||
Added longest matching algorithm malfunction regarding local DNS | Added longest matching algorithm malfunction regarding local DNS | |||
round robin. | round robin. | |||
The proposed changes section was restructured. | The proposed changes section was re-structured. | |||
The issue of 6to4/Teredo and IPv4 prioritization was included. | The issue of 6to4/Teredo and IPv4 prioritization was included. | |||
The issue of deprecated addresses was added. | The issue of deprecated addresses was added. | |||
The renewed default policy table was changed accordingly. | The renewed default policy table was changed accordingly. | |||
02: | 02: | |||
Added the reference to address selection design team's proposal. | Added the reference to address selection design team's proposal. | |||
01: | 01: | |||
The issue of private IPv4 address scope was added. | The issue of private IPv4 address scope was added. | |||
The issue of ULA address scope was added. | The issue of ULA address scope was added. | |||
Discussion of longest matching rule was expanded. | Discussion of longest matching rule was expanded. | |||
Authors' Addresses | Authors' Addresses | |||
Arifumi Matsumoto | Arifumi Matsumoto | |||
NTT SI Lab | NTT SI Lab | |||
Midori-Cho 3-9-11 | Midori-Cho 3-9-11 | |||
Musashino-shi, Tokyo 180-8585 | Musashino-shi, Tokyo 180-8585 | |||
End of changes. 54 change blocks. | ||||
138 lines changed or deleted | 155 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |