What is IPv6?

Version 6 of IP. It expands addresses to 128 bits, written as eight groups of 16 bits in hexadecimal, such as 2001:db8::1. The header is a simpler fixed 40 bytes, and routers along the path do not fragment packets. It is not compatible with IPv4, so the transition uses dual stack, which runs both at once, and translation mechanisms.

Japanese name: IPv6

IPv6 appears in 3 practice questions across 1 topic, including Computer Networking Basics.

Field: Computer Networking Basics

How addresses are written, and their types

A 128-bit address is split into eight 16-bit groups, each written as four hexadecimal digits and separated by colons. Leading zeros in a group can be dropped, and one run of all-zero groups can be replaced by ::, so 2001:0db8:0000:0000:0000:0000:0000:0001 becomes 2001:db8::1. Usually the upper 64 bits are the prefix that identifies the network and the lower 64 bits are the interface ID, and a LAN is assigned a /64. The types include global unicast addresses used on the internet, link-local addresses (fe80::/10) that work only on one link and exist on every interface, unique local addresses (fc00::/7) for use inside an organization, and multicast addresses (ff00::/8). There is no broadcast.

Main changes from IPv4

The header is a fixed 40 bytes, and options moved into extension headers chained through the Next Header field. The header checksum was removed, leaving error detection to the link layer and upper layers. Only the source fragments packets: a router drops a packet that is too big and reports it with ICMPv6, and the source adjusts its packet size with path MTU discovery. Every link must support an MTU of at least 1280 bytes. Neighbor Discovery (NDP) over ICMPv6 replaces ARP for finding MAC addresses, and hosts can configure their own addresses from router advertisements (SLAAC).

Coexisting with IPv4

IPv6 and IPv4 use different header formats and cannot talk to each other directly. The transition therefore combines dual stack, where one device runs both; tunnels, which carry IPv6 packets inside IPv4 packets or the reverse; and translation such as NAT64 with DNS64, which lets IPv6-only hosts reach IPv4 servers. With plenty of addresses, NAT is no longer needed to save addresses, but a firewall is still needed to block unwanted inbound traffic. Temporary addresses, which use random, short-lived interface IDs, make devices harder to track.

Try it: questions about IPv6

Which correctly shortens the IPv6 address 2001:0db8:0000:0000:0000:0000:0000:0001 according to the abbreviation rules?

  1. A2001:db8:1
  2. B2001:db8::1
  3. C2001:db8::0::1
Show answer and explanation

Answer: B. 2001:db8::1

An IPv6 address is 128 bits long (IPv4 is 32 bits), divided into eight 16-bit groups, each written as four hexadecimal digits. There are two abbreviation rules: leading zeros in each group can be dropped (0db8→db8, 0001→1), and one run of consecutive all-zero groups can be replaced with "::" once. Here the five zero groups from the third to the seventh collapse to give 2001:db8::1. Using "::" twice is not allowed because it would be ambiguous how many zero groups each one stands for. "2001:db8:1" has only three groups and lacks the "::" that marks omitted zero groups, so it is not a valid form of this address.

FAQ

How many IPv6 addresses are there?

2^128, about 3.4 × 10^38. That is vastly more than IPv4's 2^32 (about 4.3 billion); a single /64 assigned to one LAN alone contains 2^64 addresses.

Can an IPv4 host and an IPv6 host talk directly?

No, because their header formats differ. Dual-stack devices that have both kinds of address talk over either IPv4 or IPv6, and an IPv6-only host needs a translation mechanism such as NAT64 to reach an IPv4 server.

What does :: mean in an IPv6 address?

It marks where a run of all-zero groups was left out. It may be used only once in an address, because with two of them it would be impossible to tell how many zero groups each one replaced.

IPv6 in the explanations

Questions that mention IPv6 (3)

  1. Which correctly shortens the IPv6 address 2001:0db8:0000:0000:0000:0000:0000:0001 according to the abbreviation rules?
  2. Which correctly describes the role of ARP?
  3. What is the role of the TTL (Time To Live) field in the IPv4 header?

Books on Computer Networking Basics Ad

As an Amazon Associate I earn from qualifying purchases.

Comparisons that include this term

Related terms

IPv4 Packet ARP IP address MAC address Ethernet IP (Internet Protocol) DNS (Domain Name System) DHCP Router

Back to the glossary