nanog mailing list archives

Re: Router ID on IPv6-Only


From: Jon Lewis <jlewis () lewis org>
Date: Thu, 8 Sep 2022 15:39:46 -0400 (EDT)

On Wed, 7 Sep 2022, Crist Clark wrote:

During some IPv6 numbering discussions at work today, someone had a question that I hadn't really considered before. 
How to choose 32-bit router IDs for
IPv6-only routers.
Quick background. We have a requirement to convert a significant portion of our network to IPv6-only over the next few 
years. Previously, I, and everyone else on
the team, have only ever set up routers in dual-stack environments. Choosing a router ID for use in routing protocols 
just followed whatever rules you used for
your IPv4 networking. You used the same router ID in IPv4 and IPv6.

Well, now there is no IPv4. But BGP, OSPFv3, and other routing protocols still use 32-bit router IDs for IPv6. On the 
one hand, there are plenty of 32-bit
numbers to use. Generally speaking, router IDs just need to be unique inside of an AS to do their job, but (a) for 
humans or automation to generate them and (b)
to easily recognize them, it's convenient to have some algorithm or methodology for assigning them.

Has anyone thought about this or have a good way to do it? We had ideas like use bits 32-63 from an interface. Seems 
like it could work, but also could totally
break down if we're using >64-bit prefixes for things like router-to-router links or pulling router loopbacks out of a 
common /64.

Also, various network OS implementations will typically automatically choose a router ID from the IPv4 addresses on the 
router by some algorithm (e.g.
numerically lowest) if not explicitly configured. Was curious what IPv6-only routers do. Haven't had the chance to get 
on some lab gear or GNS3 to just try it
and see.

I have no idea what your v6 numbering plan is, but given ours, I don't see how we could get away with using bits 32-63 from any (loopback or real) interface v6 address [that we've assigned] as the router id.

As you say, it's just a 32-bit number, and has to be unique within your AS. You could easily abuse some of your v4 space to be tracked in your IPAM or some other db as router IDs (and still use those IPs on servers or whatever since the routers aren't really "using them" from an IPv4 routing perspective). Or you might pick a suitably sized subnet from 100.64.0.0/10 to be used as router IDs. That would avoid the confusion of "why is server X's IP the router-id for these routes?"

----------------------------------------------------------------------
 Jon Lewis, MCP :)           |  I route
 StackPath, Sr. Neteng       |  therefore you are
_________ http://www.lewis.org/~jlewis/pgp for PGP public key_________


Current thread: