What is a typical and simple to remember example IPv6 subnet?

2

In IPv4 people often use subnets like 10.0.0.0 (10.0.0.1 - 10.0.0.254) or 192.168.0.0

Both of these are rather easy to remember. What is their alternative in IPv6? I know I can probably invent any possible subnet that comes to my mind, but I would rather use something more standard.

ISC-DHCP server uses 2001:db8:0:1::/64 in their example, but this address range seems to me quite complex and hard to remember.

Is it possible to use something very simple, such as a::0 - a::ffff? What are some good examples easy to remember and also widely used?

Petr

Posted 2015-05-18T16:00:03.570

Reputation: 1 453

Are you looking for addresses to assign to hosts in a network, or just to use in documentation/examples? – heavyd – 2015-05-18T16:26:56.610

1Memorability is one thing IPv4 sometimes had that IPv6 largely leaves in the past. The sooner one learns to stop hoping for IPv6 address memorability, the better. – Spiff – 2015-05-18T16:57:10.617

@heavyd I am looking for addresses to assign to hosts on a LAN – Petr – 2015-05-19T15:00:38.100

@Spiff what's wrong on IP adresses being easy to remember? Especially if it's just a LAN network where I should be technically able to use pretty much any free / useable address? Why would I want to prefer something that is hard to remember over something that is easy to remember? Especially for network services for which I need to remember IP address, like DNS server. – Petr – 2015-05-19T15:02:39.913

@Petr, in that case you should be assigning IP addresses based on the prefix your ISP assigns you. The last 64 bits of the IP can be whatever you want, but the first 64 are assigned by your ISP. – heavyd – 2015-05-19T15:05:03.010

@Petr There's nothing "wrong" with IPv6 addresses being easy to remember, it's just a v4-ism that doesn't really hold in v6; you're clinging to outdated notions instead of fully seeking IPv6 enlightenment :-) . As for DNS, DNS server addresses are provided in v6's Router Advertisements. You should never have to manually type them into a client machine, even when you're not using DHCPv6. – Spiff – 2015-05-19T16:00:08.100

1@Petr Wanting to have a non-public/non-routable prefix you use when setting up private LANs is also an outdated holdover from the days of IPv4 address scarcity. In the early 1990's, before IPv4 addresses became scarce, network admins were encouraged to get globally unique public routable subnets even when creating isolated LANs. With IPv6's mind-bogglingly-huge address space, we're back to those good old days. Even if you're setting up an isolated LAN, get a real IPv6 prefix for it (that is, if you need routers on it. If you don't need routers, just let it do link-local SLAAC). – Spiff – 2015-05-19T16:06:07.170

Answers

3

RFC 3849 officially designates 2001:db8::/32 as the prefix to use for documentation. That's why the ISC DHCP server's documentation uses it.

RFC 5737 defines the documentation subnets for IPv4 as the blocks:

192.0.2.0/24 (TEST-NET-1)  
198.51.100.0/24 (TEST-NET-2)  
203.0.113.0/24 (TEST-NET-3)

Documentation writers who don't know better misuse the RFC 1918 IPv4 private address ranges:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16. 

The IPv6 equivalent of that (bad) practice would be to use the RFC 4193 Unique Local Address prefix of fc00::/7.

What's so hard to remember about 2001:db8::/32? Just imagine Stanley Kubrick fans arguing about 2001: A Space Odyssey. It's a 2001 debate.

The 2001:: prefix is used for a lot of publicly routable addresses, so 2001:db8:: even "looks like" a "real" prefix.

Spiff

Posted 2015-05-18T16:00:03.570

Reputation: 84 656

“Just imagine Stanley Kubrick fans arguing about 2001: A Space Odyssey. It's a 2001 debate.” Make it even better by making the analogy: It's a 2001 debate among 32 year olds. – JakeGould – 2015-05-18T17:00:02.797

that almost made it clear but is it ok to use subnet that is meant to be used for documentation in real production setup? – Petr – 2015-05-18T20:38:53.437

@Petr That would not be considered a "best practice". I imagine the "best practice" is to simply use your real prefix. You can get huge swaths of address space for free, with almost no effort. – Spiff – 2015-05-18T20:46:58.307

The db8 part can be pronounced 'debate' if that helps you remember it – Sander Steffann – 2015-05-18T23:39:26.840

@SanderSteffann: That's already crystal clear from the answer, otherwise why would the word "debate" even be mentioned there? – Karan – 2015-05-19T03:07:45.510

I don't see any point in remembering something that I am not supposed to use. @Spiff what is my "real prefix"? – Petr – 2015-05-19T14:55:40.217

ah, now I get it, I used word "example" in question title, which wasn't really correct. My question is more or less what would be typical LAN (local) IPv6, eg. for use in real world, not in "examples". But this is probably best answer for my not-well formulated question. Although it doesn't really answer what I wanted to know :) – Petr – 2015-05-19T15:08:32.633

2

People don't use those addresses because they're easy to remember, they're used because they have been specifically allocated for private use (see RFC 1918).

IPv6 does have a set of addresses called Unique Local Addressess (RFC 4193) which can be used in a similar fashion. The subnet for these addresses is:

fd00::/8

However, the RFC does specify that the first 40 bits should be randomly generated so that there are no no collisions globally. Here is the breakdown from the RFC:

| 7 bits |1|  40 bits   |  16 bits  |          64 bits           |
+--------+-+------------+-----------+----------------------------+
| Prefix |L| Global ID  | Subnet ID |        Interface ID        |
+--------+-+------------+-----------+----------------------------+

So, that doesn't make things easy to remember, but is the "right way" to do it.

heavyd

Posted 2015-05-18T16:00:03.570

Reputation: 54 755

Okay, so does this mean fd00::/8 is the proper IPv6 addressing for a LAN network? Basically an alternative for 192.168.0.0 in IPv4? – Petr – 2015-05-19T14:59:12.090

@Petr, its the proper addressing for a private network (ie. not routable on the internet). In IPv6, typically your ISP will actually allocate you at least a /64 network to allocate addresses from. Usually in an IPv6 world your LAN will not actually sit behind a NAT router like you usually do in an IPv4 world. Your hosts will all have publicly routable IP addresses. – heavyd – 2015-05-19T15:00:58.847

There are great many cases where you wouldn't want to have publicly routable IP address, for example if you are on a network full of application servers that are supposed to be isolated from internet, or if you for example set up a LAN for few boxes that don't even have any means of access to internet (some gamer LAN party and so on) in this case you may want to connect to others by using their LAN IP address and you wouldn't want to type in long complex address. You could of course use IPv4 in this case, but I was looking into future a bit ;) – Petr – 2015-05-19T15:14:27.903

In the case of servers, having a good firewall provides sufficient protection. Also, for any use case that is limited to LAN only, most machines by default have an automatically configured Link-Local IP that can be used. That being said, you can use the Unique Local Addresses to assign them if you'd rather have that. – heavyd – 2015-05-19T16:25:54.793

@Petr In global IPv6 every device will have at least two addresses, and should have at least three. One is the link-local address only valid on the same LAN, another is the global address assigned by the ISP, and the third is the ULA address. Your wireless router which connects you to the ISP should be configured to provide a ULA prefix to your local network, and you should always use these to access local resources within your own internal network, as they will not change. – Michael Hampton – 2015-05-23T01:43:51.857