summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc6343.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc6343.txt')
-rw-r--r--doc/rfc/rfc6343.txt1123
1 files changed, 1123 insertions, 0 deletions
diff --git a/doc/rfc/rfc6343.txt b/doc/rfc/rfc6343.txt
new file mode 100644
index 0000000..a11f43c
--- /dev/null
+++ b/doc/rfc/rfc6343.txt
@@ -0,0 +1,1123 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) B. Carpenter
+Request for Comments: 6343 Univ. of Auckland
+Category: Informational August 2011
+ISSN: 2070-1721
+
+
+ Advisory Guidelines for 6to4 Deployment
+
+Abstract
+
+ This document provides advice to network operators about deployment
+ of the 6to4 technique for automatic tunneling of IPv6 over IPv4. It
+ is principally addressed to Internet Service Providers (ISPs),
+ including those that do not yet support IPv6, and to Content
+ Providers. Some advice to implementers is also included. The
+ intention of the advice is to minimize both user dissatisfaction and
+ help-desk calls.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are a candidate for any level of Internet
+ Standard; see Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc6343.
+
+Copyright Notice
+
+ Copyright (c) 2011 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.
+
+
+
+Carpenter Informational [Page 1]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+Table of Contents
+
+ 1. Introduction ....................................................2
+ 2. Principles of Operation .........................................3
+ 2.1. Router 6to4 ................................................3
+ 2.2. Anycast 6to4 ...............................................4
+ 3. Problems Observed ...............................................5
+ 4. Advisory Guidelines ............................................10
+ 4.1. Vendor Issues .............................................10
+ 4.2. Consumer ISPs, and Enterprise Networks, That Do
+ Not Support IPv6 in Any Way ...............................11
+ 4.2.1. Anycast Address Availability .......................11
+ 4.2.2. Protocol 41 ........................................11
+ 4.2.3. IPv4 Prefix Issues .................................12
+ 4.2.4. DNS Issues .........................................12
+ 4.2.5. Rogue Router Advertisements ........................12
+ 4.2.6. Planning for IPv6 Deployment .......................13
+ 4.3. Consumer ISPs, and Enterprise Networks, That Do
+ Support IPv6 ..............................................13
+ 4.4. Transit ISPs and Internet Exchange Points .................14
+ 4.5. Content Providers and Their ISPs ..........................15
+ 5. Tunnels Managed by ISPs ........................................17
+ 6. Security Considerations ........................................17
+ 7. Acknowledgements ...............................................18
+ 8. References .....................................................18
+ 8.1. Normative References ......................................18
+ 8.2. Informative References ....................................18
+
+1. Introduction
+
+ A technique for automatic tunneling of IPv6 over IPv4, intended for
+ situations where a user may wish to access IPv6-based services via a
+ network that does not support IPv6, was defined a number of years
+ ago. It is known as 6to4 [RFC3056] [RFC3068] and is quite widely
+ deployed in end systems, especially desktop and laptop computers.
+ Also, 6to4 is supported in a number of popular models of CPE routers,
+ some of which have it enabled by default, leading to quite widespread
+ unintentional deployment by end users.
+
+ Unfortunately, experience shows that the method has some problems in
+ current deployments that can lead to connectivity failures. These
+ failures cause either long retry delays or complete failures for
+ users trying to connect to services. In many cases, the user may be
+ quite unaware that 6to4 is in use; when the user contacts a help
+ desk, in all probability the help desk is unable to correctly
+ diagnose the problem. Anecdotally, many help desks simply advise
+ users to disable IPv6, thus defeating the whole purpose of the
+ mechanism, which was to encourage early adoption of IPv6.
+
+
+
+Carpenter Informational [Page 2]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ The main goal of the present document is to offer advice to network
+ operators on how to deal with this situation more constructively than
+ by disabling 6to4. It briefly describes the principle of operation,
+ then describes the problems observed, and finally offers specific
+ advice on the available methods of avoiding the problems. Note that
+ some of this advice applies to ISPs that do not yet support IPv6,
+ since their customers and help desks are significantly affected in
+ any case.
+
+ Other advice applies to content providers and implementers, but this
+ document does not discuss aspects that are mainly outside the scope
+ of network operators:
+
+ 1. Operating system preferences between IPv4 and IPv6 when both
+ appear to be available [RFC3484-REVISE].
+
+ 2. Ensuring that application software deals gracefully with
+ connectivity problems [EYEBALLS-IPV6].
+
+ 3. Some content providers have chosen to avoid the problem by hiding
+ their IPv6 address except from customers of pre-qualified
+ networks [DNSWHITE].
+
+ A companion document [HISTORIC] proposes to reclassify 6to4 as
+ Historic. However, this will not remove the millions of existing
+ hosts and CPEs that implement 6to4. Hence, the advice in this
+ document remains necessary.
+
+2. Principles of Operation
+
+ There are two variants of 6to4 that are referred to here as "Router
+ 6to4" and "Anycast 6to4". To understand Anycast 6to4, it is
+ necessary first to understand Router 6to4.
+
+2.1. Router 6to4
+
+ Router 6to4 is the original version, documented in [RFC3056]. The
+ model assumes that a user site operates native IPv6, but that its ISP
+ provides no IPv6 service. The site border router acts as a 6to4
+ router. If its external global 32-bit IPv4 address is V4ADDR, the
+ site automatically inherits the IPv6 prefix 2002:V4ADDR::/48. (The
+ explanation in RFC 3056 is somewhat confusing, as it refers to the
+ obsolete "Top Level Aggregator" terminology.) The prefix 2002:
+ V4ADDR::/48 will be used and delegated for IPv6 service within the
+ user site.
+
+
+
+
+
+
+Carpenter Informational [Page 3]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ Consider two such site border routers, with global IPv4 addresses
+ 192.0.2.170 and 192.0.2.187, and that therefore inherit the IPv6
+ prefixes 2002:c000:2aa::/48 and 2002:c000:2bb::/48, respectively.
+ The routers can exchange IPv6 packets by encapsulating them in IPv4
+ using protocol number 41, and sending them to each other at their
+ respective IPv4 addresses. In fact, any number of 6to4 routers
+ connected to the IPv4 network can directly exchange IPv6 packets in
+ this way.
+
+ Some 6to4 routers are also configured as "relay routers". They
+ behave as just described, but, in addition, they obtain native IPv6
+ connectivity with a normal IPv6 prefix. They announce an IPv6 route
+ to 2002::/16. For example, assume that the 6to4 router at
+ 192.0.2.187 is a relay router, whose address on the 6to4 side is
+ 2002:c000:2bb::1. Suppose that a host with the 6to4 address 2002:
+ c000:2aa::123 sends an IPv6 packet to a native IPv6 destination such
+ as 2001:db8:123:456::321. Assume that the 6to4 router at 192.0.2.170
+ has its IPv6 default route set to 2002:c000:2bb::1, i.e., the relay.
+ The packet will be delivered to the relay, encapsulated in IPv4. The
+ relay will decapsulate the packet and forward it into native IPv6 for
+ delivery. When the remote host replies, the packet (source 2001:db8:
+ 123:456::321, destination 2002:c000:2aa::123) will find a route to
+ 2002::/16, and hence be delivered to a 6to4 relay. The process will
+ be reversed and the packet will be encapsulated and forwarded to the
+ 6to4 router at 192.0.2.170 for final delivery.
+
+ Note that this process does not require the same relay to be used in
+ both directions. The outbound packet will go to whichever relay is
+ configured as the default IPv6 router at the source router, and the
+ return packet will go to whichever relay is announcing a route to
+ 2002::/16 in the vicinity of the remote IPv6 host.
+
+ Of course, there are many further details in RFC 3056, most of which
+ are irrelevant to current operational problems.
+
+2.2. Anycast 6to4
+
+ Router 6to4 assumes that 6to4 routers and relays will be managed and
+ configured cooperatively. In particular, 6to4 sites need to
+ configure a relay router willing to carry their outbound traffic,
+ which becomes their default IPv6 router (except for 2002::/16). The
+ objective of the anycast variant, defined in [RFC3068], is to avoid
+ any need for such configuration. The intention was to make the
+ solution available for small or domestic users, even those with a
+ single host or simple home gateway rather than a border router. This
+ is achieved quite simply, by defining 192.88.99.1 as the default IPv4
+ address for a 6to4 relay, and therefore 2002:c058:6301:: as the
+ default IPv6 router address for a 6to4 site.
+
+
+
+Carpenter Informational [Page 4]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ Since Anycast 6to4 implies a default configuration for the user site,
+ it does not require any particular user action. It does require an
+ IPv4 anycast route to be in place to a relay at 192.88.99.1. As with
+ Router 6to4, there is no requirement that the return path goes
+ through the same relay.
+
+3. Problems Observed
+
+ It should be noted that Router 6to4 was not designed to be an
+ unmanaged solution. Quite the contrary: RFC 3056 contains a number
+ of operational recommendations intended to avoid routing issues. In
+ practice, there are few if any deployments of Router 6to4 following
+ these recommendations. Mostly, Anycast 6to4 has been deployed. In
+ this case, the user site (either a single host or a small broadband
+ gateway) discovers that it doesn't have native IPv6 connectivity, but
+ that it does have a global IPv4 address and can resolve AAAA queries.
+ Therefore, it assumes that it can send 6to4 packets to 192.88.99.1.
+
+ Empirically, 6to4 appears to suffer from a significant level of
+ connection failure; see [Aben] and [Huston-a]. In experiments
+ conducted on a number of dual-stack web servers, the TCP connection
+ failure rate has been measured. In these experiments, the client's
+ connection attempt to a server was considered to have failed when the
+ server received a TCP SYN packet and sent a SYN/ACK packet in
+ response, but received no ACK packet to complete the initial TCP
+ three-way handshake. The experiment conducted by Aben recorded a
+ failure rate of between 9% and 20% of all 6to4 connection attempts.
+ The experiment conducted by Huston has recorded a failure rate of
+ between 9% and 19% of all 6to4 clients. In this latter experiment,
+ it was further noted that between 65% to 80% of all 6to4 clients who
+ failed to connect using 6to4 were able to make a successful
+ connection using IPv4, while the remainder did not make any form of
+ IPv4 connection attempt, successful or otherwise, using the mapped
+ IPv4 address as a source address. No connection attempts using
+ embedded RFC 1918 IPv4 addresses were recorded by the server.
+
+ There have been several possible reasons offered for this form of
+ 6to4 connection failure. One is the use of private IPv4 addresses
+ embedded in the 6to4 address, making the return path for the 6to4
+ tunnel infeasible, and the second is the use of local filters and
+ firewalls that drop incoming IP packets that use IP protocol 41. If
+ the former case were prevalent, it would be reasonable to expect that
+ a significant proportion of failed 6to4 connections would use
+ embedded IPv4 addresses that are either drawn from the private use
+ (RFC 1918) address ranges, contrary to RFC 3056, or from addresses
+ that are not announced in the Internet's IPv4 inter-domain routing
+ table. Neither case was observed to any significant volume in the
+ experiments conducted by Huston. Furthermore, the experimental
+
+
+
+Carpenter Informational [Page 5]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ conditions were varied to use a return 6to4 tunnel with either the
+ native IPv4 source address of the dual-stack server or an IPv4 source
+ address of 192.88.99.1. No change in the 6to4 connection failure
+ rate was observed between these two configurations; however, other
+ operators have reported significant problems when replying from the
+ native address, caused by stateful firewalls at the user site. Given
+ that the server used its own 6to4 relay for the return path, the only
+ difference in the IP packet itself between the successful IPv4
+ connections and the failed 6to4 connections was the IP protocol
+ number, which was 6 (TCP) for the successful IPv4 connections and 41
+ (IPv6 payload) for the failed 6to4 connections. The inference from
+ these experiments is that one likely reason for the high connection
+ failure rate for 6to4 connections is the use of local filters close
+ to the end user that block incoming packets with protocol 41, in some
+ cases made worse by stateful firewalls if the source address is not
+ 192.88.99.1.
+
+ In a dual-stack context, this connection failure rate was effectively
+ masked by the ability of the client system to recover from the
+ failure and make a successful connection using IPv4. In this case,
+ the only effect on the client system was a delay in making the
+ connection of between 7 and 20 seconds as the client's system timed
+ out on the 6to4 connection attempts (see [EYEBALLS-IPV6]).
+
+ This experience, and further analysis, shows that specific
+ operational problems with Anycast 6to4 include:
+
+ 1. Outbound Black Hole: 192.88.99.1 does not generate 'destination
+ unreachable' but in fact packets sent to that address are
+ dropped. This can happen due to routing or firewall
+ configuration, or even because the relay that the packets happen
+ to reach contains an ACL such that they are discarded.
+
+ This class of problem arises because the user's ISP is accepting
+ a route to 192.88.99.0/24 despite the fact that it doesn't go
+ anywhere useful. Either the user site or its ISP is dropping
+ outbound protocol 41 traffic, or the upstream operator is
+ unwilling to accept incoming 6to4 packets from the user's ISP.
+ The latter is superficially compatible with the design of Router
+ 6to4 (referred to as "unwilling to relay" in RFC 3056). However,
+ the simple fact of announcing a route to 192.88.99.0/24 in IPv4,
+ coupled with the behavior described in RFC 3068, amounts to
+ announcing a default route for IPv6 to all 6to4 sites that
+ receive the IPv4 route. This violates the assumptions of RFC
+ 3056.
+
+
+
+
+
+
+Carpenter Informational [Page 6]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ The effect of this problem on users is that their IPv6 stack
+ believes that it has 6to4 connectivity, but in fact all outgoing
+ IPv6 packets are black-holed. The prevalence of this problem is
+ hard to measure, since the resulting IPv6 packets can never be
+ observed from the outside.
+
+ 2. Inbound Black Hole: In this case, 6to4 packets sent to
+ 192.88.99.1 are correctly delivered to a 6to4 relay, and reply
+ packets are returned, but they are dropped by an inbound protocol
+ 41 filter. As far as the user is concerned, the effect is the
+ same as the previous case: IPv6 is a black hole. Many enterprise
+ networks are believed to be set up in this way. Connection
+ attempts due to this case can be observed by IPv6 server
+ operators, in the form of SYN packets from addresses in 2002::/16
+ followed by no response to the resulting SYN/ACK. From the
+ experiments cited above, this appears to be a significant problem
+ in practice.
+
+ This problem is complicated by three variables: the firewall
+ applying the protocol 41 filter may be stateless or stateful; the
+ relay may source its packets from its native IPv4 address or from
+ 192.88.99.1; packets from the relay may be subject to IPv4
+ ingress filtering. If the protocol 41 filter is stateless, 6to4
+ will never succeed. If it is stateful, the firewall will drop
+ inbound packets from addresses that have not been seen in
+ outbound traffic on the same port. In this case, 6to4 will only
+ succeed if the packets are sourced from 192.88.99.1. If the
+ relay is subject to ingress filtering, only packets from its
+ native IPv4 address can be transmitted. Therefore, there are
+ only three combinations that can succeed:
+
+ 1. No protocol 41 filter, with the relay using its native IPv4
+ source address.
+
+ 2. No protocol 41 filter, with the relay using the anycast IPv4
+ source address and with no ingress filter.
+
+ 3. A stateful protocol 41 firewall, with the relay using the
+ anycast IPv4 source address and with no ingress filter.
+
+ 3. No Return Relay: If the Outbound Black Hole problem does not
+ occur, i.e., the outgoing packet does reach the intended native
+ IPv6 destination, the target system will send a reply packet, to
+ 2002:c000:2aa::123 in our example above. Then, 2002::/16 may or
+ may not be successfully routed. If it is not routed, the packet
+ will be dropped (hopefully, with 'destination unreachable').
+ According to RFC 3056, an unwilling relay "MUST NOT advertise any
+ 2002:: routing prefix into the native IPv6 domain"; therefore,
+
+
+
+Carpenter Informational [Page 7]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ conversely, if this prefix is advertised the relay must relay
+ packets regardless of source and destination. However, in
+ practice, the problem arises that some relays reject packets that
+ they should relay, based on their IPv6 source address.
+
+ Whether the native IPv6 destination has no route to 2002::/16 or
+ it turns out to have a route to an unwilling relay, the effect is
+ the same: all return IPv6 packets are black-holed. While there
+ is no direct evidence of the prevalence of this problem, it
+ certainly exists in practice.
+
+ 4. Large RTT: In the event that none of the above three problems
+ applies, and a two-way path does in fact exist between a 6to4
+ host and a native host, the round-trip time may be quite large
+ and variable since the paths to the two relays are unmanaged and
+ may be complex. Overloaded relays might also cause highly
+ variable RTT.
+
+ 5. PMTUD Failure: A common link MTU size observed on the Internet
+ today is 1500 bytes. However, when using 6to4, the path MTU is
+ less than this due to the encapsulation header. Thus, a 6to4
+ client will normally see a link MTU that is less than 1500, but a
+ native IPv6 server will see 1500. It has been observed that Path
+ MTU Discovery (PMTUD) does not always work, and this can lead to
+ connectivity failures. Even if a TCP SYN/ACK exchange works, TCP
+ packets with full-size payloads may simply be lost. This problem
+ is apparently exacerbated in some cases by failure of the TCP
+ Maximum Segment Size (MSS) negotiation mechanism [RFC2923].
+ These failures are disconcerting even to an informed user, since
+ a standard 'ping' from the client to the server will succeed,
+ because it generates small packets, and the successful SYN/ACK
+ exchange can be traced. Also, the failure may occur on some
+ paths but not others, so a user may be able to fetch web pages
+ from one site, but only ping another.
+
+ Additionally, there is a problem if 6to4 is enabled on a router
+ and it advertises the resulting prefix on a LAN, but does not
+ also advertise a smaller MTU; in this case, TCP MSS negotiation
+ will definitely fail.
+
+ 6. Reverse DNS Failure: Typically, a 6to4-addressed host will not
+ have a reverse DNS delegation. If reverse DNS is used as a
+ pseudo-security check, it will fail.
+
+ 7. Bogus Address Failure: By design, 6to4 does not work and will not
+ activate itself if the available V4ADDR is a private address
+ [RFC1918]. However, it will also not work if the available
+ V4ADDR is a "bogon", i.e., a global address that is being used by
+
+
+
+Carpenter Informational [Page 8]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ the operator as a private address. A common case of this is a
+ legacy wireless network using 1.1.1.0/24 as if it was a private
+ address. In this case, 6to4 will assume it is connected to the
+ global Internet, but there is certainly no working return path.
+
+ This failure mode will also occur if an ISP is operating a
+ Carrier Grade NAT [CGN] between its customers and the Internet,
+ and is using global public address space as if it were private
+ space to do so.
+
+ 8. Faulty 6to4 Implementations: It has been reported that some 6to4
+ implementations attempt to activate themselves even when the
+ available IPv4 address is an RFC 1918 address. This is in direct
+ contradiction to RFC 3056, and will produce exactly the same
+ failure mode as Bogus Address Failure. It is of course outside
+ the ISP's control.
+
+ 9. Difficult Fault Diagnosis: The existence of all the above failure
+ modes creates a problem of its own: very difficult fault
+ diagnosis, especially if the only symptom reported by a user is
+ slow access to web pages, caused by a long timeout before
+ fallback to IPv4. Tracking down anycast routing problems and
+ PMTUD failures is particularly hard.
+
+ The practical impact of the above problems, which are by no means
+ universal as there is considerable successful use of Anycast 6to4,
+ has been measured at a fraction of 1% loss of attempted connections
+ to dual-stack content servers [Anderson]. This is because a small
+ fraction of client hosts attempt to connect using 6to4, and up to 20%
+ of these experience one of the above failure modes. While this seems
+ low, it amounts to a significant financial impact for content
+ providers. Also, end users frustrated by the poor response times
+ caused by fallback to IPv4 connectivity [EYEBALLS-IPV6] are
+ considered likely to generate help-desk calls with their attendant
+ costs.
+
+ A rather different operational problem caused incidentally by 6to4 is
+ that, according to observations made at the University of Southampton
+ by Tim Chown and James Morse, and at other sites, rogue Router
+ Advertisements [RFC6104] often convey a 2002::/16 prefix. This
+ appears to be due to misbehavior by devices acting as local IPv6
+ routers or connection-sharing devices but issuing Router
+ Advertisement (RA) messages on the wrong interface. Such a device,
+ if it obtains IPv6 connectivity via an upstream link to the Internet,
+ should only issue the corresponding RA messages on its downstream
+ link to the nodes intended to share its Internet connection. Issuing
+ RA messages on the upstream link will perturb any other IPv6 hosts on
+
+
+
+
+Carpenter Informational [Page 9]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ that link. If 6to4 routing is enabled by default on a device that
+ exhibits this faulty behavior, the resulting rogue RA messages will
+ indeed convey a 2002::/16 prefix.
+
+4. Advisory Guidelines
+
+ There are several types of operator involved, willingly or
+ unwillingly, in the Anycast 6to4 scenario and they will all suffer if
+ things work badly. To avoid operational problems and customer
+ dissatisfaction, there is a clear incentive for each of them to take
+ appropriate action, as described below.
+
+ This document avoids formal normative language, because it is highly
+ unlikely that the guidelines apply universally. Each operator will
+ make its own decisions about which of the following guidelines are
+ useful in its specific scenario.
+
+4.1. Vendor Issues
+
+ Although this document is aimed principally at operators, there are
+ some steps that implementers and vendors of 6to4 should take.
+
+ 1. Some vendors of routers, including customer premises equipment,
+ have not only included support for 6to4 in their products, but
+ have enabled it by default. This is bad practice - it should
+ always be a conscious decision by a user to enable 6to4. Many of
+ the above problems only occur due to unintentional deployment of
+ 6to4.
+
+ 2. Similarly, host operating systems should not enable Anycast 6to4
+ by default; it should always be left to the user to switch it on.
+
+ 3. Any 6to4 implementation that attempts to activate itself when the
+ available IPv4 address is an RFC 1918 address is faulty and needs
+ to be updated.
+
+ 4. 6to4 implementations should adopt updated IETF recommendations on
+ address selection [RFC3484-REVISE].
+
+ 5. 6to4 relay implementations must carefully follow Section 3.2 of
+ [RFC4213] to ensure correct handling of MTU issues.
+
+ 6. 6to4 router or connection-sharing implementations must avoid
+ issuing rogue RAs [RFC6104]. Additionally, where 6to4 is being
+ enabled by a node for Internet-connection-sharing purposes, and
+ the node supports [RFC4191], then it should set the Router
+ Advertisement router preference bits to 11 (low preference).
+
+
+
+
+Carpenter Informational [Page 10]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+4.2. Consumer ISPs, and Enterprise Networks, That Do Not Support IPv6
+ in Any Way
+
+4.2.1. Anycast Address Availability
+
+ To reduce the negative impact of Anycast 6to4 deployed (probably
+ unknowingly) by users, and consequent user dissatisfaction and help-
+ desk calls, such ISPs should check in sequence:
+
+ 1. Does the ISP have a route to 192.88.99.1? (This means an
+ explicit route, or knowledge that the default upstream provider
+ has an explicit route. A default route doesn't count!)
+
+ 2. If so, is it functional and stable?
+
+ 3. If so, is the ping time reasonably short?
+
+ 4. If so, does the relay willingly accept 6to4 traffic from the
+ ISP's IPv4 prefixes? (Note that this is an administrative as
+ well as a technical question -- is the relay's operator willing
+ to accept the traffic?)
+
+ Unless the answer to all these questions is 'yes', the operator
+ should consider blocking the route to 192.88.99.1 and generating an
+ IPv4 'destination unreachable' message. This may cause some 6to4
+ implementations to fall back to IPv4 more quickly. There is little
+ operational experience with this, however.
+
+ Some implementations also perform some form of 6to4 relay
+ qualification. For example, one host implementation (Windows) tests
+ the protocol 41 reachability by sending an ICMPv6 echo request with
+ Hop Limit = 1 to the relay, expecting a response or Hop Limit
+ exceeded error back. Lack of any response indicates that the 6to4
+ relay does not work so 6to4 is turned off [Savola].
+
+ A more constructive approach for such an ISP is to seek out a transit
+ provider who is indeed willing to offer outbound 6to4 relay service,
+ so that the answer to each of the questions above is positive.
+
+4.2.2. Protocol 41
+
+ ISPs in this class should always allow protocol 41 through their
+ network and firewalls. Not only is this a necessary condition for
+ 6to4 to work, but it also allows users who want to use a configured
+ IPv6 tunnel service to do so.
+
+
+
+
+
+
+Carpenter Informational [Page 11]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ Some operators, particularly enterprise networks, silently block
+ protocol 41 on security grounds. Doing this on its own is bad
+ practice, since it contributes to the problem and harms any users who
+ are knowingly or unknowingly attempting to run 6to4. The strategic
+ solution is to deploy native IPv6, making protocol 41 redundant. In
+ the short term, experimentation could be encouraged by allowing
+ protocol 41 for certain users, while returning appropriate ICMP
+ responses as mentioned above. Unfortunately, if this is not done,
+ the 6to4 problem cannot be solved.
+
+4.2.3. IPv4 Prefix Issues
+
+ Operators should never use "bogon" address space such as the example
+ of 1.1.1.0/24 for customers, since IPv4 exhaustion means that all
+ such addresses are likely to be in real use in the near future.
+ (Also, see [RFC6269].) An operator that is unable to immediately
+ drop this practice should ensure that 192.88.99.1 generates IPv4
+ 'destination unreachable'. It has been suggested that they could
+ also run a dummy 6to4 relay at that address which always returns
+ ICMPv6 'destination unreachable' as a 6to4 packet. However, these
+ techniques are not very effective, since most current end-user 6to4
+ implementations will ignore them.
+
+ If an operator is providing legitimate global addresses to customers
+ (neither RFC 1918 nor bogon addresses), and also running Carrier
+ Grade NAT (Large Scale NAT) between this address space and the global
+ address space of the Internet, then 6to4 cannot work properly. Such
+ an operator should also take care to return 'destination unreachable'
+ for 6to4 traffic. Alternatively, they could offer untranslated
+ address space to the customers concerned.
+
+4.2.4. DNS Issues
+
+ A customer who is intentionally using 6to4 may also need to create
+ AAAA records, and the operator should be able to support this, even
+ if the DNS service itself runs exclusively over IPv4. However,
+ customers should be advised to consider carefully whether their 6to4
+ service is sufficiently reliable for this.
+
+ Operators could, in principle, offer reverse DNS support for 6to4
+ users [RFC5158], although this is not straightforward for domestic
+ customers.
+
+4.2.5. Rogue Router Advertisements
+
+ Paradoxically, operators in this category should consider whether
+ they need to defend themselves against rogue IPv6 RA messages
+ [RFC6105], since such messages may appear from devices seeking to
+
+
+
+Carpenter Informational [Page 12]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ operate as 6to4 routers and confuse any user devices with IPv6
+ enabled by default. Eventually, the measures being designed by the
+ IETF Source Address Validation Improvement (SAVI) working group will
+ assist with this problem. In the short term, IPv4-only operators may
+ choose to filter out packets with the IPv6 Ethertype (0x86DD) in
+ their access equipment; this will definitively remove rogue RA
+ packets.
+
+4.2.6. Planning for IPv6 Deployment
+
+ Enterprise operators who have complete administrative control of all
+ end systems may choose to disable 6to4 in those systems as an
+ integral part of their plan to deploy IPv6.
+
+ Some IPv4 operators have chosen to install a 6to4 relay, connected
+ via an IPv6-in-IPv4 tunnel to an IPv6 operator, as a first step
+ before native IPv6 deployment. The routing guidelines in Section 4.4
+ would apply. However, offering genuine IPv6 service to interested
+ customers, even if tunneled, would generally be a better first step.
+
+4.3. Consumer ISPs, and Enterprise Networks, That Do Support IPv6
+
+ Once an operator does support IPv6 service, whether experimentally or
+ in production, it is almost certain that users will get better
+ results using this service than by continuing to use 6to4.
+ Therefore, these operators are encouraged to advise their users to
+ disable 6to4 and they should not create DNS records for any 6to4
+ addresses.
+
+ Such an operator may automatically fall into one of the following two
+ categories (transit provider or content provider), so the guidelines
+ in Sections 4.4 or 4.5 will apply instead.
+
+ Operators in this category should make sure that no routers are
+ unintentionally or by default set up as active 6to4 relays.
+ Unmanaged 6to4 relays will be a source of problems.
+
+ Operators in this category should consider whether they need to
+ defend themselves against rogue RA messages with an RA Guard solution
+ [RFC6105]. If RA Guard is not available, it may help in some cases
+ if at least one legitimate IPv6 router per LAN supports [RFC4191] and
+ sets the Router Advertisement router preference bits to 01 (high
+ preference). Eventually, the measures being designed by the IETF
+ Source Address Validation Improvement (SAVI) working group will
+ assist with this problem.
+
+
+
+
+
+
+Carpenter Informational [Page 13]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+4.4. Transit ISPs and Internet Exchange Points
+
+ We assume that transit ISPs have IPv6 connectivity. To reduce the
+ negative impact of Anycast 6to4 on all their client networks, it is
+ strongly recommended that they each run an Anycast 6to4 relay
+ service. This will have the additional advantage that they will
+ terminate the 6to4 IPv4 packets and can then forward the decapsulated
+ IPv6 traffic according to their own policy. Otherwise, they will
+ blindly forward all the encapsulated IPv6 traffic to a competitor who
+ does run a relay.
+
+ Although most modern Internet Exchange Points do not offer IP layer
+ services, an Internet exchange point (IXP) could choose to operate an
+ Anycast 6to4 relay service for the benefit of its customers. If so,
+ it should follow the recommendations in this section.
+
+ It is of critical importance that routing to this service is
+ carefully managed:
+
+ 1. The IPv4 prefix 192.88.99.0/24 must be announced only towards
+ client IPv4 networks whose outbound 6to4 packets will be
+ accepted.
+
+ 2. The IPv6 prefix 2002::/16 must be announced towards native IPv6.
+ The relay must accept all traffic towards 2002::/16 that reaches
+ it, so the scope reached by this announcement should be carefully
+ planned. It must reach all client IPv6 networks of the transit
+ ISP. If it reaches a wider scope, the relay will be offering a
+ free ride to non-clients.
+
+ 3. As discussed in item 2 of Section 3, the choice of IPv4 source
+ address used when the relay sends 6to4 packets back towards a
+ 6to4 user is important. The best choice is likely to be
+ 192.88.99.1, not the relay's unicast IPv4 address, unless ingress
+ filtering is an issue. This is to avoid failure if the user is
+ behind a stateful firewall.
+
+ 4. The relay should be capable of responding correctly to ICMPv6
+ echo requests encapsulated in IPv4 protocol 41, typically with
+ outer destination address 192.88.99.1 and inner destination
+ address 2002:c058:6301::. (As noted previously, some 6to4 hosts
+ are known to send echo requests with Hop Limit = 1, which allows
+ them to rapidly detect the presence or absence of a relay in any
+ case, but operators cannot rely on this behavior.)
+
+ 5. Protocol 41 must not be filtered in any IPv4 network or
+ firewalls.
+
+
+
+
+Carpenter Informational [Page 14]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ 6. As a matter of general practice, which is essential for 6to4 to
+ work well, IPv6 PMTUD must be possible, which means that ICMPv6
+ must not be blocked anywhere [RFC4890]. This also requires that
+ the relay has a sufficiently high ICMP error generation
+ threshold. For a busy relay, a typical default rate limit of 100
+ packets per second is too slow. On a busy relay, 1000 pps or
+ more might be needed. If ICMPv6 "Packet Too Big" error messages
+ are rate limited, users will experience PMTUD failure.
+
+ 7. The relay must have adequate performance, and since load
+ prediction is extremely hard, it must be possible to scale it up
+ or, perhaps better, to replicate it as needed. Since the relay
+ process is stateless, any reasonable method of load sharing
+ between multiple relays will do.
+
+ 8. Of course, the relay must be connected directly to global IPv4
+ space, with no NAT.
+
+ Operators in this category should make sure that no routers are
+ unintentionally or by default set up as active 6to4 relays.
+ Unmanaged 6to4 relays will be a source of problems.
+
+4.5. Content Providers and Their ISPs
+
+ We assume that content providers and their ISPs have IPv6
+ connectivity, and that the servers are dual stacked. The following
+ applies to content servers as such, but equally to web hosting
+ servers, servers that form part of a content distribution network,
+ load balancers in front of a server farm, and HTTP caches. There is
+ a need to avoid the situation where a client host, configured with
+ Anycast 6to4, succeeds in sending an IPv6 packet to the server, but
+ the 6to4 return path fails as described above. To avoid this, there
+ must be a locally positioned 6to4 relay. Large content providers are
+ advised to operate their own relays, and ISPs should do so in any
+ case. There must be a 2002::/16 route from the content server to the
+ relay. As noted in the previous section, the corresponding route
+ advertisement must be carefully scoped, since any traffic that
+ arrives for 2002::/16 must be relayed.
+
+ Such a relay may be dedicated entirely to return traffic, in which
+ case, it need not respond to the 6to4 anycast address.
+
+ Nevertheless, it seems wisest to ensure that when the relay sends
+ 6to4 packets back towards a 6to4 user, they should have 192.88.99.1
+ as their IPv4 source address (not the relay's unicast IPv4 address).
+ As noted above, this is to avoid problems if the user is behind a
+ stateful firewall that drops UDP packets from addresses that have not
+
+
+
+
+Carpenter Informational [Page 15]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ been seen in outbound traffic. However, it is also necessary that
+ 192.88.99.1 is not blocked by upstream ingress filtering -- this
+ needs to be tested.
+
+ Without careful engineering, there is nothing to make the return path
+ as short as possible. It is highly desirable to arrange the scope of
+ advertisements for 2002::/16 such that content providers have a short
+ path to the relay, and the relay should have a short path to the ISP
+ border. Care should be taken about shooting off advertisements for
+ 2002::/16 into BGP4; they will become traffic magnets. If every ISP
+ with content provider customers operates a relay, there will be no
+ need for any of them to be advertised beyond each ISP's own
+ customers.
+
+ Protocol 41 must not be filtered in the ISP's IPv4 network or
+ firewalls. If the relays are placed outside the content provider's
+ firewall, the latter may filter protocol 41 if desired.
+
+ The relay must have adequate performance, and since load prediction
+ is extremely hard, it must be possible to scale it up or, perhaps
+ better, to replicate it as needed. Since the relay process is
+ stateless, any reasonable method of load sharing between multiple
+ relays will do.
+
+ The relay must of course be connected directly to global IPv4 space,
+ with no NAT.
+
+ An option is to embed the relay function directly in the content
+ server or first hop router. This is straightforward, since it can be
+ achieved by enabling a local 6to4 interface, and using it to route
+ 2002::/16 for outbound packets. (This might not allow use of
+ 192.88.99.1 as the source address.) Further details are to be found
+ at [Huston-b]. However, in this case protocol 41 must be allowed by
+ the firewalls.
+
+ Content providers who do embed the relay function in this way could,
+ in theory, accept inbound 6to4 traffic as well. This is highly
+ unadvisable since, according to the rules of 6to4, they would then
+ have to relay traffic for other IPv6 destinations, too. So they
+ should not be reachable via 192.88.99.1. Also, they should certainly
+ not create an AAAA record for their 6to4 address -- their inbound
+ IPv6 access should be native, and advertising a 6to4 address might
+ well lead to unicast reverse path forwarding (uRPF) [RFC3704] ingress
+ filtering problems.
+
+ To avoid the path MTU problem described above, content servers should
+ also set their IPv6 MTU to a safe value. From experience, 1280 bytes
+ (the minimum allowed for IPv6) is recommended; again, see [Huston-b].
+
+
+
+Carpenter Informational [Page 16]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ Of course, ICMPv6 "Packet Too Big" must not be blocked or rate-
+ limited anywhere [RFC4890].
+
+ Reverse DNS delegations are highly unlikely to exist for 6to4
+ clients, and are by no means universal for other IPv6 clients.
+ Content providers (and, in fact, all service providers) should not
+ rely on them as a pseudo-security check for IPv6 clients.
+
+ Operators and content providers should make sure that no routers are
+ unintentionally or by default set up as active 6to4 relays.
+ Unmanaged 6to4 relays will be a source of problems.
+
+5. Tunnels Managed by ISPs
+
+ There are various ways, such as tunnel brokers [RFC3053], 6rd
+ [RFC5969], and Layer 2 Tunneling Protocol version 2 (L2TPv2) hub-and-
+ spoke [RFC5571], by which Internet Service Providers can provide
+ tunneled IPv6 service to subscribers in a managed way, in which the
+ subscriber will acquire an IPv6 prefix under a normal provider-based
+ global IPv6 prefix. Most of the issues described for 6to4 do not
+ arise in these scenarios. However, for IPv6-in-IPv4 tunnels used by
+ clients behind a firewall, it is essential that IPv4 protocol 41 is
+ not blocked.
+
+ As a matter of general practice, IPv6 PMTUD must be possible, which
+ means that ICMPv6 "Packet Too Big" must not be blocked or rate-
+ limited anywhere [RFC4890].
+
+6. Security Considerations
+
+ There is a general discussion of security issues for IPv6-in-IPv4
+ tunnels in [RFC6169], and [TUNNEL-LOOPS] discusses possible malicious
+ loops. [RFC3964] specifically discusses 6to4 security. In summary,
+ tunnels create a challenge for many common security mechanisms,
+ simply because a potentially suspect packet is encapsulated inside a
+ harmless outer packet. All these considerations apply to the
+ automatic mechanisms discussed in this document. However, it should
+ be noted that if an operator provides well-managed servers and relays
+ for 6to4, non-encapsulated IPv6 packets will pass through well-
+ defined points (the native IPv6 interfaces of those servers and
+ relays) at which security mechanisms may be applied.
+
+ A blanket recommendation to block protocol 41 is not compatible with
+ mitigating the 6to4 problems described in this document.
+
+
+
+
+
+
+
+Carpenter Informational [Page 17]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+7. Acknowledgements
+
+ Useful comments and contributions were made by Emile Aben, Mikael
+ Abrahamsson, Tore Anderson, Hermin Anggawijaya, Jack Bates, Cameron
+ Byrne, Tim Chown, Remi Despres, Jason Fesler, Wes George, Philip
+ Homburg, Ray Hunter, Geoff Huston, Eric Kline, Victor Kuarsingh,
+ Martin Levy, David Malone, Alexey Melnikov, Martin Millnert, Keith
+ Moore, Gabi Nakibly, Michael Newbery, Phil Pennock, Pekka Savola,
+ Mark Smith, Nathan Ward, James Woodyatt, and others.
+
+8. References
+
+8.1. Normative References
+
+ [RFC3056] Carpenter, B. and K. Moore, "Connection of IPv6
+ Domains via IPv4 Clouds", RFC 3056, February 2001.
+
+ [RFC3068] Huitema, C., "An Anycast Prefix for 6to4 Relay
+ Routers", RFC 3068, June 2001.
+
+8.2. Informative References
+
+ [Aben] Aben, E., "6to4 - How Bad is it Really?", 2010, <ht
+ tps://labs.ripe.net/Members/emileaben/
+ 6to4-how-bad-is-it-really>.
+
+ [Anderson] Anderson, T., "IPv6 dual-stack client loss in
+ Norway", 2010, <http://www.fud.no/ipv6/>.
+
+ [CGN] Perreault, S., Yamagata, I., Miyakawa, S.,
+ Nakagawa, A., and H. Ashida, "Common requirements
+ for Carrier Grade NAT (CGN)", Work in Progress,
+ July 2011.
+
+ [DNSWHITE] Livingood, J., "IPv6 AAAA DNS Whitelisting
+ Implications", Work in Progress, June 2011.
+
+ [EYEBALLS-IPV6] Wing, D. and A. Yourtchenko, "Happy Eyeballs:
+ Trending Towards Success with Dual-Stack Hosts",
+ Work in Progress, October 2010.
+
+ [HISTORIC] Troan, O., "Request to move Connection of IPv6
+ Domains via IPv4 Clouds (6to4) to Historic status",
+ Work in Progress, June 2011.
+
+ [Huston-a] Huston, G., "Flailing IPv6", 2010, <http://
+ www.potaroo.net/ispcol/2010-12/6to4fail.html>.
+
+
+
+
+Carpenter Informational [Page 18]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ [Huston-b] Huston, G., "Two Simple Hints for Dual Stack
+ Servers", 2010, <http://www.potaroo.net/ispcol/
+ 2010-05/v6hints.html>.
+
+ [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot,
+ G., and E. Lear, "Address Allocation for Private
+ Internets", BCP 5, RFC 1918, February 1996.
+
+ [RFC2923] Lahey, K., "TCP Problems with Path MTU Discovery",
+ RFC 2923, September 2000.
+
+ [RFC3053] Durand, A., Fasano, P., Guardini, I., and D. Lento,
+ "IPv6 Tunnel Broker", RFC 3053, January 2001.
+
+ [RFC3484-REVISE] Matsumoto, A., Kato, J., Fujisaki, T., and T.
+ Chown, "Update to RFC 3484 Default Address
+ Selection for IPv6", Work in Progress, July 2011.
+
+ [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for
+ Multihomed Networks", BCP 84, RFC 3704, March 2004.
+
+ [RFC3964] Savola, P. and C. Patel, "Security Considerations
+ for 6to4", RFC 3964, December 2004.
+
+ [RFC4191] Draves, R. and D. Thaler, "Default Router
+ Preferences and More-Specific Routes", RFC 4191,
+ November 2005.
+
+ [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition
+ Mechanisms for IPv6 Hosts and Routers", RFC 4213,
+ October 2005.
+
+ [RFC4890] Davies, E. and J. Mohacsi, "Recommendations for
+ Filtering ICMPv6 Messages in Firewalls", RFC 4890,
+ May 2007.
+
+ [RFC5158] Huston, G., "6to4 Reverse DNS Delegation
+ Specification", RFC 5158, March 2008.
+
+ [RFC5571] Storer, B., Pignataro, C., Dos Santos, M., Stevant,
+ B., Toutain, L., and J. Tremblay, "Softwire Hub and
+ Spoke Deployment Framework with Layer Two Tunneling
+ Protocol Version 2 (L2TPv2)", RFC 5571, June 2009.
+
+ [RFC5969] Townsley, W. and O. Troan, "IPv6 Rapid Deployment
+ on IPv4 Infrastructures (6rd) -- Protocol
+ Specification", RFC 5969, August 2010.
+
+
+
+
+Carpenter Informational [Page 19]
+
+RFC 6343 6to4 Advisory August 2011
+
+
+ [RFC6104] Chown, T. and S. Venaas, "Rogue IPv6 Router
+ Advertisement Problem Statement", RFC 6104,
+ February 2011.
+
+ [RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C.,
+ and J. Mohacsi, "IPv6 Router Advertisement Guard",
+ RFC 6105, February 2011.
+
+ [RFC6169] Krishnan, S., Thaler, D., and J. Hoagland,
+ "Security Concerns with IP Tunneling", RFC 6169,
+ April 2011.
+
+ [RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P., and
+ P. Roberts, "Issues with IP Address Sharing",
+ RFC 6269, June 2011.
+
+ [Savola] Savola, P., "Observations of IPv6 Traffic on a 6to4
+ Relay", ACM SIGCOMM CCR 35 (1) 23-28, 2006.
+
+ [TUNNEL-LOOPS] Nakibly, G. and F. Templin, "Routing Loop Attack
+ using IPv6 Automatic Tunnels: Problem Statement and
+ Proposed Mitigations", Work in Progress, May 2011.
+
+Author's Address
+
+ Brian Carpenter
+ Department of Computer Science
+ University of Auckland
+ PB 92019
+ Auckland, 1142
+ New Zealand
+
+ EMail: brian.e.carpenter@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Carpenter Informational [Page 20]
+