> 
> I have always been kind of partial to the idea of taking advantage
> IPv6 features and letting hosts set their own addresses with EUI-64
> interface numbers.

That's all fine and dandy until the NIC card is swapped out for a new one. It's 
best to use fixed IPv6 addresses for services (and have the service bind() to 
those) and use the EUI-64 address for machine-related tasks (ssh, backups, 
etc). You can use the same EUI-64 network for both, as the EUI-64 space is 
sparse and there are lots of "never will be autoconfed" address, conveniently 
including those with lots of zeroes. The router(s) interface addresses should 
be hardcoded within that EUI-64 subnet, and …::1/64, …::2/64 are the obvious 
choices.

There's an issue of address exhaustion is you use /64 for router-router links, 
and the best suggestion I've seen there is to use /126, as that makes the last 
octet consistently …1 or …2 for each end of a point-to-point link, which is 
operationally nicer than stuffing about with binary in your head to determine 
which address to ping (i.e., you take your interface's address and replace the 
last hexnumeral with 1 or 2 to get your neighbours address).

The exception to router link addressing would be links with eBGP neighbours, 
where using the ASN of the networks is just so convenient.

You don't care much for correspondence between IPv4 and IPv6 addresses, except 
in the case of router loopback interfaces where it is very operationally 
convenient to be able to mentally determine "is this the same router which I 
just saw in IPv4". Since you'll be typing those most often they are the obvious 
candidate for "subnet zero" so that "::" reduces the typing to the minimum. The 
obvious thing to do is to reserve the entire …:00:00:00:00::/64 and use the 
bottom N bits of that to match the binary IPv4 address of the loopback. N could 
be 32 bits if you like excessive typing or have a really big network.

I've seen a few schemes which try to decimal numerals of the IPv4 address in 
the IPv6 address, but I don't find any of them compelling. If you really, 
really think you want that, then putting the top 16b in hex numerals and the 
lower 16b in decimal numerals will do what you want without excessive address 
consumption. This sounds difficult to use, but operationally you soon get used 
to the hex prefix and only notice when it isn't one of the common ones.

-- 
 Glen Turner <http://www.gdt.id.au/~gdt/>


Reply via email to