IPv6 (Internet Protocol version 6) is a protocol destined to replace the IPv4 protocol that still runs the vast majority of the Internet.
More IP addresses[edit | edit source]
IPv6 uses a different method to create IP addresses than IPv4, using 128-bit IP addresses instead of 32-bit. The number of available IP addresses in IPv6 are an increase from 4,294,967,296 of IPv4 to 340,282,366,920,938,463,463,374,607,431,768,211,456. This should allow for 4.3*10^28 IP addresses for every one of the approximately 7.9 billion people on the planet.
Address notation[edit | edit source]
An IPv6 address is written using hexadecimal (base-16) digits, with letters A-F standing for the digits for 10-15, respectively (case-insensitive). The values 0-15 correspond to the possible values of 4 bits, or one nibble, so there are 32 such digits in a complete IPv6 address. Each group of 4 digits, or 16 bits, is separated from the next by a colon: 2001:db8:3df5:2a76:23f6:7300:0000:356a
IPv6 addresses can contract certain groups of zero digits. Within any group of 4 digits, leading zeros can be omitted; 2001:db8:002a:3256:adfe:05c0:0003:0006 becomes 2001:db8:2a:3256:adfe:5c0:3:6.
A single consecutive set of one or more 4-digit groups that are all completely zero can be omitted and replaced by :: in each address. The previous example 2001:db8:3df5:2a76:23f6:7300:0000:356a then can contract to form 2001:db8:3df5:2a76:23f6:7300::356a. The address 2001:db8:0000:0000:de52:32fd:0000:0000 can contract to 2001:db8::de52:32fd:0:0 or 2001:db8:0:0:de52:32fd::, but not both - this contraction may be performed only once in any particular address, as 2001:db8::de52:32fd:: leaves no information of the placement of the digits de52:32fd.
Use in URLs[edit | edit source]
Because IPv6 addresses contain colons, they cannot be directly used in URLs because the colons would conflict with both the protocol declaration (http:// or https://) and port numbers. Therefore, when a literal IPv6 address is used, it is encased in a bracket, like http://[2001:db8::1]:80. This does not affect domain names with IPv6 addresses as the URL does not contain any actual IPv6 addresses.
In DNS, domain names mapped to IPv6 addresses do so using AAAA records in DNS.
CIDR notation[edit | edit source]
Like IPv4, IPv6 also uses CIDR notation to describe address ranges in terms of a common prefix of bits, and the length of that prefix. Because each digit represents 4 bits, any prefix whose length is a multiple of 4 includes address with the exact same prefix. For example, 2001:db8::/32 describes all addresses with the common prefix of digits 2001:db8.