Difference between revisions of "MOOC:Verb44"

From Livre IPv6

(Created page with "Contexte d'utilisation ---------------------- La faible migration des nœuds IPv4 vers IPv6 oblige à avoir recours à une technique de traduction pour faire interopérer un...")
 
(Conclusion)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Contexte d'utilisation
+
<!--
----------------------
+
> [[MOOC:Accueil|MOOC]] > [[MOOC:Contenu|Contenu]] >  [[MOOC:Verbatim|Verbatim]]
  
La faible migration des nœuds IPv4 vers IPv6 oblige à avoir recours à une technique de traduction pour faire interopérer un nœud en IPv6 avec un nœud en IPv4.
+
----
 +
-->
 +
__NOTOC__
  
En effet, les nouveaux nœuds sont des clients en IPv6. La grande base des serveurs de l'Internet est resté en IPv4.
+
= Activité 44 : Interopérer les applications par passerelles applicatives =
  
La communication par traduction vise donc à permettre à ces clients IPv6 à accéder aux services de l'Internet IPv4.
+
==Contexte d'utilisation==
  
 +
<center>
 +
[[image:V44-1.png|400px|thumb|center|]]
 +
</center>
  
Dispositif de traduction
 
------------------------
 
Lorsque le client envoie une requête en IPv6. Le traducteur en coupure sur la route vers la destination finale va intercepter les paquets  pour les traduire et les émettre dans la version du protocole IP du destinataire.
 
  
Et quand le serveur envoie la réponse en IPv4, le traducteur change la version du protocole IP pour correspondre à celle du client.
+
La solution NAT64 bien que fonctionnelle n'est pas universelle.
 +
Certaines applications n'arrivent plus à communiquer lorsque leur communication passe par le NAT64. C'est le cas notamment quand le protocole applicatif utilise des adresses IP.
  
Ce dispositif est comparable au NAT des réseaux IPv4. Dans notre cas, ce dispositif n'effectue pas une simple translation d'un espace d'adressage à un autre mais une véritable traduction de l'en-tête IP.
+
La solution de la passerelle applicative offre une technique d'interopérabilité moins intrusive que NAT64 au niveau de l'infrastructure de communication. En effet, déployer NAT64 demande de modifier le routage, et d'allouer des adresses.
 +
Le déploiement du NAT64 est transparent pour les hôtes, mais nécessite des modifications au niveau du réseau.  
  
Un tel NAT est appelé NAT64.
+
Dans le cas du déploiement d'une passerelle applicative, nous sommes dans une situation inverse, les modifications sont à apporter uniquement, dans la configuration des hôtes.
 +
Ainsi, il est possible avec une passerelle applicative d'avoir un déploiement progressif d'IPv6 dans le réseau sans perturber les services en place.
 +
Enfin, dans le cas d'un client IPv4 qui se connecte à des serveurs de l'Internet IPv6, la passerelle applicative est de nos jours la seule méthode d'intér-opérabilité.
 +
Et de manière générale, la passerelle applicative est une technique pour traiter les situations d'échec de NAT64.
  
 +
==Principe des passerelles applicatives==
  
Principe de la traduction entre protocoles IP
 
--------------------------------------------
 
  
La traduction entre protocoles IP comporte essentiellement 2 composants:  
+
<center>
- une transposition protocolaire et,
+
[[image:V44-2.png|400px|thumb|center|]]
-  une traduction des adresses
+
</center>
  
Dans notre exemple, lorsque le paquet IPv6 est reçu, Les champs de l'en-tête IPv6 (à l'exception des adresses) sont transposés dans leur équivalent dans l'en-tête du paquet IPv4.
 
  
Cette transposition est faite uniquement avec les informations contenues dans le paquet IPv6. On parle alors de traduction sans état.
 
  
Le paquet IPv4 une fois l'en-tête complète, et le champ de donnée chargé avec les données du paquet IPv6, est alors prêt à être émis pour atteindre la destination finale.
+
La passerelle applicative (encore appelée ALG pour ''Application Layer Gateway'') est un nœud en double pile qui opère au niveau du protocole applicatif. 
 +
Elle reçoit ici un paquet en IPv6 qui lui a été adressé explicitement par la source.
 +
Elle traite les données du paquet selon le protocole applicatif puis effectue un envoi vers le destinataire final.
 +
Ce destinataire est joignable dans une autre version du protocole IP que la source.  
 +
En quelque sorte, on profite de passer par une passerelle applicative pour les besoins de l’application, pour changer de version de protocole IP
  
 +
==Cas du service web==
  
  
Traduction des adresses
+
<center>
-----------------------
+
[[image:V44-3.png|400px|thumb|center|]]
La traduction d'adresse consiste à mettre en correspondance une adresse de l'espace d'adressage IPv6 avec une adresse de l'espace d'adressage IPv4 et vice et versa, à la fois pour l'adresse source et l'adresse de destination du paquet reçu.
+
</center>
  
Afin de faire cette correspondance, le NAT64 dispose d'un ensemble d'adresses IPv6 et d'un ensemble d'adresses IPv4 comme le montre la figure.
 
  
L'ensemble des adresses IPv6 du NAT64 (notée N6) va servir à représenter les adresses IPv4 (notée H4) dans le réseau IPv6.
 
  
Et de manière similaire, l'ensemble des adresses IPv4 du NAT64 (notée N4), va représenter les adresses IPv6 (notée H6) dans le réseau IPv4.
+
Il s'agit ici de faire communiquer des clients avec des services Web.  Les clients et les serveurs utilisent  une version différente du protocole IP.
 +
La passerelle applicative utilisée dans notre illustration est un relais HTTP, qui va recevoir les requêtes, et émettre les réponses.
 +
Lorsque le déploiement  de la passerelle applicative est, du côté du client, on parle de '''proxy'''.
 +
Elle va servir à atteindre tous les serveurs extérieurs, dont ceux qui utilisent une version IP différente du client.
  
 +
Lorsque le déploiement de la passerelle applicative  est, dans le réseau du serveur, on parle de '''reverse proxy'''. Elle va servir à donner accès aux contenus du serveur pour tous les clients qui n'utilisent pas la version IP du serveur.
  
 +
La passerelle applicative est un moyen d'offrir un accès à des clients IPv6, sans modifier le serveur. La règle de transparence du déploiement d'IPv6, au service en place, est ainsi très bien illustrée.
 +
* Lorsqu'un client qui est ici un navigateur web souhaite accéder à un serveur web, il envoie une requête en IPv6 au proxy.
 +
* Le proxy reçoit cette requête, la traite, et la fait suivre en IPv4 au serveur.
 +
* Ce dernier répond en IPv4 par un envoi à destination du proxy.
 +
* Le proxy reçoit la réponse et la fait suivre en IPv6, au client.
  
Modes de traduction des adresses
+
Nous voyons ici, la situation où l'accès au serveur s'effectue en passant par un reverse proxy. Autrement dit, une ALG coté serveur a été installée.
--------------------------------
+
  
La correspondance entre une adresse IPv4 avec une adresse IPv6 est évidente lorsque l'adresse IPv6 embarque l'adresse IPv4.
+
* L'ALG a été enregistrée dans le DNS avec une adresse IPv6 sous le nom de exemple.org qui est le nom du service. L'adresse IPv4 du service est toujours celle du serveur.
 +
* L'ajout du reverse proxy ne change rien pour les clients IPv4. Ceux-ci accèdent directement au serveur.
 +
* Dans le cas d'un client IPv6, celui-ci envoie une requête pour  obtenir l'adresse IPv6 du service.
 +
* Le DNS lui répond par l'adresse du reverse proxy.
 +
* Le client envoie en IPv6 sa requête à destination du reverse proxy.
 +
* Celui-ci reçoit cette requête, la traite, et la fait suivre en IPv4 au serveur, qui dispose du contenu.
 +
* Le serveur envoie la réponse au reverse proxy,  en IPv4.
 +
* Le reverse proxy disposant du contenu demandé, peut  maintenant répondre en IPv6 à la requête du client.
  
En effet, représenter une adresse IPv4 dans l’espace d’adressage IPv6 est simple car ce dernier est assez large pour contenir l’ensemble des adresses IPv4.
+
==Conclusion==
  
Pour ce faire, une adresse IPv6 va être créée pour inclure l'adresse IPv4.
 
La méthode de création consiste à inclure les 32 bits de l'adresse IPv4 à la suite d'un préfixe IPv6 qui dans notre schéma est un préfixe réservé à l'usage de la traduction.
 
  
Une traduction d'adresse qui utilise une adresse IPv6 embarquant une adresse IPv4 s'effectue sans état.
+
<center>
 +
[[image:V44-4.png|400px|thumb|center|]]
 +
</center>
  
---
 
  
Lorsque l'adresse IPv6 n'embarque pas l'adresse IPv4, alors mettre en correspondance une adresse IPv6 avec une adresse IPv4 demande une traduction d'adresse avec état.
 
  
La mise en correspondance de l'adresse IPv6 avec une adresse IPv4 est faite dynamiquement par le traducteur.
+
Les passerelles applicatives offrent un moyen simple d’interopérer une application entre des clients, et des serveurs qui n'utilisent pas la même version du protocole IP.
Comme il n'y aura pas assez d'adresses IPv4 pour les nœuds IPv6, le traducteur utilise en plus le numéro de port pour reconnaitre les nœuds IPv6.
+
Parce qu'elles interprètent le contenu du paquet dans la couche d'application, elles sont transparentes pour l'infrastructure de communication. En effet, elles ne demandent pas de modifications au niveau du réseau.  
 
+
Cependant, les passerelles applicatives introduisent un délai pour le traitement des paquets.  
Le traducteur retient dans un état cette association d'adresses et de ports entre IPv4 et IPv6.
+
Elles passent mal le facteur d'échelle, et présentent un risque de congestion.
 
+
Enfin, elles se limitent aux applications conçues pour pouvoir fonctionner avec un relais intermédiaire.
 
+
Fonctionnement de NAT64/DNS64
+
-----------------------------
+
 
+
Improvisation
+
 
+
 
+
Conclusion
+
-----------
+
 
+
Les solutions de traduction comme NAT64 trouvent leur intérêt pour que des nœuds IPv6 accèdent à des contenus  disponibles uniquement en IPv4.
+
 
+
Il peut paraitre contradictoire d'utiliser IPv6 pour se passer de la traduction, pour en fait retrouver des traducteurs dans les communications. Il est important de noter que cette solution se veut transitoire au contraire d'IPv4.
+
 
+
Le NAT64 est le composant de migration. En effet il est intéressant aujourd'hui de pouvoir déployer des réseaux seulement IPv6 à la place de réseaux IPv4 privés. C'est le choix qu'ont fait certains opérateurs de réseaux de mobile.
+
 
+
L'utilisation de NAT64 a montré que c'était une solution fonctionnelle. Ça marche mais cela ne fonctionne pas pour toutes les applications.
+

Latest revision as of 11:21, 4 March 2022


Activité 44 : Interopérer les applications par passerelles applicatives

Contexte d'utilisation

V44-1.png


La solution NAT64 bien que fonctionnelle n'est pas universelle. Certaines applications n'arrivent plus à communiquer lorsque leur communication passe par le NAT64. C'est le cas notamment quand le protocole applicatif utilise des adresses IP.

La solution de la passerelle applicative offre une technique d'interopérabilité moins intrusive que NAT64 au niveau de l'infrastructure de communication. En effet, déployer NAT64 demande de modifier le routage, et d'allouer des adresses. Le déploiement du NAT64 est transparent pour les hôtes, mais nécessite des modifications au niveau du réseau.

Dans le cas du déploiement d'une passerelle applicative, nous sommes dans une situation inverse, les modifications sont à apporter uniquement, dans la configuration des hôtes. Ainsi, il est possible avec une passerelle applicative d'avoir un déploiement progressif d'IPv6 dans le réseau sans perturber les services en place. Enfin, dans le cas d'un client IPv4 qui se connecte à des serveurs de l'Internet IPv6, la passerelle applicative est de nos jours la seule méthode d'intér-opérabilité. Et de manière générale, la passerelle applicative est une technique pour traiter les situations d'échec de NAT64.

Principe des passerelles applicatives

V44-2.png


La passerelle applicative (encore appelée ALG pour Application Layer Gateway) est un nœud en double pile qui opère au niveau du protocole applicatif. Elle reçoit ici un paquet en IPv6 qui lui a été adressé explicitement par la source. Elle traite les données du paquet selon le protocole applicatif puis effectue un envoi vers le destinataire final. Ce destinataire est joignable dans une autre version du protocole IP que la source. En quelque sorte, on profite de passer par une passerelle applicative pour les besoins de l’application, pour changer de version de protocole IP

Cas du service web

V44-3.png


Il s'agit ici de faire communiquer des clients avec des services Web. Les clients et les serveurs utilisent une version différente du protocole IP. La passerelle applicative utilisée dans notre illustration est un relais HTTP, qui va recevoir les requêtes, et émettre les réponses. Lorsque le déploiement de la passerelle applicative est, du côté du client, on parle de proxy. Elle va servir à atteindre tous les serveurs extérieurs, dont ceux qui utilisent une version IP différente du client.

Lorsque le déploiement de la passerelle applicative est, dans le réseau du serveur, on parle de reverse proxy. Elle va servir à donner accès aux contenus du serveur pour tous les clients qui n'utilisent pas la version IP du serveur.

La passerelle applicative est un moyen d'offrir un accès à des clients IPv6, sans modifier le serveur. La règle de transparence du déploiement d'IPv6, au service en place, est ainsi très bien illustrée.

  • Lorsqu'un client qui est ici un navigateur web souhaite accéder à un serveur web, il envoie une requête en IPv6 au proxy.
  • Le proxy reçoit cette requête, la traite, et la fait suivre en IPv4 au serveur.
  • Ce dernier répond en IPv4 par un envoi à destination du proxy.
  • Le proxy reçoit la réponse et la fait suivre en IPv6, au client.

Nous voyons ici, la situation où l'accès au serveur s'effectue en passant par un reverse proxy. Autrement dit, une ALG coté serveur a été installée.

  • L'ALG a été enregistrée dans le DNS avec une adresse IPv6 sous le nom de exemple.org qui est le nom du service. L'adresse IPv4 du service est toujours celle du serveur.
  • L'ajout du reverse proxy ne change rien pour les clients IPv4. Ceux-ci accèdent directement au serveur.
  • Dans le cas d'un client IPv6, celui-ci envoie une requête pour obtenir l'adresse IPv6 du service.
  • Le DNS lui répond par l'adresse du reverse proxy.
  • Le client envoie en IPv6 sa requête à destination du reverse proxy.
  • Celui-ci reçoit cette requête, la traite, et la fait suivre en IPv4 au serveur, qui dispose du contenu.
  • Le serveur envoie la réponse au reverse proxy, en IPv4.
  • Le reverse proxy disposant du contenu demandé, peut maintenant répondre en IPv6 à la requête du client.

Conclusion

V44-4.png


Les passerelles applicatives offrent un moyen simple d’interopérer une application entre des clients, et des serveurs qui n'utilisent pas la même version du protocole IP. Parce qu'elles interprètent le contenu du paquet dans la couche d'application, elles sont transparentes pour l'infrastructure de communication. En effet, elles ne demandent pas de modifications au niveau du réseau. Cependant, les passerelles applicatives introduisent un délai pour le traitement des paquets. Elles passent mal le facteur d'échelle, et présentent un risque de congestion. Enfin, elles se limitent aux applications conçues pour pouvoir fonctionner avec un relais intermédiaire.

Personal tools