IPv6

De Justine's wiki
Version datée du 3 novembre 2018 à 21:04 par Justine (discussion | contributions) (Page créée avec « = Introduction au protocole IPv6 = Remplaçant d'IPv4, il est essentiel de le connaître pour l'avenir. == Rappel Historique == En 1993, le web a commencé à exploser... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Introduction au protocole IPv6

Remplaçant d'IPv4, il est essentiel de le connaître pour l'avenir.

Rappel Historique

En 1993, le web a commencé à exploser : sites web d'entreprise et accès internet deviennent essentiels. Le problème était alors que l'espace d'adressage IPv4 à rapidement commencé à se réduire.Des blocs d'adresses IPv4 trop conséquents ont été fournis aux structures. On a alors créé des solutions de contournement:

  • CIDR abolition des classes, découpage en blocs de taille variable plus précis... Avant cela on fournissait soit des bloc de 256 adresses soit des blocs de 16 millions ! Aujourd'hui les tailles sont adaptées aux besoins réels.
  • En 1996, la RFC1918 concernant les adresses privées et le NAT est apparue pour gérer l'urgence.

Mais ce ne sont que des solutions de contournement. Elles sont temporaire et ont des contraintes (plus de communication bout-à-bout, limite de 65000 ports pour le NAT). Une solution globale est nécessaire : IPv6.

L'organisation

L'ICANN (Internet Corporation for Internet Assigned Names and Numbers) est une autorité de régulation sur Internet, qui gère les noms DNS et les adresses IP.

L'IANA (Internet Assigned Numbers Authority) régule les adresses IP, ainsi que d'autres ressources de numérotation (ports TCP/UDP, OID SNMP, etc... Elle découpe les adresses IPv4 en 256 blocs /8 et les affecte aux RIR.

Un RIR (Regional Internet Registry) effectue la gestion régionale des adresses. Elle affecte les blocsq d'adresses aux LIR. La liste des RIR est dispo dans la partie Cisco

Les LIR (Local Internet Registry) Fournissent les adresses à des clients finaux : par exemple chez ceux inscrits chez RIPE NCC on a entre autres : Orange, Free, SFR, OVH, Oxalide, Online, Renater, Renault SAS France, RTE France, etc...

Le 03/02/2011 : L'IANA a confié ses 5 derniers blocs /8 aux 5 RIR : "EndGame"

Le 15/04/2011 : L'APNIC a annoncé avoir commencé l'attribution du dernier /8 en sa possession

Le 14/09/2012 : Le RIPE NCC a annoncé la même chose.

Le 25/09/2015 : L'ARIN n'as plus d'adresses IPv4, trop de demandes en attente par rapport au nombre disponible.

Les règles d'attribution du RIPE NCC aux LIR des blocs IPv4 ont été durcies lors du EndGame, par exemple:

  • Utiliser au moins 25% de l'attribution immédiatement
  • Utiliser au moins 50% au bout d'un an
  • La réservation d'adresses est interdite
  • La taille d'une réservation ne se justifie que par le nombre d'appareils nécsessitant une adresse IPv4
  • Les technologies permettant d'économiser l'utilisation d'adresses sont encouragées.

La consommation d'adresses après EndGame s'est fortement stabilisée.

Les problèmes d'adressage ont été détectés dès 1993; la fin des spécifications IPv6 a eu lieu dès 1998. Et pourtant seuls 8% des utilisateurs de Google passaient par IPv6 en 2015.

En fonction des pays, IPv6 n'est pas forcément fiable ou rapide à l'utilisation, comme en France ou en Allemagne (contrairement à la Belgique ou aux USA, par exemple.

En juillet 2016:

  • France : 11.24% d'adoption
  • Belgique : 44%
  • USA : 29%
  • Allemagne : 23.51%

Différences et points communs avec IPv4

IPv6 est moins bien maîtrisé par les administrateurs s&r. Beaucoup ont l'habitude d'IPv4, mais très peu avec IPv6; il est très peu déployé. On a pourtant beaucoup de points communs :

  • Même principe d'encapsulation
  • On a toujours adresse source et destination
  • On a un routeur par défaut
  • On a un MTU
  • On a un en-tête.

Mais aussi des différences:

  • Un adressage sur 128 bits
  • Auto-configuration avec la SLAAC
  • Suppression du broadcast et de l'ARP remplacés par multicast et Neighbor Discovery
  • Adresse de lien local
  • Header de taille fixe qui rend plus simple le code du routeur, et celui-ci est plus performant
  • ICMPv6, bien plus important qu'ICMPv4
  • Pas de NAT!
  • Meilleur support d'IPSec (même si il n'est pas obligatoire)

Point important, on a pas de séparation claire des couches dans le modèle TCP/IP:

  • TCP a été légèrement adapté pour IPv6, tout comme UDP
  • Ethernet a été légèrement adapté pour IPv6

Bases sur l'adressage IPv6

Les adresses sur 128 bits sont 4 fois plus longues qu'en IPv4; mais ce n'est que la taille de l'adresse : ça ne veut pas dire qu'il n'y a que 4 fois plus d'adresses. En IPv4 on a 4 294 967 296 adresses; en IPv6 on en a 2¹²⁸, soit 3.4*10³⁸, soit BEAUCOUP. On pourrait donner 67 milliard de milliard d'adresses par mm carré de la surface terrestre.

Une adresse IPv6:

  • Sur 128 bits donc,
  • Découpée en 8 mots de 16 bits
  • Qui sont séparés par des :
  • Chaque mot est représenté en hexadécimal

Exemples : 2001:0660:3004:4000:0000:0000:0010:0053, fe80:000:000:000:76d0:2bff:fe98:42d7. 2001 est un mot, 0660 un autre mot... Ici, 2001 n'est pas "deux mille un", mais "deux zéro zéro un", puisqu'on est en hexa.

  • Un mot codé sur 16 bits contient 4 caractères, et un caractère (de 0 à F) est codé sur 4 bits.
  • Attention:
    • 10 n'est pas la suite de 09, puisque 1016 == 1610 (10 en hexa est la suite de F)
    • 0916 == 0910, en revanche.

C'est difficile au début, parce que l'on est habitué à la base 10 (en Europe en tout cas), où l'on peut compter sur ses doigts. Mais avec de la pratique, cela devient une habitude.

Raccourcir les adresses

  • On peut supprimer les 0 en tête de champ (ou en tête de mot, mot == champ)
    • Si un champ est composé que de 0, on en laisse un
    • Attention, on enlève pas les 0 en fin de champ ! Comme en décimal, 416 != 4016
  • On peut remplacer les champs remplis de 0 consécutifs en les remplaçant par "::", une seule fois par adresse, en général au début
    • 2001:0:0:4000:0:010:53 devient 2001::4000:0:010:53...
    • ...mais pas 2001::4000::010:53
    • Sinon on ne sait pas combien de champs à 0 ont été supprimés par :: !

Network ID et Host ID

Une adresse IPv6 de 8 mots de 128 bits est découpée en deux parties :

  • 4 mots pour le Network ID, la partie réseau sue 64 bits.
  • 4 mots pour le Host ID, 64 bits aussi appellés identifiant de l'hôte.

Le plus petit réseau possible en IPv6 est un /64 (pas de /65 ou plus possible !), même pour les particuliers. Un tel réseau permettrait de faire chez soi un réseau plus grand que tout Internet IPv4 !

Network ID

Première partie de l'adressage. L'adresse réseau est forcément notée au format CIDR (X:Y:Z::/NN), et tous les zéros qui suivent sont remplacés par ::. Exemples:

  • 2001:660::/32 : RENATER
  • 2001:660:3004::/48 : IRCAM
  • 2620:0:860::/46 : Wikipédia

On voit ici que ces réseaux ne sont par arrivés au /64, ce qui leur laisse de la place pour faire des sous-réseaux. Ici L'IRCAM, qui appartient à RENATER, lui a demandé un sous-réseau (Le réseau IRCAM est un sous-réseau de celui de RENATER). Ces 64 premiers bits sont tout l'espace que l'on a pour faire des réseaux et des sous-réseaux; les 64 autres seront forcément réservés aux hôtes.

Boucle Locale

La loopback IPv4 était dans /8 (un gros gâchis). La loopback IPv6 est ::1/128. On voit qu'elle ne contient qu'une seule adresse.

À Noter

  • Un client final dispose d'un réseau de taille X;
  • Cette taille X devra être un multiple de 4:
    • Le masque sera identique pour toutes les adresses
    • Personne ne disposera du même numéro de masque
    • En gros, ça permet de tomber à la coupure entre deux champs
    • Par exemple le réseau de Wikipédia, 2620:0:860::/46, qui est non multiple de 4, a pour première adresse 2620:0:860:: et pour dernière adresse 2620:0:0863:ffff:ffff:ffff:ffff:ffff. On est obligé de faire un calcul mental pour connaître la dernière adresse.
    • Le réseau de l'IRCAM, 2001:660:3004::/48 commence avec 2001:660:3004:: et finit avec 2001:660:3004:ffff:ffff:ffff:ffff:ffff. On voit que les champs du NetID ne changent pas.