L’adressage IPv6

Rôles de l’adressage IP (v4 ou v6)

2 rôles :

  1. Identification : une adresse désigne de manière unique un équipement dans le réseau

  2. Localisation : une adresse permet aux routeurs de déterminer l’itinéraire à prendre pour acheminer les paquets réseau

Pourquoi IPv6 ?

  • Pallier à la pénurie d’adresses IPv4

    • En 1993, un an seulement après l’ouverture commerciale d’Internet, 2 mesures ont dû être prises pour faire face à la pénurie d’adresses de classe B :

      1. le schéma d’adressage CIDR

      2. le plan d’adressage privé

    • En février 2011, l'Internet Corporation for Assigned Names and Numbers (ICANN) a annoncé qu’il n’y avait officiellement plus d’adresses IPv4

    • Les spécifications d’IPv6 ont été finalisées en 1998 (→ RFC2460), il y a donc plus de 20 ans…​

…​mais pas seulement :

  • Offrir des nouvelles fonctionnalités :

    • chiffrage de bout en bout de la liaison

    • configuration automatique d’adresse (→ Neighbor discover)

    • mécanisme intégré pour améliorer la qualité de service (→ QoS). Ex. : traitement prioritaire des paquets urgents

    • routage plus rapide

    • …​

Principe d’IPv6

  • S’appuyer sur une adresse de 128 bits (au lieu de 32bits dans IPv4)

  • Ceci permet :

    • d’avoir plus d’adresses à disposition :

      IPv4 : 232 → 4,3 milliards d’adresses

      IPv6 : 2128 = 3,4.1038 → 340 milliards de milliards de milliards de milliards d’adresses (soit ~5.1028 adresses par personne sur la planète).

    • de pouvoir mieux structurer les adresses : préfixe de routage qui dépend du type d’adresse + identifiant d’interface

Notation

  • Sous forme de 8 champs de 16 bits (8 x 16 = 128) notés en hexadécimal (⇒ pas de notation décimale pointée comme en IPv4)

    Ex. : 2001:0db8:0000:0000:0008:0800:200C:417A

  • pas nécessaire d’écrire les zéros de poids fort placés en tête de champ c-à-d les zéros non significatifs

    Ex. : 2001:0db8:0000:0000:0008:0800:200C:417A2001:db8:0:0:8:800:200C:417A

  • Plusieurs champs nuls consécutifs peuvent être “abrégés” par l’abréviation “::”.

    pour éviter toute ambiguïté, cette abréviation ne peut être utilisée qu’une seule fois par adresse !

    On applique cette règle sur la série nulle la plus longue. En cas d’égalité on l’applique sur la 1ère rencontrée en partant de la gauche.

    Tableau 1. Exemples
    Adresse Adresse abrégée

    2001:db8:0:0:0:800:200c:417a

    2001:db8::800:200c:417a

    2001:db8:0:42:0:0:0:1

    2001:db8:0:42::1

    2001:db8:0:0:42:0:0:1

    2001:db8::42:0:0:1

    2001:db8:0:0:42:0:0:1

    2001:db8::42::1

Structure des adresses IPv6

  • Se compose — comme en IPv4 — de 2 parties :

    1. l’identifiant réseau — appelé préfixe de site en IPv6 — qui permet d’acheminer les paquets de routeur à routeur

    2. l’identifiant de l’hôte final, destinataire des paquets

  • La séparation entre ces 2 parties est donnée par un masque en notation CIDR

  • Quelques bits sur la partie gauche de l’identifiant d’hôte peuvent être utilisés pour coder l’identifiant d’un sous-réseau.

    L’ensemble composé du préfixe de site et des bits de sous-réseau est appelé préfixe de sous-réseau

ipv6 address structure
Figure 1. Exemple

Terminologie

  • Un équipement connecté au réseau est dénommé noeud

  • Si un noeud est un équipement terminal, on parle d'hôte.

  • Le sous-réseau qui correspond à un réseau local sous-jacent est nommé lien.

  • Tous les noeuds attachés au même lien sont des voisins.

ipv6 terminology

Classification des adresses

  • IP (v4 ou v6) permet de classifier les adresses selon leur rôle et usage.

    Ex. : adresses publiques vs. adresses privées, adresses d’hôte vs. adresse de diffusion.

  • 2 critères de classification existent :

    1. la portée (→ scope)

    2. la visibilité

La portée

Peut être définie comme le type de destination vers lequel pointe l’adresse.

scope
  • Unicast

    C’est le cas le plus fréquent. L’adresse cible un hôte spécifique dans un réseau donné.

  • Multicast

    L’adresse pointe plusieurs hôtes avec lesquels on va communiquer simultanément

  • Anycast

    Comme dans le cas du multicast, l’adresse pointe plusieurs hôtes, mais seul le plus “proche” sera contacté.

  • Broadcast

    L’adresse cible cette fois-ci l’ensemble des hôtes d’un réseau.

    Cette portée n’existe pas en IPv6 car elle est considérée comme un multicast particulier.

La visibilité

Elle peut être définie comme étant la propriété d’une adresse à être connue à un niveau local, global, interne, …​ par un hôte spécifique dans une portée donnée.

Types de visibilités pour une adresse unicast

  • Link Local

    ipv6 lla
    • valable qu’au niveau du lien (i.e. n’est pas routable)

    • chaque interface dispose obligatoirement de cette adresse.

    • permet une connectivité IP locale même si aucun mécanisme de configuration (DHCP, …​) n’est implémenté

    • utilisé pour communiquer avec les voisins de son domaine de diffusion et notamment pour découvrir son routeur de voisinage

  • Unique Local

    ipv6 ula
    • similaire aux adresses privées IPv4 ⇒ n’a une validité que sur les réseaux locaux et n’est donc pas directement accessible par des adresses publiques, globales.

  • Global Unicast

    ipv6 gua
    • à l’opposé des adresses privées

    • visible et accessible directement par tout hôte connecté à Internet ⇒ similaire aux adresses publiques IPv4.

    • englobe toutes les adresses ne correspondant à aucun autre type de visibilité.

  • Loopback

    ipv6 loopback
    • uniquement disponible au niveau d’un hôte.

    • similaire à l’adresse 127.0.0.1 en IPv4

  • Undefined

    • est utilisée dans ne nombreux cas de figure (ex.: pour représenter une route par défaut, dans le cadre de DHCP par un hôte n’ayant reçu encore aucune adresse)

    • ne représente aucune adresse à proprement parler

    • n’est pas routable

Types d’adresses

Au final on tombe sur cette classification :

address types

Mécanismes d’attribution des adresses IPv6

  • En IPv6 une même interface peut se voir attriuber plusieurs adresses

  • De même, une même adresse IPv6 peut être attribuée à plusieurs interfaces réseau pour des raison de partage de charge (→ load balancing).

Ressources

🞄  🞄  🞄