Lukas' Notes

network-protocols

Definition

Internet Protocol Version 6

Internet Protocol Version 6 (IPv6) is a version of the Internet Protocol that identifies interfaces and routes packets using a -bit address.

IPv6 was designed to replace IPv4 by providing a much larger address space and simpler hierarchical addressing.

Address Structure

An IPv6 address has bits. It is usually written as eight -bit groups, called hextets, in the hexadecimal system. Hextets are separated by colons.

For example:

2001:0db8:0000:0000:0000:ff00:0042:8329

For a prefix length :

IPv6 prefixes are written in CIDR notation. For example, 2001:db8:abcd:12::/64 denotes a subnet with a -bit prefix and remaining interface bits.

Compression

Address Compression

IPv6 notation may be shortened without changing the address.

  • Leading zeros inside a hextet may be omitted.
  • One contiguous run of all-zero hextets may be replaced by ::.
  • :: may appear at most once in an address, otherwise the expansion would be ambiguous.

For example:

2001:0db8:0000:0000:0000:ff00:0042:8329

can be written as:

2001:db8::ff00:42:8329

Prefixes

IPv6 does not use dotted-decimal subnet masks. A subnet is described by its prefix length.

A /64 prefix is the usual size for an IPv6 local subnet. This leaves bits for interface identifiers:

addresses in the subnet.

Unlike ordinary IPv4 subnets, IPv6 subnets do not reserve a broadcast address. IPv6 uses multicast instead of broadcast.

Address Types

Unspecified Address

::/128 is the unspecified address. It means that no address is present.

Loopback Address

::1/128 is the loopback address. It identifies the local host.

Link-local Address

fe80::/10 identifies link-local unicast addresses. They are valid only on the local link.

Unique Local Address

fc00::/7 identifies unique local addresses. They are private addresses for local networks.

Global Unicast Address

2000::/3 identifies globally routable unicast addresses.

Multicast Address

ff00::/8 identifies multicast addresses. IPv6 has no broadcast address type.

Example

Subnet Calculation

Consider 2001:db8:abcd:12::42/64.

The prefix length is , so the first four hextets form the subnet prefix:

2001:db8:abcd:12::/64

The remaining bits identify interfaces inside that subnet. The subnet therefore contains

addresses.

There is no IPv6 broadcast address to subtract from this count.