IPv6 et exercices corrigés

IPv6

Les raisons de la  création d’IPv6 :

·        Problème de la taille de l ’Internet

·        Épuisement des adresses IPv4 -   tables de routages énormes

·        Besoin d’un protocole plus fort, offrant plus de services que IPV4 (QOS, la sécurité…)

·        Problème d’identification du type des données transportées

·        Pas de mécanisme de sécurité

Les Objectifs d’IPv6 :

Supporter des milliards d’ordinateurs   -  la sécurité  -  temps réel

Réduire la taille des tables de routage  - compatibilité avec IPv4

Router les data grammes plus rapidement   -   Permettre une évolution future

Ajouter de nombreuses fonctionnalités optionnelles d'IPv4 :

Auto configuration  - la  Mobilité - Diffusion Multicast -   Sécurité (Authentification et confidentialité)

Solution : IPV6 :

Adresse sur 16 octets  (128 bits)

La représentation s’effectue par groupe de 16 bits sous la forme:
123 : FCBA : 1024 : AB23: 0 :0 : 24 : FEDC

Auto configuration : une partie de l’adresse peut être l’adresse MAC

Adressage hiérarchique : allocation des adresses

Types d ’addresses (Unicast, Multicast, Anycast).

En-tête simplifié (2 fois moins d’informations)

Extension d’en-tête:
       options dans des en-têtes séparés
       il s’agit des en-têtes qui se situent entre l’en-tête de la couche transport et l’en-tête d e IPV6
       la limitation de l’en-tête à 40 octets est levée

MultiCast inclus de base:
       «scope » -> un meilleur routage
Mbone (Multicast backbone)  n’a plus besoin d’exister

Le but du Mbone est de transmettre de façon efficace, en temps réel et de manière symétrique, des flux de nombreux utilisateurs répartis.

Plug and Play: auto configuration
       prise en compte de la mobilité
       création des serveurs d’adresses (DHCP)
       changement d’adresse plus facile

Gestion de la Sécurité : confidentialité (en option) – authentification - intégrité des données

Etiquette de flot :

       Flux particuliers peuvent être prioritaires
       Application de Temps réel -  QoS

 Routage optimisé :

        SDRP (Source Demand Routing Protocol)   -précision de la route dès l’début
        IDRP (Inter Domain Routing Protocol)  …….dans le même domaine


Différence entre le Paquets IPv4 & v6












IPv6 : pas d’chucksum (il va être ajuster par les routeurs) 
Pas de TTL (pour les erreurs on prend le risque car on utilise les câbles fibres optiques + on va les corriger dans les couches sup…….) 
 Moins de champs que IPv4
Entête de taille fixe (plus rapide)  - plus de souplesse  dans les options

Option de l’entête IPv6

Version : est 6 pour IPv6 (sur 4 bits)
Priorité  sur 4 bits : les classes du trafic.
Etiquette de flot: 24 bits  indique les flux spéciaux

Longueur des données utiles : longeur du paquet après l’en-tête
En-tête suivant: indique le type d’en-tête après celui de IPv6
Nombre max de sauts : limite la durée de vie du paquet
Adresse source: @ de l’émetteur
Adresse de destination: @ du récepteur


Extensions

Ils sont plus souples que les options v4 – ils sont traités que par les nœuds concernés

Il existe 5 types :

Proche en proche (hop by hop):   remplace IPv4 -  toujours la 1er extension -

Analysé par chaque routeur

4 options :

Pad1 : bourrage (compléter les champs qui reste avec des 0)  1 octet  (aligner sur 64 bits)
Padn : n octet  (Idem)
Router alert : demande au routeur de prendre en compte les données (utile pour ICMPv6 et RSVP  (Resource Reservation Protocol)  offrir une qualité de service adaptée aux besoins de l'application

Jumbogramme (pq de 64 ko)  = adaptation des protocoles (TCP ou UDP)

Destination : traité seulement par le destinataire
(pad1 et padn – Mobilité – tunnel IPv6 – Jumbogramme)

Routage

Permet d’Imposer une route différente de celle offerte – aller de routeur en routeur !


La Fragmentation

Le paquet est adapté à l’émission par la MTU  (1280 oct pour le tunnelage)
NFS par exemple suppose que la fragmentation existe et produit des msg de grande taille

·        Path MTU Discovery

MTU : taille maximale de l’unité de transmission pouvant être transportée sans fragmentation

Path MTU = min des MTU sur l’ensemble des liens du chemin !


 Sécurité

La qualité de Service (Qos)

Définition

Est la capacité à véhiculer dans de bonnes conditions un type de trafic donné, en termes de disponibilité, débit, délais de transmission, gigue (variation de la latence (délai dans les communications informatiques)  au fil du temps), taux de perte de paquets…

Il est nécessaire de différencier/garantir certains flux.

Utilisation des champs (champ priorité + champ « identifiant de flux »)

Problèmes à résoudre  (mise en œuvre dans les routeurs + correspondance avec QoS d ’ATM (asynchron transfer mode) Protocole réseau qui transmet les données par cellules de 53 octets


Chaînage d'extensions


Option


Hop-by-Hop-Header : on examine sur chaque nœud le transport d’information

End-to-End-Header : le destinataire d’information examine le transport d’information

Routing Header : on route à partir de la source  -  Les nœuds qui doivent être visités

      -Revers Bit:
         on utilise l’information de routage de retour (si = 1)
         le destinataire doit résoudre le routage
          
Fragment Header:
       possibilité d’envoyer les paquets > MTU
         Max MTU : 1500 octets
         Mini MTU : 576 octets

Privacy Header: on peut chiffrer des données à protéger

Authentification Header:  authentification et intégrité des données




L’Adressage IPv6

ORGANISMES REGIONAUX DE GESTION D’ADRESSE  (IANA)





Besoin d’adressage : voiIP – GPRS – UMTS – véhicules  communicants ……

128 bits => 2^128 = 3.10^38 ou  6.10^22 @ par m2 sur terre  (4 fois @IPv4) + (« 8 Mots » de 16 bits en hexadécimal)



Format d’une @ IPv6





L’@ est associée a un masque, il sépare le num de réseau et l’ID de l’interface






/64 ou %64

REPRESENTATION DES ADRESSES IPv6


0208 = 208

0 :0 = ::  (on applique ce truc q’une seul fois dans l’@)

Exemple



Les types d’adresses

       Unicast   Identifier une interface
       Multicast  Identifie un groupe d’interfaces (pq diffusé par tt le groupe)
       Anycast  Identifie une interface dans un groupe
        
PORTEE D’UNE ADRESSE IPv6

Loopback : portée limité à la machine
Adresse lien local : limité au réseau local
Adresse globale : sortir vers Internet

Chaque machine peut avoir plusieurs interfaces et chaque interface a plusieurs
Adresses :

@ Lien local et  une/plusieurs @ globales (configurée manuellement ou automatiquement)



·        Adresse Unicast


       Lien local (FE80::/64)
       Site local (FE0C::/64 ne st plus utilisées)
       Adresses unicast globales 2001::/16
       Adresse de retour, loopback (::1)
       Adresse indéterminée (0:0:0:0:0:0:0:0)

Lien local   FE80::/64


Site local (plus utilisé) FE0C ::/64









SLA ‘Site Level Agrégation’ sur 16 bits


Unicast globales   2001::/16




ALLOCATION DES ADRESSES IPv6




Exemple



La durée de vie d’une @ IPv6

Une @ IPv6 associée a une interface = 30 jours  par défaut (prolongé ou portée a l’infini)

Les @ IPv6 vivent et changent d’état  au cours du temps










Adresses « IPv4 » (transition)



Les @ IPv4 mappée :






·        adresses Multicast


Scope





Les Groupes

Le flag = 0, il existe 2 groupes :



Adresses Multicast prédéfinies






Adresses Multicast sollicitées

Utilisée pour la découverte de l’@ mac d’un voisin

-Avec IPv4, on utilise l @ unicast  IPv4 du voisin et l@ mac de broadcast
-Avec IPv6 et ICMPv6, on utilise l@ Multicast sollicitée du voisin  et l@mac
De groupe associé

Construite à partir d’une @ unicast en concaténant

-Le préfixe FF02 ::1 :FF00 :0/14
-Au 24 dernier bits extraite de celle-ci
« Dans le cas d’une adresse de lien local ou plan agréges, il s’agit des 24 derniers bits d’une @mac »






·        adresse anycast

-Identifier un ensemble de machine

-L’information n’est envoyée qu’a une des machines (serveur Web par exemple : au lieu de consulter tout les serveurs web, on consulte seulement le plus proche ou le plus disponible……)

-désigne un service (FTP-DNS….) plutôt  qu’une machine

-non spécifiée et difficile à mettre en œuvre avec IP

Exemple 






Réservation des adresses 






Les adresses auto configurée

Le num de réseau :

Préfixe global annoncé par les routeurs
Préfixe local (le lien local)  FE80 ::/64

ID de l’interface :

L’ID doit être unique  - la machine le détermine de façon autonome – se base sur l’@ mac de l’interface réseau





On insére FF : FE  au milieu de l’@MAC
On  inverse le 7éme bit du 1er octet  (bit U) : dans une @ mac ce bit est toujours à 0 (U = 0 : configuration manuelle – U=1 : l’auto configuration)



ICMPv6

ICMPv6 : message classique d’erreurs comme ICMPv4 (destination inaccessible – paquet trop grand- ping ….)

Intègre des protocoles  IPv4 non intégré dans ICMPv4 : ARP, IGMP
+ La découverte des voisins



Protocoles associés a IPv6

ND : découverte des voisins, il s’appuie sur ICMPv6 et le Multicast local

2 mécanismes :

1-résolutions des adresses – détermine les @mac des voisins (comme ARP dans IPv4) – maintenir l’accessibilité des voisins et redirection vers eux

 2-plug and play (l’auto configuration) : préfixe réseau + masque + passerelle

 La présence des équipements – localise les équipements de routage

MLD (Multicast listner Discovery) : gestion des groupes Multicast – basé sur IGMPv2 – MLDv2 équivalent à IGMPv3 d’IPv4

ICMPv6 : transporte les messages ND et MLD – couvre les aspects ICMPv4

ND spécifie 5 types de paquets ICMPv6:

RS (Router Solicitation)   : l’hote veut un RA immédiatement (lors du démarrage par exemple)

RA (Router Advertisement) : annonce périodique de la présence d’un routeur
Valeur du MTU – nombre des sauts

NS (Neighbor Solicitation) : permet de trouver l’adresse mac  du voisin et son accessibilité – tester la duplication des @  et l’inaccessibilité

NA (Neighbor Advertisement) permet d’annoncer un changement d’adresse ou le meilleur chemin  et de répondre à NS

- Les nœuds IPv6 sur un même lien utilisent ND pour découvrir leur présence mutuelle et leur @ MAC, trouver les routeurs et maintenir l’information d’accessibilité vers les voisins.

Pas applicable aux réseaux NBMA (non broadcast multiple access) car ND utilise le Multicast

L’un des quatre types de réseau dans le protocole OSPF. NBMA est utilisé pour modéliser avec précision X.25 et trame relaye

 La découverte des Voisins

Auto configuration d’une machine (lien local) – obtenir le préfixe réseau et la passerelle – configurer l@ global  et la route par défaut

La résolution des adresses

M veut envoyé un paquet IPv6 à D (FE80 ::1), L@ Mac est absente dans son cache, donc il va envoyé un NS en Multicast  à D


 D reçoit la sollicitation,  il va envoyé un NA en unicast, M met à jour son cache







L’auto configuration

         But : obtention automatique d’une adresse IP pour la machine connectée

         Configuration intra-liaison : sans routeur

         Configuration inter-liaison : avec routeur

Seul les routeurs doivent être configurée manuellement (DHCP), les hotes peuvent obtenir les @ automatiquement mais ils ne sont pas enregistrés dans le DNS (problème de mis à jour automatique du DNS) « configuration avec/sans état »


L’auto configuration  de l’@  du lien local


L’auto configuration  de l’@  global




Détection de conflit d’@

Auto configuration stateless

L’équipement  s’attribue une @ lien local

         Vérification de l’unicité de cette adresse

(Envoie d’une trame ICMPv6 type 135 (sollicitation du voisin))  sur l@ du Multicast FF02 ::1

Aucune réponse après une seconde = l @ est valide

Si non retour d’un message ICMPv6 (type 136) le bit S annonce que l @ est déjà utilisée

         Envoie d’une trame ICMPv6 (type 133) « sollicitation d’un routeur » sur l@ Multicast FF02 ::2

 

         Réception d’une trame ICMPv6 (annonce d’un routeur) type 134, le préfixe du site est retourné

 DHCPv6









NTP  (Network Time Protocol ou NTP) est un protocole qui permet de synchroniser, via un réseau informatique, l'horloge locale d'ordinateurs sur une référence d'heure.

Le DHCP peut gérer plusieurs liens, un client DHCP converse soit directement avec un serveur DHCP ou un Proxy  DHCP.

Un client est identifié par un DUID  (DHCP unique ID) généré et fonction avec de l’@ de lien local 

Les requêtes est envoyées sur UDP/547, les réponses : UDP/546

La découverte d’un serveur DHCP : message Multicast à l@ FF02 ::1 :2

IPv6 et DNS

         Extension pour supporter IPv6

Enregistrement AAAA (Quad A) associer une @ IPv6 à un nom

Ex (Bind)  : ns2  IN  AAAA  2001 :660: 2402: :2

Une fois l@ auto configurée connue, il faut ajouter dans le DNS et si l’interface réseau change, l@ IPv6 change également

IPv6 & Protocole de routage

         Transposition de ceux d ’IPv6:

       Protocoles intérieurs:  RIPng, OSPFng

       Protocoles extérieurs:

IDRP: abandonne  et BGP4+: version modifiée de BGP4 pour IPv4 adaptée au routage des data grammes IPv6 et à la gestion des routes Mulicast IPv6 (mBGP)

IPV6 & Sécurité

IPv6 doit fournir 2 services :

Authentification de l’utilisateur / Intégrité des données

Confidentialité (cryptage) : Indépendance des algorithmes de chiffrement

Authentification : résultat d’un calcul sur les données et les champs    d’en-tête qui ne changent pas, avec une clé secrète

Un protocole par défaut obligatoire sur les équipements IPv6 : MD5 (128 bits)

Confidentialité :

Inclut intégrité et authentification - ESP (Encapsulating Security Payload)

2 stations de travail ou station / passerelle de sécurité ou passerelle / passerelle

Pas de protection contre l’analyse du trafic - Coûteux (baisse des performances)

IPv 4 et IPv6, Authentification, Intégrité, Confidentialité

La sécurité est indépendante  des algorithmes de chiffrement

Champ SAID (Security Association Identifier): Type de clé, durée de vie, algorithme,…Administration des clés: séparée

Les fonctions de sécurité sont optionnelles et n’affectent pas les autres utilisateurs

 

                     En-tête

                     Next Payload et Length (2 octets)

                     Reserved (2 octets)

                     SAID (4 octets)

                     Donnés d ’authenfication  (n*4 octets)

                     Le calcul sur les donnés et les champs d’en-têtes ne changent pas (hop count …exclus)

                     Par défaut:

                     MD5 (sur les stations IPv6 c’est obligatoire)

                    Utilisé en général entre stations origine et destinataire

                     ESP: Encapsulation Security Payload

                    Intégrité et authentification 

 

         Chiffrement de toutes les parties du data gramme (données)

         Ajout d’en-têtes et chiffrement du reste:

        En-têtes  IPv6, ESP, autres sont en clairs

        Donnés chiffrées (même pour les données initiaux)

         Support d’au moins :

        DES (Data Encryption Standard)

        CBC (Cipher-Block Chainnig)

         Pas de protection contre l’analyse de trafic

         Gestion des clés: entre utilisateurs/entre stations

 

 

IPV6 & Protocoles de transport

Modification mineur de TCP et UDP

Checksum obligatoire et porte sur pseudo en-tête

Prise en compte des jumbo grammes : l’en-tête  TCP ou UDP contient un champ longueur trop petit =>  =0 pour UDP mais y’a un problème avec TCP ou plusieurs compteurs sont sur 16 bits (longueur des fenêtres)

IPv6 transition


1-Utilisation de la technique (Dual stack) et des  tunnels automatiques ou manuels :

IPv4 > IPv6 < IPv4

IPv6 > IPv4 < IPv6 

-par exemple un tunnel IPv6 dans IPv4 consiste à encapsuler le paquet IPv6 dans un paquet IPv4 et de faire router le paquet IPv4 obtenu par l'ensemble des routeurs IPv4 du chemin vers la destination jusqu’ au bout du tunnel (router dual stack) qui décapsulera le paquet IPv6 et le fera suivre a la destination

Dual stack (ipv4 & ipv6 sont activées), le choix de la version basée sur le résultat de la requête DNS

Les tunnels c’est pour le déploiement Dual stack :

Manuel : GRE
Semi automatique : tunnel broker
Automatique : 6rd, ISATAP, 6to4

6to4 (mieux adapté pour extranet et vpn) permet  à un réseau IPv6 isolé de communiquer en IPv6 avec un autre réseau IPv6 à travers un réseau IPv4 sans attendre que leur FAI fournissent du transport ipv6. (Le paquet ipv6 encapsulé dans ipv4)

Tunnel broker : service web en ipv4, basé sur des serveurs dédiés appelé (tunnel broker) il gère automatiquement les demandes  de tunnel des utilisateurs  (ipv6 > (réseaux ipv4) < ipv6)
Utilise un protocole (Tunnel Setup Protocol)

ISATAP : LAN qui ont pas un routeur IPv6, l’intégration de l@ ipv4 dans l’ID interface (64 dernier bits)

2- traduction au niveau IP ou utilisation des Proxy (la transition)

IPv4 > IPv6

IPv6 > IPv4 (la transition : pur ipv6 communique avec pur ipv4)

DSTM: Dual Stack Transition Mechanism : destiné que pour les réseaux IPv6 qui sont  besoin occasionnellement d'échanger d'information directement avec d'autres machines ou applications IPv4.

Teredo est un Proxy qui offre un service de permettre aux machines qui utilisent le NAT  d’obtenir une connectivité IPv6  en créant un tunnel des paquets  sur UDP

Les translateurs sont des équipements capables d’assurer la translation ipv4 vers ipv6 ou ipv6 vers ipv4 (élimination de doubles piles – besoin de DNS ALG – NAT – PT)

Exercice + correction
















Bonne Chance

mohameddouhaji7@gmail.com