Nota: Brève présentation des deux principaux protocoles internet.
<< On ne peut pas faire une théorie scientifique d'un individu, puisque chacun est unique, mais on peut faire une théorie scientifique des conditions universelles d'existence des individus. >> Alain Prochiantz
.
.
.
A) INTRODUCTION
Pour connecter plusieurs réseaux entre eux, l’IETF (Internet Engineering Task Force) à mis en place un type de lien appelé route. Il s’agit d’un lien virtuel qui raccorde de bout en bout deux entités communicantes. La couche Internet du modèle TCP/IP définit le mode d’acheminement des paquets (ou datagrammes) entre hôte source et hôte destinataire (à travers les différentes routes). Le protocole utilisé à ce niveau est IP (Internet Protocol). La couche IP effectue une transmission des paquets en mode non connecté. Elle effectue sans garantie de bonne fin la transmission de bout en bout des paquets via leurs adresses IPs. Pour ce faire, elle utilise une entête qui contient un certain nombre d’informations telles que l’adresse de l’émetteur, l’adresse du destinataire, la taille des paquets et une indication sur la qualité de service. Le protocole IP existe maintenant sous deux versions: la version 4 (IPv4) et la version 6 (IPv6).
B) PRÉSENTATION IPv4
La version 4 du protocole internet, qui existe depuis l’origine du réseau Internet est encore largement utilisée (elle est en fait la plus utilisée). En effet, c’est la première version d’IP à avoir été largement déployée. Elle est décrite dans la RFC 791 de septembre 1981.
Le protocole IPv4 utilise une adresse IP sur 4 octets (32bits) ; ce qui limite le nombre d’adresses possibles à 232 donc 4.294.967.296 adresses IPv4 possibles.
Il est réparti en trois classes principales:
- Classe A : Adresses de 0.0.0.0/8 à 127.0.0.0/8
- Classe B : Adresses de 128.0.0.0/6 à 196.255.0.0/16
- Classe C : Adresses de 192.0.0.0/16 à 255.255.255.0/16
Le protocole IPv4, bien que largement utilisé, n’intègre aucun mécanisme permettant d’offrir un service de sécurité. En effet, il ne permet ni l’authentification des hôtes, ni la confidentialité des données et des adresses IPs.
Il offre un service non fiable et fonctionne en mode best effort. IPv4 ne garantie pas :
- La reprise sur erreur ;
- La livraison au bon destinataire ;
- Le séquencement correct des données à leur arrivée ;
- La confidentialité et l’intégrité des données ;
- L’authentification des communicants ;
- Un nombre assez important d’adresses IPs : malgré les 232 adresses possibles et malgré les techniques de sous adressages, on assiste à un pénurie d’adresses IPv4 ;
- La qualité de service : car dans le mode non connecté, les données sont envoyées sans s’assurer au préalable de la disponibilité du récepteur.
La structure d’un entête IPv4 est montrée dans la figure ci-dessous :
Entête IPv4
Les différents champs sont les suivants:
Version : il s'agit de la version du protocole utilisé. Ici, la version 4 ;
Header Length : nombre d'octets du header (typiquement 20);
Type Of Service : priorité du paquet (obsolète);
Total Length: longueur totale du paquet, header compris;
Identification, Flags, Fragment Offset: permet de gérer la fragmentation et le réassemblage des paquets;
Time To Live : temps de vie d'un paquet (décrémenté de 1 à chaque traitement, perdu s'il vaut 0);
Protocol: 1 pour ICMP, 6 pour TCP, 17 pour UDP;
Header Checksum: correction d'erreurs;
Options: pour le routage, etc.
Exemple d’adresse IPv4 : 192.168.0.1
C) PRÉSENTATION IPv6 ou IPnext generation (IPng)
La sécurisation des infrastructures de communication Internet a été clairement établie en 1994 (Report if IAB Workshop on Security in the Internet Achitecture. 8 - 10 Feb 1994) par l’IAB (Internet Activity Board). Ainsi, le nouveau protocole IPv6 a été crée et ses spécifications ont été finalisées dans la RFC 2460 en décembre 1998.
Avec cette innovation de taille et des adresses codées sur 16 octets (128 bits), on dispose ainsi d'environ 2128 soit 3,4×1038adresses IPs utilisables; de quoi doter d'adresses IPs les personnes, les oiseaux...
L’enjeu est de taille puisque les deux objectifs majeurs sont :
- Régler le problème d’espace d’adressage ;
- Anticiper les besoins futurs de la communication avec les applications multimédias, la mobilité des postes, etc...
Les principales évolutions de IPv6 sont notamment :
- Un adressage étendu et hiérarchisé ;
- Des adresses codées sur 16 octets ;
- L’allocation dynamique de bande passante pour le support d’applications multimédia ;
- La création de réseaux IPs virtuels ;
- Le support de procédures d’authentification et de chiffrement ;
- En-têtes de paquets simplifiés afin de faciliter et accélérer le routage.
Le support des services de sécurité est obligatoire dans IPv6 mais optionnel dans IPv4 et la migration de l’ensemble des infrastructures IPv4 vers IPv6 soulève un problème d’ordre financier et technologique lié à son déploiement massif.
L’adoption de IPv6 impose notamment :
- la modification du schéma d’adressage et de la gestion des adresses ;
- le support des versions 4 et 6 pendant la période de transition ;
- la synchronisation à grande échelle de la migration des versions.
Pour ces raisons, cette version d’IP n’est que faiblement utilisée malgré les menaces de la version 4. Seules des infrastructures privées intègrent IPv6 en mode natif.
La structure d’un en-tête IPv6 est donnée dans le schéma ci-dessous :
Entête IPv6
Les différents champs de l’architecture IPv6 sont :
Version : Ici, il s’agit de la version N°6 ;
Trafic class : Il définit le niveau de priorité du paquet IPv6;
Flow label : Ce champ peut être utilisé par une source pour étiqueter une séquence de paquets ;
Payload length: Il indique le nombre d’octets de données qui suivent l’entête IPv6 (NB : Il est à noter que les options de l’entête IPv6 sont considérées comme de la donnée et font donc partie de ce calcul) ;
Next header: Il identifie le type de données ou de l’option qui se trouve derrière l’entête IPv6 ;
Hop limit: Décrémenté de 1 à chaque fois que le paquet traverse un nœud, il limite donc le nombre maximum de sauts pour un paquet;
Exemple d’adresse IPv6 : 2001:0db8:0000:85a3:0000:0000:ac1f:8001
D) IPv4 vs IPv6
Du fait de l’avancée timide d’IPv6 et des problèmes de migration complète vers ce protocole, on assiste de plus en plus à une cohabitation entre les deux versions d’IP au sein du même réseau afin de faciliter la transition. Car maintenir la compatibilité avec IPv4 tout en déployant IPv6 facilitera la migration vers ce dernier. Il existe différentes techniques :
- Technique Dual-Stack : Les deux versions coexistent dans le même nœud ;
- Technique de Tunnel : Pour éviter les dépendances dans le déploiement ;
- Technique de Translation : Permettre des hôtes IPv6 à communiquer avec des hôtes IPv4 ;
En général on utilise une combinaison de ces trois techniques.
a) La technique Dual-Stack (rfc 3338)
Comme son nom l’indique, cette technologie permet aux équipements réseau de traiter à la fois les piles de protocoles IPv4 et IPv6 en attendant une migration complète vers IPv6. Il y a donc cohabitation des deux versions au sein d’un même équipement.
Il existe une version d’IOS de routeurs CISCO qui ont intégré cette technologie
Cette technique consiste un arrangement à long terme pour le passage vers IPv6 mais consomme des ressources mémoires aux routeurs. Cependant le « Dual-Stack« reste une alternative efficace pour les entreprises ayant opté pour une migration vers IPv6.
b) La technique de tunnel (rfc 2893)
Il s’agit d’une technologie dans laquelle les paquets IPv6 sont encapsulés dans des paquets IPv4 d’où l’appellation 6to4.
Mode tunnel
Cette technologie est mieux adaptée pour les extranets et VPN mais nécessite l’utilisation de routeurs spécifiques 6to4.
c) La technique de translation
Elle est basée sur l’utilisation de translateurs. Il s’agit d’équipements capables d’assurer la translation IPv4 vers IPv6 et inversement. Ils sont censés éliminer les besoins de Dual-Stack mais sont utilisés en dernier recours car cette technologie interfère avec le end-to-end.
Mode translation
E) CONCLUSION
La technologie IP version 4 a montré ses limites tant sur le plan sécuritaire que sur les besoins actuels des internautes. Une alternative étant l’adoption d’une nouvelle version d’IP : IPv6 (Internet Protocol version 6).
Cette version apporte tout un tas de solutions quant aux failles de la version antérieure : adressage illimité (ou presque), mécanismes de chiffrement, d’authentification, qualité de service etc…
La tendance actuelle est de migrer complétement vers cette nouvelle version afin de profiter au maximum de ses apports tant attendus. Cependant du fait de l’explosion inattendue de la version 4, une certaine lenteur est observée et des méthodes permettant une cohabitation entre les deux versions ont été mises en place afin de faciliter la transition et éviter (sinon limiter) les dégâts qu’elle pourrait causer.
Références Bibliographiques
Sécurité informatique et réseaux, Solange Ghernaouti-Hélie, Sciences Sup, Dunod
Architecture et technologie des ordinateurs, Cours et exercices corrigés, Paolo Zanella, Yves Ligier, Sciences Sup, Dunod
...