You need to consider several concepts when using IPv6 addressing. For starters, the format of the address has changed. Three types of addresses are used in IPv6, with some predefined values within the address space. You need to get used to seeing these addresses and be able to identify their uses.
IPv6 Address Format
For the design of IPv4 addresses, you present addresses as octets or the decimal (base 10) representation of 8 bits. Four octets add up to the 32 bits required. IPv6 expands the address space to 128 bits, and the representation is for the most part shown in hexadecimal (a notation used to represent 8 bits using the values 0–9 and A–F). Figure 4.13 compares IPv4 to IPv6.
FIGURE 4.13 IPv4/IPv6 comparison

![]() |
A full IPv6 address looks like this example:
2001:0DB8:0000:0000:1234:0000:A9FE:133E
You can tell the implementation of DNS will make life a lot easier even for those who like to ping the address in lieu of the name. Fortunately, DNS already has the ability to handle IPv6 addresses with the use of an AAAA record. (A is short for alias.) An A record in IPv4’s addressing space is 32 bits, so an AAAA record, or four As, is 128 bits. The Windows Server 2022 DNS server handles the AAAA and the reverse pointer (PTR) records for IPv6.
IPv6 Address Shortcuts
There are several shortcuts for writing an IPv6 address. These are described in the following list:
■ :0: stands for :0000:.
■ You can omit preceding 0s in any 16- bit word. For example, :DB8: and :0DB8: are equivalent.
■ :: is a variable standing for enough zeros to round out the address to 128 bits. :: can be used only once in an address.
You can use these shortcuts to represent the example address 2001:0DB8:0000:0000 :1234:0000:A9FE:133E, as shown here:
■ Compress :0000: into :0::
2001:0DB8:0000:0000:1234:0:A9FE:133E
■ Eliminate preceding zeros:
2001:DB8:0000:0000:1234:0:A9FE:133E
■ Use the special variable shortcut for multiple 0s:
2001:DB8::1234:0:A9FE:133E
You now also use prefix notation or slash notation when discussing IPv6 networks.
For example, the network of the previous address can be represented as 2001:DB8:0000: 0000:0000:0000:0000:0000. This can also be expressed as 2001:DB8:: /32. The /32 indicates 32 bits of network, and 2001:DB8: is 32 bits of network.
IPv6 Address Assignment
So, do you subnet IPv6? The answer depends on your definition of subnetting. If you are given 32 bits of network from your ISP, you have 96 bits with which to work. If you use some of the 96 bits to route within your network infrastructure, then you are subnetting. In this context, you do subnet IPv6. However, given the huge number of bits you have available, you will no longer need to implement VLSM. For example, Microsoft has a network space of 2001:4898:: /32. That gives the administrators a space of 96 bits (296 = 79,228,162,514,264,337,593,543,950,336 unique addresses using all 96 bits) with which to work.
You can let Windows Server 2022 dynamically/automatically assign its IPv6 address, or you can still assign it manually (see Figure 4.14). With dynamic/automatic assignment, the IPv6 address is assigned either by a DHCPv6 server or by the Windows Server 2022 machine. If no DHCPv6 server is configured, the Windows Server 2022 machine can query the local LAN segment to find a router with a configured IPv6 interface. If so, the server will assign itself an address on the same IPv6 network as the router interface and set its default gateway to the router interface’s IPv6 address. Figure 4.14 shows that you have the same dynamic and manual choices as you do in IPv4; however, the input values for IPv6 must conform to the new format.
FIGURE 4.14 TCP/IPv6 Properties window

To see your configured IP addresses (IPv4 and IPv6), you can still use the ipconfig command. For example, I have configured a static IPv4 address and an IPv6 address on my server. The IPv6 address is the same as the one used in the earlier IPv6 example address. Figure 4.15 shows the result of this command on Windows Server 2022 for my server.
FIGURE 4.15 IPv6 configuration as seen from the command prompt
