Difference between revisions of "MOOC:Verb24"

From Livre IPv6

("Principe des extensions")
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Un protocole pour l'Internet d'aujourd'hui  ==  
+
__NOTOC__
 +
<!--Storyboard sur Googledoc => https://docs.google.com/presentation/d/1MkwcFJrJKljPFW93u2oAyeZQDdBsana0/edit?usp=sharing&ouid=106484440432771135779&rtpof=true&sd=true
  
Jean-Pierre Rioual, ingénieur conseil réseaux, EUREKOM.
+
Verbatim sur Googledoc => https://drive.google.com/file/d/1N9n5X3TasqE3E_66fO25F-LeCZCTuZoZ/view?usp=sharing
 +
-->
 +
= Activité 24 : La taille des paquets IPv6 =
  
-Cette quatrième activité concernera les mécanismes d'extension prévus dans les en-têtes des paquets IPv6.
+
Dans cette quatrième activité :
 +
Nous allons passer en revue les mécanismes d’adaptation à la taille des paquets IPv6.
  
À quoi bon ?
+
Mais comment faire pour adapter la taille des paquets aux réseaux de transport intermédiaires ?
 +
Comme pour le courrier postal, nous devons respecter un format pour que les enveloppes puissent glisser dans la fente des boites aux lettres !!!
  
Ces mécanismes d'extension vont permettre d'offrir une grande variété de fonctions supplémentaires au niveau réseau, afin d'impliquer le destinataire du paquet IPv6 ou le routeur intermédiaire désigné dans l'acheminement du paquet.
+
== Path Maximum Transmission Unit: ==
  
Par le biais de son en-tête variable, IPv6 améliore le support étendu à toute extension ou option nécessaires.
+
La taille des paquets IPv6 est conditionnée par le type de liaison mis à disposition au niveau 2
  
C'est l'émetteur qui choisit quelles extensions inclure dans le message.
+
Les paquets sont placés dans des trames avant d’être émis sur le support physique
 +
Selon la nature de la liaison, une taille maximale de trame est définie: 1500 octets pour Ethernet, 1468 octets pour PPPoA, de 1500 à 65535 octets pour MPLS,  81 octets  pour 6LoWPAN etc...  
  
Cela simplifie le traitement, les options n'étant présentées que si elles sont nécessaires.
+
La couche réseau prends en compte cette contrainte en limitant la taille maximale de données pouvant être placées dans un paquet,  
 +
Cette taille est appelée MTU : Maximum Transmission Unit
  
Les équipements non impliqués par le traitement n'examinent pas les en-têtes d'extension.
+
==  Path Maximum Transmission Unit: ==
 +
Un paquet IP peut cependant être amené à voyager sur plusieurs supports de natures différentes, chacun imposant ses tailles maximales.  
  
== Principe des extensions  ==
+
Pour pouvoir parcourir sans encombres son chemin jusqu'à sa destination, le paquet doit donc avoir une taille inférieure ou égale à la plus petite taille maximum autorisée par l'ensemble des liens traversés.
 +
Cette taille est de ce fait appelée PMTU (Path Maximum Transmission Unit) ou unité de transfert de taille maximale sur le chemin.
  
Nous observons que les extensions n'influencent pas la structure originale de l'en-tête IPv6.
+
Pour des considérations d'efficacité, il est préférable que les informations échangées entre équipements soient contenues dans des datagrammes de taille maximale.
 +
Une trop petite taille de paquet a pour effet d'augmenter la charge supplémentaire des entêtes par rapport aux données transportées, ainsi que d'augmenter le nombre de paquet à traiter dans les routeurs.
 +
Au moment de créer des paquets, la couche réseau essaie donc de respecter au maximum la PMTU.
 +
Cependant la valeur de la PMTU n'est pas forcément connue à l'envoi d'un premier paquet vers une destination quelconque.
  
Le champ "en-tête suivant" indique quel protocole de niveau supérieur est encapsulé dans IPv6.
+
== Path Maximum Transmission Unit: ==
  
Dans le cas d'une extension, ce pointeur de protocole sera déplacé dans un autre champ "Next Header", au début de l'extension.
+
Nous observons ici :
 +
que l'émetteur du paquet fait alors la supposition que la MTU vers cette destination est égale à celle du réseau d’accès.
 +
L'acheminement du paquet s'effectue normalement jusqu'au premier routeur rencontrant une incompatibilité entre la taille du paquet reçu et la taille maximale qu’il est autorisé à retransmettre.  
  
Plusieurs mécanismes d'extension peuvent être ainsi chaînés à la suite.
+
Si le routeur est dans l'incapacité de transmettre le paquet, il utilise alors un message de signalisation ICMPv6 pour informer l'émetteur du paquet du problème d'acheminement, ainsi que de la taille recommandée pour que les paquets puissent être retransmis.
 +
L’émetteur reprends la transmission en utilisant le nouveau MTU recommandé,
 +
cette valeur est alors enregistrée comme la PMTU pour tous les prochains paquets vers cette même destination.  
  
En observant la table de codage du champ "Next Header", nous trouvons les protocoles classiquement transportés par IPv6, tels que TCP, UDP, ICMPv6, ou parfois des tunnels IPv4 ou IPv6.
+
Ce processus peut être répété si d'autres liens imposent des tailles maximale de transmission encore inférieures.
 +
L'émetteur enregistrera les valeurs recommandées successives jusqu'à arriver à la taille maximale autorisée sur le chemin.
 +
Les paquets suivants qui respecteront cette taille seront alors acheminés sans encombre.
 +
Ce mécanisme de découverte de la taille maximale de transmission sur le chemin est spécifié dans le RFC 1981.
 +
 +
== Fragmentation ==
 +
 +
La fragmentation est utile dans les cas où la couche réseau ne peut pas adapter la MTU des données à transmettre,
 +
C'est le cas par exemple des segments transportés sur UDP pour le système de fichier NFS,  
 +
Ces messages peuvent avoir une taille supérieure à celle autorisée sur le support.
  
Le reste de la table représente les extensions.
+
La couche réseau n'a alors d'autres choix que de fragmenter ces données.
 +
Le principe  est de séparer un paquet devant être émis avec une taille trop importante en plusieurs paquets respectant la taille maximale autorisée.
 +
Ces  fragments sont émis et acheminés vers la destination comme n'importe quel autre paquet
 +
La couche réseau du destinataire se charge alors de réassembler le paquet IP original pour que les données puissent être traitées.  
  
"De proche en proche" : option spéciale réclamant un traitement par tous les routeurs intermédiaires que le paquet traverse.
+
==  Extension de Fragmentation: ==
 +
 +
L'identification d'un fragment est transmise dans une extension de fragmentation de l'entête IPv6.
 +
On retrouve l'indication "Fragment" dans le champ Next Header ,
 +
Le champ Fragment offset indique la place du fragment, ce qui sera utile lors du réassemblage.
 +
Ceci permet de parer les problèmes dus au dé-séquencement dans les réseaux orientés datagrammes.
 +
Comme ce champ est sur 13 bits, la taille de tous les segments, sauf du dernier, doit être un multiple de 8 octets.  
  
"Routage" permet d'imposer à un paquet une route différente du routage mis en oeuvre dans un réseau.
+
Le bit M à la valeur 1 indique qu'il y aura d'autres fragments à suivre.
  
Fragmentation : pour la fragmentation et le réassemblage.
+
Enfin le champ identification permet de repérer les fragments appartenant à un même paquet initial.
 +
Il est différent pour chaque paquet original et recopié dans ses fragments.
  
Authentification : sécurité garantissant l'authentification et l'intégrité.
+
== Mécanisme de Fragmentation: ==
  
Encapsulation : en-tête de confidentialité permettant le chiffrage de l'ensemble des paquets.
+
Notons que le datagramme original est découpé en autant de fragments que nécessaire,
 +
Chaque fragment intermédiaire avec le bit M=1 dispose de son encapsulation propre
 +
On retrouve dans le premier fragment l’entête transport et les premières données du segment,
 +
Dans les fragments suivant la suite des données fragmentées,
 +
Et enfin dans le dernier fragment repérable avec le bit M=0 , les dernières données utiles
  
"Destination" contient les options qui seront traitées par l'équipement destinataire.
 
  
"Shim6" prévoit la gestion de l'attachement multiple.
+
== Extension Jumbogramme ==
 +
 +
L'identification d'un super-paquet est transmise dans une extension jumbogramme de l'entête IPv6.
 +
le champ Next Header à la valeur 194 correspond au Jumbogramme
 +
La taille admissible va jusqu'à 4 Gigaoctets, c'est vraiment énorme !
 +
reste qu'une telle taille de paquet n'est pas possible sans une MTU de niveau 2 adaptée,
 +
mais sachant que les volumes de données croissent constamment, à l'avenir nous en aurons bien besoin !
  
"Jumbogramme" autorise l'échange de paquets pour des tailles supérieures à 64 ko.
 
  
== "Variété d'extensions"  ==  
+
== Conclusion ==
 +
 +
Nous venons de passer en revue les mécanismes d’adaptation à la taille des paquets IPv6.
 +
L'intérêt majeur est de permettre la traversée sans encombres de réseaux indépendants, de s'y adapter si la fragmentation est nécessaire,
 +
cependant cela augmente l'encapsulation et donc diminue d'autant l'efficacité, car toute la chaine de communication subie cette fragmentation.
  
Une grande variété d'extensions est disponible. Tout d'abord, voici une encapsulation classique d'ICMPv6 ou d'une couche transport comme UDP.
+
La notion de jumbogramme IPv6 réponds aux besoins d'efficacité pour le transport de volumes importants de données,  
 
+
on en rencontre déjà dans les environnements Datacenter, réseau de stockageréplication d'infrastructures de virtualisation, Big Data...
Puis une extension ESP, encapsulation sécurisée transportant un flux UDP.
+
 
+
Yes but !
Et enfin, une extension de routage, chaînée avec une extension de fragmentation, elle-même chaînée avec un paquet ICMPv6.
+
si IPv6 est déjà prêt au niveau 3, les couches de protocoles de niveau 2 doivent encore évoluer !
 
+
== Classification des types d'extension  == 
+
 
+
Les extensions sont classifiées ainsi.
+
 
+
Les extensions impliquant uniquement le destinataire : destination, ESP, soit une encapsulation chiffrée, AH, soit une encapsulation avec authentification, fragmentation.
+
 
+
Viennent ensuite les extensions impliquant tous les routeurs intermédiaires : hop-by-hop, soit de proche en proche.
+
 
+
Enfin, les extensions impliquant les routeurs intermédiaires désignés : routing, pour le routage.
+
 
+
== "Autre extension de routage" ==
+
 
+
D'autres extensions de routage ont été spécifiées, notamment pour la mobilité IPv6.
+
 
+
La mobilité IPv6 permet de changer de réseau, et donc d'adresse IP, de manière transparente avec ses correspondants.
+
 
+
La solution est basée sur deux adresses IPv6 et sur le routage normal des paquets pour assurer la gestion de la mobilité.
+
 
+
La mobilité IPv6 utilise ou définit l'emploi des éléments suivants : les en-têtes d'extension, protocole 135, les en-têtes de routage, nouveau type 2, les en-têtes destination, les mécanismes d'annonce des routeurs en ICMPv6, la gestion de l'obsolescence des adresses, et la sécurisation des paquets.
+
 
+
== Conclusion ==
+
 
+
Nous venons de passer en revue les mécanismes d'extension intégrés dans le protocole IPv6.
+
 
+
Ces mécanismes simplifient le traitement des paquets normaux, le cas le plus fréquent, mais permettent aussi d'identifier les paquets spécifiques nécessitant un traitement particulier.
+
 
+
Mais les équipements de sécurité devront néanmoins identifier les champs successifs "Next Header" pour filtrer correctement les flux, en se basant sur des couches de protocoles de type liaison, réseau, transport.
+

Latest revision as of 16:41, 28 February 2022

Activité 24 : La taille des paquets IPv6

Dans cette quatrième activité : Nous allons passer en revue les mécanismes d’adaptation à la taille des paquets IPv6.

Mais comment faire pour adapter la taille des paquets aux réseaux de transport intermédiaires ? Comme pour le courrier postal, nous devons respecter un format pour que les enveloppes puissent glisser dans la fente des boites aux lettres !!!

Path Maximum Transmission Unit:

La taille des paquets IPv6 est conditionnée par le type de liaison mis à disposition au niveau 2

Les paquets sont placés dans des trames avant d’être émis sur le support physique Selon la nature de la liaison, une taille maximale de trame est définie: 1500 octets pour Ethernet, 1468 octets pour PPPoA, de 1500 à 65535 octets pour MPLS, 81 octets pour 6LoWPAN etc...

La couche réseau prends en compte cette contrainte en limitant la taille maximale de données pouvant être placées dans un paquet, Cette taille est appelée MTU : Maximum Transmission Unit

Path Maximum Transmission Unit:

Un paquet IP peut cependant être amené à voyager sur plusieurs supports de natures différentes, chacun imposant ses tailles maximales.

Pour pouvoir parcourir sans encombres son chemin jusqu'à sa destination, le paquet doit donc avoir une taille inférieure ou égale à la plus petite taille maximum autorisée par l'ensemble des liens traversés. Cette taille est de ce fait appelée PMTU (Path Maximum Transmission Unit) ou unité de transfert de taille maximale sur le chemin.

Pour des considérations d'efficacité, il est préférable que les informations échangées entre équipements soient contenues dans des datagrammes de taille maximale. Une trop petite taille de paquet a pour effet d'augmenter la charge supplémentaire des entêtes par rapport aux données transportées, ainsi que d'augmenter le nombre de paquet à traiter dans les routeurs. Au moment de créer des paquets, la couche réseau essaie donc de respecter au maximum la PMTU. Cependant la valeur de la PMTU n'est pas forcément connue à l'envoi d'un premier paquet vers une destination quelconque.

Path Maximum Transmission Unit:

Nous observons ici : que l'émetteur du paquet fait alors la supposition que la MTU vers cette destination est égale à celle du réseau d’accès. L'acheminement du paquet s'effectue normalement jusqu'au premier routeur rencontrant une incompatibilité entre la taille du paquet reçu et la taille maximale qu’il est autorisé à retransmettre.

Si le routeur est dans l'incapacité de transmettre le paquet, il utilise alors un message de signalisation ICMPv6 pour informer l'émetteur du paquet du problème d'acheminement, ainsi que de la taille recommandée pour que les paquets puissent être retransmis. L’émetteur reprends la transmission en utilisant le nouveau MTU recommandé, cette valeur est alors enregistrée comme la PMTU pour tous les prochains paquets vers cette même destination.

Ce processus peut être répété si d'autres liens imposent des tailles maximale de transmission encore inférieures. L'émetteur enregistrera les valeurs recommandées successives jusqu'à arriver à la taille maximale autorisée sur le chemin. Les paquets suivants qui respecteront cette taille seront alors acheminés sans encombre. Ce mécanisme de découverte de la taille maximale de transmission sur le chemin est spécifié dans le RFC 1981.

Fragmentation

La fragmentation est utile dans les cas où la couche réseau ne peut pas adapter la MTU des données à transmettre, C'est le cas par exemple des segments transportés sur UDP pour le système de fichier NFS, Ces messages peuvent avoir une taille supérieure à celle autorisée sur le support.

La couche réseau n'a alors d'autres choix que de fragmenter ces données. Le principe est de séparer un paquet devant être émis avec une taille trop importante en plusieurs paquets respectant la taille maximale autorisée. Ces fragments sont émis et acheminés vers la destination comme n'importe quel autre paquet La couche réseau du destinataire se charge alors de réassembler le paquet IP original pour que les données puissent être traitées.

Extension de Fragmentation:

L'identification d'un fragment est transmise dans une extension de fragmentation de l'entête IPv6. On retrouve l'indication "Fragment" dans le champ Next Header , Le champ Fragment offset indique la place du fragment, ce qui sera utile lors du réassemblage. Ceci permet de parer les problèmes dus au dé-séquencement dans les réseaux orientés datagrammes. Comme ce champ est sur 13 bits, la taille de tous les segments, sauf du dernier, doit être un multiple de 8 octets.

Le bit M à la valeur 1 indique qu'il y aura d'autres fragments à suivre.

Enfin le champ identification permet de repérer les fragments appartenant à un même paquet initial. Il est différent pour chaque paquet original et recopié dans ses fragments.

Mécanisme de Fragmentation:

Notons que le datagramme original est découpé en autant de fragments que nécessaire, Chaque fragment intermédiaire avec le bit M=1 dispose de son encapsulation propre On retrouve dans le premier fragment l’entête transport et les premières données du segment, Dans les fragments suivant la suite des données fragmentées, Et enfin dans le dernier fragment repérable avec le bit M=0 , les dernières données utiles


Extension Jumbogramme

L'identification d'un super-paquet est transmise dans une extension jumbogramme de l'entête IPv6. le champ Next Header à la valeur 194 correspond au Jumbogramme La taille admissible va jusqu'à 4 Gigaoctets, c'est vraiment énorme ! reste qu'une telle taille de paquet n'est pas possible sans une MTU de niveau 2 adaptée, mais sachant que les volumes de données croissent constamment, à l'avenir nous en aurons bien besoin !


Conclusion

Nous venons de passer en revue les mécanismes d’adaptation à la taille des paquets IPv6. L'intérêt majeur est de permettre la traversée sans encombres de réseaux indépendants, de s'y adapter si la fragmentation est nécessaire, cependant cela augmente l'encapsulation et donc diminue d'autant l'efficacité, car toute la chaine de communication subie cette fragmentation.

La notion de jumbogramme IPv6 réponds aux besoins d'efficacité pour le transport de volumes importants de données, on en rencontre déjà dans les environnements Datacenter, réseau de stockage, réplication d'infrastructures de virtualisation, Big Data...

Yes but ! si IPv6 est déjà prêt au niveau 3, les couches de protocoles de niveau 2 doivent encore évoluer !

Personal tools