Understanding IPv6
13 minute read.
IPv6 is the next generation Internet protocol replacing the current IPv4 protocol. IPv4 is running out of numbers due to the ever increasing number devices world wide wanting to connect. The rise of the Internet of Things (IoT), where smart sensors in homes, motor vehicles, and businesses all want or need to connect to the Internet to allow data collection and sharing for analytics, device maintenance and monitoring, increased safety and productivity, and overall improvement in consumer and customer experiences is a source of an ever-increasing demand for IP addresses. Because of the length and configuration of IPv6 addresses, there is little risk of this protocol running out of numbers any time soon.
An IPv6 address is a 128-bit alphanumeric address organized into eight groups of 16 bits with each group expressed as four-digit hexadecimal numbers separated by colons. An example of an IPv6 address is fe80:cd00:0000:0cde:1257:0000:211e:729c.
IPv6 addresses are split into two parts: a network (routing prefix) and a node component (interface ID).
The network component (commonly 64 bits) is the first part of the address and is used for routing. This component can be split into a block for global network addresses and a block network administrators can use for subnets on an internal network.
The node component is the second part of the IPv6 address. If using auto-configuration, this part of the address can be derived from a physical or MAC address, using the 64-bit extended unique identifier (EUI-64) format defined by the Institute of Electrical and Electronics Engineers (IEEE). This format is designed to provide unique addresses to any electronic device equipped with sensors and connect them for data sharing.
The IPv6 total address can be shortened. The addressing scheme allows the omission of any leading zero as well as any sequences consisting of only zeros. Using the example above, a shorted address can look like fe80:cd00:0:cde:1257:0:211e:729c.
The specific layout of IPv6 addresses can vary depending on its format. It has three basic parts: routing prefix, subnet ID, and the interface ID. The routing prefix and subnet ID can represent either global or site specific information. The interface ID can be manually or automatically configured.
The IPv6 protocol eliminates the need for:
the IPv6 protocol adds new capabilities:
Before implementing IPv6, there are a few things to consider:
These commands are for troubleshooting IPv6 networks:
OS | Command | Description |
---|---|---|
Linux | ip addr | Shows IPv6 address information. |
MacOS | ifconfig | Shows IPv6 address information. |
Windows | ipconfig | Shows IPv6 address information. You might need to include the /all parameter to show all IPv6 configurations in addition to the IPv4 on older windows devices. |
OS | Command | Description |
---|---|---|
Linux | ip -6 neighbor show | Uses the IPv6 Neighbor Discovery to determine nearby nodes on the same segment. Shows the neighbor discovery table to troubleshoot or survey the environment. |
MacOS | `ndp-a | Uses the IPv6 Neighbor Discovery to determine nearby nodes on the same segment. Shows the neighbor discovery table to troubleshoot or survey the environment. |
Windows | netsh interface ipv6 show neighbors | Uses the IPv6 Neighbor Discovery to determine nearby nodes on the same segment. Shows the neighbor discovery table to troubleshoot or survey the environment. |
OS | Command | Description |
---|---|---|
Linux | ping6 IPv6-address | Use to ping a remote node. |
MacOS | ping6 IPv6-address | Use to ping a remote node. |
Windows | ping -6 IPv6-address | Use to ping a remote node. |
OS | Command | Description |
---|---|---|
Linux | traceroute6 IPv6-address | Use to check the network path to a remote system. |
MacOS | traceroute6 IPv6-address | Use to check the network path to a remote system. |
Windows | traceroute -6 IPv6-address | Use to check the network path to a remote system. |
Windows | tracert-6 IPv6-address | Use to trace IPv6 address routes. |
For a list of available IPv6 addresses, refer to Reserved IPv6 Addresses or the IANA IPv6 Special-Purpose Address Registry.
For more information on SLAAC, refer to IPv6 Stateless Address Auto-configuration (SLAAC). This article provide in depth explanations of the 128bit IPv6 address, how SLAAC works to detect device addresses to create unique addresses, and provides information on configuring Cisco routers for IPv6.
The Internet Society has created a guide to help organizations wade through the process of setting up IPv6.