Know your IPv4 and IPv6 address ranges

We’re busy implementing IPv6 on our BGP edges and eventually in our core at the moment. It’s pretty easy in the IPv4 world to work out what addresses are what, but there are loads more in IPv6.

I’ve decided to list the current assigned and reserved IPv4 and IPv6 address spaces here. Note that this list is still a work in progress, especially on the IPv6 side of things.

Let’s start with IPv4. Most of you should know most of the reserved ranges, but there may be a few you didn’t know about.

IPv4

Reserved:
0.0.0.0/8 – RFC1700
127.0.0.0/8 – Loopback

Internal private ranges (RFC1918)
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Documentation (RFC5737)
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

Multicast (RFC5771, RFC6034 & RFC2365)
224.0.0.0/8 – 239.0.0.0/8

‘Future use’ – will never be used
240.0.0.0/8 – 255.0.0.0/8

255.255.255.255 is reserved for limited broadcast (RFC919 and RFC922)

IPv6

Now let’s check IPv6. The current Global Unique (aka public IP) range is 2000::/3 – that means any address from 2000:0000:0000:0000:0000:0000:0000:0000 – 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF is a global unique unicast address – However, RFC3849 deems it fit to assign 2001:0DB8::/32 as non-routable to be used for documentation. Why they couldn’t use a range outside 2000::/3 is beyond me.

The following are all reserved by the IEFT (RFC4291, RFC4048 and RFC3879)
0100::/8
0200::/7
0400::/6
0800::/5
1000::/4
4000::/3
6000::/3
8000::/3
A000::/3
C000::/3
E000::/4
F000::/5
F800::/6
FE00::/9
FEC0::/10

Unique Local Unicast addresses (RFC4193)
FC00::/7

Link Local Unicast addresses (RFC4291)
FE80::/10

Multicast addresses (RFC4291)
FF00::/8

Loopback address
::1

Default route
::/0

6to4 tunnels
2002::/16

Teredo (RFC4380)
2001::/32

Unspecified
::

I’m sure I may have missed some out, so please let me know if I have

© 2009-2020 Darren O'Connor All Rights Reserved -- Copyright notice by Blog Copyright