BytesOfProgress

Wiki


IPv6 Subnetting

IPv6 was designed with subnetting in mind, making it as simple as possible. This article is going to cover IPv6 subnetting on the nibble boundary. That means /64, /60, /56, /52, /48.

As we learned in IPv6 Intro, an IPv6 address is 128 bit long, with 16 bit per hextet and 4 bit (1 nibble) per digit.

Let's start with an example:

fd0a:e293:5442:0123::/64

The "/64" is the network prefix length. With 64 bit network prefix length we got one big subnet. The first 64 bit are the network prefix length and the last 64 bit are the interface identifier.

Let's say we want to turn the /64 to a /56. The difference between these two is 8, meaning we got 8 additional bit for subnetting. 8 bit = 2 nibble = 2 digits:

Now we can just create subnets by counting. with /56, it would be 256 subnets, with the first 5 subnets being

and the last 2 subnets being

We still write /64, because we sort of filled up the network prefix: The networks are still as big in terms of available addresses for hosts as before (64 bit). That means we have available addresses for 18,446,744,073,709,551,616 (ca. 18.4 quintillion) hosts/interfaces.




back