IPv6

IPv6 has been defined in the RFC 2460 in 1998 and replaced with the RFC 8200 in 2017. It is the successor to IPv4 which shows many problems as time went on using it in larger amounts.

Notation

Since IPv6 consist of 128 bit a decimal notation similar to IPv4 wouldn’t be very efficient. Thats why the decision has fallen onto a hexadecimal notation.

2001:0db8:85a3:08d3:1319:8a2e:0370:7344

Leading zeros inside a IPv6 block can be left out. Example:

2001:0db8:0000:08d3:0000:8a2e:0070:7344

turns into

2001:db8:0:8d3:0:8a2e:70:7344

If 2 or more blocks only containing zeros appear right after each other they can be replaced with two :

Example:

2001:db8:0000:0000:0000:0000:1428:57ab

turns into

2001:db8::1428:57ab

Notice the two : between db8 and 1428.

But this reduction is only allowed to happen once in the whole IPv6 address! Example:

2001:0db8:0:0:8d3:0:0:0

can only turn into

2001:db8:0:0:8d3::

or

2001:db8::8d3:0:0:0

werden.

Thats why the following address is not a valid address:

2001:db8::8d3::

URL Nntation: http://[2001:0db8:85a3:08d3::0370:7344]:8080/

The typical subnet sizes are present between /32 and /64.

Source: https://www.ripe.net/manage-ips-and-asns/ipv6/ipv6-subnetting-card

Basically you can create more subnets after /64 but you will lose a pretty important feature – the “Stateless Address Autoconfiguration” (SLAAC). See bellow for further information.

Link Local and Global address

After connecting an interface to a network it is now default In IPv6 to automatically create a “link local” and (if a IPv6 prefix is present) a “global” address.

The “Link Local” address is used – as you probably already expected – only for the locally connected network. This address is always a part of the subnet fe80::/64

The “Global” address is used – as you probably already expected too – for the “global” network aka the “Internet”. But this address only appears if the connected router has a correctly configured IPv6 prefix.

Additionally there are “temporary” and “secured” IPv6 addresses for security reasons. What these are and why they are needed can be looked up right HERE.

New features of IPv6

Larger amount of available addresses

An IPv6 address has 128 bits – IPv4 only has 32 bits.

In comparison IPv6 has 340.282.366.920.938.463.463.374.607.431.768.211.456 (2128) and IPv4 only 4.294.967.296 (232) total available addresses.

Stateless Address Autoconfiguration (SLAAC)

To automatically get an IPv4 address assigned to your device there needs be a “DHCP” server present in the current network. Most of the time this is built into everyones wireless router.

But in a IPv6 network with at least a subnet size of /64 the MAC address of each client can be used as part of the IPv6 address. This is used for the “link-local” as well as the “global” address.

The following illustration just shows how a 48 bit MAC address and the 64 bit “link-local” prefix is used to automatically create an IPv6 address.

Datei:Ipv6-slaac.png
Source: http://wiki.webperfect.ch/index.php?title=Datei:Ipv6-slaac.png

Implementation of security measures (IPsec)

The “Internet Protocol Security” (IPsec) is a protocol residing in the 3rd layer of the OSI-Layer Models which allows the encryption and authentication of IP packets.

Basically everyone know what HTTPS, SSL and TLS are but these protocols work on higher OSI layers (HTTPS in the 7th and TLS in der 4th). Thats why “someone” can still manipulate data in the 3rd layer.

Thats why the IPsec protocol has been integrated into the IPv6 standard.

Conservation of the “Point-to-Point principal

The “Point-to-Point principal” says, that only the endpoints in a connection are allowed to perform active protocol operations, not the stations between the 2 clients. A global unique IP address per client is a requirement for that.

In the current state of the IPv4 network this is not possible since not every client in the world has a unique IPv4 address.

Reserved IPv6 spaces

As well as in IPv4 there are reserved spaces, which are used for specific “functionalities“.

Adressblock (Prefix)UsageReferenz
::1/128Loopback (Local Computer)RFC 4291
2000::/3 Global UnicastRFC 4291
FC00::/7Unique Local UnicastRFC 4193
FE80::/10Link Local UnicastRFC 4291
FF00:/8MulticastRFC 4291

There are also special areas which are used just for “converting” IPv4 into IPv6 addresses such as z.B. 2002::/16 for the 6-to-4-Tunneling (see RFC 3056).

What Unicast and Multicast are can be looked up HERE.

Sources:
https://en.wikipedia.org/wiki/IPv6

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.