RFC 3068
An Anycast Prefix for 6to4 Relay Routers
An Anycast Prefix for 6to4 Relay Routers ๐
Okay bestie, let's start with the header stuff โจ This is RFC 3068 from the Network Working Group, written by C. Huitema at Microsoft. It's a Standards Track doc, dated June 2001. The header doesn't list anything it obsoletes or updates, so it's totally standing on its own ๐
Status of This Memo ๐
This doc is an Internet standards track protocol spec for the Internet community, and it's basically asking for discussion and suggestions for improvements ๐ซถ For the standardization state and status of this protocol, check the current "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited.
Copyright Notice โญ
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract ๐
Okay so this memo introduces a "6to4 anycast address" to make setting up 6to4 routers way easier ๐ It also explains how that address gets used by 6to4 relay routers, and how the matching "6to4 anycast prefix" gets advertised in the IGP and in the EGP. It documents that IANA (Internet Assigned Numbers Authority) reserved the "6to4 relay anycast prefix." Iconic reservation, honestly ๐
1. Introduction ๐ฆ
Okay so according to [RFC3056], a 6to4 routing domain has two deployment options, and it depends on whether the domain uses an IPv6 exterior routing protocol ๐ If it does, the 6to4 routers get routes to all existing IPv6 networks through the combination of EGP and IGP. If it doesn't, the 6to4 routers using a given relay router each have a default IPv6 route pointing to that relay router. That second case is usually small networks, and finding and configuring that default route is, like, a significant hurdle for them ๐ญ Even when those managers do find a route, it often points to a router on the other side of the Internet, which gives really poor performance ๐
Operating 6to4 routers means they either take part in IPv6 inter-domain routing, or they get provisioned with a default route. This memo proposes a standard way to define that default route ๐ It brings in the IANA assigned "6to4 Relay anycast prefix," and 6to4 packets get automatically routed from there to the nearest available router โจ It also lets the managers of 6to4 relay routers control which sources are authorized to use their resource. And it makes it easy to set up a large number of 6to4 relay routers, which is the whole point for scalability ๐ง
2. Definitions ๐ธ
Okay so this memo uses the definitions from [RFC3056], especially the definition of a 6to4 router and a 6to4 Relay Router. It adds the definitions of the 6to4 Relay anycast prefix, 6to4 Relay anycast address, 6to4 IPv6 relay anycast address, and Equivalent IPv4 unicast address ๐
2.1. 6to4 router (or 6to4 border router)
It's an IPv6 router that supports a 6to4 pseudo-interface. It's normally the border router between an IPv6 site and a wide-area IPv4 network ๐ท
2.2. 6to4 Relay Router
This is a 6to4 router configured to support transit routing between 6to4 addresses and native IPv6 addresses โจ
2.3. 6to4 Relay anycast prefix
It's an IPv4 address prefix used to advertise an IPv4 route to an available 6to4 Relay Router, as defined in this memo ๐ฆ
The value of this prefix is 192.88.99.0/24
2.4. 6to4 Relay anycast address
This is an IPv4 address used to reach the nearest 6to4 Relay Router, as defined in this memo ๐
The address corresponds to host number 1 in the 6to4 Relay anycast prefix, 192.88.99.1.
2.5. 6to4 IPv6 relay anycast address
This is the IPv6 address derived from the 6to4 Relay anycast address, following the rules defined in 6to4, using a null prefix and a null host identifier ๐ซถ
The value of the address is "2002:c058:6301::".
2.6. Equivalent IPv4 unicast address
This is a regular IPv4 address associated with a specific 6to4 Relay Router. Packets sent to that address get treated by the 6to4 Relay Router as if they had been sent to the 6to4 Relay anycast address ๐
3. Model, requirements ๐
Okay so operating 6to4 routers in domains that don't run an IPv6 EGP means those routers have to be configured with a default route to the IPv6 Internet ๐ญ That route gets expressed as a 6to4 address. The packets bound to this route get encapsulated in IPv4, where the source is an IPv4 address associated with the 6to4 router, and the destination is the IPv4 address extracted from the default route. The goal is a model where the configuration is automatic โจ
It should also be easy to set up a large number of 6to4 relay routers, so they can keep up with demand ๐ The discovery of the nearest relay router should be automatic, and if a router fails, the traffic should be automatically redirected to the nearest available router ๐ฅ The managers of the 6to4 relay routers should also be able to control which sources are authorized to use their resource.
Anycast routing is known to cause operational issues, and this is the tea โ Since the sending 6to4 router doesn't directly identify the specific 6to4 relay router it forwards packets to, it's hard to identify the responsible router when something fails, especially when the failure is transient or intermittent ๐ So anycast solutions have to include adequate monitoring of the routers doing the service, so failures get promptly detected and corrected. They also need adequate fault isolation procedures, so the responsible element can be found when needed, for example after a user's complaint ๐ซถ
4. Description of the solution ๐ง
4.1. Default route in the 6to4 routers
Okay so the 6to4 routers are configured with the default IPv6 route ::/0 pointing to the 6to4 IPv6 anycast address ๐ฆ
4.2. Behavior of 6to4 relay routers
The 6to4 relay routers that follow the specification of this memo shall advertise the 6to4 anycast prefix, using the IGP of their IPv4 autonomous system, as if it where a connection to an external network ๐
The 6to4 relay routers that advertise the 6to4 anycast prefix will receive packets bound to the 6to4 anycast address. They'll relay these packets to the IPv6 Internet, as specified in [RFC3056] โจ
Each 6to4 relay router that advertises the 6to4 anycast prefix MUST also provide an equivalent IPv4 unicast address ๐ Packets sent to that unicast address follow the same processing path as packets sent to the anycast address, which means they get relayed to the IPv6 Internet ๐
4.3. Interaction with the EGP
Okay so if the managers of an IPv4 autonomous domain that includes 6to4 relay routers want to make those routers available to neighbor ASes, they advertise reachability of the 6to4 anycast prefix ๐ท When this advertisement is done using BGP, the initial AS path must contain the AS number of the announcing AS. The AS path should also include an indication of the actual router providing the service. There's a suggestion to do this by documenting the router's equivalent IPv4 address in the BGP aggregator attribute of the path, but further work is needed on this point ๐ง
The path to the 6to4 anycast prefix may be propagated using standard EGP procedures. The whole v6 network will appear to v4 as a single multi-homed network, with multiple access points scattered over the whole Internet ๐
4.4. Monitoring of the 6to4 relay routers
Any 6to4 relay router corresponding to this specification must include a monitoring function, to check that the 6to4 relay function is operational ๐ฅ If it detects that the relay function isn't operational, the router must stop injecting the route leading to the 6to4 anycast prefix immediately ๐
The equivalent IPv4 address may be used to check remotely that a specific router is operational, for example by tunneling a test IPv6 packet through the router's equivalent unicast IPv4 address ๐ When a domain deploys several 6to4 relay routers, it's possible to build a centralized monitoring function by using the list of equivalent IPv4 addresses of those routers โจ
4.5. Fault isolation
When an error is reported, for example by a user, the domain manager should be able to find the specific 6to4 relay router causing the problem ๐ต๏ธ The first step of fault isolation is to retrieve the equivalent unicast IPv4 address of the router the user is using. If the router is located within the domain, this information has to be retrieved from the IGP tables. If the service is obtained through a peering agreement with another domain, the information gets retrieved from the EGP data, for example the BGP path attributes ๐
The second step is obviously to perform connectivity tests using the equivalent unicast IPv4 address ๐
5. Discussion of the solution ๐
The initial surfacing of the proposal in the NGTRANS working group helped uncover a bunch of issues, like scaling concerns, the size of the address prefix, the need for an AS number, and concerns about risking staying too long in a transition state ๐ซถ
5.1. Does it scale ?
Okay so with the proposed scheme, it's easy to first deploy a small number of relay routers, which will carry the limited 6to4 traffic during the initial phases of IPv6 deployment ๐ธ The routes to these routers get propagated according to standard peering agreements.
As demand for IPv6 increases, we expect more ISPs to deploy 6to4 relay routers ๐ Standard IPv4 routing procedures will direct the traffic to the nearest relay router, which assures good performance โจ
5.2. Discovery and failover
The 6to4 routers send packets bound to the v6 Internet by tunneling them to the 6to4 anycast address ๐ฆ These packets reach the closest 6to4 relay router provided by their ISP, or by the closest ISP according to inter-domain routing.
The routes to the relay routers get propagated according to standard IPv4 routing rules, and that's what makes discovery automatic ๐
If a 6to4 relay router somehow breaks, or loses connectivity to the v6 Internet, it stops advertising reachability of the 6to4 anycast prefix ๐ญ At that point, the local IGP automatically computes a route toward the "next best" 6to4 relay router. We expect that adequate monitoring tools will be used to guarantee timely discovery of connectivity losses ๐ซถ
5.3. Access control
Only those ASes that run 6to4 relay routers and are willing to provide access to the v6 network announce a path to the 6to4 anycast prefix ๐ They can use the existing structure of peering and transit agreements to control who they're willing to provide service to, and they can possibly charge for it ๐
5.4 Why do we need a large prefix? ๐
okay so bestie, in theory a single IP address (aka a /32 prefix) would be enough ๐ค all the IGPs, and even BGP, can carry routes that are super specific. in practice though? those tiny routes are almost guaranteed NOT to work ๐
the thing is, the size of the routing table is a HUGE deal for the managers of "default free" networks ๐ they don't wanna waste a routing entry (it's a precious resource!!) just so a small number of internet nodes can use it. so a lot of them have set up filters that automatically drop routes that are too specific. most of these filters are based on prefix length, like "my network will not accept advertisements for a network that is smaller than a /24." and the actual cutoff can be different from network to network, and it can change over time ๐
it could honestly be argued that using a big network is a waste of the precious addressing resource ๐ค BUT it's a waste for a really good cause: actually moving to IPv6, which gives real relief to the address exhaustion problem ๐ฆ so it's worth it, periodt โจ
5.5 Do we need a specific AS number? ๐
so the first version of this memo suggested using a specific AS number to label a virtual AS that holds all the 6to4 relay routers ๐ง the idea was to make it easier to register the access point in databases like the RADB routing registry [RADB]. but then further analysis showed that this wasn't actually required for practical operation ๐ so we chilled on that one
5.6 Will this slow down the move to IPv6? ๐
some people were worried that, while giving 6to4 access routers an anycast address would make life a bit easier, it would also leave things stuck in a transition state forever ๐ญ but honestly? we believe the opposite is true ๐
here's the tea: a big condition for easily leaving the "tunnelling" state is that it's easy to reach the "real" IPv6 network ๐ซถ people need to trust that picking a real IPv6 address won't somehow tank their performance. so the anycast proposal actually makes sure we DON'T get stuck in perpetual transition. it's giving progress โจ
6 Future Work ๐ฎ
okay so using a default route to reach the IPv6 Internet has a potential drawback ๐ the chosen relay might not be on the most direct path to the target v6 address. and honestly, early on in deployment, a relay close to the 6to4 site probably won't be the site's ISP or the native destination's ISP ๐ฌ it'll probably be some third party ISP's relay doing transit, and it might have lousy connectivity ๐
using the relay closest to the native destination would match the v4 route more closely, and could possibly be a lot more reliable ๐ฅ one way to deal with this could be a "redirection" procedure, where the 6to4 router learns the most appropriate route for a specific destination. this is left for further study ๐ง
the practical operation of the 6to4 relay routers also needs monitoring and testing tools, plus gradual management practices ๐ ๏ธ this document gives general guidelines for designing those tools and practices, but we expect the real deployment to be guided by operational experience ๐ธ
7 Security Considerations ๐จ
the generic security risks of 6to4 tunnelling, and the protections that go with them, are discussed in [RFC3056] ๐ the anycast technique adds an extra risk though: a rogue router or a rogue AS could introduce a bogus route to the 6to4 anycast prefix and divert traffic. yikes ๐ฑ IPv4 network managers have to guarantee the integrity of their routing to the 6to4 anycast prefix in much the same way they guarantee the integrity of generic v4 routing. this is serious, bestie, do NOT skip it ๐ซ
8 IANA Considerations ๐
the whole purpose of this memo is to document IANA's allocation of an IPv4 prefix dedicated to the 6to4 gateways to the native v6 Internet ๐ and there's no need for any recurring assignment, so that's a one-and-done vibe โจ
9. Intellectual Property โ๏ธ
this notice is copied from RFC 2026 [Bradner, 1996], Section 10.4, and it explains the IETF's position on intellectual property claims made against this document ๐
the IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or on whether any licence under such rights might or might not be available. it also doesn't say it has made any effort to identify any such rights ๐คทโโ๏ธ information about the IETF's procedures for rights in standards-track and standards-related documentation can be found in BCP-11. copies of claims of rights made available for publication, any assurances of licences to be made available, or the result of an attempt to get a general licence or permission for implementers or users of this specification to use such proprietary rights, can all be obtained from the IETF Secretariat ๐ฌ
the IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology required to practise this standard. please send that information to the IETF Executive Director ๐
10 Acknowledgements ๐ซถ
this discussion was triggered by a note that Brad Huntting sent to the NGTRANS and IPNG working groups ๐ the note revived earlier informal discussions, and we have to thank the members of the NGTRANS and IPNG working groups, especially Scott Bradner, Randy Bush, Brian Carpenter, Steve Deering, Bob Fink, Tony Hain, Bill Manning, Keith Moore, Andrew Partan and Dave Thaler ๐ you all are iconic ๐
11 References ๐
[RFC3056] Carpenter, B. and K. Moore "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001.
[RADB] Introducing the RADB. Merit Networks, http://www.radb.net/docs/intro.html.
12 Author's Address ๐๏ธ
Christian Huitema Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399
EMail: huitema@microsoft.com
13 Full Copyright Statement ยฉ๏ธ
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. ๐
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. โพ๏ธ
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ๐
Acknowledgement
Funding for the RFC Editor function is currently provided by the Internet Society. ๐ธ
๐ฆ where this page comes from
- ietf: rfc3068 2001-06
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms