Making the Switch - more
Step 3: Enable IPv6 on your router
To enable IPv6 on the LRT224, I enabled dual-stack in the IP Mode screen in the Setup > Network menu, as shown below.
Once I enabled dual-stack, I noticed the WAN interface on my router now had a global IPv6 address, but my PCs did not. A global IPv6 address is similar to what we refer to as a "public" IPv4 address. Global IPv6 addresses typically have a first digit of 2.
In addition to the IPv6 address on my WAN interface, I knew I needed a global IPv6 subnet (also known as a prefix) to assign to my LAN, but I had no idea how to get one. I called Time Warner for guidance, but received none, to put it politely. Eventually, I reached out to Linksys and they told me to enable the DHCP-PD feature on the router. DHCP-PD (PD = Prefix Delegation) is a component of DHCPv6, which is the version of DHCP used for IPv6 addressing.
In the below screenshot, you can see DHCP-PD enabled on the LRT224 and an IPv6 prefix successfully received from Time Warner. (Note, in the below screenshot and others throughout this article, I've replaced digits of my actual IPv6 addresses with "xxxx." Since these are globally accessible IPv6 addresses, it isn't wise to publish them on the Internet.)
With DHCP-PD enabled, an end user's router will send a DHCPv6 request to the ISP for an IPv6 address and an IPv6 prefix. The ISP will respond with an IPv6 address for the router's WAN interface and an IPv6 prefix the router can use for the LAN.
As shown in the below wireshark output of the DHCPv6 reply from Time Warner to my LRT224, I received a WAN IPv6 address of 2606:a000:dfc0:15:a1f4:4829:a55d:xxxx, a LAN IPv6 prefix length = 64 and a LAN prefix = 2606:a000:1205:xxxx:. Subsequently, and as I'll show in Step 4, devices on my LAN will get an IPv6 address starting with 2606:a000:1205:xxxx.
DHCPv6 Wireshark trace
Note that a /64 prefix is typically the smallest IPv6 subnet assigned since it is required for SLAAC (stateless address autoconfiguration) to work (more on SLAAC shortly). But it's possible to subnet an IPv6 address to a smaller subnet than /64 if you use DHCPv6 or static addressing. In case you're wondering, a /64 IPv6 subnet is 264 addresses, i.e. 18,446,744,073,709,551,616. Enjoy!
Step 4: Get an IPv6 address on your device
This should happen automatically for IPv6-enabled devices. But a quick way to force it to happen on a Windows 7 or higher system is to type ipconfig /release and then ipconfig /renew from the command prompt. Once complete, type ipconfig /all. The output will look something like that below.
Notice the line labeled Temporary IPv6 address with an arrow next to it on the left. This is a global IPv6 address my PC uses when I go to a public IPv6 website. Notice that the first half of that address matches the prefix I received via DHCP-PD.
A new issue with IPv6 is Stateless Address Autoconfiguration (SLAAC). SLAAC is an IPv6 method devices use to request network information and generate their own unique IPv6 addresses without a DHCP server. Windows labels addresses generated via SLAAC as "Temporary." In this case, the global IPv6 address my Windows PC is using has been generated via SLAAC.
SLAAC is considered a more efficient means of delivering IPv6 addresses, as a DHCP server isn't needed and router resources aren't consumed maintaining a list of devices and their associated address. The downside is SLAAC eliminates the convenience of viewing a DHCP table on the router, displaying devices and their IP addresses. On the LRT224, the DHCPv6 server is disabled by default. You can manually configure DHCPv6 on the LRT224, which would then provide the ability to see devices and their IPv6 addresses.
You'll also notice an IPv6 device has multiple IPv6 addresses. It is common for a device to have multiple IPv6 addresses, each with a different purpose. In addition to global addresses, other IPv6 address types include link-local addresses, multicast addresses and unique local addresses.
Link-local addresses, which start with FE80, are automatically created by IPv6 enabled devices for local communication only and are not routable addresses. Multicast addresses, which start with FF, are used for various purposes, such as to request router information via IPv6 Neighbor Discovery Protocol (NDP). Unique local addresses, which start with FC, are similar to private addresses in IPv4. However, since Network Address Translation (NAT) is typically not used in IPv6, the use of unique local IPv6 addresses has limitations.
Clearly, all these addresses are going to require a change in the way we think about LAN address space!