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_________