ipv6


pourquoi ipv6 ?


limites d’ipv4

  • pénurie d’adresses
  • croissance des tables de routage
  • manque de connectivité bout en bout (NAT)

caractéristiques d’ipv6

  • IPv6 : 128 bits, 16 octets, 8 groupes de 16 bits, en hexa
  • espace d’adressage plus important
  • plus de traduction d’adresse (NAT)
  • traitement plus efficace, en-têtes simplifiées

simplification

  • omettre les 0 en début de segment
  • omettre les séquences composées uniquement de 0 (une seul fois)

2001:0db8:0000:23b0:0000:0000:069c:17 => 2001:db8:0:23b0::69c:17

url

http://[2001:db8:0:23b0::69c:17]:8080/index.html

coexistence ipv4 et ipv6

  • Double pile : les périphériques utilisent une pile IPv4 et une pile IPv6
  • Tunneling : paquets IPv6 dans paquets IPv4 (encapsulation)
  • Traduction : les périphériques IPv6 utilise NAT64 pour communiquer avec périphériques IPv4

en-tête ipv6


  • 40 octets
  • deux fois plus qu’en IPv4

  • Version: 4 bits, valeur 6 car IPv6
  • Traffic Class: 8 bits, priorité pour QoS
  • Flow Label: 20 bits, si même étiquette, alors paquets traités de la même manière par le routeur
  • Payload length: 16 bits, longueur des données utiles
  • Next Header: 8 bits, prochain header ou protocole (comme en v4)
  • Hop Limit: 8 bits, TTL
  • Source Address: 128 bits, champs protocole en v4
  • Destination Address: 128 bits, champs protocole en v4

Pas de fragmentation des paquets par les routeurs en IPv6. Ni d’options

types d’en-tête

Le champ Next Headerpeut être examiné par chaque intermédiaire durant le routage, ou simplement par le destinataire (c’est une différence par rapport à IPv4).

  • Hop-by-Hop Header: traité par chaque routeur
  • Destination Options Header: examiné seulement par le destinataire
  • Routing Header: routage choisi par la source, liste des routeurs à visiter, @src et @dst changent à chaque passage par un routeur
  • Fragment Header: envoi de paquets plus grand que le MTU, en IPv6, fragmentation est réalisée que par la source et non plus les routeurs, traité par destinataire pour défragmentation
  • Authentication Header: authentification et intégrité des données (signature)
  • Privacy Header: chiffrement du contenu à protéger

Un paquet IPv6 peut contenir une suive d’en-têtes: IPv6 Header > Routing Header > Fragment Header > TCP Header

fragmentation

La source utilise path MTU discovery pour trouver le bon MTU pour tout le chemin.

De la elle peut créer plusieurs fragments: IPv6 Header > Data 1 + Data 2 + Data 3 devient: IPv6 Header > Fragment Header > Data 1 IPv6 Header > Fragment Header > Data 2 IPv6 Header > Fragment Header > Data 3

qos

La QoS en IPv6 se base sur le Flow Label:

  • permet de classifier des datagrammes appartenant à un même flux
  • flux: séquence de datagrammes qui doivent être traités de la même manière

types d’adresses ipv6


@ unicast

  • Adresse globale
    • portée globale
    • unique
    • routable
    • publique
    • 2000::/3
  • Adresse Link-local
    • portée locale
    • communication dans le sous-réseau uniquement. Toute interface IPv6 doit avoir une adresse Link-local. Adresse automatique si pas de configuration statique, permet communication au sein du sous-réseau sans adresse de mono-diffusion globale.
    • non routable
    • FE80::/10
    • ::1/128 (= 127.0.0.1 en IPv4)

@ multicast

  • ff00::/8
  • Multidiffusion attribuée
    • groupe de multidiffusion à tous les nœuds FF02::1 (@diffusion en IPv4), pour message annonce du routeur (ICMPv6)
    • groupe de multidiffusion à tous les routeurs FF02::2 permet de contacter un routeur par sollicitation
  • Multidiffusion de nœud sollicité
    • comme @ multidiffusion à tous les nœuds, avantage : est mappée à une adresse de multidiffusion Ethernet MAC spéciale, cela permet à la carte réseau de filtrer la trame en examinant l’adresse MAC de destination sans forcément passer la trame à IPv6
Global routing prefix (/48) Subnet-id (/16) Interface id

Cette structure facilite la migration d’un FAI à un autre : il suffit de changer le préfixe.

Vrai découpage: Registry: /12 ISP prefix: /32 Site prefix: /48 Lan prefix: /64 Interface ID: /128

L’IANA alloue des préfixes IPv6 pour les 5 RIRs, qui les distribes derrière.

Adresses anycast

  • choix du destinataire le plus proche parmi un groupe défini par plusieurs interfaces disposant de la mêmeadresse unicast

Configuration des hôtes en IPv6


Le message d’annonce du routeur indique à un hôte comment obtenir son adresse de diffusion globale, ce message varie selon le mode de configuration choisi. Il est envoyé toutes les 200 secondes, ou suite à une sollicitation d’un hôte. En IPv6 l’adresse de la passerelle par défaut (gateway) est l’adresse link-local de la source de ce message.

Mode SLAAC (par défaut)

Permet d’obtenir préfixe + longueur du préfixe du réseau dans lequel se trouve le périphérique. Généralement, toutes ces informations permettent d’obtenir les 64 premiers bits. C’est au périphérique de générer les 64 bits restant de son adresse de diffusion globale.

Mode SLAAC et DHCPv6 sans état

Mode précèdent (SLAAC) + informe le périphérique de contacter le serveur DHCPv6 afin de demander la configuration DNS ainsi que le nom de domaine. On parle de DHCPv6 « sans état » car celui-ci n’a pas de tableau de toutes les adresses distribuées (pool).

Mode DHCPv6 avec état

Similaire à IPv4 en DHCPv4, le message d’annonce invite le périphérique à contacter le serveur DHCPv6 du réseau afin d’obtenir une adresse de diffusion globale. Cette adresse est donc fournie par le serveur DHCPv6 et n’est plus généré de manière aléatoire sur l’hôte. On parle de DHCPv6 « avec état » car celui-ci tient à jour un tableau de toutes les adresses distribuées (pool).


Protocole ICMPv6


En IPv6, le protocole ICMPv6 à de nouvelles fonctionnalitées pour la configuration des hôtes sur un réseau.

Routeur <–> Périphérique

  • utilisé par les hôtes afin de réaliser une sollicitation de message d’annonce de routeur (RS)
  • utilisé par les routeurs pour envoyer des messages d’annonce de routeur (RA) dans tout le sous-réseau

Périphérique <–> Périphérique

  • message de sollicitation de voisin
  • message d’annonce de voisin

Pour éviter que 2 périphériques aient la même adresse de diffusion globale, le protocole DAD (Duplicate Address Detection) est utilisé. Celui-ci permet la détection d’adresses dupliquées. Pour cela, après qu’un hôte ait généré sont adresse de diffusion globale. Celui-ci envoie un message de sollicitation de voisin avec comme adresse de sollicitation, l’adresse qu’il vient de générer :

  • Si une réponse est reçue, cela signifie qu’un autre hôte sur le réseau possède déjà cette adresse. Dans ce cas, il doit régénérer une autre adresse.
  • Si par contre celui-ci ne reçoit aucune réponse, cela signifie qu’il n’y pas de duplication d’adresse dans le réseau et que l’hôte peut garder cette adresse pour lui.

Plutôt malin.