{"id":29,"date":"2021-08-19T07:48:24","date_gmt":"2021-08-19T07:48:24","guid":{"rendered":"https:\/\/subnettingpractice.com\/?page_id=29"},"modified":"2023-04-29T20:38:04","modified_gmt":"2023-04-29T13:38:04","slug":"how-to-subnet-ipv6","status":"publish","type":"page","link":"https:\/\/subnettingpractice.com\/how-to-subnet-ipv6.html","title":{"rendered":"IPv6 Subnetting Explained"},"content":{"rendered":"

IPv6 was designed to replace IPv4. The simple reason is that the IPv4 address space is running out. The world has reached the point where there are not enough 32-bit addresses to link every device which wants to connect to the Internet. IPv6 uses 128 bits. So how large is the IPv6 address space?<\/a> Intuitively, it might seem like it’s 4 times bigger (128 compared to 32 bits), but it’s larger than that. Much much larger. Each additional bit adds an additional ‘power of 2’ to the address space. IPv6 allows almost 8*1028 times as many addresses as IPv4. Basically, a number too large for the human mind to grasp. Because of the enormity of the address space, IPv6 subnetting design follows different best practices.<\/p>\r\n

Most experienced network engineers have become conditioned to using CIDR, VLSM, NAT, and private addresses to conserve IPv4 space. With IPv6, conserving addresses is no longer a concern. The subnet mask recommended for end host use in IPv6 is always a \/64<\/strong>. This means that even if you have 200 devices on a single \/64 network prefix, you still have 264-200 unused address spaces. This can be a little hard to accept if you’re used to subnetting to conserve IPv4 addresses, but you need to change your mindset when working with IPv6 and realize that there is absolutely no need to worry about wasting addresses.<\/p>\r\n

Rather the concern is how many subnets fit within a certain network. If you’ve been assigned a \/48, how many \/64s can you place inside it? These are the questions that IPv6 subnetting asks. You can get try it out with our IPv6 subnetting practice<\/a>.<\/p>\r\n

IPv6 is written in hexadecimal, using the digits 0-9 and a-f. A hexadecimal digit represents 4 bits or 16 decimal units. Eight groups of four hexadecimal digits represent each IPv6 address. Colons separate these groups. An example is: 2001:0db8:2231:aaec:0000:0000:4a4a:2100. You can use our Binary Decimal Hexadecimal Calculator<\/a> to convert between the different values.<\/p>\r\n

Even though IPv6 addresses are written in hexadecimal units, they are still large and cumbersome. There are a couple of ways to shorten them. One or more leading zeros from each group can be dropped. A consecutive set of groups with only zeros can be replaced with double colons “::<\/strong>“. Putting this into practice, the above address can be written as 2001:db8:2231:aaec::<\/strong>4a4a:2100.<\/p>\r\n

Note that the ::<\/strong> cannot be used on more than one section of zeros but only once per address. 2001::<\/strong>ab32::<\/strong> is not a valid address because we do not know how many sets of zeros are in each :: group. The address could be 2001:0000:0000:ab32:0000:0000:0000:0000, or it could be 2001:0000:0000:0000:0000:ab32:0000:0000.<\/p>\r\n

<\/div>\r\n

Correct IPv6 Notation<\/h2>\r\n

IPv6 addresses should be written a certain way. This will make interpreting the addresses faster and easier for humans and computer programs.<\/p>\r\n\r\n