RFC 3068

An Anycast Prefix for 6to4 Relay Routers

๐Ÿ“… published June 2001, from ietf

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 (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

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