IPv6 Address

Structure

Pasted image 20240721204609.png

To generate the host we can use:

To generate the whole ip, we can use:

We have first 64 bits for the network address and last 64 bit for the host address

Prefix

When writing an ipv6 prefix, you set all the hostbit to 0. For example:
3ffe:1944:100:a::/64

In here the :: represents 0000:0000:0000...

Rules

The following rules are applied to ipv6

  1. Any 0000 can be ommited to 0
  2. Any groups of 0000:0000:0000:0000... can be simplify to ::
  3. In an IPv6 there can only be 1 ::

Check if local ip

There are two types of ipv6 local ip:

Global unicast address

An address to identify a single device.

More here: Link local IP

Start with fe80::/10. Can't be route (not forwarded by router). And can be used to communicate over a single network segment (within a same lan). Automatically created on Layer 3 interfaces running Ipv6 (i.e Router)

Used by the Router as the next hop addresses.

Unique local (ipv6 only)

Start with fc00::/8. Can be route, main purpose is to use locally. Globally within the private scope

Multicast addressing

In ff00::/8 is used for Multicasting purpose. Allow the device to send packet to a subset of multicast group.

All node multicast (Multicast address)

There is no broad cast address. However there is an "all nodes multicast" address which is basically the same purpose.

  • Link local: ff02::1
    • For local multicast to all nodes on the local link (subnet)
  • All routers mutli cast address: ff02::2
    • Target all routers in the local link. The message is only intended for routers.

Pasted image 20240923224208.png

Pasted image 20240923230913.png

Special address

:: — unknown host
::1 — loop back address

Embedded IPv4 address

There are multiple technique that embed ipv4 address in ipv6 for compatibility. For example, we can have these following:

FE80::5EfE:10.23.1.5 (An ISATAP address)  
::FFFF:10.23.1.5 and ::FFFF:0:10.23.1.5 (SIIT addresses)  
FEC0:0:0:1::10.23.1.5 (TRT address)

In here the last 32 bits are IPv4